This commit is contained in:
2026-04-23 01:22:44 +03:30
parent e027b89173
commit 57f333f5b8
43 changed files with 16222 additions and 2847 deletions
@@ -1,3 +1,4 @@
import { Maybe } from '@/core';
import { PaginatorComponent, UikitCopyComponent, UikitEmptyStateComponent } from '@/uikit';
import { formatJalali, formatWithCurrency, jalaliDiff } from '@/utils';
import { CommonModule } from '@angular/common';
@@ -18,6 +19,7 @@ import { DrawerModule } from 'primeng/drawer';
import { PaginatorModule } from 'primeng/paginator';
import { SkeletonModule } from 'primeng/skeleton';
import { TableModule } from 'primeng/table';
import { KeyValueComponent } from '../key-value.component/key-value.component';
import { TableActionRowComponent } from '../table-action-row.component';
export interface IColumn<T = any> {
@@ -26,7 +28,7 @@ export interface IColumn<T = any> {
width?: string;
minWidth?: string;
canCopy?: boolean;
type?: 'text' | 'price' | 'boolean' | 'date' | 'nested' | 'index' | 'id' | 'thumbnail';
type?: 'simple' | 'price' | 'boolean' | 'date' | 'nested' | 'index' | 'id' | 'thumbnail';
nestedPath?: string;
thumbnailOptions?: {
editable: boolean;
@@ -58,6 +60,7 @@ export interface IColumn<T = any> {
DrawerModule,
PaginatorComponent,
UikitCopyComponent,
KeyValueComponent,
],
})
export class PageDataListComponent<I> {
@@ -84,10 +87,15 @@ export class PageDataListComponent<I> {
@Input() isFiltered: boolean = false;
@Input() fullHeight?: boolean = false;
@Input() height: string = '';
@Input() expandable?: boolean = false;
@Input() expandableItemKey?: string = '';
@Input() expandColumns?: Maybe<IColumn[]> = null;
@Input() dataKey?: string = 'items';
@ContentChild('filter', { static: true }) filter!: TemplateRef<any> | null;
@ContentChild('caption', { static: true }) caption!: TemplateRef<any> | null;
@ContentChild('moreActions', { static: true }) moreActions!: TemplateRef<any> | null;
@ContentChild('expandableTemp', { static: false }) expandableTemp!: TemplateRef<any> | null;
@Output() onEdit = new EventEmitter<I>();
@Output() onDelete = new EventEmitter<I>();
@@ -97,6 +105,7 @@ export class PageDataListComponent<I> {
@Output() onThumbnailClick = new EventEmitter<I>();
filterDrawerVisible = signal<boolean>(false);
expandedRows: { [key: string]: boolean } = {};
ngOnInit() {
if (this.height)