update license structures and init to setup image uploader

This commit is contained in:
2026-04-16 22:19:46 +03:30
parent 28575bd3d1
commit ac23d47b79
36 changed files with 379 additions and 142 deletions
@@ -1,5 +1,5 @@
import { PaginatorComponent, UikitCopyComponent, UikitEmptyStateComponent } from '@/uikit';
import { formatJalali, formatWithCurrency } from '@/utils';
import { formatJalali, formatWithCurrency, jalaliDiff } from '@/utils';
import { CommonModule } from '@angular/common';
import {
Component,
@@ -26,8 +26,18 @@ export interface IColumn<T = any> {
width?: string;
minWidth?: string;
canCopy?: boolean;
type?: 'text' | 'price' | 'boolean' | 'date' | 'nested' | 'index' | 'id';
type?: 'text' | 'price' | 'boolean' | 'date' | 'nested' | 'index' | 'id' | 'thumbnail';
nestedPath?: string;
thumbnailOptions?: {
editable: boolean;
deletable: boolean;
showPreview: boolean;
};
dateOption?: {
expiredMode?: boolean;
dateTime?: boolean;
onlyTime?: boolean;
};
customDataModel?: TemplateRef<any> | ((item: T) => string | number | boolean);
}
@@ -84,6 +94,7 @@ export class PageDataListComponent<I> {
@Output() onDetails = new EventEmitter<I>();
@Output() onAdd = new EventEmitter<void>();
@Output() pageChange = new EventEmitter<any>();
@Output() onThumbnailClick = new EventEmitter<I>();
filterDrawerVisible = signal<boolean>(false);
@@ -126,10 +137,36 @@ export class PageDataListComponent<I> {
this.pageChange.emit($event);
};
openThumbnailModal = (item: I) => {
// this.
};
get showPaginator() {
return !!(this.totalRecords && this.perPage && this.totalRecords > this.perPage);
}
getPreviewClasses(item: Record<string, any>, column: IColumn): any {
if (!item || !column || column.customDataModel) return '';
try {
const { field } = column;
const data = item[String(field)];
switch (column.type) {
case 'date':
if (column.dateOption?.expiredMode) {
if (jalaliDiff(new Date(), data) > 0) {
return 'text-error';
}
}
return '';
default:
return;
}
} catch (e) {
return '';
}
}
getCell(item: Record<string, any>, column: IColumn): any {
if (!item || !column) return '';
try {