cats-data-grid 2.0.6 → 2.0.7

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,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnChanges, OnInit, ElementRef, EventEmitter, Renderer2, NgZone, ChangeDetectorRef, SimpleChanges, DoCheck, AfterViewInit, OnDestroy } from '@angular/core';
2
+ import { OnChanges, OnInit, ElementRef, EventEmitter, Renderer2, NgZone, ChangeDetectorRef, SimpleChanges, DoCheck, AfterViewInit, OnDestroy, ApplicationRef, Injector } from '@angular/core';
3
+ import { FormControl } from '@angular/forms';
3
4
 
4
5
  declare class CatsDataGridService {
5
6
  constructor();
@@ -52,6 +53,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
52
53
  settingsClicked: boolean;
53
54
  resetPage: boolean;
54
55
  rowId: any;
56
+ bigRows: boolean;
55
57
  showDropdown: boolean;
56
58
  height: number;
57
59
  groupByRequired: boolean;
@@ -60,6 +62,8 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
60
62
  onScrollEmitter: EventEmitter<any>;
61
63
  filter: EventEmitter<any>;
62
64
  onHideSettings: EventEmitter<any>;
65
+ onCellEdit: EventEmitter<any>;
66
+ onColCongifgChange: EventEmitter<any>;
63
67
  activeFilterIndex: number | null;
64
68
  originalRowData: any[];
65
69
  activeAll: boolean;
@@ -118,12 +122,27 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
118
122
  isRowSelected: boolean;
119
123
  onRowClicked: EventEmitter<any>;
120
124
  onCellClicked: EventEmitter<any>;
125
+ isCellDblClicked: any;
126
+ cellClickedCtrl: FormControl<string | null>;
127
+ previousId: string;
128
+ editingRow: any;
129
+ editingField: string;
130
+ clickTimer: any;
131
+ clickDelay: number;
132
+ cellClickedColumn: any;
133
+ enterPressed: boolean;
134
+ leftPinned: any;
135
+ rightPinned: any;
136
+ centerArea: any;
137
+ groupingDisabled: boolean;
138
+ draggableColumn: any;
121
139
  constructor(renderer: Renderer2, zone: NgZone, cd: ChangeDetectorRef);
122
140
  ngOnInit(): void;
123
141
  ngOnChanges(changes: SimpleChanges): void;
124
142
  getColumnDetail(colDefs: any, groupByField: any): any;
125
143
  activeAllSelection(event: Event): void;
126
144
  changeActiveColSelection(event: Event, col: any): void;
145
+ getActiveCols(): void;
127
146
  /**
128
147
  * @description Prepares and normalizes column definitions for filtering and menu behavior
129
148
  * @author Anand Pandey
@@ -377,7 +396,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
377
396
  * @param {event object, index}
378
397
  * @returns {void}
379
398
  */
380
- onDragStart(event: DragEvent, index: number): void;
399
+ onDragStart(event: DragEvent, index: number, col: any): void;
381
400
  onGroupDragStart(event: DragEvent, index: number): void;
382
401
  /**
383
402
  * @author Anand Pandey
@@ -475,11 +494,17 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
475
494
  onBtLastClick(): void;
476
495
  onRowClick(row: any): void;
477
496
  onCellClick(row: any, col: any): void;
497
+ onCellDblClick(row: any, col: any): void;
498
+ onEnter(): void;
499
+ onBlur(): void;
500
+ onCellEditSave(): void;
501
+ setFieldValue(row: any, field: string, value: any): void;
478
502
  static ɵfac: i0.ɵɵFactoryDeclaration<CatsDataGridComponent, 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>;
503
+ 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": true; }; "colDefs": { "alias": "colDefs"; "required": true; }; "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; }; "bigRows": { "alias": "bigRows"; "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"; "onCellEdit": "onCellEdit"; "onColCongifgChange": "onColCongifgChange"; "appliedFiltersEvent": "appliedFiltersEvent"; "activeGroupsEvent": "activeGroupsEvent"; "onRowClicked": "onRowClicked"; "onCellClicked": "onCellClicked"; }, never, never, true, never>;
480
504
  }
481
505
 
482
506
  declare class CommonRendererComponent {
507
+ parentContainer: HTMLElement;
483
508
  params: any;
484
509
  private static _activeRowId;
485
510
  private static _activeTagId;
@@ -498,6 +523,7 @@ declare class CommonRendererComponent {
498
523
  * @returns {string | undefined}
499
524
  */
500
525
  get type(): any;
526
+ get subType(): any;
501
527
  /**
502
528
  * @description Returns the renderer subtype defined in cellRendererParams.
503
529
  * @author Anand Pandey
@@ -611,17 +637,14 @@ declare class CommonRendererComponent {
611
637
  * @param {string} valueProp Property name assigned to the normalized output value
612
638
  * @returns {Array<{ [key: string]: string; class: string }>} Array of normalized value objects
613
639
  */
614
- transformValue(key: string, valueProp: any): {
615
- [valueProp]: any;
616
- class: any;
617
- }[];
640
+ transformValue(key: string, valueProp: any): any[];
618
641
  parseColValue(row: any, col: any): any;
619
642
  static ɵfac: i0.ɵɵFactoryDeclaration<CommonRendererComponent, never>;
620
643
  static ɵcmp: i0.ɵɵComponentDeclaration<CommonRendererComponent, "lib-common-renderer", never, {}, {}, never, never, true, never>;
621
644
  }
622
645
 
623
646
  interface CatsTreeTableColumn {
624
- field: string;
647
+ fieldName: string;
625
648
  header?: string;
626
649
  width?: number;
627
650
  minWidth?: number;
@@ -642,6 +665,8 @@ interface CatsTreeTableColumn {
642
665
  selectedValues?: Set<any>;
643
666
  cellRenderer?: any;
644
667
  cellRendererParams?: any;
668
+ filterLogic?: 'AND' | 'OR';
669
+ headerLocked?: boolean;
645
670
  }
646
671
  interface TreeFilterCondition {
647
672
  filterOperation: string;
@@ -661,9 +686,9 @@ interface CatsTreeExpandEvent<T = any> {
661
686
  expanded: boolean;
662
687
  }
663
688
  interface CatsTreeSelectionChangeEvent<T = any> {
664
- node: T;
665
- level: number;
666
- path: T[];
689
+ node?: T;
690
+ level?: number;
691
+ path?: T[];
667
692
  checked: boolean;
668
693
  selectedNodes: T[];
669
694
  }
@@ -672,6 +697,7 @@ interface CatsTreeLinkClickEvent<T = any> {
672
697
  level: number;
673
698
  path: T[];
674
699
  url: string | null;
700
+ col: CatsTreeTableColumn;
675
701
  }
676
702
  type RowKind = 'node' | 'loading' | 'no-data';
677
703
  interface RowView<T = any> {
@@ -689,7 +715,9 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
689
715
  pinMenu?: ElementRef<HTMLElement>;
690
716
  data: T[];
691
717
  columns: CatsTreeTableColumn[];
718
+ tableOptions: any;
692
719
  idField: string;
720
+ rowId: string;
693
721
  labelField: string;
694
722
  childrenField: string;
695
723
  treeColumnField?: string;
@@ -710,22 +738,33 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
710
738
  settingsClicked: boolean;
711
739
  checkBoxSelection: boolean;
712
740
  checkboxSelectionType: 'multiple' | 'single';
741
+ paginationRequired: boolean;
742
+ pageSizeList: number[];
743
+ totalRecords: number;
744
+ resetPage: boolean;
713
745
  isExpandable: (node: T, level: number, path: T[]) => boolean;
714
746
  rowOptionsResolver: (node: T, level: number, path: T[]) => CatsTreeRowOptions;
715
- nodeIconResolver: (node: T, level: number, path: T[]) => string | null;
747
+ nodeIconResolver: (node: T, level: number, path: T[], expanded: boolean) => string | null;
716
748
  linkResolver: (node: T, level: number, path: T[]) => string | null;
717
749
  nodeToggle: EventEmitter<CatsTreeExpandEvent<T>>;
718
750
  selectionChange: EventEmitter<CatsTreeSelectionChangeEvent<T>>;
719
751
  linkClick: EventEmitter<CatsTreeLinkClickEvent<T>>;
752
+ linkDoubleClick: EventEmitter<CatsTreeLinkClickEvent<T>>;
720
753
  onHideSettings: EventEmitter<any>;
754
+ onPaginationChange: EventEmitter<any>;
755
+ dateConfig: DateConfig;
721
756
  protected rows: RowView<T>[];
757
+ private linkClickTimer;
758
+ private linkClickDelay;
759
+ pageDetails: any;
760
+ recordsToShow: any;
722
761
  sortingColumnIndex: number | null;
723
762
  sortingType: {
724
763
  [key: number]: string;
725
764
  };
726
765
  filteredData: T[];
727
766
  originalRowData: T[];
728
- activeFilters: Map<string, any>;
767
+ activeFilters: Set<any>;
729
768
  appliedFilters: any[];
730
769
  menuVisible: boolean[];
731
770
  dragOverIndex: number | null;
@@ -751,6 +790,7 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
751
790
  private rafId;
752
791
  private removeDragOver;
753
792
  private removeDrop;
793
+ private originalExpandedKeys;
754
794
  filterOptions: {
755
795
  label: string;
756
796
  value: string;
@@ -767,6 +807,8 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
767
807
  constructor(renderer: Renderer2, zone: NgZone, cd: ChangeDetectorRef);
768
808
  ngAfterViewInit(): void;
769
809
  ngOnDestroy(): void;
810
+ getUpdatedColDefs(colDefs: any[]): any[];
811
+ normalizeSetFilterType(value: any, key: string): any[] | undefined;
770
812
  ngOnChanges(changes: SimpleChanges): void;
771
813
  ngDoCheck(): void;
772
814
  protected get treeColumn(): CatsTreeTableColumn;
@@ -794,6 +836,9 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
794
836
  * Apply all active filters
795
837
  */
796
838
  applyAllFilters(): void;
839
+ private expandAllParentsAfterFilter;
840
+ private filterTree;
841
+ private matchesAllFilters;
797
842
  /**
798
843
  * Evaluate text filter condition
799
844
  */
@@ -885,7 +930,27 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
885
930
  */
886
931
  protected openMenu(event: MouseEvent, col: CatsTreeTableColumn, index: number): void;
887
932
  /**
888
- * On header checkbox change
933
+ * Recursively select all children of a node
934
+ */
935
+ private selectAllChildren;
936
+ /**
937
+ * Recursively deselect all children of a node
938
+ */
939
+ private deselectAllChildren;
940
+ /**
941
+ * Recursively select all nodes in the tree
942
+ */
943
+ private selectAllNodes;
944
+ /**
945
+ * Recursively deselect all nodes in the tree
946
+ */
947
+ private deselectAllNodes;
948
+ /**
949
+ * Update parent node selection based on children state
950
+ */
951
+ private updateParentSelection;
952
+ /**
953
+ * On header checkbox change - select all nodes hierarchically
889
954
  */
890
955
  protected onHeaderCheckboxChange(event: any): void;
891
956
  /**
@@ -904,11 +969,28 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
904
969
  * Check if row is selected
905
970
  */
906
971
  protected isRowSelected(node: T): boolean;
972
+ /**
973
+ * Check if a node has indeterminate selection state (some but not all children selected)
974
+ */
975
+ protected isNodeIndeterminate(node: T): boolean;
976
+ /**
977
+ * Check header checkbox indeterminate state
978
+ */
979
+ protected checkHeaderIndeterminate(): boolean;
980
+ /**
981
+ * Check if header checkbox should be checked
982
+ */
983
+ protected checkHeaderChecked(): boolean;
907
984
  protected toggle(node: T, level: number, path: T[]): void;
985
+ /**
986
+ * Recursively collapse all children of a node
987
+ */
988
+ private collapseAllChildren;
908
989
  protected isExpanded(node: T): boolean;
909
990
  protected onCheckboxChange(node: T, level: number, path: T[], checked: boolean): void;
910
991
  protected isChecked(node: T): boolean;
911
- protected onLinkClicked(e: MouseEvent, node: T, level: number, path: T[]): void;
992
+ protected onLinkClicked(e: MouseEvent, node: T, level: number, path: T[], col: CatsTreeTableColumn): void;
993
+ protected onLinkDoubleClicked(e: MouseEvent, node: T, level: number, path: T[], col: CatsTreeTableColumn): void;
912
994
  protected resolveIconSrc(icon: string | null): string | null;
913
995
  protected getValue(node: T, fieldPath: string): any;
914
996
  protected isNodeRow(row: RowView<T>): boolean;
@@ -922,6 +1004,45 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
922
1004
  protected toggleIconFor(row: RowView<T>): string;
923
1005
  protected nodeIconFor(row: RowView<T>): string | null;
924
1006
  protected linkUrlFor(row: RowView<T>): string | null;
1007
+ /**
1008
+ * Set page count based on total records and page size
1009
+ */
1010
+ protected setPageCount(): void;
1011
+ /**
1012
+ * On page size changed
1013
+ */
1014
+ protected onPageSizeChanged(event: any): void;
1015
+ /**
1016
+ * On first button click
1017
+ */
1018
+ protected onBtFirstClick(): void;
1019
+ /**
1020
+ * On previous button click
1021
+ */
1022
+ protected onBtPrevClick(): void;
1023
+ /**
1024
+ * On next button click
1025
+ */
1026
+ protected onBtNextClick(): void;
1027
+ /**
1028
+ * On last button click
1029
+ */
1030
+ protected onBtLastClick(): void;
1031
+ /**
1032
+ * Go to selected page
1033
+ */
1034
+ protected goToSelectedPage(event: any): void;
1035
+ /**
1036
+ * @description method to reset table configuration
1037
+ * @author Tarun Kumar
1038
+ * @param none
1039
+ * @returns void
1040
+ */
1041
+ resetPagination(): void;
1042
+ /**
1043
+ * Convert to number
1044
+ */
1045
+ protected convertToNumber(val: any): number;
925
1046
  private getChildren;
926
1047
  private rebuildRows;
927
1048
  private walk;
@@ -951,9 +1072,127 @@ declare class CommonTreeTableComponent<T = any> implements OnChanges, DoCheck, A
951
1072
  * Save column state
952
1073
  */
953
1074
  private saveColumnState;
1075
+ /**
1076
+ * Returns filtered hierarchy based on column filters with AND/OR logic, including number filter support
1077
+ */
1078
+ getFilteredHierarchy(): T[];
1079
+ /**
1080
+ * Evaluate number filter condition
1081
+ */
1082
+ private evaluateNumberFilterCondition;
1083
+ dateTimeSelected(date: any): void;
1084
+ /**
1085
+ * @description
1086
+ * Checks whether all options inside a Set Filter are currently selected.
1087
+ * @author Anand Pandey
1088
+ * @param col - Column definition object
1089
+ * @returns boolean - TRUE if all options are selected, otherwise FALSE.
1090
+ */
1091
+ isAllSelected(col: any): boolean;
1092
+ /**
1093
+ * @description * Selects or deselects all checkbox options in the Set Filter.
1094
+ * @author Anand Pandey
1095
+ * @param col - Column definition object
1096
+ * @param event - Checkbox change event
1097
+ * @returns void
1098
+ */
1099
+ toggleSelectAll(col: any, event: any): void;
954
1100
  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>;
1101
+ static ɵcmp: i0.ɵɵComponentDeclaration<CommonTreeTableComponent<any>, "cats-tree-table", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "tableOptions": { "alias": "tableOptions"; "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; }; "paginationRequired": { "alias": "paginationRequired"; "required": false; }; "pageSizeList": { "alias": "pageSizeList"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "resetPage": { "alias": "resetPage"; "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"; "linkDoubleClick": "linkDoubleClick"; "onHideSettings": "onHideSettings"; "onPaginationChange": "onPaginationChange"; }, never, never, true, never>;
1102
+ }
1103
+
1104
+ type TooltipPosition = 'top' | 'bottom' | 'left' | 'right' | 'adaptive';
1105
+ declare class TooltipDirective implements OnInit, OnDestroy {
1106
+ private elementRef;
1107
+ private renderer;
1108
+ private appRef;
1109
+ private injector;
1110
+ private ngZone;
1111
+ content: string;
1112
+ tooltipPosition: TooltipPosition;
1113
+ tooltipDelay: number;
1114
+ tooltipBgColor: string;
1115
+ tooltipTextColor: string;
1116
+ tooltipPadding: string;
1117
+ tooltipFontSize: string;
1118
+ tooltipBorderRadius: string;
1119
+ tooltipMaxWidth: string;
1120
+ followCursor: boolean;
1121
+ tooltipParentContainer: HTMLElement | null;
1122
+ private tooltipElement;
1123
+ private showTimeout;
1124
+ private elementRect;
1125
+ private currentPosition;
1126
+ private componentRef;
1127
+ private cursorX;
1128
+ private cursorY;
1129
+ private isTooltipShown;
1130
+ constructor(elementRef: ElementRef<HTMLElement>, renderer: Renderer2, appRef: ApplicationRef, injector: Injector, ngZone: NgZone);
1131
+ ngOnInit(): void;
1132
+ onMouseEnter(event: MouseEvent): void;
1133
+ onMouseLeave(): void;
1134
+ onMouseMove(event: MouseEvent): void;
1135
+ private show;
1136
+ private calculateAdaptivePosition;
1137
+ private findParentContainer;
1138
+ private positionTooltip;
1139
+ private hide;
1140
+ ngOnDestroy(): void;
1141
+ static ɵfac: i0.ɵɵFactoryDeclaration<TooltipDirective, never>;
1142
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipDirective, "[appTooltip]", never, { "content": { "alias": "appTooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "tooltipDelay": { "alias": "tooltipDelay"; "required": false; }; "tooltipBgColor": { "alias": "tooltipBgColor"; "required": false; }; "tooltipTextColor": { "alias": "tooltipTextColor"; "required": false; }; "tooltipPadding": { "alias": "tooltipPadding"; "required": false; }; "tooltipFontSize": { "alias": "tooltipFontSize"; "required": false; }; "tooltipBorderRadius": { "alias": "tooltipBorderRadius"; "required": false; }; "tooltipMaxWidth": { "alias": "tooltipMaxWidth"; "required": false; }; "followCursor": { "alias": "followCursor"; "required": false; }; "tooltipParentContainer": { "alias": "tooltipParentContainer"; "required": false; }; }, {}, never, never, true, never>;
1143
+ }
1144
+
1145
+ declare class TooltipComponent {
1146
+ content: string;
1147
+ position: TooltipPosition;
1148
+ bgColor: string;
1149
+ textColor: string;
1150
+ padding: string;
1151
+ fontSize: string;
1152
+ borderRadius: string;
1153
+ maxWidth: string;
1154
+ get styleObj(): {
1155
+ 'background-color': string;
1156
+ color: string;
1157
+ padding: string;
1158
+ 'font-size': string;
1159
+ 'border-radius': string;
1160
+ 'max-width': string;
1161
+ };
1162
+ static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, never>;
1163
+ static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "app-tooltip", never, { "content": { "alias": "content"; "required": false; }; "position": { "alias": "position"; "required": false; }; "bgColor": { "alias": "bgColor"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "borderRadius": { "alias": "borderRadius"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; }, {}, never, never, true, never>;
1164
+ }
1165
+
1166
+ declare class AdaptivePositionDirective implements AfterViewInit, OnDestroy {
1167
+ private host;
1168
+ dropdown: HTMLElement;
1169
+ trigger: HTMLElement;
1170
+ parentContainer: HTMLElement;
1171
+ matchWidth: boolean;
1172
+ closeOnOutside: boolean;
1173
+ isAction: boolean;
1174
+ isColumnActionMenu: boolean;
1175
+ resizeObserver: ResizeObserver;
1176
+ isOpen: boolean;
1177
+ menuItems: HTMLElement[];
1178
+ focusedIndex: number;
1179
+ constructor(host: ElementRef);
1180
+ ngAfterViewInit(): void;
1181
+ open(): void;
1182
+ close(): void;
1183
+ positionDropdown(): void;
1184
+ handleKeys(e: KeyboardEvent): void;
1185
+ moveFocus(delta: number): void;
1186
+ focusItem(index: number): void;
1187
+ selectFocused(): void;
1188
+ prepareItems(): void;
1189
+ handleOutsideClick: (e: Event) => void;
1190
+ setupBaseStyles(): void;
1191
+ observeResize(): void;
1192
+ ngOnDestroy(): void;
1193
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdaptivePositionDirective, never>;
1194
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AdaptivePositionDirective, "[adaptivePosition]", never, { "dropdown": { "alias": "adaptive"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; "parentContainer": { "alias": "parentContainer"; "required": false; }; "matchWidth": { "alias": "matchWidth"; "required": false; }; "closeOnOutside": { "alias": "closeOnOutside"; "required": false; }; "isAction": { "alias": "isAction"; "required": false; }; "isColumnActionMenu": { "alias": "isColumnActionMenu"; "required": false; }; }, {}, never, never, true, never>;
956
1195
  }
957
1196
 
958
- export { CatsDataGridComponent, CatsDataGridService, ColDefs, CommonRendererComponent, CommonTreeTableComponent };
959
- export type { CatsTreeExpandEvent, CatsTreeLinkClickEvent, CatsTreeRowOptions, CatsTreeSelectionChangeEvent, CatsTreeTableColumn, ColumnFilter, FilterCondition, TreeFilterCondition };
1197
+ export { AdaptivePositionDirective, CatsDataGridComponent, CatsDataGridService, ColDefs, CommonRendererComponent, CommonTreeTableComponent, TooltipComponent, TooltipDirective };
1198
+ export type { CatsTreeExpandEvent, CatsTreeLinkClickEvent, CatsTreeRowOptions, CatsTreeSelectionChangeEvent, CatsTreeTableColumn, ColumnFilter, FilterCondition, TooltipPosition, TreeFilterCondition };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cats-data-grid",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18 <22",
6
6
  "@angular/common": ">=18 <22"
@@ -369,3 +369,7 @@
369
369
  .text-danger {
370
370
  color: var(--red) !important;
371
371
  }
372
+
373
+ .tooltip-trigger {
374
+ cursor: default;
375
+ }