cats-data-grid 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnChanges, OnInit, EventEmitter, Renderer2, NgZone, ChangeDetectorRef, SimpleChanges } from '@angular/core';
2
+ import { OnChanges, OnInit, ElementRef, EventEmitter, Renderer2, NgZone, ChangeDetectorRef, SimpleChanges, DoCheck, AfterViewInit, OnDestroy } from '@angular/core';
3
3
 
4
4
  declare class CatsDataGridService {
5
5
  constructor();
@@ -34,6 +34,9 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
34
34
  private renderer;
35
35
  private zone;
36
36
  private cd;
37
+ pinMenu: ElementRef;
38
+ colActionMenu: ElementRef;
39
+ table: ElementRef;
37
40
  tableOptions: any;
38
41
  totalRecords: number;
39
42
  sortingRequired: boolean;
@@ -45,6 +48,10 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
45
48
  selectedRowEmpty: boolean;
46
49
  filterRequired: boolean;
47
50
  threeDotsMenuRequired: boolean;
51
+ settingsRequired: boolean;
52
+ settingsClicked: boolean;
53
+ resetPage: boolean;
54
+ rowId: any;
48
55
  showDropdown: boolean;
49
56
  height: number;
50
57
  groupByRequired: boolean;
@@ -52,8 +59,10 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
52
59
  onCheckboxSelection: EventEmitter<any>;
53
60
  onScrollEmitter: EventEmitter<any>;
54
61
  filter: EventEmitter<any>;
62
+ onHideSettings: EventEmitter<any>;
55
63
  activeFilterIndex: number | null;
56
64
  originalRowData: any[];
65
+ activeAll: boolean;
57
66
  pageDetails: any;
58
67
  recordsToShow: any;
59
68
  sortingColumnIndex: number;
@@ -80,6 +89,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
80
89
  columnDraggable: any[];
81
90
  activeGroups: any[];
82
91
  groupBy: string[];
92
+ groupByField: string;
83
93
  dragGroupIndex: number | null;
84
94
  dateConfig: DateConfig;
85
95
  filterOptions: {
@@ -96,12 +106,24 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
96
106
  private removeMouseUp;
97
107
  private rafId;
98
108
  appliedFilters: ColumnFilter[];
109
+ rowGripFieldName: string;
110
+ pageNumber: number;
111
+ pageSize: number;
99
112
  appliedFiltersEvent: EventEmitter<ColumnFilter[]>;
100
113
  activeGroupsEvent: EventEmitter<any[]>;
101
114
  dynamicGroupingFiltering: boolean;
115
+ atLeastOneColumnChecked: boolean;
116
+ draggedRowData: any;
117
+ firstCol: any;
118
+ isRowSelected: boolean;
119
+ onRowClicked: EventEmitter<any>;
120
+ onCellClicked: EventEmitter<any>;
102
121
  constructor(renderer: Renderer2, zone: NgZone, cd: ChangeDetectorRef);
103
122
  ngOnInit(): void;
104
123
  ngOnChanges(changes: SimpleChanges): void;
124
+ getColumnDetail(colDefs: any, groupByField: any): any;
125
+ activeAllSelection(event: Event): void;
126
+ changeActiveColSelection(event: Event, col: any): void;
105
127
  /**
106
128
  * @description Prepares and normalizes column definitions for filtering and menu behavior
107
129
  * @author Anand Pandey
@@ -136,6 +158,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
136
158
  * @returns void
137
159
  */
138
160
  applyAllFilters(): void;
161
+ evaluateFieldValue(row: any, field: string): any;
139
162
  resetFilter(col: any): void;
140
163
  removeActiveFilter(col: any): void;
141
164
  /**
@@ -253,7 +276,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
253
276
  * @returns {void}
254
277
  */
255
278
  pinColumn(col: any, index: number, direction: string): void;
256
- showPinActions(): void;
279
+ showPinActions(event: MouseEvent): void;
257
280
  hidePinActions(): void;
258
281
  /**
259
282
  * @description Updates the horizontal left and right offsets of pinned columns by assigning cumulative widths to each pinned column and resetting non-pinned columns.
@@ -442,8 +465,18 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
442
465
  disableColumnDrag(event: MouseEvent, index: number): void;
443
466
  dateTimeSelected(date: any): void;
444
467
  convertToNumber(value: number | string): number;
468
+ hideSettings(): void;
469
+ dragRow(e: Event, row: any): void;
470
+ allowRowDrop(e: Event): void;
471
+ dropRow(targetRow: any): void;
472
+ moveRow(from: number, to: number): void;
473
+ clearAllFilter(): void;
474
+ onBtFirstClick(): void;
475
+ onBtLastClick(): void;
476
+ onRowClick(row: any): void;
477
+ onCellClick(row: any, col: any): void;
445
478
  static ɵfac: i0.ɵɵFactoryDeclaration<CatsDataGridComponent, never>;
446
- static ɵcmp: i0.ɵɵComponentDeclaration<CatsDataGridComponent, "cats-data-grid", never, { "tableOptions": { "alias": "tableOptions"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "sortingRequired": { "alias": "sortingRequired"; "required": false; }; "checkBoxSelection": { "alias": "checkBoxSelection"; "required": false; }; "checkboxSelectionType": { "alias": "checkboxSelectionType"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "colDefs": { "alias": "colDefs"; "required": false; }; "paginationRequired": { "alias": "paginationRequired"; "required": false; }; "selectedRowEmpty": { "alias": "selectedRowEmpty"; "required": false; }; "filterRequired": { "alias": "filterRequired"; "required": false; }; "threeDotsMenuRequired": { "alias": "threeDotsMenuRequired"; "required": false; }; "height": { "alias": "height"; "required": false; }; "groupByRequired": { "alias": "groupByRequired"; "required": false; }; "pageSizeList": { "alias": "pageSizeList"; "required": false; }; "appliedFilters": { "alias": "appliedFilters"; "required": false; }; "dynamicGroupingFiltering": { "alias": "dynamicGroupingFiltering"; "required": false; }; }, { "onPaginationChange": "onPaginationChange"; "onCheckboxSelection": "onCheckboxSelection"; "onScrollEmitter": "onScrollEmitter"; "filter": "filter"; "appliedFiltersEvent": "appliedFiltersEvent"; "activeGroupsEvent": "activeGroupsEvent"; }, never, never, true, never>;
479
+ static ɵcmp: i0.ɵɵComponentDeclaration<CatsDataGridComponent, "cats-data-grid", never, { "tableOptions": { "alias": "tableOptions"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "sortingRequired": { "alias": "sortingRequired"; "required": false; }; "checkBoxSelection": { "alias": "checkBoxSelection"; "required": false; }; "checkboxSelectionType": { "alias": "checkboxSelectionType"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "colDefs": { "alias": "colDefs"; "required": false; }; "paginationRequired": { "alias": "paginationRequired"; "required": false; }; "selectedRowEmpty": { "alias": "selectedRowEmpty"; "required": false; }; "filterRequired": { "alias": "filterRequired"; "required": false; }; "threeDotsMenuRequired": { "alias": "threeDotsMenuRequired"; "required": false; }; "settingsRequired": { "alias": "settingsRequired"; "required": false; }; "settingsClicked": { "alias": "settingsClicked"; "required": false; }; "resetPage": { "alias": "resetPage"; "required": false; }; "rowId": { "alias": "rowId"; "required": false; }; "height": { "alias": "height"; "required": false; }; "groupByRequired": { "alias": "groupByRequired"; "required": false; }; "pageSizeList": { "alias": "pageSizeList"; "required": false; }; "groupByField": { "alias": "groupByField"; "required": false; }; "appliedFilters": { "alias": "appliedFilters"; "required": false; }; "rowGripFieldName": { "alias": "rowGripFieldName"; "required": false; }; "pageNumber": { "alias": "pageNumber"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "dynamicGroupingFiltering": { "alias": "dynamicGroupingFiltering"; "required": false; }; }, { "onPaginationChange": "onPaginationChange"; "onCheckboxSelection": "onCheckboxSelection"; "onScrollEmitter": "onScrollEmitter"; "filter": "filter"; "onHideSettings": "onHideSettings"; "appliedFiltersEvent": "appliedFiltersEvent"; "activeGroupsEvent": "activeGroupsEvent"; "onRowClicked": "onRowClicked"; "onCellClicked": "onCellClicked"; }, never, never, true, never>;
447
480
  }
448
481
 
449
482
  declare class CommonRendererComponent {
@@ -452,7 +485,12 @@ declare class CommonRendererComponent {
452
485
  private static _activeTagId;
453
486
  activeRowId: i0.WritableSignal<number | null>;
454
487
  activeTagId: i0.WritableSignal<string | null>;
488
+ clickTimer: any;
489
+ clickDelay: number;
455
490
  maxVisible: number;
491
+ data: any;
492
+ paramsVal: any;
493
+ tagClasses: any;
456
494
  cellInit(params: any, data: any): void;
457
495
  /**
458
496
  * @description Returns the renderer type defined in cellRendererParams.
@@ -512,6 +550,8 @@ declare class CommonRendererComponent {
512
550
  * @returns {void}
513
551
  */
514
552
  onActionClick(action: any): void;
553
+ linkSingleClick(): void;
554
+ linkDoubleClick(): void;
515
555
  /**
516
556
  * @description Closes the action menu when clicking outside the component.
517
557
  * @author Anand Pandey
@@ -524,19 +564,13 @@ declare class CommonRendererComponent {
524
564
  * @author Anand Pandey
525
565
  * @returns {string[]}
526
566
  */
527
- get allTags(): {
528
- tagValue: any;
529
- class: any;
530
- }[];
567
+ get allTags(): any;
531
568
  /**
532
569
  * @description Returns the subset of tags that should be visibly displayed in the UI based on maxVisible count.
533
570
  * @author Anand Pandey
534
571
  * @returns {string[]}
535
572
  */
536
- get visibleTags(): {
537
- tagValue: any;
538
- class: any;
539
- }[];
573
+ get visibleTags(): any;
540
574
  /**
541
575
  * @description Returns the count of tags hidden behind the "+" more indicator.
542
576
  * @author Anand Pandey
@@ -563,9 +597,363 @@ declare class CommonRendererComponent {
563
597
  * @returns {void}
564
598
  */
565
599
  closeDropdown(event: MouseEvent): void;
600
+ /**
601
+ * @description Returns normalized link values derived from the cell `value`.
602
+ * Uses the configured `linkKey` from `cellParams` to extract display data
603
+ * @author Anand Pandey
604
+ * @returns {Array<{ linkValue: string; class: string }>} Normalized link values
605
+ */
606
+ get linkVal(): any;
607
+ /**
608
+ * @description Normalizes the component `value` into a consistent array structure.
609
+ * @author Anand Pandey
610
+ * @param {string} key Key in `cellParams` used to determine which field to read from object values
611
+ * @param {string} valueProp Property name assigned to the normalized output value
612
+ * @returns {Array<{ [key: string]: string; class: string }>} Array of normalized value objects
613
+ */
614
+ transformValue(key: string, valueProp: any): {
615
+ [valueProp]: any;
616
+ class: any;
617
+ }[];
618
+ parseColValue(row: any, col: any): any;
566
619
  static ɵfac: i0.ɵɵFactoryDeclaration<CommonRendererComponent, never>;
567
620
  static ɵcmp: i0.ɵɵComponentDeclaration<CommonRendererComponent, "lib-common-renderer", never, {}, {}, never, never, true, never>;
568
621
  }
569
622
 
570
- export { CatsDataGridComponent, CatsDataGridService, ColDefs, CommonRendererComponent };
571
- export type { ColumnFilter, FilterCondition };
623
+ interface CatsTreeTableColumn {
624
+ field: string;
625
+ header?: string;
626
+ width?: number;
627
+ minWidth?: number;
628
+ maxWidth?: number;
629
+ class?: string;
630
+ colId?: string;
631
+ sortable?: boolean;
632
+ filterable?: boolean;
633
+ filterType?: 'text' | 'number' | 'date' | 'set';
634
+ leftPinned?: boolean;
635
+ rightPinned?: boolean;
636
+ leftOffset?: number;
637
+ rightOffset?: number;
638
+ active?: boolean;
639
+ filters?: TreeFilterCondition[];
640
+ options?: any[];
641
+ filteredOptions?: any[];
642
+ selectedValues?: Set<any>;
643
+ cellRenderer?: any;
644
+ cellRendererParams?: any;
645
+ }
646
+ interface TreeFilterCondition {
647
+ filterOperation: string;
648
+ filterValue: any;
649
+ }
650
+ interface CatsTreeRowOptions {
651
+ showCheckbox?: boolean;
652
+ showToggle?: boolean;
653
+ showNodeIcon?: boolean;
654
+ showLink?: boolean;
655
+ disabled?: boolean;
656
+ }
657
+ interface CatsTreeExpandEvent<T = any> {
658
+ node: T;
659
+ level: number;
660
+ path: T[];
661
+ expanded: boolean;
662
+ }
663
+ interface CatsTreeSelectionChangeEvent<T = any> {
664
+ node: T;
665
+ level: number;
666
+ path: T[];
667
+ checked: boolean;
668
+ selectedNodes: T[];
669
+ }
670
+ interface CatsTreeLinkClickEvent<T = any> {
671
+ node: T;
672
+ level: number;
673
+ path: T[];
674
+ url: string | null;
675
+ }
676
+ type RowKind = 'node' | 'loading' | 'no-data';
677
+ interface RowView<T = any> {
678
+ kind: RowKind;
679
+ level: number;
680
+ path: T[];
681
+ node: T;
682
+ trackKey: string | number;
683
+ }
684
+ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, AfterViewInit, OnDestroy {
685
+ private renderer;
686
+ private zone;
687
+ private cd;
688
+ tableAreaRef: ElementRef<HTMLElement>;
689
+ pinMenu?: ElementRef<HTMLElement>;
690
+ data: T[];
691
+ columns: CatsTreeTableColumn[];
692
+ idField: string;
693
+ labelField: string;
694
+ childrenField: string;
695
+ treeColumnField?: string;
696
+ indentPx: number;
697
+ showHeader: boolean;
698
+ expandIcon: string;
699
+ collapseIcon: string;
700
+ iconBasePath: string;
701
+ showCheckbox: boolean;
702
+ showNodeIcon: boolean;
703
+ noDataText: string;
704
+ loadingText: string;
705
+ emitExpandAlways: boolean;
706
+ sortingRequired: boolean;
707
+ filterRequired: boolean;
708
+ threeDotsMenuRequired: boolean;
709
+ settingsRequired: boolean;
710
+ settingsClicked: boolean;
711
+ checkBoxSelection: boolean;
712
+ checkboxSelectionType: 'multiple' | 'single';
713
+ isExpandable: (node: T, level: number, path: T[]) => boolean;
714
+ rowOptionsResolver: (node: T, level: number, path: T[]) => CatsTreeRowOptions;
715
+ nodeIconResolver: (node: T, level: number, path: T[]) => string | null;
716
+ linkResolver: (node: T, level: number, path: T[]) => string | null;
717
+ nodeToggle: EventEmitter<CatsTreeExpandEvent<T>>;
718
+ selectionChange: EventEmitter<CatsTreeSelectionChangeEvent<T>>;
719
+ linkClick: EventEmitter<CatsTreeLinkClickEvent<T>>;
720
+ onHideSettings: EventEmitter<any>;
721
+ protected rows: RowView<T>[];
722
+ sortingColumnIndex: number | null;
723
+ sortingType: {
724
+ [key: number]: string;
725
+ };
726
+ filteredData: T[];
727
+ originalRowData: T[];
728
+ activeFilters: Map<string, any>;
729
+ appliedFilters: any[];
730
+ menuVisible: boolean[];
731
+ dragOverIndex: number | null;
732
+ draggedIndex: number | null;
733
+ activeFilterIndex: number | null;
734
+ resizingColumnIndex: number | null;
735
+ startX: number;
736
+ startWidth: number;
737
+ isResizing: boolean;
738
+ showMoveIcon: {
739
+ [key: number]: boolean;
740
+ };
741
+ showPin: boolean;
742
+ pinActionClicked: Record<string, string>;
743
+ columnDraggable: boolean[];
744
+ showPageSizeList: boolean;
745
+ activeAll: boolean;
746
+ atLeastOneColumnChecked: boolean;
747
+ selectedRow: T[];
748
+ originalColumns: CatsTreeTableColumn[];
749
+ private removeMouseMove;
750
+ private removeMouseUp;
751
+ private rafId;
752
+ private removeDragOver;
753
+ private removeDrop;
754
+ filterOptions: {
755
+ label: string;
756
+ value: string;
757
+ }[];
758
+ numberFilterOptions: {
759
+ label: string;
760
+ value: string;
761
+ }[];
762
+ private expandedKeys;
763
+ private selectedKeys;
764
+ private fallbackKey;
765
+ private fallbackSeq;
766
+ private resolvedTreeColumnField?;
767
+ constructor(renderer: Renderer2, zone: NgZone, cd: ChangeDetectorRef);
768
+ ngAfterViewInit(): void;
769
+ ngOnDestroy(): void;
770
+ ngOnChanges(changes: SimpleChanges): void;
771
+ ngDoCheck(): void;
772
+ protected get treeColumn(): CatsTreeTableColumn;
773
+ /**
774
+ * Initialize column properties for filtering, sorting, and customization
775
+ */
776
+ private initializeColumns;
777
+ /**
778
+ * Extract unique values from data for set filter
779
+ */
780
+ private extractUniqueValues;
781
+ /**
782
+ * Sort data based on column and sorting type
783
+ */
784
+ protected onSortingRowData(sortingColumnIndex: number, col: CatsTreeTableColumn): void;
785
+ /**
786
+ * Sort from the three-dots menu with an explicit direction (matches `cats-data-grid` UX).
787
+ */
788
+ protected onSort(col: CatsTreeTableColumn, type: string, sortingColumIndex: number): void;
789
+ /**
790
+ * Apply sorting to the row data
791
+ */
792
+ private applySort;
793
+ /**
794
+ * Apply all active filters
795
+ */
796
+ applyAllFilters(): void;
797
+ /**
798
+ * Evaluate text filter condition
799
+ */
800
+ private evaluateTextFilterCondition;
801
+ /**
802
+ * Toggle column filter visibility
803
+ */
804
+ protected toggleFilter(col: CatsTreeTableColumn, index: number, event: MouseEvent): void;
805
+ /**
806
+ * Reset filter for a column
807
+ */
808
+ protected resetFilter(col: CatsTreeTableColumn): void;
809
+ /**
810
+ * Start column resize
811
+ */
812
+ protected startResize(event: MouseEvent, index: number): void;
813
+ /**
814
+ * Handle mouse move during resize
815
+ */
816
+ private onMouseMove;
817
+ /**
818
+ * Stop column resize
819
+ */
820
+ private stopResize;
821
+ /**
822
+ * Handle column drag start
823
+ */
824
+ protected onDragStart(event: DragEvent, index: number): void;
825
+ /**
826
+ * Handle column drag over
827
+ */
828
+ protected onDragOver(event: DragEvent, index: number): void;
829
+ /**
830
+ * Handle column drop
831
+ */
832
+ protected onDrop(event: DragEvent, index: number): void;
833
+ /**
834
+ * Handle drag end
835
+ */
836
+ protected onDragEnd(): void;
837
+ /**
838
+ * Pin column to left or right
839
+ */
840
+ protected pinColumn(col: CatsTreeTableColumn, index: number, direction: string): void;
841
+ protected showPinActions(event: MouseEvent): void;
842
+ protected hidePinActions(): void;
843
+ /**
844
+ * Update pinned column offsets
845
+ */
846
+ protected updatePinnedOffsets(): void;
847
+ /**
848
+ * Filter set options based on search text
849
+ */
850
+ protected filterSetOptions(col: CatsTreeTableColumn, event: any): void;
851
+ /**
852
+ * Toggle set filter option
853
+ */
854
+ protected toggleSetOption(col: CatsTreeTableColumn, option: any, event: any): void;
855
+ /**
856
+ * Toggle select all in set filter
857
+ */
858
+ protected toggleSelectAllSetFilter(col: CatsTreeTableColumn, event: any): void;
859
+ /**
860
+ * Get column style
861
+ */
862
+ protected getStyle(col: CatsTreeTableColumn): any;
863
+ /**
864
+ * Toggle column visibility
865
+ */
866
+ protected changeActiveColSelection(event: Event, col: CatsTreeTableColumn): void;
867
+ /**
868
+ * Compute minimum table width based on active column widths
869
+ */
870
+ protected getTableMinWidth(): number;
871
+ /**
872
+ * Select/deselect all columns
873
+ */
874
+ protected activeAllSelection(event: Event): void;
875
+ /**
876
+ * Hide settings
877
+ */
878
+ protected hideSettings(): void;
879
+ /**
880
+ * Close all menus
881
+ */
882
+ protected onClickOutside(): void;
883
+ /**
884
+ * Open column menu
885
+ */
886
+ protected openMenu(event: MouseEvent, col: CatsTreeTableColumn, index: number): void;
887
+ /**
888
+ * On header checkbox change
889
+ */
890
+ protected onHeaderCheckboxChange(event: any): void;
891
+ /**
892
+ * On row checkbox change
893
+ */
894
+ protected onRowCheckboxChange(event: any, node: T): void;
895
+ /**
896
+ * Check if all rows are selected
897
+ */
898
+ protected checkAllSelected(): boolean;
899
+ /**
900
+ * Check if some rows are selected (indeterminate state)
901
+ */
902
+ protected checkIndeterminate(): boolean;
903
+ /**
904
+ * Check if row is selected
905
+ */
906
+ protected isRowSelected(node: T): boolean;
907
+ protected toggle(node: T, level: number, path: T[]): void;
908
+ protected isExpanded(node: T): boolean;
909
+ protected onCheckboxChange(node: T, level: number, path: T[], checked: boolean): void;
910
+ protected isChecked(node: T): boolean;
911
+ protected onLinkClicked(e: MouseEvent, node: T, level: number, path: T[]): void;
912
+ protected resolveIconSrc(icon: string | null): string | null;
913
+ protected getValue(node: T, fieldPath: string): any;
914
+ protected isNodeRow(row: RowView<T>): boolean;
915
+ protected rowOptions(row: RowView<T>): CatsTreeRowOptions;
916
+ protected showToggleFor(row: RowView<T>): boolean;
917
+ protected showCheckboxFor(row: RowView<T>): boolean;
918
+ protected showNodeIconFor(row: RowView<T>): boolean;
919
+ protected showLinkFor(row: RowView<T>): boolean;
920
+ protected isDisabledRow(row: RowView<T>): boolean;
921
+ protected labelFor(row: RowView<T>): any;
922
+ protected toggleIconFor(row: RowView<T>): string;
923
+ protected nodeIconFor(row: RowView<T>): string | null;
924
+ protected linkUrlFor(row: RowView<T>): string | null;
925
+ private getChildren;
926
+ private rebuildRows;
927
+ private walk;
928
+ private getNodeKey;
929
+ private getSelectedNodes;
930
+ /**
931
+ * Autosize column to fit content
932
+ */
933
+ protected autosizeColumn(col: CatsTreeTableColumn, index: number): void;
934
+ /**
935
+ * Autosize all columns
936
+ */
937
+ protected autosizeAllColumns(): void;
938
+ /**
939
+ * Group by column
940
+ */
941
+ protected groupByColumn(col: CatsTreeTableColumn, index: number): void;
942
+ /**
943
+ * Show column chooser
944
+ */
945
+ protected showColumnChooser(colIdx: number): void;
946
+ /**
947
+ * Reset columns to original state
948
+ */
949
+ protected resetColumns(): void;
950
+ /**
951
+ * Save column state
952
+ */
953
+ private saveColumnState;
954
+ static ɵfac: i0.ɵɵFactoryDeclaration<CommonTreeTableComponent<any>, never>;
955
+ static ɵcmp: i0.ɵɵComponentDeclaration<CommonTreeTableComponent<any>, "cats-tree-table", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "labelField": { "alias": "labelField"; "required": false; }; "childrenField": { "alias": "childrenField"; "required": false; }; "treeColumnField": { "alias": "treeColumnField"; "required": false; }; "indentPx": { "alias": "indentPx"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "expandIcon": { "alias": "expandIcon"; "required": false; }; "collapseIcon": { "alias": "collapseIcon"; "required": false; }; "iconBasePath": { "alias": "iconBasePath"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "showNodeIcon": { "alias": "showNodeIcon"; "required": false; }; "noDataText": { "alias": "noDataText"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "emitExpandAlways": { "alias": "emitExpandAlways"; "required": false; }; "sortingRequired": { "alias": "sortingRequired"; "required": false; }; "filterRequired": { "alias": "filterRequired"; "required": false; }; "threeDotsMenuRequired": { "alias": "threeDotsMenuRequired"; "required": false; }; "settingsRequired": { "alias": "settingsRequired"; "required": false; }; "settingsClicked": { "alias": "settingsClicked"; "required": false; }; "checkBoxSelection": { "alias": "checkBoxSelection"; "required": false; }; "checkboxSelectionType": { "alias": "checkboxSelectionType"; "required": false; }; "isExpandable": { "alias": "isExpandable"; "required": false; }; "rowOptionsResolver": { "alias": "rowOptionsResolver"; "required": false; }; "nodeIconResolver": { "alias": "nodeIconResolver"; "required": false; }; "linkResolver": { "alias": "linkResolver"; "required": false; }; }, { "nodeToggle": "nodeToggle"; "selectionChange": "selectionChange"; "linkClick": "linkClick"; "onHideSettings": "onHideSettings"; }, never, never, true, never>;
956
+ }
957
+
958
+ export { CatsDataGridComponent, CatsDataGridService, ColDefs, CommonRendererComponent, CommonTreeTableComponent };
959
+ export type { CatsTreeExpandEvent, CatsTreeLinkClickEvent, CatsTreeRowOptions, CatsTreeSelectionChangeEvent, CatsTreeTableColumn, ColumnFilter, FilterCondition, TreeFilterCondition };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cats-data-grid",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18 <22",
6
6
  "@angular/common": ">=18 <22"
@@ -1,3 +1,3 @@
1
- @forward "sass-utils";
2
- @forward "component";
3
- @forward "base";
1
+ @forward "sass-utils";
2
+ @forward "component";
3
+ @forward "base";
@@ -1,74 +1,74 @@
1
- // @use url("https://fonts.googleapis.com/css2?family=Rethink+Sans:ital,wght@0,400..800;1,400..800&display=swap");
2
-
3
- @use "../sass-utils" as *;
4
-
5
- :root {
6
- --fs-6: 6px;
7
- --fs-12: 12px;
8
- --fs-14: 14px;
9
- --fs-16: 16px;
10
- --fs-18: 18px;
11
- --fs-20: 20px;
12
- --fs-24: 24px;
13
- --fs-28: 28px;
14
- --fs-30: 30px;
15
- --fs-32: 32px;
16
- --fs-42: 42px;
17
- --fs-48: 48px;
18
- --img-w: 28px;
19
- --scale: 1;
20
- }
21
-
22
- @include width-range($tablet, $mediumDesktop) {
23
- :root {
24
- --scale: 1.5;
25
- --fs-6: calc(6px / var(--scale));
26
- --fs-12: calc(12px / var(--scale));
27
- --fs-14: calc(14px / var(--scale));
28
- --fs-16: calc(16px / var(--scale));
29
- --fs-18: calc(18px / var(--scale));
30
- --fs-20: calc(20px / var(--scale));
31
- --fs-24: calc(24px / var(--scale));
32
- --fs-28: calc(28px / var(--scale));
33
- --fs-30: calc(30px / var(--scale));
34
- --fs-32: calc(32px / var(--scale));
35
- --fs-42: calc(42px / var(--scale));
36
- --fs-48: calc(48px / var(--scale));
37
- }
38
- }
39
-
40
- @include width-range($largeDesktop, $extraLargeDesktop) {
41
- :root {
42
- --scale: 1.33;
43
- --fs-6: calc(6px / var(--scale));
44
- --fs-12: calc(12px / var(--scale));
45
- --fs-14: calc(14px / var(--scale));
46
- --fs-16: calc(16px / var(--scale));
47
- --fs-18: calc(18px / var(--scale));
48
- --fs-20: calc(20px / var(--scale));
49
- --fs-24: calc(24px / var(--scale));
50
- --fs-28: calc(28px / var(--scale));
51
- --fs-30: calc(30px / var(--scale));
52
- --fs-32: calc(32px / var(--scale));
53
- --fs-42: calc(42px / var(--scale));
54
- --fs-48: calc(48px / var(--scale));
55
- }
56
- }
57
-
58
- @include width-range($xxlargeDesktop, $ultraWideDesktop) {
59
- :root {
60
- --scale: 1.25;
61
- --fs-6: calc(6px / var(--scale));
62
- --fs-12: calc(12px / var(--scale));
63
- --fs-14: calc(14px / var(--scale));
64
- --fs-16: calc(16px / var(--scale));
65
- --fs-18: calc(18px / var(--scale));
66
- --fs-20: calc(20px / var(--scale));
67
- --fs-24: calc(24px / var(--scale));
68
- --fs-28: calc(28px / var(--scale));
69
- --fs-30: calc(30px / var(--scale));
70
- --fs-32: calc(32px / var(--scale));
71
- --fs-42: calc(42px / var(--scale));
72
- --fs-48: calc(48px / var(--scale));
73
- }
74
- }
1
+ // @use url("https://fonts.googleapis.com/css2?family=Rethink+Sans:ital,wght@0,400..800;1,400..800&display=swap");
2
+
3
+ @use "../sass-utils" as *;
4
+
5
+ :root {
6
+ --fs-6: 6px;
7
+ --fs-12: 12px;
8
+ --fs-14: 14px;
9
+ --fs-16: 16px;
10
+ --fs-18: 18px;
11
+ --fs-20: 20px;
12
+ --fs-24: 24px;
13
+ --fs-28: 28px;
14
+ --fs-30: 30px;
15
+ --fs-32: 32px;
16
+ --fs-42: 42px;
17
+ --fs-48: 48px;
18
+ --img-w: 28px;
19
+ --scale: 1;
20
+ }
21
+
22
+ @include width-range($tablet, $mediumDesktop) {
23
+ :root {
24
+ --scale: 1.5;
25
+ --fs-6: calc(6px / var(--scale));
26
+ --fs-12: calc(12px / var(--scale));
27
+ --fs-14: calc(14px / var(--scale));
28
+ --fs-16: calc(16px / var(--scale));
29
+ --fs-18: calc(18px / var(--scale));
30
+ --fs-20: calc(20px / var(--scale));
31
+ --fs-24: calc(24px / var(--scale));
32
+ --fs-28: calc(28px / var(--scale));
33
+ --fs-30: calc(30px / var(--scale));
34
+ --fs-32: calc(32px / var(--scale));
35
+ --fs-42: calc(42px / var(--scale));
36
+ --fs-48: calc(48px / var(--scale));
37
+ }
38
+ }
39
+
40
+ @include width-range($largeDesktop, $extraLargeDesktop) {
41
+ :root {
42
+ --scale: 1.33;
43
+ --fs-6: calc(6px / var(--scale));
44
+ --fs-12: calc(12px / var(--scale));
45
+ --fs-14: calc(14px / var(--scale));
46
+ --fs-16: calc(16px / var(--scale));
47
+ --fs-18: calc(18px / var(--scale));
48
+ --fs-20: calc(20px / var(--scale));
49
+ --fs-24: calc(24px / var(--scale));
50
+ --fs-28: calc(28px / var(--scale));
51
+ --fs-30: calc(30px / var(--scale));
52
+ --fs-32: calc(32px / var(--scale));
53
+ --fs-42: calc(42px / var(--scale));
54
+ --fs-48: calc(48px / var(--scale));
55
+ }
56
+ }
57
+
58
+ @include width-range($xxlargeDesktop, $ultraWideDesktop) {
59
+ :root {
60
+ --scale: 1.25;
61
+ --fs-6: calc(6px / var(--scale));
62
+ --fs-12: calc(12px / var(--scale));
63
+ --fs-14: calc(14px / var(--scale));
64
+ --fs-16: calc(16px / var(--scale));
65
+ --fs-18: calc(18px / var(--scale));
66
+ --fs-20: calc(20px / var(--scale));
67
+ --fs-24: calc(24px / var(--scale));
68
+ --fs-28: calc(28px / var(--scale));
69
+ --fs-30: calc(30px / var(--scale));
70
+ --fs-32: calc(32px / var(--scale));
71
+ --fs-42: calc(42px / var(--scale));
72
+ --fs-48: calc(48px / var(--scale));
73
+ }
74
+ }