cats-data-grid 2.0.3 → 2.0.5

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, ChangeDetectorRef, SimpleChanges } from '@angular/core';
2
+ import { OnChanges, OnInit, ElementRef, EventEmitter, Renderer2, NgZone, ChangeDetectorRef, SimpleChanges } from '@angular/core';
3
3
 
4
4
  declare class CatsDataGridService {
5
5
  constructor();
@@ -12,8 +12,29 @@ interface DateConfig {
12
12
  enableTime?: boolean;
13
13
  }
14
14
 
15
+ declare class ColDefs {
16
+ fieldName: string;
17
+ headerName: string;
18
+ width: number;
19
+ minWidth: number;
20
+ sortable: boolean;
21
+ filterable: boolean;
22
+ cellRenderer: any;
23
+ }
24
+ interface ColumnFilter {
25
+ fieldName: string;
26
+ filterLogic: string;
27
+ filters: FilterCondition[];
28
+ }
29
+ interface FilterCondition {
30
+ filterOperation: string;
31
+ filterValue: any;
32
+ }
15
33
  declare class CatsDataGridComponent implements OnChanges, OnInit {
34
+ private renderer;
35
+ private zone;
16
36
  private cd;
37
+ pinMenu: ElementRef;
17
38
  tableOptions: any;
18
39
  totalRecords: number;
19
40
  sortingRequired: boolean;
@@ -72,7 +93,14 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
72
93
  }[];
73
94
  showPin: boolean;
74
95
  pinActionClicked: any;
75
- constructor(cd: ChangeDetectorRef);
96
+ private removeMouseMove;
97
+ private removeMouseUp;
98
+ private rafId;
99
+ appliedFilters: ColumnFilter[];
100
+ appliedFiltersEvent: EventEmitter<ColumnFilter[]>;
101
+ activeGroupsEvent: EventEmitter<any[]>;
102
+ dynamicGroupingFiltering: boolean;
103
+ constructor(renderer: Renderer2, zone: NgZone, cd: ChangeDetectorRef);
76
104
  ngOnInit(): void;
77
105
  ngOnChanges(changes: SimpleChanges): void;
78
106
  /**
@@ -103,13 +131,14 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
103
131
  */
104
132
  evaluateNumDateFilterCondition(type: string, fieldValue: number | string, value: number | string): boolean;
105
133
  /**
106
- * @description Method to filter data according to filterType and comparator selection
134
+ * @description Method to filter data according to filterOperation and comparator selection
107
135
  * @author Anand Pandey
108
136
  * @param {}
109
137
  * @returns void
110
138
  */
111
139
  applyAllFilters(): void;
112
140
  resetFilter(col: any): void;
141
+ removeActiveFilter(col: any): void;
113
142
  /**
114
143
  * @description Method to change the data format to utc
115
144
  * @author Anand Pandey
@@ -225,7 +254,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
225
254
  * @returns {void}
226
255
  */
227
256
  pinColumn(col: any, index: number, direction: string): void;
228
- showPinActions(): void;
257
+ showPinActions(event: MouseEvent): void;
229
258
  hidePinActions(): void;
230
259
  /**
231
260
  * @description Updates the horizontal left and right offsets of pinned columns by assigning cumulative widths to each pinned column and resetting non-pinned columns.
@@ -248,7 +277,7 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
248
277
  * @param none
249
278
  * @returns void
250
279
  */
251
- resetTableConfig(): void;
280
+ resetPagination(): void;
252
281
  /**
253
282
  * @description method to set total pages count
254
283
  * @author Tarun Kumar
@@ -317,7 +346,6 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
317
346
  */
318
347
  getStyle(col: any, type?: string): object;
319
348
  onClickOutside(): void;
320
- checkCondition(data: any): boolean;
321
349
  infinityScroll(event: any): void;
322
350
  checkAllSelected(): boolean;
323
351
  checkInterminate(): boolean;
@@ -414,8 +442,9 @@ declare class CatsDataGridComponent implements OnChanges, OnInit {
414
442
  enableColumnDrag(event: MouseEvent, index: number): void;
415
443
  disableColumnDrag(event: MouseEvent, index: number): void;
416
444
  dateTimeSelected(date: any): void;
445
+ convertToNumber(value: number | string): number;
417
446
  static ɵfac: i0.ɵɵFactoryDeclaration<CatsDataGridComponent, never>;
418
- 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; }; }, { "onPaginationChange": "onPaginationChange"; "onCheckboxSelection": "onCheckboxSelection"; "onScrollEmitter": "onScrollEmitter"; "filter": "filter"; }, never, never, true, never>;
447
+ 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>;
419
448
  }
420
449
 
421
450
  declare class CommonRendererComponent {
@@ -539,4 +568,5 @@ declare class CommonRendererComponent {
539
568
  static ɵcmp: i0.ɵɵComponentDeclaration<CommonRendererComponent, "lib-common-renderer", never, {}, {}, never, never, true, never>;
540
569
  }
541
570
 
542
- export { CatsDataGridComponent, CatsDataGridService, CommonRendererComponent };
571
+ export { CatsDataGridComponent, CatsDataGridService, ColDefs, CommonRendererComponent };
572
+ export type { ColumnFilter, FilterCondition };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "cats-data-grid",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "peerDependencies": {
5
- "@angular/common": "^20.3.15",
6
- "@angular/core": "^20.3.15"
5
+ "@angular/core": ">=18 <22",
6
+ "@angular/common": ">=18 <22"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "^2.3.0"
@@ -1,23 +1,23 @@
1
1
  @use "../sass-utils" as *;
2
2
 
3
3
  //========== CUSTOM SCROLL BAR ======================
4
- #container_scroll::-webkit-scrollbar {
4
+ #table_scroll::-webkit-scrollbar {
5
5
  @include box(rem(14px), rem(14px));
6
6
  }
7
- #container_scroll::-webkit-scrollbar-track {
7
+ #table_scroll::-webkit-scrollbar-track {
8
8
  background-color: var(--neutral-200);
9
9
  @include border($width: rem(3px), $radius: rem(100px), $color: transparent);
10
10
  background-clip: padding-box;
11
11
  }
12
- #container_scroll::-webkit-scrollbar-thumb {
12
+ #table_scroll::-webkit-scrollbar-thumb {
13
13
  background-color: var(--neutral-500);
14
14
  @include border($width: rem(3px), $radius: rem(100px), $color: transparent);
15
15
  background-clip: padding-box;
16
16
  }
17
- #container_scroll::-webkit-scrollbar-corner {
17
+ #table_scroll::-webkit-scrollbar-corner {
18
18
  background: transparent;
19
19
  }
20
- #container_scroll::-webkit-scrollbar-button {
20
+ #table_scroll::-webkit-scrollbar-button {
21
21
  @include box(rem(14px), rem(14px));
22
22
  background-color: var(--neutral-100);
23
23
  border-radius: rem(2px);
@@ -27,67 +27,56 @@
27
27
  background-position: center;
28
28
  background-size: rem(10px);
29
29
  }
30
- #container_scroll::-webkit-scrollbar-button:hover {
30
+ #table_scroll::-webkit-scrollbar-button:hover {
31
31
  background-color: var(--neutral-300);
32
32
  }
33
- #container_scroll::-webkit-scrollbar-button:single-button:vertical:decrement {
33
+ #table_scroll::-webkit-scrollbar-button:single-button:vertical:decrement {
34
34
  background-image: url("/images/chevron-up.svg");
35
35
  display: block;
36
36
  // border-top-right-radius: 8px;
37
37
  }
38
- #container_scroll::-webkit-scrollbar-button:single-button:vertical:increment {
38
+ #table_scroll::-webkit-scrollbar-button:single-button:vertical:increment {
39
39
  background-image: url("/images/chevron-down.svg");
40
40
  display: block;
41
41
  }
42
- #container_scroll::-webkit-scrollbar-button:single-button:horizontal:decrement {
42
+ #table_scroll::-webkit-scrollbar-button:single-button:horizontal:decrement {
43
43
  background-image: url("/images/chevron-left.svg");
44
44
  display: block;
45
45
  // border-bottom-left-radius: 8px;
46
46
  }
47
- #container_scroll::-webkit-scrollbar-button:single-button:horizontal:increment {
47
+ #table_scroll::-webkit-scrollbar-button:single-button:horizontal:increment {
48
48
  background-image: url("/images/chevron-right.svg");
49
49
  display: block;
50
50
  }
51
-
52
- // .row_div {
53
- // min-height: rem(54px);
54
- // @include flex(flex-start, center);
55
-
56
- // .col_div {
57
- // width: 50%;
58
- // @include flex(flex-start, center);
59
- // }
60
-
61
- // .label {
62
- // width: rem(200px);
63
- // min-width: rem(200px);
64
- // padding: 0 rem(24px);
65
- // color: var(--neutral-500);
66
- // @include fontStyle(var(--fs-16), 140%, 500);
67
-
68
- // @include flex("", center, rem(3px));
69
-
70
- // sup {
71
- // top: rem(-2px);
72
- // }
73
- // }
74
- // .field {
75
- // padding: rem(8px) rem(24px);
76
- // flex-grow: 1;
77
- // @include flex(flex-start, start, "", column);
78
- // color: var(--neutral-600);
79
- // @include fontStyle(var(--fs-16), 140%);
80
-
81
- // li {
82
- // list-style: disc;
83
- // line-height: rem(32px);
84
- // margin-left: rem(18px);
85
- // }
86
- // }
87
- // }
88
-
89
- sup {
90
- color: var(--error-red);
51
+ #table_scroll.global::-webkit-scrollbar-button:single-button:vertical:decrement {
52
+ display: block;
53
+ height: rem(55px);
54
+ background:
55
+ url("/images/chevron-up.svg") bottom / rem(15px) no-repeat,
56
+ linear-gradient(
57
+ to bottom,
58
+ rgb(240, 240, 240) 0%,
59
+ rgb(240, 240, 240) 70.5%,
60
+ var(--neutral-200) 70.5%,
61
+ var(--neutral-200) 72.5%,
62
+ var(--neutral-100) 72.5%,
63
+ var(--neutral-100) 100%
64
+ );
65
+ border-top-left-radius: 0;
66
+ border-top-right-radius: 0;
67
+ &:hover {
68
+ background:
69
+ url("/images/chevron-up.svg") bottom / rem(15px) no-repeat,
70
+ linear-gradient(
71
+ to bottom,
72
+ rgb(240, 240, 240) 0%,
73
+ rgb(240, 240, 240) 70.5%,
74
+ var(--neutral-200) 70.5%,
75
+ var(--neutral-200) 72.5%,
76
+ var(--neutral-300) 72.5%,
77
+ var(--neutral-300) 100%
78
+ );
79
+ }
91
80
  }
92
81
 
93
82
  // ---------------- CUSTOM RADIO INPUT START HERE--------
@@ -206,6 +195,7 @@ sup {
206
195
  &::after {
207
196
  display: block;
208
197
  background-image: url("/images/check-white.svg");
198
+ background-size: rem(8px) rem(6px);
209
199
  }
210
200
  }
211
201
  // --- Indeterminate (minus) state ---
@@ -216,6 +206,7 @@ sup {
216
206
  display: block;
217
207
  top: 0;
218
208
  background-image: url("/images/minus-blue.svg");
209
+ background-size: rem(7px) rem(1px);
219
210
  }
220
211
  }
221
212
  }
@@ -249,6 +240,8 @@ sup {
249
240
  .dropdown_list {
250
241
  @include border();
251
242
  width: 100%;
243
+ max-height: rem(172px);
244
+ overflow: auto;
252
245
  position: absolute;
253
246
  z-index: 2;
254
247
  background: var(--white);
@@ -256,8 +249,6 @@ sup {
256
249
  top: rem(40px);
257
250
 
258
251
  ul {
259
- max-height: rem(284px);
260
- overflow: auto;
261
252
  list-style-type: none;
262
253
  padding: rem(4px) 0;
263
254
 
@@ -309,7 +300,7 @@ sup {
309
300
  }
310
301
 
311
302
  // --------------Toggle Switch css-------------
312
- .switch_wrapper {
303
+ .table_switch_wrapper {
313
304
  display: flex;
314
305
  .switch {
315
306
  position: relative;
@@ -351,7 +342,7 @@ sup {
351
342
  table {
352
343
  tbody {
353
344
  tr {
354
- :host .switch_wrapper {
345
+ :host .table_switch_wrapper {
355
346
  .switch {
356
347
  @include box(rem(38px), rem(20px)); /* big size */
357
348
  .slider {
@@ -377,4 +368,4 @@ sup {
377
368
  }
378
369
  .text-danger {
379
370
  color: var(--red) !important;
380
- }
371
+ }
@@ -1,16 +1,16 @@
1
1
  :root {
2
2
  --white: #ffffff;
3
- --white-50: rgba(255, 255, 255, 0.582);
4
3
 
5
- --black: #1f1f1f;
6
- --default: #000000;
7
- --black-900: #202224;
4
+ // --default: #000000;
5
+ // --black: #1f1f1f;
6
+ // --black-dust: #1a1a1a;
7
+ // --black-900: #202224;
8
+
8
9
  --pagination-text: var(--neutral-500);
9
- --black-dust: #1a1a1a;
10
10
 
11
11
  // NEUTRAL-COLOR
12
- --neutral-cross: #d9d9d9;
13
- --neutral-40: #d5d7da;
12
+ // --neutral-cross: #d9d9d9;
13
+ // --neutral-40: #d5d7da;
14
14
  --neutral-50: #f0f0f0;
15
15
  --neutral-100: #e6e7e8;
16
16
  --neutral-200: #dadbdc;
@@ -18,71 +18,60 @@
18
18
  --neutral-400: #81858a;
19
19
  --neutral-500: #434a51;
20
20
  --neutral-600: #040d17;
21
- --neutral-900: #010306;
21
+ // --neutral-900: #010306;
22
22
 
23
23
  // BLUE COLOR
24
24
  --blue-50: #f7fafe;
25
25
  --blue-100: #eaf3fd;
26
- --blue-200: #dfecfc;
26
+ // --blue-200: #dfecfc;
27
27
  --blue-300: #c8dff9;
28
- --blue-400: #92bff4;
28
+ // --blue-400: #92bff4;
29
29
  --blue-600: #2680ea;
30
30
  --blue-700: #1c60af;
31
- --blue-800: #1849d6;
31
+ // --blue-800: #1849d6;
32
32
 
33
33
  // GREY COLOR
34
34
  --grey-50: #e9eaeb;
35
- --grey-100: #e2e8f0;
36
- --grey-150: #d6d6d6;
37
- --grey-200: #64748b;
38
- --grey-300: #414651;
39
- --grey-400: #8080808c;
40
- --grey-600: #535862;
41
- --light-grey: #81858a;
42
- --dark-grey: #4a4a4a;
35
+ // --grey-100: #e2e8f0;
36
+ // --grey-150: #d6d6d6;
37
+ // --grey-200: #64748b;
38
+ // --grey-300: #414651;
39
+ // --grey-400: #8080808c;
40
+ // --grey-600: #535862;
41
+ // --light-grey: #81858a;
42
+ // --dark-grey: #4a4a4a;
43
43
 
44
- --green-50: #f7fbf7;
44
+ // --green-50: #f7fbf7;
45
45
  --green-100: #ecf4ec;
46
46
  --green-200: #e1eee2;
47
- --green-400: #9bc69d;
47
+ // --green-400: #9bc69d;
48
48
  --green-600: #388e3c;
49
49
  --green-700: #2a6a2d;
50
50
 
51
51
  --red: #ff0000;
52
- --red-50: #fdf7f7;
52
+ // --red-50: #fdf7f7;
53
53
  --red-100: #faeaea;
54
- --red-200: #f7dfdf;
54
+ // --red-200: #f7dfdf;
55
55
  --red-300: #f0c9c9;
56
56
  --red-700: #941e1e;
57
57
 
58
- --yellow-50: #fffdf5;
58
+ // --yellow-50: #fffdf5;
59
59
  --yellow-100: #fff9e7;
60
- --yellow-200: #fff6da;
60
+ // --yellow-200: #fff6da;
61
61
  --yellow-300: #ffefc1;
62
62
  // --yellow-400: #fff9e7;
63
- --yellow-500: #bf7200;
64
- --yellow-600: #ffc107;
63
+ // --yellow-500: #bf7200;
64
+ // --yellow-600: #ffc107;
65
65
  --yellow-700: #bf9105;
66
- --yellow-800: #806003;
67
- --yellow-900: #bf9105;
66
+ // --yellow-800: #806003;
67
+ // --yellow-900: #bf9105;
68
68
 
69
69
  // Orange
70
- --orange-50: rgba(255, 251, 245, 1);
71
- --orange-100: #fff5e6;
72
- --orange-200: #fff0d9;
70
+ // --orange-50: rgba(255, 251, 245, 1);
71
+ // --orange-100: #fff5e6;
72
+ // --orange-200: #fff0d9;
73
73
  --orange-600: #ff9800;
74
- --orange-700: rgba(191, 114, 0, 1);
74
+ // --orange-700: rgba(191, 114, 0, 1);
75
75
 
76
76
  --box-shadow: #0a0d1214;
77
- --grid-box-shadow: #0000000a;
78
- --model-shadow: rgba(0, 0, 0, 0.08);
79
- --canvas-shadow: #00000014;
80
-
81
- --loader-border: #6f7b93;
82
- --modal-bg: rgba(4, 13, 23, 0.3);
83
- --checkbox-border: #0d6efd;
84
-
85
- // FILTER COLOR
86
- --filter-600: rgba(0, 0, 0, 0.644);
87
- --feather-bg: #fafafa;
88
77
  }