mis-crystal-design-system 18.1.7-signal-16-test → 18.1.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/async-search-dropdown/async-dropdown.component.d.ts +44 -3
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +9 -2
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +147 -37
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +35 -22
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +6 -3
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +270 -187
- package/esm2022/dynamic-form/dynamic-form.component.mjs +30 -21
- package/esm2022/loader/loader.component.mjs +12 -6
- package/esm2022/slider/slider.component.mjs +2 -2
- package/esm2022/table/sort-icons.directive.mjs +24 -5
- package/esm2022/table/table.component.mjs +200 -93
- package/esm2022/table/table.module.mjs +7 -5
- package/esm2022/timepicker/timepicker.component.mjs +41 -14
- package/esm2022/timerangepicker/timerangepicker.component.mjs +73 -23
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +146 -36
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +34 -21
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +274 -188
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +29 -20
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +11 -5
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +227 -99
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +40 -13
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +72 -22
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/loader/loader.component.d.ts +7 -1
- package/package.json +18 -18
- package/table/table.component.d.ts +16 -4
- package/table/table.module.d.ts +2 -1
- package/timepicker/timepicker.component.d.ts +3 -1
- package/timerangepicker/timerangepicker.component.d.ts +5 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, output, input, effect, Component, ViewChild, ViewChildren, Directive, HostListener, NgModule } from '@angular/core';
|
|
2
|
+
import { signal, output, computed, input, effect, Component, ViewChild, ViewChildren, Directive, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from '@angular/cdk/scrolling';
|
|
@@ -9,6 +9,8 @@ import { CheckboxModule } from 'mis-crystal-design-system/checkbox';
|
|
|
9
9
|
import * as i1$1 from '@angular/cdk/overlay';
|
|
10
10
|
import { OverlayConfig, ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
|
|
11
11
|
import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
12
|
+
import * as i3 from 'mis-crystal-design-system/dropdown';
|
|
13
|
+
import { DropdownModule } from 'mis-crystal-design-system/dropdown';
|
|
12
14
|
|
|
13
15
|
const _c0$3 = ["filter"];
|
|
14
16
|
const _c1$3 = ["table"];
|
|
@@ -30,7 +32,7 @@ const _c16 = () => ({ display: "flex" });
|
|
|
30
32
|
const _c17 = () => ({ "margin-right": "4px" });
|
|
31
33
|
function TableComponent_mis_table_filter_1_Template(rf, ctx) { if (rf & 1) {
|
|
32
34
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
33
|
-
i0.ɵɵelementStart(0, "mis-table-filter",
|
|
35
|
+
i0.ɵɵelementStart(0, "mis-table-filter", 13, 1);
|
|
34
36
|
i0.ɵɵlistener("filtersApplied", function TableComponent_mis_table_filter_1_Template_mis_table_filter_filtersApplied_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.updateAppliedFilters($event)); });
|
|
35
37
|
i0.ɵɵelementEnd();
|
|
36
38
|
} if (rf & 2) {
|
|
@@ -38,7 +40,7 @@ function TableComponent_mis_table_filter_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
38
40
|
i0.ɵɵproperty("containerStyles", ctx_r1.filterContainerStyles())("filtersData", ctx_r1.filterData());
|
|
39
41
|
} }
|
|
40
42
|
function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
-
i0.ɵɵelementStart(0, "p",
|
|
43
|
+
i0.ɵɵelementStart(0, "p", 20);
|
|
42
44
|
i0.ɵɵtext(1);
|
|
43
45
|
i0.ɵɵelementEnd();
|
|
44
46
|
} if (rf & 2) {
|
|
@@ -47,16 +49,16 @@ function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
47
49
|
i0.ɵɵtextInterpolate1(" ", (colHeader_r4 == null ? null : colHeader_r4.data) || " ", " ");
|
|
48
50
|
} }
|
|
49
51
|
function TableComponent_div_5_span_3_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
-
i0.ɵɵelement(0, "span",
|
|
52
|
+
i0.ɵɵelement(0, "span", 25);
|
|
51
53
|
} }
|
|
52
54
|
function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
53
55
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
54
|
-
i0.ɵɵelementStart(0, "span",
|
|
56
|
+
i0.ɵɵelementStart(0, "span", 21);
|
|
55
57
|
i0.ɵɵlistener("click", function TableComponent_div_5_span_3_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const colHeader_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.filterData.set(colHeader_r4.filters); ctx_r1.toggleFilter(colHeader_r4.data); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
56
|
-
i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span",
|
|
58
|
+
i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span", 22);
|
|
57
59
|
i0.ɵɵnamespaceSVG();
|
|
58
|
-
i0.ɵɵelementStart(2, "svg",
|
|
59
|
-
i0.ɵɵelement(3, "path",
|
|
60
|
+
i0.ɵɵelementStart(2, "svg", 23);
|
|
61
|
+
i0.ɵɵelement(3, "path", 24);
|
|
60
62
|
i0.ɵɵelementEnd()();
|
|
61
63
|
} if (rf & 2) {
|
|
62
64
|
let tmp_5_0;
|
|
@@ -67,9 +69,9 @@ function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
67
69
|
} }
|
|
68
70
|
function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
69
71
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
70
|
-
i0.ɵɵelementStart(0, "span",
|
|
72
|
+
i0.ɵɵelementStart(0, "span", 26);
|
|
71
73
|
i0.ɵɵlistener("click", function TableComponent_div_5_span_4_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.toggleCheckbox(); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
72
|
-
i0.ɵɵelement(1, "mis-checkbox",
|
|
74
|
+
i0.ɵɵelement(1, "mis-checkbox", 27);
|
|
73
75
|
i0.ɵɵelementEnd();
|
|
74
76
|
} if (rf & 2) {
|
|
75
77
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -78,7 +80,7 @@ function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
78
80
|
} }
|
|
79
81
|
function TableComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
80
82
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
81
|
-
i0.ɵɵelementStart(0, "span",
|
|
83
|
+
i0.ɵɵelementStart(0, "span", 28);
|
|
82
84
|
i0.ɵɵlistener("sortChange", function TableComponent_div_5_span_5_Template_span_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSortChange($event)); });
|
|
83
85
|
i0.ɵɵelementEnd();
|
|
84
86
|
} if (rf & 2) {
|
|
@@ -88,16 +90,16 @@ function TableComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
88
90
|
} }
|
|
89
91
|
function TableComponent_div_5_6_ng_template_0_Template(rf, ctx) { }
|
|
90
92
|
function TableComponent_div_5_6_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
-
i0.ɵɵtemplate(0, TableComponent_div_5_6_ng_template_0_Template, 0, 0, "ng-template",
|
|
93
|
+
i0.ɵɵtemplate(0, TableComponent_div_5_6_ng_template_0_Template, 0, 0, "ng-template", 29);
|
|
92
94
|
} if (rf & 2) {
|
|
93
95
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
94
96
|
i0.ɵɵproperty("customComponent", colHeader_r4 == null ? null : colHeader_r4.componentRef)("data", colHeader_r4.data);
|
|
95
97
|
} }
|
|
96
98
|
function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
97
99
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
98
|
-
i0.ɵɵelementStart(0, "div",
|
|
100
|
+
i0.ɵɵelementStart(0, "div", 14, 2);
|
|
99
101
|
i0.ɵɵlistener("click", function TableComponent_div_5_Template_div_click_0_listener() { const colHeader_r4 = i0.ɵɵrestoreView(_r3).$implicit; return i0.ɵɵresetView((colHeader_r4 == null ? null : colHeader_r4.action) ? colHeader_r4 == null ? null : colHeader_r4.action(colHeader_r4) : null); });
|
|
100
|
-
i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p",
|
|
102
|
+
i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p", 15)(3, TableComponent_div_5_span_3_Template, 4, 1, "span", 16)(4, TableComponent_div_5_span_4_Template, 2, 1, "span", 17)(5, TableComponent_div_5_span_5_Template, 1, 4, "span", 18)(6, TableComponent_div_5_6_Template, 1, 2, null, 19);
|
|
101
103
|
i0.ɵɵelementEnd();
|
|
102
104
|
} if (rf & 2) {
|
|
103
105
|
const colHeader_r4 = ctx.$implicit;
|
|
@@ -115,7 +117,7 @@ function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
115
117
|
} }
|
|
116
118
|
function TableComponent_div_7_div_2_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
117
119
|
i0.ɵɵelementContainerStart(0);
|
|
118
|
-
i0.ɵɵelement(1, "span",
|
|
120
|
+
i0.ɵɵelement(1, "span", 40);
|
|
119
121
|
i0.ɵɵelementContainerEnd();
|
|
120
122
|
} if (rf & 2) {
|
|
121
123
|
const col_r12 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -132,8 +134,8 @@ function TableComponent_div_7_div_2_div_2_ng_template_2_Template(rf, ctx) { if (
|
|
|
132
134
|
i0.ɵɵtextInterpolate(col_r12);
|
|
133
135
|
} }
|
|
134
136
|
function TableComponent_div_7_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
135
|
-
i0.ɵɵelementStart(0, "div",
|
|
136
|
-
i0.ɵɵtemplate(1, TableComponent_div_7_div_2_div_2_ng_container_1_Template, 2, 1, "ng-container",
|
|
137
|
+
i0.ɵɵelementStart(0, "div", 38);
|
|
138
|
+
i0.ɵɵtemplate(1, TableComponent_div_7_div_2_div_2_ng_container_1_Template, 2, 1, "ng-container", 39)(2, TableComponent_div_7_div_2_div_2_ng_template_2_Template, 2, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
|
|
137
139
|
i0.ɵɵelementEnd();
|
|
138
140
|
} if (rf & 2) {
|
|
139
141
|
let tmp_10_0;
|
|
@@ -148,7 +150,7 @@ function TableComponent_div_7_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
148
150
|
} }
|
|
149
151
|
function TableComponent_div_7_div_2_3_ng_template_0_Template(rf, ctx) { }
|
|
150
152
|
function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
-
i0.ɵɵtemplate(0, TableComponent_div_7_div_2_3_ng_template_0_Template, 0, 0, "ng-template",
|
|
153
|
+
i0.ɵɵtemplate(0, TableComponent_div_7_div_2_3_ng_template_0_Template, 0, 0, "ng-template", 29);
|
|
152
154
|
} if (rf & 2) {
|
|
153
155
|
const ctx_r15 = i0.ɵɵnextContext();
|
|
154
156
|
const col_r12 = ctx_r15.$implicit;
|
|
@@ -158,7 +160,7 @@ function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
158
160
|
} }
|
|
159
161
|
function TableComponent_div_7_div_2_mis_actions_cell_4_Template(rf, ctx) { if (rf & 1) {
|
|
160
162
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
161
|
-
i0.ɵɵelementStart(0, "mis-actions-cell",
|
|
163
|
+
i0.ɵɵelementStart(0, "mis-actions-cell", 41);
|
|
162
164
|
i0.ɵɵlistener("actionClick", function TableComponent_div_7_div_2_mis_actions_cell_4_Template_mis_actions_cell_actionClick_0_listener($event) { i0.ɵɵrestoreView(_r17); const rowIndex_r15 = i0.ɵɵnextContext(2).index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onActionClick($event, rowIndex_r15)); });
|
|
163
165
|
i0.ɵɵelementEnd();
|
|
164
166
|
} if (rf & 2) {
|
|
@@ -172,10 +174,10 @@ function TableComponent_div_7_div_2_mis_actions_cell_4_Template(rf, ctx) { if (r
|
|
|
172
174
|
} }
|
|
173
175
|
function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
174
176
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
175
|
-
i0.ɵɵelementStart(0, "div",
|
|
177
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
176
178
|
i0.ɵɵlistener("click", function TableComponent_div_7_div_2_Template_div_click_0_listener() { let tmp_9_0; const ctx_r10 = i0.ɵɵrestoreView(_r10); const col_r12 = ctx_r10.$implicit; const colIndex_r13 = ctx_r10.index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(((tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.colConfig[colIndex_r13] == null ? null : tmp_9_0.colConfig[colIndex_r13].action) && ((tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.colConfig[colIndex_r13] == null ? null : tmp_9_0.colConfig[colIndex_r13].actionType) !== "checkbox" ? (tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.colConfig[colIndex_r13] == null ? null : tmp_9_0.colConfig[colIndex_r13].action(col_r12) : null); });
|
|
177
|
-
i0.ɵɵelementStart(1, "div",
|
|
178
|
-
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_div_2_Template, 4, 9, "div",
|
|
179
|
+
i0.ɵɵelementStart(1, "div", 35);
|
|
180
|
+
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_div_2_Template, 4, 9, "div", 36)(3, TableComponent_div_7_div_2_3_Template, 1, 2, null, 19)(4, TableComponent_div_7_div_2_mis_actions_cell_4_Template, 1, 5, "mis-actions-cell", 37);
|
|
179
181
|
i0.ɵɵelementEnd()();
|
|
180
182
|
} if (rf & 2) {
|
|
181
183
|
let tmp_8_0;
|
|
@@ -199,7 +201,7 @@ function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
199
201
|
} }
|
|
200
202
|
function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
201
203
|
i0.ɵɵelementContainerStart(0);
|
|
202
|
-
i0.ɵɵelementStart(1, "div",
|
|
204
|
+
i0.ɵɵelementStart(1, "div", 43);
|
|
203
205
|
i0.ɵɵtext(2, " Loading... ");
|
|
204
206
|
i0.ɵɵelementEnd();
|
|
205
207
|
i0.ɵɵelementContainerEnd();
|
|
@@ -209,7 +211,7 @@ function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf &
|
|
|
209
211
|
} }
|
|
210
212
|
function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
211
213
|
i0.ɵɵelementContainerStart(0);
|
|
212
|
-
i0.ɵɵelementStart(1, "div",
|
|
214
|
+
i0.ɵɵelementStart(1, "div", 43);
|
|
213
215
|
i0.ɵɵtext(2, " No Data Available... ");
|
|
214
216
|
i0.ɵɵelementEnd();
|
|
215
217
|
i0.ɵɵelementContainerEnd();
|
|
@@ -219,7 +221,7 @@ function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf &
|
|
|
219
221
|
} }
|
|
220
222
|
function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
221
223
|
i0.ɵɵelementContainerStart(0);
|
|
222
|
-
i0.ɵɵelement(1, "sub-table",
|
|
224
|
+
i0.ɵɵelement(1, "sub-table", 44);
|
|
223
225
|
i0.ɵɵelementContainerEnd();
|
|
224
226
|
} if (rf & 2) {
|
|
225
227
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -227,8 +229,8 @@ function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf &
|
|
|
227
229
|
i0.ɵɵproperty("config", ctx_r1.subTableconfig())("tableData", ctx_r1.subTableData());
|
|
228
230
|
} }
|
|
229
231
|
function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
230
|
-
i0.ɵɵelementStart(0, "div",
|
|
231
|
-
i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container",
|
|
232
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
233
|
+
i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container", 19)(2, TableComponent_div_7_div_3_ng_container_2_Template, 3, 2, "ng-container", 19)(3, TableComponent_div_7_div_3_ng_container_3_Template, 2, 2, "ng-container", 19);
|
|
232
234
|
i0.ɵɵelementEnd();
|
|
233
235
|
} if (rf & 2) {
|
|
234
236
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -241,11 +243,11 @@ function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
241
243
|
} }
|
|
242
244
|
function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
243
245
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
244
|
-
i0.ɵɵelementStart(0, "div",
|
|
246
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "div", 31);
|
|
245
247
|
i0.ɵɵlistener("click", function TableComponent_div_7_Template_div_click_1_listener() { const i_r9 = i0.ɵɵrestoreView(_r8).index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectRow(i_r9)); });
|
|
246
|
-
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 5, 15, "div",
|
|
248
|
+
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 5, 15, "div", 32);
|
|
247
249
|
i0.ɵɵelementEnd();
|
|
248
|
-
i0.ɵɵtemplate(3, TableComponent_div_7_div_3_Template, 4, 3, "div",
|
|
250
|
+
i0.ɵɵtemplate(3, TableComponent_div_7_div_3_Template, 4, 3, "div", 33);
|
|
249
251
|
i0.ɵɵelementEnd();
|
|
250
252
|
} if (rf & 2) {
|
|
251
253
|
let tmp_7_0;
|
|
@@ -261,23 +263,32 @@ function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
261
263
|
i0.ɵɵadvance();
|
|
262
264
|
i0.ɵɵproperty("ngIf", ((tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.canExpand) && ctx_r1.expandedIndex() === i_r9);
|
|
263
265
|
} }
|
|
264
|
-
function
|
|
266
|
+
function TableComponent_Conditional_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
265
267
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
266
|
-
i0.ɵɵelementStart(0, "
|
|
267
|
-
i0.ɵɵlistener("
|
|
268
|
+
i0.ɵɵelementStart(0, "div", 46)(1, "mis-dropdown", 52);
|
|
269
|
+
i0.ɵɵlistener("onChange", function TableComponent_Conditional_9_Conditional_3_Template_mis_dropdown_onChange_1_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onPageSizeChange($event)); });
|
|
270
|
+
i0.ɵɵelementEnd()();
|
|
271
|
+
} if (rf & 2) {
|
|
272
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
273
|
+
i0.ɵɵadvance();
|
|
274
|
+
i0.ɵɵproperty("data", ctx_r1.pageSizeOptions())("selectedItem", ctx_r1.selectedPageSizeOption())("width", "90px")("height", "32px")("searchEnabled", false)("dropdownListHeight", "100px");
|
|
275
|
+
} }
|
|
276
|
+
function TableComponent_Conditional_9_ng_container_8_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
277
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
278
|
+
i0.ɵɵelementStart(0, "span", 56);
|
|
279
|
+
i0.ɵɵlistener("click", function TableComponent_Conditional_9_ng_container_8_div_1_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r21); const pageNumber_r22 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.updateSelectedPage(pageNumber_r22)); });
|
|
268
280
|
i0.ɵɵtext(1);
|
|
269
281
|
i0.ɵɵelementEnd();
|
|
270
282
|
} if (rf & 2) {
|
|
271
|
-
|
|
272
|
-
const pageNumber_r21 = i0.ɵɵnextContext().$implicit;
|
|
283
|
+
const pageNumber_r22 = i0.ɵɵnextContext().$implicit;
|
|
273
284
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
274
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c15,
|
|
285
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c15, pageNumber_r22 === ctx_r1.selectedPage()));
|
|
275
286
|
i0.ɵɵadvance();
|
|
276
|
-
i0.ɵɵtextInterpolate(
|
|
287
|
+
i0.ɵɵtextInterpolate(pageNumber_r22);
|
|
277
288
|
} }
|
|
278
|
-
function
|
|
279
|
-
i0.ɵɵelementStart(0, "span",
|
|
280
|
-
i0.ɵɵelement(2, "span",
|
|
289
|
+
function TableComponent_Conditional_9_ng_container_8_div_1_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
290
|
+
i0.ɵɵelementStart(0, "span", 57)(1, "div", 43);
|
|
291
|
+
i0.ɵɵelement(2, "span", 58)(3, "span", 58)(4, "span", 59);
|
|
281
292
|
i0.ɵɵelementEnd()();
|
|
282
293
|
} if (rf & 2) {
|
|
283
294
|
i0.ɵɵadvance();
|
|
@@ -287,64 +298,64 @@ function TableComponent_div_8_ng_container_7_div_1_span_2_Template(rf, ctx) { if
|
|
|
287
298
|
i0.ɵɵadvance();
|
|
288
299
|
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(5, _c17));
|
|
289
300
|
} }
|
|
290
|
-
function
|
|
301
|
+
function TableComponent_Conditional_9_ng_container_8_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
291
302
|
i0.ɵɵelementStart(0, "div");
|
|
292
|
-
i0.ɵɵtemplate(1,
|
|
303
|
+
i0.ɵɵtemplate(1, TableComponent_Conditional_9_ng_container_8_div_1_span_1_Template, 2, 4, "span", 54)(2, TableComponent_Conditional_9_ng_container_8_div_1_span_2_Template, 5, 6, "span", 55);
|
|
293
304
|
i0.ɵɵelementEnd();
|
|
294
305
|
} if (rf & 2) {
|
|
295
|
-
const
|
|
306
|
+
const pageNumber_r22 = ctx.$implicit;
|
|
296
307
|
i0.ɵɵadvance();
|
|
297
|
-
i0.ɵɵproperty("ngIf",
|
|
308
|
+
i0.ɵɵproperty("ngIf", pageNumber_r22 != 0);
|
|
298
309
|
i0.ɵɵadvance();
|
|
299
|
-
i0.ɵɵproperty("ngIf",
|
|
310
|
+
i0.ɵɵproperty("ngIf", pageNumber_r22 == 0);
|
|
300
311
|
} }
|
|
301
|
-
function
|
|
312
|
+
function TableComponent_Conditional_9_ng_container_8_Template(rf, ctx) { if (rf & 1) {
|
|
302
313
|
i0.ɵɵelementContainerStart(0);
|
|
303
|
-
i0.ɵɵtemplate(1,
|
|
314
|
+
i0.ɵɵtemplate(1, TableComponent_Conditional_9_ng_container_8_div_1_Template, 3, 2, "div", 53);
|
|
304
315
|
i0.ɵɵelementContainerEnd();
|
|
305
316
|
} if (rf & 2) {
|
|
306
317
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
307
318
|
i0.ɵɵadvance();
|
|
308
319
|
i0.ɵɵproperty("ngForOf", ctx_r1.pages());
|
|
309
320
|
} }
|
|
310
|
-
function
|
|
321
|
+
function TableComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
311
322
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
312
|
-
i0.ɵɵelementStart(0, "div",
|
|
323
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "p", 45);
|
|
313
324
|
i0.ɵɵtext(2);
|
|
314
325
|
i0.ɵɵelementEnd();
|
|
315
|
-
i0.ɵɵ
|
|
316
|
-
i0.ɵɵ
|
|
326
|
+
i0.ɵɵtemplate(3, TableComponent_Conditional_9_Conditional_3_Template, 2, 6, "div", 46);
|
|
327
|
+
i0.ɵɵelementStart(4, "div", 47)(5, "span", 48);
|
|
328
|
+
i0.ɵɵlistener("click", function TableComponent_Conditional_9_Template_span_click_5_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectedPage() > 1 && ctx_r1.updateSelectedPage(ctx_r1.selectedPage() - 1)); });
|
|
317
329
|
i0.ɵɵnamespaceSVG();
|
|
318
|
-
i0.ɵɵelementStart(
|
|
319
|
-
i0.ɵɵelement(
|
|
330
|
+
i0.ɵɵelementStart(6, "svg", 49);
|
|
331
|
+
i0.ɵɵelement(7, "path", 50);
|
|
320
332
|
i0.ɵɵelementEnd()();
|
|
321
|
-
i0.ɵɵtemplate(
|
|
333
|
+
i0.ɵɵtemplate(8, TableComponent_Conditional_9_ng_container_8_Template, 2, 1, "ng-container", 19);
|
|
322
334
|
i0.ɵɵnamespaceHTML();
|
|
323
|
-
i0.ɵɵelementStart(
|
|
324
|
-
i0.ɵɵlistener("click", function
|
|
335
|
+
i0.ɵɵelementStart(9, "span", 48);
|
|
336
|
+
i0.ɵɵlistener("click", function TableComponent_Conditional_9_Template_span_click_9_listener() { let tmp_3_0; i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectedPage() < ((tmp_3_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_3_0.noOfPages) && ctx_r1.updateSelectedPage(ctx_r1.selectedPage() + 1)); });
|
|
325
337
|
i0.ɵɵnamespaceSVG();
|
|
326
|
-
i0.ɵɵelementStart(
|
|
327
|
-
i0.ɵɵelement(
|
|
338
|
+
i0.ɵɵelementStart(10, "svg", 49);
|
|
339
|
+
i0.ɵɵelement(11, "path", 51);
|
|
328
340
|
i0.ɵɵelementEnd()()()();
|
|
329
341
|
} if (rf & 2) {
|
|
330
|
-
let tmp_2_0;
|
|
331
|
-
let tmp_3_0;
|
|
332
|
-
let tmp_4_0;
|
|
333
342
|
let tmp_5_0;
|
|
343
|
+
let tmp_6_0;
|
|
334
344
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
335
345
|
i0.ɵɵadvance(2);
|
|
336
|
-
i0.ɵɵtextInterpolate3(" Showing ", (
|
|
346
|
+
i0.ɵɵtextInterpolate3(" Showing ", (ctx_r1.selectedPage() - 1) * ctx_r1.tableConfig().paginationConfig.rowsPerPage + 1, "-", (ctx_r1.selectedPage() - 1) * ctx_r1.tableConfig().paginationConfig.rowsPerPage + ctx_r1.tableLength(), " of ", ctx_r1.tableConfig().paginationConfig.totalNoOfRows, " items ");
|
|
347
|
+
i0.ɵɵadvance();
|
|
348
|
+
i0.ɵɵconditional(ctx_r1.showPageSizeDropdown() ? 3 : -1);
|
|
337
349
|
i0.ɵɵadvance(2);
|
|
338
|
-
i0.ɵɵclassProp("page-nav-inactive",
|
|
350
|
+
i0.ɵɵclassProp("page-nav-inactive", ctx_r1.selectedPage() === 1);
|
|
339
351
|
i0.ɵɵadvance(3);
|
|
340
|
-
i0.ɵɵproperty("ngIf", !((
|
|
352
|
+
i0.ɵɵproperty("ngIf", !((tmp_5_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_5_0.disablePageJumping));
|
|
341
353
|
i0.ɵɵadvance();
|
|
342
|
-
i0.ɵɵclassProp("page-nav-inactive",
|
|
354
|
+
i0.ɵɵclassProp("page-nav-inactive", ctx_r1.selectedPage() === ((tmp_6_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_6_0.noOfPages));
|
|
343
355
|
} }
|
|
344
356
|
class TableComponent {
|
|
345
|
-
constructor(renderer
|
|
357
|
+
constructor(renderer) {
|
|
346
358
|
this.renderer = renderer;
|
|
347
|
-
this.cdr = cdr;
|
|
348
359
|
// Initialize with -1 to indicate no row is colored at the beginning
|
|
349
360
|
this.activeRowIndex = signal([]);
|
|
350
361
|
this.hasCheckboxActions = signal(false);
|
|
@@ -360,7 +371,22 @@ class TableComponent {
|
|
|
360
371
|
// Pagination related variables
|
|
361
372
|
this.pages = signal([]);
|
|
362
373
|
this.tableLength = signal(0);
|
|
374
|
+
this.selectedPage = signal(1); // Internal state for selected page
|
|
363
375
|
this.pageSelected = output();
|
|
376
|
+
this.pageSizeChanged = output();
|
|
377
|
+
this.pageSizeOptions = computed(() => {
|
|
378
|
+
const config = this.tableConfig()?.paginationConfig;
|
|
379
|
+
if (!config?.pageSizes || !Array.isArray(config.pageSizes) || !config.pageSizes?.length)
|
|
380
|
+
return [];
|
|
381
|
+
return config.pageSizes?.map(option => ({
|
|
382
|
+
label: option?.toString() || '',
|
|
383
|
+
value: option?.toString() || '',
|
|
384
|
+
})) || [];
|
|
385
|
+
});
|
|
386
|
+
this.showPageSizeDropdown = computed(() => {
|
|
387
|
+
return !!this.tableConfig()?.paginationConfig?.showPageSizeDropdown;
|
|
388
|
+
});
|
|
389
|
+
this.selectedPageSizeOption = signal({ label: "", value: "" });
|
|
364
390
|
// Convert inputs to signal-based inputs
|
|
365
391
|
this.tableConfig = input();
|
|
366
392
|
this.subTableconfig = input();
|
|
@@ -388,10 +414,82 @@ class TableComponent {
|
|
|
388
414
|
if (this.rowCollapseConfigIndex() !== -1) {
|
|
389
415
|
this.buildExpandedMap();
|
|
390
416
|
}
|
|
391
|
-
//
|
|
392
|
-
|
|
393
|
-
|
|
417
|
+
// --- PAGINATION PAGE ARRAY LOGIC (MOVED/REPLACED initializePagination) ---
|
|
418
|
+
const len = config?.paginationConfig?.noOfPages;
|
|
419
|
+
const disablePageJumping = config?.paginationConfig?.disablePageJumping;
|
|
420
|
+
// Only run if pagination is configured and page jumping is enabled
|
|
421
|
+
if (len && len > 0 && !disablePageJumping) {
|
|
422
|
+
// Read the internal state of the selected page for calculating the pages array.
|
|
423
|
+
// Since this runs on every config change, we rely on the value set
|
|
424
|
+
// by updateSelectedPage().
|
|
425
|
+
const pageNumber = this.selectedPage();
|
|
426
|
+
if (len <= 7) {
|
|
427
|
+
const newPages = [];
|
|
428
|
+
for (let i = 1; i <= len; i++) {
|
|
429
|
+
newPages.push(i);
|
|
430
|
+
}
|
|
431
|
+
this.pages.set(newPages);
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
if (pageNumber - 2 <= 1) {
|
|
435
|
+
this.pages.set([1, 2, 3, 4, 0, len]);
|
|
436
|
+
}
|
|
437
|
+
else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {
|
|
438
|
+
this.pages.set([1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len]);
|
|
439
|
+
}
|
|
440
|
+
else if (pageNumber + 2 >= len) {
|
|
441
|
+
this.pages.set([1, 0, len - 3, len - 2, len - 1, len]);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
// --- END PAGINATION PAGE ARRAY LOGIC ---
|
|
446
|
+
if (config?.paginationConfig?.showPageSizeDropdown) {
|
|
447
|
+
const options = this.pageSizeOptions();
|
|
448
|
+
const rowsPerPage = this.tableConfig()?.paginationConfig?.rowsPerPage;
|
|
449
|
+
if (!Array.isArray(options) || !rowsPerPage) {
|
|
450
|
+
this.selectedPageSizeOption.set({ label: "", value: "" });
|
|
451
|
+
return;
|
|
452
|
+
}
|
|
453
|
+
const selected = options.find(opt => opt?.value === rowsPerPage.toString());
|
|
454
|
+
if (selected) {
|
|
455
|
+
this.selectedPageSizeOption.set(selected);
|
|
456
|
+
}
|
|
457
|
+
else if (options.length > 0) {
|
|
458
|
+
// If configured rowsPerPage is not among options, pick the floor value and notify parent
|
|
459
|
+
const target = Number(rowsPerPage);
|
|
460
|
+
//Sort the options
|
|
461
|
+
const sorted = options
|
|
462
|
+
.map(opt => ({ opt, num: Number(opt?.value) }))
|
|
463
|
+
.filter(({ num }) => Number.isFinite(num))
|
|
464
|
+
.sort((a, b) => a.num - b.num);
|
|
465
|
+
let floorOption = sorted[0]?.opt;
|
|
466
|
+
for (let i = sorted.length - 1; i >= 0; i--) {
|
|
467
|
+
if (sorted[i].num <= target) {
|
|
468
|
+
floorOption = sorted[i].opt;
|
|
469
|
+
break;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
console.error("The configured rowsPerPage was not matched to any of the pageSizes sent in the paginationConfig. Selecting the nearest floor value among the available pageSizes.");
|
|
473
|
+
this.selectedPageSizeOption.set(floorOption);
|
|
474
|
+
this.onPageSizeChange(floorOption);
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
console.error("No page size options available.");
|
|
478
|
+
}
|
|
479
|
+
}
|
|
394
480
|
}, { allowSignalWrites: true });
|
|
481
|
+
// Reactive height calculation: maintains exact old behavior for backward compatibility
|
|
482
|
+
// Old code: height - 56 + "px" (flawed for percentages, but we maintain it)
|
|
483
|
+
// Note: Effect must be in constructor, not lifecycle hooks (NG0203 error otherwise)
|
|
484
|
+
// effect(() => {
|
|
485
|
+
// const config = this.tableConfig();
|
|
486
|
+
// if (!config?.paginationConfig || !this.table?.nativeElement) return;
|
|
487
|
+
// const height = config.height;
|
|
488
|
+
// // Old behavior: height - 56 + "px" (maintains the flaw for backward compatibility)
|
|
489
|
+
// const result = (height as any) - 56;
|
|
490
|
+
// const finalHeight = result + "px";
|
|
491
|
+
// this.renderer.setStyle(this.table.nativeElement, "height", finalHeight);
|
|
492
|
+
// });
|
|
395
493
|
}
|
|
396
494
|
// Function to handle row click
|
|
397
495
|
selectRow(index) {
|
|
@@ -441,18 +539,12 @@ class TableComponent {
|
|
|
441
539
|
this.expandedMap.set(newExpandedMap);
|
|
442
540
|
}
|
|
443
541
|
ngAfterViewInit() {
|
|
542
|
+
// ViewChild is now available - manually trigger height calculation once
|
|
543
|
+
// The effect in constructor will handle subsequent config changes
|
|
444
544
|
const config = this.tableConfig();
|
|
445
|
-
if (
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
// Handle percentage values - use calc() to subtract 56px
|
|
449
|
-
if (typeof rawHeight === 'string' && rawHeight.includes('%')) {
|
|
450
|
-
const calcHeight = `calc(${rawHeight} - 56px)`;
|
|
451
|
-
this.renderer.setStyle(this.table.nativeElement, "height", calcHeight);
|
|
452
|
-
}
|
|
453
|
-
else {
|
|
454
|
-
// Handle pixel values - subtract 56px (same as old code)
|
|
455
|
-
const result = rawHeight - 56;
|
|
545
|
+
if (config?.paginationConfig && this.table?.nativeElement) {
|
|
546
|
+
const height = config.height;
|
|
547
|
+
const result = height - 56;
|
|
456
548
|
const finalHeight = result + "px";
|
|
457
549
|
this.renderer.setStyle(this.table.nativeElement, "height", finalHeight);
|
|
458
550
|
}
|
|
@@ -525,6 +617,9 @@ class TableComponent {
|
|
|
525
617
|
// Pagination related functions
|
|
526
618
|
initializePagination() {
|
|
527
619
|
if (this.tableConfig().paginationConfig) {
|
|
620
|
+
// Initialize selectedPage from config if provided, otherwise default to 1
|
|
621
|
+
// const configSelectedPage = this.tableConfig().paginationConfig.selectedPage;
|
|
622
|
+
// this.selectedPage.set(configSelectedPage ?? 1);
|
|
528
623
|
let len = this.tableConfig().paginationConfig.noOfPages;
|
|
529
624
|
if (len <= 7) {
|
|
530
625
|
const newPages = [];
|
|
@@ -542,9 +637,11 @@ class TableComponent {
|
|
|
542
637
|
// Guard clause to prevent out-of-range updates
|
|
543
638
|
if (pageNumber < 1 || pageNumber > this.tableConfig().paginationConfig.noOfPages)
|
|
544
639
|
return;
|
|
640
|
+
// Update internal selectedPage state immediately
|
|
641
|
+
this.selectedPage.set(pageNumber);
|
|
545
642
|
// Reset header checkbox when navigating to a different page
|
|
546
643
|
this.selectAllCheckbox.set(false);
|
|
547
|
-
//
|
|
644
|
+
// Update page numbers display for pagination with many pages
|
|
548
645
|
let len = this.tableConfig().paginationConfig.noOfPages;
|
|
549
646
|
if (len > 7) {
|
|
550
647
|
if (pageNumber - 2 <= 1) {
|
|
@@ -557,6 +654,7 @@ class TableComponent {
|
|
|
557
654
|
this.pages.set([1, 0, len - 3, len - 2, len - 1, len]);
|
|
558
655
|
}
|
|
559
656
|
}
|
|
657
|
+
// Emit to parent so they can update their config
|
|
560
658
|
this.pageSelected.emit(pageNumber);
|
|
561
659
|
}
|
|
562
660
|
// Main container related functions
|
|
@@ -676,7 +774,18 @@ class TableComponent {
|
|
|
676
774
|
});
|
|
677
775
|
}
|
|
678
776
|
}
|
|
679
|
-
|
|
777
|
+
onPageSizeChange(selectedOption) {
|
|
778
|
+
this.pageSizeChanged.emit(parseInt(selectedOption.value));
|
|
779
|
+
}
|
|
780
|
+
shouldShowPagination() {
|
|
781
|
+
const config = this.tableConfig()?.paginationConfig;
|
|
782
|
+
if (!config)
|
|
783
|
+
return false;
|
|
784
|
+
const hasMultiplePages = config.noOfPages > 1;
|
|
785
|
+
const hasEnoughData = this.tableLength() > config.rowsPerPage;
|
|
786
|
+
return this.showPageSizeDropdown() || hasMultiplePages || hasEnoughData;
|
|
787
|
+
}
|
|
788
|
+
static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
680
789
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["mis-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
681
790
|
i0.ɵɵviewQuery(_c0$3, 5);
|
|
682
791
|
i0.ɵɵviewQuery(_c1$3, 5);
|
|
@@ -686,7 +795,7 @@ class TableComponent {
|
|
|
686
795
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
687
796
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
|
|
688
797
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.colHeaders = _t);
|
|
689
|
-
} }, inputs: { tableConfig: [1, "tableConfig"], subTableconfig: [1, "subTableconfig"], tableDataLoading: [1, "tableDataLoading"], expandedIndex: [1, "expandedIndex"], tableData: [1, "tableData"], subTableData: [1, "subTableData"], subTableDataLoading: [1, "subTableDataLoading"], currentSort: [1, "currentSort"] }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected", sortChange: "sortChange", headerAction: "headerAction" }, features: [i0.ɵɵNgOnChangesFeature], decls:
|
|
798
|
+
} }, inputs: { tableConfig: [1, "tableConfig"], subTableconfig: [1, "subTableconfig"], tableDataLoading: [1, "tableDataLoading"], expandedIndex: [1, "expandedIndex"], tableData: [1, "tableData"], subTableData: [1, "subTableData"], subTableDataLoading: [1, "subTableDataLoading"], currentSort: [1, "currentSort"] }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected", pageSizeChanged: "pageSizeChanged", sortChange: "sortChange", headerAction: "headerAction" }, features: [i0.ɵɵNgOnChangesFeature], decls: 10, vars: 15, consts: [["table", ""], ["filter", ""], ["colHeaderRef", ""], ["plainText", ""], ["id", "main-container", 3, "ngStyle"], [3, "containerStyles", "filtersData", "filtersApplied", 4, "ngIf"], ["id", "table-container", 3, "ngClass"], ["id", "col-headers-container", 3, "ngStyle"], ["class", "col-header", 3, "ngStyle", "click", 4, "ngFor", "ngForOf"], ["id", "data-container"], ["class", "row-wrapper", 4, "ngFor", "ngForOf"], ["id", "pagination-content-container"], ["id", "pagination-container"], [3, "filtersApplied", "containerStyles", "filtersData"], [1, "col-header", 3, "click", "ngStyle"], ["class", "col-header-text", 4, "ngIf"], ["class", "filter-icon", 3, "click", 4, "ngIf"], ["class", "checkbox-icon", 3, "click", 4, "ngIf"], ["appSortIcons", "", "class", "sort-icon", 3, "column", "activeSort", "activeSorts", "multiColumnSort", "sortChange", 4, "ngIf"], [4, "ngIf"], [1, "col-header-text"], [1, "filter-icon", 3, "click"], ["id", "filter-active", 4, "ngIf"], ["fill", "none", "height", "10", "viewBox", "0 0 13 10", "width", "13", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z", "fill", "#181F33", "fill-rule", "evenodd"], ["id", "filter-active"], [1, "checkbox-icon", 3, "click"], [3, "checked"], ["appSortIcons", "", 1, "sort-icon", 3, "sortChange", "column", "activeSort", "activeSorts", "multiColumnSort"], ["customTableCell", "", 3, "customComponent", "data"], [1, "row-wrapper"], [1, "t-row", 3, "click", "ngClass", "ngStyle"], ["class", "t-col-container", 3, "ngStyle", "ngClass", "click", 4, "ngFor", "ngForOf"], ["class", "sub-row", 4, "ngIf"], [1, "t-col-container", 3, "click", "ngStyle", "ngClass"], [1, "t-col", 3, "ngStyle"], ["class", "t-col-text", 3, "ngStyle", "ngClass", 4, "ngIf"], [3, "cellData", "config", "ngClass", "actionClick", 4, "ngIf"], [1, "t-col-text", 3, "ngStyle", "ngClass"], [4, "ngIf", "ngIfElse"], [3, "innerHTML"], [3, "actionClick", "cellData", "config", "ngClass"], [1, "sub-row"], [3, "ngStyle"], [3, "config", "tableData"], ["id", "pagination-text"], [1, "page-size-selector"], ["id", "pages-container"], [1, "page", 3, "click"], ["fill", "none", "height", "10", "viewBox", "0 0 7 10", "width", "7", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z", "fill", "#181F33", "fill-rule", "evenodd"], ["clip-rule", "evenodd", "d", "M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z", "fill", "#181F33", "fill-rule", "evenodd"], [1, "page-size-dropdown", 3, "onChange", "data", "selectedItem", "width", "height", "searchEnabled", "dropdownListHeight"], [4, "ngFor", "ngForOf"], ["class", "page page-jumping-enabled", 3, "ngClass", "click", 4, "ngIf"], ["class", "page-seperator", 4, "ngIf"], [1, "page", "page-jumping-enabled", 3, "click", "ngClass"], [1, "page-seperator"], [1, "dot", 3, "ngStyle"], [1, "dot"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
690
799
|
i0.ɵɵelementStart(0, "div", 4);
|
|
691
800
|
i0.ɵɵtemplate(1, TableComponent_mis_table_filter_1_Template, 2, 2, "mis-table-filter", 5);
|
|
692
801
|
i0.ɵɵelementStart(2, "div", 6, 0)(4, "div", 7);
|
|
@@ -695,11 +804,11 @@ class TableComponent {
|
|
|
695
804
|
i0.ɵɵelementStart(6, "div", 9);
|
|
696
805
|
i0.ɵɵtemplate(7, TableComponent_div_7_Template, 4, 11, "div", 10);
|
|
697
806
|
i0.ɵɵelementEnd()();
|
|
698
|
-
i0.ɵɵ
|
|
699
|
-
i0.ɵɵ
|
|
807
|
+
i0.ɵɵelementStart(8, "div", 11);
|
|
808
|
+
i0.ɵɵtemplate(9, TableComponent_Conditional_9_Template, 12, 9, "div", 12);
|
|
809
|
+
i0.ɵɵelementEnd()();
|
|
700
810
|
} if (rf & 2) {
|
|
701
811
|
let tmp_5_0;
|
|
702
|
-
let tmp_7_0;
|
|
703
812
|
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(7, _c3$1, ctx.getContainerHeight(), ctx.getContainerWidth(), ctx.tableConfig().canScrollHorizontally ? "auto" : "unset"));
|
|
704
813
|
i0.ɵɵadvance();
|
|
705
814
|
i0.ɵɵproperty("ngIf", ctx.showFilter());
|
|
@@ -711,14 +820,14 @@ class TableComponent {
|
|
|
711
820
|
i0.ɵɵproperty("ngForOf", (tmp_5_0 = ctx.tableConfig()) == null ? null : tmp_5_0.colHeaderConfig);
|
|
712
821
|
i0.ɵɵadvance(2);
|
|
713
822
|
i0.ɵɵproperty("ngForOf", ctx.tableData());
|
|
714
|
-
i0.ɵɵadvance();
|
|
715
|
-
i0.ɵɵ
|
|
716
|
-
} }, styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif;position:relative}.no-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:0}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:15px}#table-container[_ngcontent-%COMP%]{height:inherit;overflow-y:auto}.scroll-horizontally[_ngcontent-%COMP%]{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container[_ngcontent-%COMP%]{display:flex;align-items:center;position:sticky;background-color:var(--bg-primary, #FFFFFF);width:100%;z-index:1;min-height:44px;border-bottom:1px solid var(--border-primary, #E0E0E0);top:0;left:0;right:0}.col-header[_ngcontent-%COMP%]{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text[_ngcontent-%COMP%]{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.sort-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.filter-icon[_ngcontent-%COMP%]{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active[_ngcontent-%COMP%]{height:8px;width:8px;background:var(--brand-accent, #10ADAE);border-radius:50%;position:absolute;top:4px;right:4px}.sub-row[_ngcontent-%COMP%]{height:auto;border-bottom:none}.loader[_ngcontent-%COMP%] .mat-progress-spinner circle, .mat-spinner[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:var(--brand-primary, #0937B2)}.t-row[_ngcontent-%COMP%]{display:flex;min-height:44px;background-color:var(--bg-primary, #FFFFFF);width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row[_ngcontent-%COMP%]:hover{background-color:var(--brand-primary-hover, #F0F3FA)}.active-row[_ngcontent-%COMP%]{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container[_ngcontent-%COMP%]{padding:0 16px;overflow-wrap:anywhere;min-width:0}.t-row-hover[_ngcontent-%COMP%]:hover{background-color:#0000}.t-col-container-hover[_ngcontent-%COMP%]:hover{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container-hover[_ngcontent-%COMP%]:first-child{border-left:1px solid var(--border-primary, #E0E0E0)}.t-col-container-hover[_ngcontent-%COMP%]{border-right:1px solid var(--border-primary, #E0E0E0)}.t-col[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%}.t-col-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:var(--text-secondary, #6A737D);margin:0
|
|
823
|
+
i0.ɵɵadvance(2);
|
|
824
|
+
i0.ɵɵconditional(ctx.shouldShowPagination() ? 9 : -1);
|
|
825
|
+
} }, styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif;position:relative}.no-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:0}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:15px}#table-container[_ngcontent-%COMP%]{height:inherit;overflow-y:auto}.scroll-horizontally[_ngcontent-%COMP%]{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container[_ngcontent-%COMP%]{display:flex;align-items:center;position:sticky;background-color:var(--bg-primary, #FFFFFF);width:100%;z-index:1;min-height:44px;border-bottom:1px solid var(--border-primary, #E0E0E0);top:0;left:0;right:0}.col-header[_ngcontent-%COMP%]{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text[_ngcontent-%COMP%]{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.sort-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.filter-icon[_ngcontent-%COMP%]{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active[_ngcontent-%COMP%]{height:8px;width:8px;background:var(--brand-accent, #10ADAE);border-radius:50%;position:absolute;top:4px;right:4px}.sub-row[_ngcontent-%COMP%]{height:auto;border-bottom:none}.loader[_ngcontent-%COMP%] .mat-progress-spinner circle, .mat-spinner[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:var(--brand-primary, #0937B2)}.t-row[_ngcontent-%COMP%]{display:flex;min-height:44px;background-color:var(--bg-primary, #FFFFFF);width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row[_ngcontent-%COMP%]:hover{background-color:var(--brand-primary-hover, #F0F3FA)}.active-row[_ngcontent-%COMP%]{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container[_ngcontent-%COMP%]{padding:0 16px;overflow-wrap:anywhere;min-width:0}.t-row-hover[_ngcontent-%COMP%]:hover{background-color:#0000}.t-col-container-hover[_ngcontent-%COMP%]:hover{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container-hover[_ngcontent-%COMP%]:first-child{border-left:1px solid var(--border-primary, #E0E0E0)}.t-col-container-hover[_ngcontent-%COMP%]{border-right:1px solid var(--border-primary, #E0E0E0)}.t-col[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%}.t-col-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container[_ngcontent-%COMP%], #pagination-content-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:var(--text-secondary, #6A737D);margin:0 16px 0 0}#pages-container[_ngcontent-%COMP%]{display:flex;margin-right:32px}.page[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-secondary, #6A737D);margin-right:8px;cursor:pointer}.page.page-jumping-enabled[_ngcontent-%COMP%]{border:1px solid var(--text-secondary, #6A737D)}.page-seperator[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot[_ngcontent-%COMP%]{height:3px;width:3px;border-radius:50%;background:var(--text-secondary, #6A737D)}.page-active[_ngcontent-%COMP%]{color:var(--brand-primary, #0937B2);border:1px solid var(--brand-primary, #0937B2)}.sort-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px;transition:opacity .2s ease}.sort-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:hover{opacity:.8}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]{opacity:.4;pointer-events:none}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]:has(mis-actions-cell){opacity:1;pointer-events:auto}.row[_ngcontent-%COMP%]{transition:background-color .2s}.row[_ngcontent-%COMP%]:hover:not(.disabled-row), .row.selected[_ngcontent-%COMP%]:not(.disabled-row){background-color:var(--brand-primary-active, #DAE1F3)}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]{pointer-events:none;opacity:.4}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]:has(mis-actions-cell){pointer-events:auto!important;opacity:1!important;color:inherit!important}mis-actions-cell.disable-actions[_ngcontent-%COMP%]{pointer-events:none;opacity:.4;filter:grayscale(.5)}.page-nav-inactive[_ngcontent-%COMP%]{pointer-events:none;opacity:.5;cursor:default}.page-size-selector[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-right:16px}.collapsed-cell[_ngcontent-%COMP%]{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;display:block}@supports (-webkit-line-clamp: 2){.collapsed-cell[_ngcontent-%COMP%]{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--collapsed-lines, 2);white-space:normal!important}}"] }); }
|
|
717
826
|
}
|
|
718
827
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
719
828
|
type: Component,
|
|
720
|
-
args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': tableConfig().canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter()\"\n [containerStyles]=\"filterContainerStyles()\"\n [filtersData]=\"filterData()\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex() < 0, scrollbar: !(expandedIndex() < 0), 'scroll-horizontally': tableConfig().canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"getColHeadersRowStyles()\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of tableConfig()?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom' && colHeader?.type !== 'checkbox'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData.set(colHeader.filters); toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters()[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <span\n (click)=\"toggleCheckbox(); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type === 'checkbox'\"\n class=\"checkbox-icon\"\n >\n <mis-checkbox [checked]=\"selectAllCheckbox()\"></mis-checkbox>\n </span>\n <span *ngIf=\"colHeader?.isSortable && !colHeader?.filters\" appSortIcons\n [column]=\"colHeader\"\n [activeSort]=\"currentSort()\"\n [activeSorts]=\"multiColumnSort()\"\n [multiColumnSort]=\"tableConfig().multiColumnSort\"\n (sortChange)=\"onSortChange($event)\"\n class=\"sort-icon\">\n </span>\n <ng-template *ngIf=\"colHeader?.type === 'custom'\" customTableCell [customComponent]=\"colHeader?.componentRef\" [data]=\"colHeader.data\"></ng-template>\n </div>\n </div>\n \n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData(); let i = index; let rowIndex = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': tableConfig().cellHover, 'active-row': activeRowIndex().includes(i) }\"\n [ngStyle]=\"{ 'min-height': tableConfig()?.rowConfig?.height ? tableConfig().rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n [class.disabled-row]=\"isRowDisabled(row)\"\n >\n <div\n (click)=\"tableConfig()?.colConfig[colIndex]?.action && tableConfig()?.colConfig[colIndex]?.actionType !== 'checkbox' ? tableConfig()?.colConfig[colIndex]?.action(col) : null\"\n *ngFor=\"let col of row; let colIndex = index\"\n [ngStyle]=\"{\n width: tableConfig()?.colConfig[colIndex]?.style?.width || tableConfig()?.colHeaderConfig[colIndex]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': tableConfig().cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"tableConfig().colConfig[colIndex]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: tableConfig().colConfig[colIndex]?.action ? 'pointer' : 'default',\n 'justify-content': tableConfig().colConfig[colIndex]?.style?.justifyContent\n ? tableConfig().colConfig[colIndex]?.style?.justifyContent\n : tableConfig().colConfig[colIndex]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <div\n *ngIf=\"tableConfig().colConfig[colIndex]?.type !== 'custom' && tableConfig().colConfig[colIndex]?.type !== 'actions'\"\n [ngStyle]=\"{\n color: tableConfig()?.colConfig[colIndex]?.style?.color || '',\n '--collapsed-lines': previewLines() || 3\n }\"\n [ngClass]=\"{\n 'collapsed-cell': collapseColIndex() == colIndex && expandedMap()[rowIndex]\n }\"\n class=\"t-col-text\"\n >\n <!-- Render as HTML -->\n <ng-container *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'html'; else plainText\">\n <span [innerHTML]=\"col\"></span>\n </ng-container>\n \n <!-- Render as plain text -->\n <ng-template #plainText>\n <span>{{ col }}</span>\n </ng-template>\n </div>\n \n <ng-template\n *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'custom'\"\n [customComponent]=\"tableConfig().colConfig[colIndex].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n <mis-actions-cell\n *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'actions'\"\n [cellData]=\"col\"\n [config]=\"tableConfig().colConfig[colIndex]\"\n (actionClick)=\"onActionClick($event, rowIndex)\"\n [ngClass]=\"{\n 'disable-actions': (tableConfig().colConfig[colIndex]?.actionType === 'checkbox' || tableConfig().colConfig[colIndex]?.actionType === 'row-collapse') && isRowDisabled(row)\n }\"\n ></mis-actions-cell>\n\n </div>\n </div>\n </div>\n <div *ngIf=\"tableConfig()?.canExpand && expandedIndex() === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading()\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n Loading...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading() && subTableData().length === 0\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n No Data Available...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading() && subTableData().length > 0\">\n <sub-table [config]=\"subTableconfig()\" [tableData]=\"subTableData()\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"tableConfig()?.paginationConfig && (tableLength() >= tableConfig().paginationConfig.rowsPerPage || tableConfig().paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (tableConfig().paginationConfig?.selectedPage - 1) * tableConfig().paginationConfig.rowsPerPage + 1 }}-{{\n (tableConfig().paginationConfig?.selectedPage - 1) * tableConfig().paginationConfig.rowsPerPage + tableLength()\n }}\n of {{ tableConfig().paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"tableConfig().paginationConfig?.selectedPage > 1 && updateSelectedPage(tableConfig().paginationConfig?.selectedPage - 1)\" class=\"page\" [class.page-nav-inactive]=\"tableConfig().paginationConfig?.selectedPage === 1\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <!-- Page numbers (only show if disablePageJumping is false) -->\n <ng-container *ngIf=\"!tableConfig().paginationConfig?.disablePageJumping\">\n <div *ngFor=\"let pageNumber of pages()\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == tableConfig().paginationConfig?.selectedPage }\"\n class=\"page page-jumping-enabled\"\n >{{ pageNumber }}</span>\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div [ngStyle]=\"{ display: 'flex' }\">\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\"></span>\n </div> \n </span>\n </div>\n </ng-container>\n \n <span [class.page-nav-inactive]=\"tableConfig().paginationConfig?.selectedPage === tableConfig().paginationConfig?.noOfPages\"\n (click)=\"tableConfig().paginationConfig?.selectedPage < tableConfig().paginationConfig?.noOfPages && updateSelectedPage(tableConfig().paginationConfig?.selectedPage + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:var(--bg-primary, #FFFFFF);width:100%;z-index:1;min-height:44px;border-bottom:1px solid var(--border-primary, #E0E0E0);top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.sort-icon{display:flex;justify-content:center;align-items:center}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:var(--brand-accent, #10ADAE);border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:var(--brand-primary, #0937B2)}.t-row{display:flex;min-height:44px;background-color:var(--bg-primary, #FFFFFF);width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row:hover{background-color:var(--brand-primary-hover, #F0F3FA)}.active-row{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container{padding:0 16px;overflow-wrap:anywhere;min-width:0}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container-hover:first-child{border-left:1px solid var(--border-primary, #E0E0E0)}.t-col-container-hover{border-right:1px solid var(--border-primary, #E0E0E0)}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:var(--text-secondary, #6A737D);margin:0 56px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-secondary, #6A737D);margin-right:8px;cursor:pointer}.page.page-jumping-enabled{border:1px solid var(--text-secondary, #6A737D)}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:var(--text-secondary, #6A737D)}.page-active{color:var(--brand-primary, #0937B2);border:1px solid var(--brand-primary, #0937B2)}.sort-icon{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon img{width:16px;height:16px;transition:opacity .2s ease}.sort-icon img:hover{opacity:.8}.disabled-row .t-col-container{opacity:.4;pointer-events:none}.disabled-row .t-col-container:has(mis-actions-cell){opacity:1;pointer-events:auto}.row{transition:background-color .2s}.row:hover:not(.disabled-row),.row.selected:not(.disabled-row){background-color:var(--brand-primary-active, #DAE1F3)}.disabled-row .t-col-container{pointer-events:none;opacity:.4}.disabled-row .t-col-container:has(mis-actions-cell){pointer-events:auto!important;opacity:1!important;color:inherit!important}mis-actions-cell.disable-actions{pointer-events:none;opacity:.4;filter:grayscale(.5)}.page-nav-inactive{pointer-events:none;opacity:.5;cursor:default}.collapsed-cell{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;display:block;@supports (-webkit-line-clamp: 2){display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--collapsed-lines, 2);white-space:normal!important}}\n"] }]
|
|
721
|
-
}], () => [{ type: i0.Renderer2 }
|
|
829
|
+
args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': tableConfig().canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter()\"\n [containerStyles]=\"filterContainerStyles()\"\n [filtersData]=\"filterData()\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex() < 0, scrollbar: !(expandedIndex() < 0), 'scroll-horizontally': tableConfig().canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"getColHeadersRowStyles()\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of tableConfig()?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom' && colHeader?.type !== 'checkbox'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData.set(colHeader.filters); toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters()[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <span\n (click)=\"toggleCheckbox(); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type === 'checkbox'\"\n class=\"checkbox-icon\"\n >\n <mis-checkbox [checked]=\"selectAllCheckbox()\"></mis-checkbox>\n </span>\n <span *ngIf=\"colHeader?.isSortable && !colHeader?.filters\" appSortIcons\n [column]=\"colHeader\"\n [activeSort]=\"currentSort()\"\n [activeSorts]=\"multiColumnSort()\"\n [multiColumnSort]=\"tableConfig().multiColumnSort\"\n (sortChange)=\"onSortChange($event)\"\n class=\"sort-icon\">\n </span>\n <ng-template *ngIf=\"colHeader?.type === 'custom'\" customTableCell [customComponent]=\"colHeader?.componentRef\" [data]=\"colHeader.data\"></ng-template>\n </div>\n </div>\n \n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData(); let i = index; let rowIndex = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': tableConfig().cellHover, 'active-row': activeRowIndex().includes(i) }\"\n [ngStyle]=\"{ 'min-height': tableConfig()?.rowConfig?.height ? tableConfig().rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n [class.disabled-row]=\"isRowDisabled(row)\"\n >\n <div\n (click)=\"tableConfig()?.colConfig[colIndex]?.action && tableConfig()?.colConfig[colIndex]?.actionType !== 'checkbox' ? tableConfig()?.colConfig[colIndex]?.action(col) : null\"\n *ngFor=\"let col of row; let colIndex = index\"\n [ngStyle]=\"{\n width: tableConfig()?.colConfig[colIndex]?.style?.width || tableConfig()?.colHeaderConfig[colIndex]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': tableConfig().cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"tableConfig().colConfig[colIndex]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: tableConfig().colConfig[colIndex]?.action ? 'pointer' : 'default',\n 'justify-content': tableConfig().colConfig[colIndex]?.style?.justifyContent\n ? tableConfig().colConfig[colIndex]?.style?.justifyContent\n : tableConfig().colConfig[colIndex]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <div\n *ngIf=\"tableConfig().colConfig[colIndex]?.type !== 'custom' && tableConfig().colConfig[colIndex]?.type !== 'actions'\"\n [ngStyle]=\"{\n color: tableConfig()?.colConfig[colIndex]?.style?.color || '',\n '--collapsed-lines': previewLines() || 3\n }\"\n [ngClass]=\"{\n 'collapsed-cell': collapseColIndex() == colIndex && expandedMap()[rowIndex]\n }\"\n class=\"t-col-text\"\n >\n <!-- Render as HTML -->\n <ng-container *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'html'; else plainText\">\n <span [innerHTML]=\"col\"></span>\n </ng-container>\n \n <!-- Render as plain text -->\n <ng-template #plainText>\n <span>{{ col }}</span>\n </ng-template>\n </div>\n \n <ng-template\n *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'custom'\"\n [customComponent]=\"tableConfig().colConfig[colIndex].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n <mis-actions-cell\n *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'actions'\"\n [cellData]=\"col\"\n [config]=\"tableConfig().colConfig[colIndex]\"\n (actionClick)=\"onActionClick($event, rowIndex)\"\n [ngClass]=\"{\n 'disable-actions': (tableConfig().colConfig[colIndex]?.actionType === 'checkbox' || tableConfig().colConfig[colIndex]?.actionType === 'row-collapse') && isRowDisabled(row)\n }\"\n ></mis-actions-cell>\n\n </div>\n </div>\n </div>\n <div *ngIf=\"tableConfig()?.canExpand && expandedIndex() === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading()\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n Loading...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading() && subTableData().length === 0\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n No Data Available...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading() && subTableData().length > 0\">\n <sub-table [config]=\"subTableconfig()\" [tableData]=\"subTableData()\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div id=\"pagination-content-container\">\n @if(shouldShowPagination()){\n <div \n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (selectedPage() - 1) * tableConfig().paginationConfig.rowsPerPage + 1 }}-{{\n (selectedPage() - 1) * tableConfig().paginationConfig.rowsPerPage + tableLength()\n }}\n of {{ tableConfig().paginationConfig.totalNoOfRows }} items\n </p>\n @if(showPageSizeDropdown()) {\n <div class=\"page-size-selector\">\n <mis-dropdown\n [data]=\"pageSizeOptions()\"\n [selectedItem]=\"selectedPageSizeOption()\"\n [width]=\"'90px'\"\n [height]=\"'32px'\"\n [searchEnabled]=\"false\"\n [dropdownListHeight]=\"'100px'\"\n (onChange)=\"onPageSizeChange($event)\"\n class=\"page-size-dropdown\"\n ></mis-dropdown>\n </div>\n }\n <div id=\"pages-container\">\n <span (click)=\"selectedPage() > 1 && updateSelectedPage(selectedPage() - 1)\" class=\"page\" [class.page-nav-inactive]=\"selectedPage() === 1\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <!-- Page numbers (only show if disablePageJumping is false) -->\n <ng-container *ngIf=\"!tableConfig().paginationConfig?.disablePageJumping\">\n <div *ngFor=\"let pageNumber of pages()\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber === selectedPage() }\"\n class=\"page page-jumping-enabled\"\n >{{ pageNumber }}</span>\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div [ngStyle]=\"{ display: 'flex' }\">\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\"></span>\n </div> \n </span>\n </div>\n </ng-container>\n \n <span [class.page-nav-inactive]=\"selectedPage() === tableConfig().paginationConfig?.noOfPages\"\n (click)=\"selectedPage() < tableConfig().paginationConfig?.noOfPages && updateSelectedPage(selectedPage() + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:var(--bg-primary, #FFFFFF);width:100%;z-index:1;min-height:44px;border-bottom:1px solid var(--border-primary, #E0E0E0);top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.sort-icon{display:flex;justify-content:center;align-items:center}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:var(--brand-accent, #10ADAE);border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:var(--brand-primary, #0937B2)}.t-row{display:flex;min-height:44px;background-color:var(--bg-primary, #FFFFFF);width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row:hover{background-color:var(--brand-primary-hover, #F0F3FA)}.active-row{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container{padding:0 16px;overflow-wrap:anywhere;min-width:0}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container-hover:first-child{border-left:1px solid var(--border-primary, #E0E0E0)}.t-col-container-hover{border-right:1px solid var(--border-primary, #E0E0E0)}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container,#pagination-content-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:var(--text-secondary, #6A737D);margin:0 16px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-secondary, #6A737D);margin-right:8px;cursor:pointer}.page.page-jumping-enabled{border:1px solid var(--text-secondary, #6A737D)}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:var(--text-secondary, #6A737D)}.page-active{color:var(--brand-primary, #0937B2);border:1px solid var(--brand-primary, #0937B2)}.sort-icon{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon img{width:16px;height:16px;transition:opacity .2s ease}.sort-icon img:hover{opacity:.8}.disabled-row .t-col-container{opacity:.4;pointer-events:none}.disabled-row .t-col-container:has(mis-actions-cell){opacity:1;pointer-events:auto}.row{transition:background-color .2s}.row:hover:not(.disabled-row),.row.selected:not(.disabled-row){background-color:var(--brand-primary-active, #DAE1F3)}.disabled-row .t-col-container{pointer-events:none;opacity:.4}.disabled-row .t-col-container:has(mis-actions-cell){pointer-events:auto!important;opacity:1!important;color:inherit!important}mis-actions-cell.disable-actions{pointer-events:none;opacity:.4;filter:grayscale(.5)}.page-nav-inactive{pointer-events:none;opacity:.5;cursor:default}.page-size-selector{display:flex;align-items:center;gap:8px;margin-right:16px}.collapsed-cell{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;display:block}@supports (-webkit-line-clamp: 2){.collapsed-cell{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--collapsed-lines, 2);white-space:normal!important}}\n"] }]
|
|
830
|
+
}], () => [{ type: i0.Renderer2 }], { filter: [{
|
|
722
831
|
type: ViewChild,
|
|
723
832
|
args: ["filter"]
|
|
724
833
|
}], colHeaders: [{
|
|
@@ -1176,6 +1285,18 @@ class SortIconsDirective {
|
|
|
1176
1285
|
this.multiSortChange = output();
|
|
1177
1286
|
// Internal state as signals
|
|
1178
1287
|
this.currentDirection = signal('');
|
|
1288
|
+
// Watch for changes in activeSort, activeSorts, and currentDirection signals
|
|
1289
|
+
// Signal inputs don't trigger ngOnChanges, so we need to use effect()
|
|
1290
|
+
effect(() => {
|
|
1291
|
+
// Access the signals to create a dependency (we don't need to store the values)
|
|
1292
|
+
this.activeSort();
|
|
1293
|
+
this.activeSorts();
|
|
1294
|
+
this.currentDirection(); // Also watch internal direction changes
|
|
1295
|
+
// Update icon styles when signals change (only after icons are created)
|
|
1296
|
+
if (this.upIcon && this.downIcon) {
|
|
1297
|
+
this.updateIconStyles();
|
|
1298
|
+
}
|
|
1299
|
+
});
|
|
1179
1300
|
}
|
|
1180
1301
|
ngOnInit() {
|
|
1181
1302
|
// Create a container for the icons
|
|
@@ -1271,10 +1392,17 @@ class SortIconsDirective {
|
|
|
1271
1392
|
}
|
|
1272
1393
|
}
|
|
1273
1394
|
updateSingleColumnIconStyles() {
|
|
1274
|
-
|
|
1395
|
+
// Check both parent's activeSort AND internal currentDirection
|
|
1396
|
+
// Parent's activeSort may not be updated immediately, so we also check internal state
|
|
1397
|
+
const parentActiveSort = this.activeSort();
|
|
1398
|
+
const isActiveColumnFromParent = parentActiveSort?.column === this.column()?.data;
|
|
1399
|
+
const internalDirection = this.currentDirection();
|
|
1400
|
+
const isActiveColumn = isActiveColumnFromParent || (internalDirection !== '');
|
|
1275
1401
|
setTimeout(() => {
|
|
1276
|
-
|
|
1277
|
-
|
|
1402
|
+
// Use parent's direction if available, otherwise use internal direction
|
|
1403
|
+
const activeDirection = parentActiveSort?.direction || internalDirection;
|
|
1404
|
+
this.renderer?.setStyle(this.upIcon, 'opacity', isActiveColumn && activeDirection === 'ASC' ? '1' : '0.5');
|
|
1405
|
+
this.renderer?.setStyle(this.downIcon, 'opacity', isActiveColumn && activeDirection === 'DESC' ? '1' : '0.5');
|
|
1278
1406
|
}, 0);
|
|
1279
1407
|
}
|
|
1280
1408
|
updateMultiColumnIconStyles() {
|
|
@@ -1696,7 +1824,7 @@ class TableModule {
|
|
|
1696
1824
|
}
|
|
1697
1825
|
static { this.ɵfac = function TableModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableModule)(); }; }
|
|
1698
1826
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TableModule }); }
|
|
1699
|
-
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule] }); }
|
|
1827
|
+
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule, DropdownModule] }); }
|
|
1700
1828
|
}
|
|
1701
1829
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableModule, [{
|
|
1702
1830
|
type: NgModule,
|
|
@@ -1709,7 +1837,7 @@ class TableModule {
|
|
|
1709
1837
|
SortIconsDirective,
|
|
1710
1838
|
ActionsCellComponent
|
|
1711
1839
|
],
|
|
1712
|
-
imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule],
|
|
1840
|
+
imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule, DropdownModule],
|
|
1713
1841
|
exports: [
|
|
1714
1842
|
TableComponent,
|
|
1715
1843
|
SubTableComponent,
|
|
@@ -1725,13 +1853,13 @@ class TableModule {
|
|
|
1725
1853
|
TableFilterComponent,
|
|
1726
1854
|
CustomTableCellDirective,
|
|
1727
1855
|
SortIconsDirective,
|
|
1728
|
-
ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule], exports: [TableComponent,
|
|
1856
|
+
ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule, DropdownModule], exports: [TableComponent,
|
|
1729
1857
|
SubTableComponent,
|
|
1730
1858
|
TableFilterComponent,
|
|
1731
1859
|
CustomTableCellDirective,
|
|
1732
1860
|
SortIconsDirective,
|
|
1733
1861
|
ActionsCellComponent] }); })();
|
|
1734
|
-
i0.ɵɵsetComponentScope(TableComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent, SubTableComponent,
|
|
1862
|
+
i0.ɵɵsetComponentScope(TableComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent, i3.DropdownComponent, SubTableComponent,
|
|
1735
1863
|
TableFilterComponent,
|
|
1736
1864
|
CustomTableCellDirective,
|
|
1737
1865
|
SortIconsDirective,
|