mis-crystal-design-system 18.1.5-signal → 18.1.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/async-search-dropdown/async-dropdown.component.d.ts +44 -3
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +4 -0
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +14 -5
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +147 -37
- package/esm2022/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/chip/chip.component.mjs +4 -4
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +2 -34
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +87 -32
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +6 -3
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +324 -142
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +4 -4
- package/esm2022/fab/fab.component.mjs +4 -4
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +28 -27
- package/esm2022/input/mis-input.component.mjs +3 -11
- package/esm2022/loader/loader.component.mjs +13 -7
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +4 -4
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +10 -5
- package/esm2022/phone-input/phone-input.component.mjs +4 -4
- package/esm2022/radio-button/radio-button.component.mjs +4 -4
- package/esm2022/ske-loader/ske-loader.component.mjs +4 -4
- package/esm2022/slider/slider.component.mjs +4 -4
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +4 -4
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +23 -19
- package/esm2022/table/sort-icons.directive.mjs +24 -5
- package/esm2022/table/sub-table/sub-table.component.mjs +18 -5
- package/esm2022/table/table.component.mjs +236 -101
- package/esm2022/table/table.module.mjs +7 -5
- package/esm2022/timepicker/timepicker.component.mjs +26 -5
- package/esm2022/timerangepicker/timerangepicker.component.mjs +22 -16
- package/esm2022/toast/toast.component.mjs +4 -4
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +4 -4
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +4 -4
- 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-checkbox.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +87 -64
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +328 -143
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +27 -26
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +2 -10
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +12 -6
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +9 -4
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-snackbar.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +22 -18
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +279 -111
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +25 -4
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +21 -15
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +1 -1
- package/input/mis-input.component.scss +2 -3
- package/loader/loader.component.d.ts +7 -1
- package/package.json +17 -17
- package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +2 -2
- package/table/table.component.d.ts +14 -1
- package/table/table.module.d.ts +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, output, input, Component, ViewChild, ViewChildren,
|
|
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,28 +49,29 @@ 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) {
|
|
64
|
+
let tmp_5_0;
|
|
62
65
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
63
66
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
64
67
|
i0.ɵɵadvance();
|
|
65
|
-
i0.ɵɵproperty("ngIf", (ctx_r1.appliedFilters[colHeader_r4.data] == null ? null :
|
|
68
|
+
i0.ɵɵproperty("ngIf", ((tmp_5_0 = ctx_r1.appliedFilters()[colHeader_r4.data]) == null ? null : tmp_5_0.length) > 0);
|
|
66
69
|
} }
|
|
67
70
|
function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
68
71
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
69
|
-
i0.ɵɵelementStart(0, "span",
|
|
72
|
+
i0.ɵɵelementStart(0, "span", 26);
|
|
70
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()); });
|
|
71
|
-
i0.ɵɵelement(1, "mis-checkbox",
|
|
74
|
+
i0.ɵɵelement(1, "mis-checkbox", 27);
|
|
72
75
|
i0.ɵɵelementEnd();
|
|
73
76
|
} if (rf & 2) {
|
|
74
77
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -77,7 +80,7 @@ function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
77
80
|
} }
|
|
78
81
|
function TableComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
79
82
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
80
|
-
i0.ɵɵelementStart(0, "span",
|
|
83
|
+
i0.ɵɵelementStart(0, "span", 28);
|
|
81
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)); });
|
|
82
85
|
i0.ɵɵelementEnd();
|
|
83
86
|
} if (rf & 2) {
|
|
@@ -87,16 +90,16 @@ function TableComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
87
90
|
} }
|
|
88
91
|
function TableComponent_div_5_6_ng_template_0_Template(rf, ctx) { }
|
|
89
92
|
function TableComponent_div_5_6_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
-
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);
|
|
91
94
|
} if (rf & 2) {
|
|
92
95
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
93
96
|
i0.ɵɵproperty("customComponent", colHeader_r4 == null ? null : colHeader_r4.componentRef)("data", colHeader_r4.data);
|
|
94
97
|
} }
|
|
95
98
|
function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
96
99
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
97
|
-
i0.ɵɵelementStart(0, "div",
|
|
100
|
+
i0.ɵɵelementStart(0, "div", 14, 2);
|
|
98
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); });
|
|
99
|
-
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);
|
|
100
103
|
i0.ɵɵelementEnd();
|
|
101
104
|
} if (rf & 2) {
|
|
102
105
|
const colHeader_r4 = ctx.$implicit;
|
|
@@ -114,7 +117,7 @@ function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
114
117
|
} }
|
|
115
118
|
function TableComponent_div_7_div_2_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
116
119
|
i0.ɵɵelementContainerStart(0);
|
|
117
|
-
i0.ɵɵelement(1, "span",
|
|
120
|
+
i0.ɵɵelement(1, "span", 40);
|
|
118
121
|
i0.ɵɵelementContainerEnd();
|
|
119
122
|
} if (rf & 2) {
|
|
120
123
|
const col_r12 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -131,50 +134,50 @@ function TableComponent_div_7_div_2_div_2_ng_template_2_Template(rf, ctx) { if (
|
|
|
131
134
|
i0.ɵɵtextInterpolate(col_r12);
|
|
132
135
|
} }
|
|
133
136
|
function TableComponent_div_7_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
134
|
-
i0.ɵɵelementStart(0, "div",
|
|
135
|
-
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);
|
|
136
139
|
i0.ɵɵelementEnd();
|
|
137
140
|
} if (rf & 2) {
|
|
138
141
|
let tmp_10_0;
|
|
139
142
|
let tmp_12_0;
|
|
140
143
|
const plainText_r14 = i0.ɵɵreference(3);
|
|
141
|
-
const
|
|
144
|
+
const colIndex_r13 = i0.ɵɵnextContext().index;
|
|
142
145
|
const rowIndex_r15 = i0.ɵɵnextContext().index;
|
|
143
146
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
144
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(4, _c11, ((tmp_10_0 = ctx_r1.tableConfig()) == null ? null : tmp_10_0.colConfig[
|
|
147
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(4, _c11, ((tmp_10_0 = ctx_r1.tableConfig()) == null ? null : tmp_10_0.colConfig[colIndex_r13] == null ? null : tmp_10_0.colConfig[colIndex_r13].style == null ? null : tmp_10_0.colConfig[colIndex_r13].style.color) || "", ctx_r1.previewLines() || 3))("ngClass", i0.ɵɵpureFunction1(7, _c12, ctx_r1.collapseColIndex() == colIndex_r13 && ctx_r1.expandedMap()[rowIndex_r15]));
|
|
145
148
|
i0.ɵɵadvance();
|
|
146
|
-
i0.ɵɵproperty("ngIf", ((tmp_12_0 = ctx_r1.tableConfig().colConfig[
|
|
149
|
+
i0.ɵɵproperty("ngIf", ((tmp_12_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_12_0.type) === "html")("ngIfElse", plainText_r14);
|
|
147
150
|
} }
|
|
148
151
|
function TableComponent_div_7_div_2_3_ng_template_0_Template(rf, ctx) { }
|
|
149
152
|
function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
|
|
150
|
-
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);
|
|
151
154
|
} if (rf & 2) {
|
|
152
155
|
const ctx_r15 = i0.ɵɵnextContext();
|
|
153
156
|
const col_r12 = ctx_r15.$implicit;
|
|
154
|
-
const
|
|
157
|
+
const colIndex_r13 = ctx_r15.index;
|
|
155
158
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
156
|
-
i0.ɵɵproperty("customComponent", ctx_r1.tableConfig().colConfig[
|
|
159
|
+
i0.ɵɵproperty("customComponent", ctx_r1.tableConfig().colConfig[colIndex_r13].componentRef)("data", col_r12);
|
|
157
160
|
} }
|
|
158
161
|
function TableComponent_div_7_div_2_mis_actions_cell_4_Template(rf, ctx) { if (rf & 1) {
|
|
159
162
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
160
|
-
i0.ɵɵelementStart(0, "mis-actions-cell",
|
|
163
|
+
i0.ɵɵelementStart(0, "mis-actions-cell", 41);
|
|
161
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)); });
|
|
162
165
|
i0.ɵɵelementEnd();
|
|
163
166
|
} if (rf & 2) {
|
|
164
167
|
let tmp_11_0;
|
|
165
168
|
const ctx_r15 = i0.ɵɵnextContext();
|
|
166
169
|
const col_r12 = ctx_r15.$implicit;
|
|
167
|
-
const
|
|
170
|
+
const colIndex_r13 = ctx_r15.index;
|
|
168
171
|
const row_r18 = i0.ɵɵnextContext().$implicit;
|
|
169
172
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
170
|
-
i0.ɵɵproperty("cellData", col_r12)("config", ctx_r1.tableConfig().colConfig[
|
|
173
|
+
i0.ɵɵproperty("cellData", col_r12)("config", ctx_r1.tableConfig().colConfig[colIndex_r13])("ngClass", i0.ɵɵpureFunction1(3, _c13, (((tmp_11_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_11_0.actionType) === "checkbox" || ((tmp_11_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_11_0.actionType) === "row-collapse") && ctx_r1.isRowDisabled(row_r18)));
|
|
171
174
|
} }
|
|
172
175
|
function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
173
176
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
174
|
-
i0.ɵɵelementStart(0, "div",
|
|
175
|
-
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
|
|
176
|
-
i0.ɵɵelementStart(1, "div",
|
|
177
|
-
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_div_2_Template, 4, 9, "div",
|
|
177
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
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); });
|
|
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);
|
|
178
181
|
i0.ɵɵelementEnd()();
|
|
179
182
|
} if (rf & 2) {
|
|
180
183
|
let tmp_8_0;
|
|
@@ -183,22 +186,22 @@ function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
183
186
|
let tmp_12_0;
|
|
184
187
|
let tmp_13_0;
|
|
185
188
|
let tmp_14_0;
|
|
186
|
-
const
|
|
189
|
+
const colIndex_r13 = ctx.index;
|
|
187
190
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
188
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(8, _c8, ((tmp_8_0 = ctx_r1.tableConfig()) == null ? null : tmp_8_0.colConfig[
|
|
191
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(8, _c8, ((tmp_8_0 = ctx_r1.tableConfig()) == null ? null : tmp_8_0.colConfig[colIndex_r13] == null ? null : tmp_8_0.colConfig[colIndex_r13].style == null ? null : tmp_8_0.colConfig[colIndex_r13].style.width) || ((tmp_8_0 = ctx_r1.tableConfig()) == null ? null : tmp_8_0.colHeaderConfig[colIndex_r13] == null ? null : tmp_8_0.colHeaderConfig[colIndex_r13].style == null ? null : tmp_8_0.colHeaderConfig[colIndex_r13].style.width) || ""))("ngClass", i0.ɵɵpureFunction1(10, _c9, ctx_r1.tableConfig().cellHover));
|
|
189
192
|
i0.ɵɵadvance();
|
|
190
|
-
i0.ɵɵstyleMap((tmp_10_0 = ctx_r1.tableConfig().colConfig[
|
|
191
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(12, _c10, ((tmp_11_0 = ctx_r1.tableConfig().colConfig[
|
|
193
|
+
i0.ɵɵstyleMap((tmp_10_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_10_0.style);
|
|
194
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(12, _c10, ((tmp_11_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_11_0.action) ? "pointer" : "default", ((tmp_11_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_11_0.style == null ? null : tmp_11_0.style.justifyContent) ? (tmp_11_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_11_0.style == null ? null : tmp_11_0.style.justifyContent : ((tmp_11_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_11_0.type) === "number" ? "flex-end" : "space-between"));
|
|
192
195
|
i0.ɵɵadvance();
|
|
193
|
-
i0.ɵɵproperty("ngIf", ((tmp_12_0 = ctx_r1.tableConfig().colConfig[
|
|
196
|
+
i0.ɵɵproperty("ngIf", ((tmp_12_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_12_0.type) !== "custom" && ((tmp_12_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_12_0.type) !== "actions");
|
|
194
197
|
i0.ɵɵadvance();
|
|
195
|
-
i0.ɵɵproperty("ngIf", ((tmp_13_0 = ctx_r1.tableConfig().colConfig[
|
|
198
|
+
i0.ɵɵproperty("ngIf", ((tmp_13_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_13_0.type) === "custom");
|
|
196
199
|
i0.ɵɵadvance();
|
|
197
|
-
i0.ɵɵproperty("ngIf", ((tmp_14_0 = ctx_r1.tableConfig().colConfig[
|
|
200
|
+
i0.ɵɵproperty("ngIf", ((tmp_14_0 = ctx_r1.tableConfig().colConfig[colIndex_r13]) == null ? null : tmp_14_0.type) === "actions");
|
|
198
201
|
} }
|
|
199
202
|
function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
200
203
|
i0.ɵɵelementContainerStart(0);
|
|
201
|
-
i0.ɵɵelementStart(1, "div",
|
|
204
|
+
i0.ɵɵelementStart(1, "div", 43);
|
|
202
205
|
i0.ɵɵtext(2, " Loading... ");
|
|
203
206
|
i0.ɵɵelementEnd();
|
|
204
207
|
i0.ɵɵelementContainerEnd();
|
|
@@ -208,7 +211,7 @@ function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf &
|
|
|
208
211
|
} }
|
|
209
212
|
function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
210
213
|
i0.ɵɵelementContainerStart(0);
|
|
211
|
-
i0.ɵɵelementStart(1, "div",
|
|
214
|
+
i0.ɵɵelementStart(1, "div", 43);
|
|
212
215
|
i0.ɵɵtext(2, " No Data Available... ");
|
|
213
216
|
i0.ɵɵelementEnd();
|
|
214
217
|
i0.ɵɵelementContainerEnd();
|
|
@@ -218,33 +221,33 @@ function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf &
|
|
|
218
221
|
} }
|
|
219
222
|
function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
220
223
|
i0.ɵɵelementContainerStart(0);
|
|
221
|
-
i0.ɵɵelement(1, "sub-table",
|
|
224
|
+
i0.ɵɵelement(1, "sub-table", 44);
|
|
222
225
|
i0.ɵɵelementContainerEnd();
|
|
223
226
|
} if (rf & 2) {
|
|
224
227
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
225
228
|
i0.ɵɵadvance();
|
|
226
|
-
i0.ɵɵproperty("config", ctx_r1.subTableconfig)("tableData", ctx_r1.subTableData);
|
|
229
|
+
i0.ɵɵproperty("config", ctx_r1.subTableconfig())("tableData", ctx_r1.subTableData());
|
|
227
230
|
} }
|
|
228
231
|
function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
229
|
-
i0.ɵɵelementStart(0, "div",
|
|
230
|
-
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);
|
|
231
234
|
i0.ɵɵelementEnd();
|
|
232
235
|
} if (rf & 2) {
|
|
233
236
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
234
237
|
i0.ɵɵadvance();
|
|
235
|
-
i0.ɵɵproperty("ngIf", ctx_r1.subTableDataLoading);
|
|
238
|
+
i0.ɵɵproperty("ngIf", ctx_r1.subTableDataLoading());
|
|
236
239
|
i0.ɵɵadvance();
|
|
237
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading && ctx_r1.subTableData.length === 0);
|
|
240
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading() && ctx_r1.subTableData().length === 0);
|
|
238
241
|
i0.ɵɵadvance();
|
|
239
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading && ctx_r1.subTableData.length > 0);
|
|
242
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading() && ctx_r1.subTableData().length > 0);
|
|
240
243
|
} }
|
|
241
244
|
function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
242
245
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
243
|
-
i0.ɵɵelementStart(0, "div",
|
|
246
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "div", 31);
|
|
244
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)); });
|
|
245
|
-
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);
|
|
246
249
|
i0.ɵɵelementEnd();
|
|
247
|
-
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);
|
|
248
251
|
i0.ɵɵelementEnd();
|
|
249
252
|
} if (rf & 2) {
|
|
250
253
|
let tmp_7_0;
|
|
@@ -258,25 +261,34 @@ function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
258
261
|
i0.ɵɵadvance();
|
|
259
262
|
i0.ɵɵproperty("ngForOf", row_r18);
|
|
260
263
|
i0.ɵɵadvance();
|
|
261
|
-
i0.ɵɵproperty("ngIf", ((tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.canExpand) && ctx_r1.expandedIndex === i_r9);
|
|
264
|
+
i0.ɵɵproperty("ngIf", ((tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.canExpand) && ctx_r1.expandedIndex() === i_r9);
|
|
262
265
|
} }
|
|
263
|
-
function
|
|
266
|
+
function TableComponent_Conditional_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
264
267
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
265
|
-
i0.ɵɵelementStart(0, "
|
|
266
|
-
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)); });
|
|
267
280
|
i0.ɵɵtext(1);
|
|
268
281
|
i0.ɵɵelementEnd();
|
|
269
282
|
} if (rf & 2) {
|
|
270
|
-
|
|
271
|
-
const pageNumber_r21 = i0.ɵɵnextContext().$implicit;
|
|
283
|
+
const pageNumber_r22 = i0.ɵɵnextContext().$implicit;
|
|
272
284
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
273
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c15,
|
|
285
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c15, pageNumber_r22 === ctx_r1.selectedPage()));
|
|
274
286
|
i0.ɵɵadvance();
|
|
275
|
-
i0.ɵɵtextInterpolate(
|
|
287
|
+
i0.ɵɵtextInterpolate(pageNumber_r22);
|
|
276
288
|
} }
|
|
277
|
-
function
|
|
278
|
-
i0.ɵɵelementStart(0, "span",
|
|
279
|
-
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);
|
|
280
292
|
i0.ɵɵelementEnd()();
|
|
281
293
|
} if (rf & 2) {
|
|
282
294
|
i0.ɵɵadvance();
|
|
@@ -286,59 +298,60 @@ function TableComponent_div_8_ng_container_7_div_1_span_2_Template(rf, ctx) { if
|
|
|
286
298
|
i0.ɵɵadvance();
|
|
287
299
|
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(5, _c17));
|
|
288
300
|
} }
|
|
289
|
-
function
|
|
301
|
+
function TableComponent_Conditional_9_ng_container_8_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
290
302
|
i0.ɵɵelementStart(0, "div");
|
|
291
|
-
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);
|
|
292
304
|
i0.ɵɵelementEnd();
|
|
293
305
|
} if (rf & 2) {
|
|
294
|
-
const
|
|
306
|
+
const pageNumber_r22 = ctx.$implicit;
|
|
295
307
|
i0.ɵɵadvance();
|
|
296
|
-
i0.ɵɵproperty("ngIf",
|
|
308
|
+
i0.ɵɵproperty("ngIf", pageNumber_r22 != 0);
|
|
297
309
|
i0.ɵɵadvance();
|
|
298
|
-
i0.ɵɵproperty("ngIf",
|
|
310
|
+
i0.ɵɵproperty("ngIf", pageNumber_r22 == 0);
|
|
299
311
|
} }
|
|
300
|
-
function
|
|
312
|
+
function TableComponent_Conditional_9_ng_container_8_Template(rf, ctx) { if (rf & 1) {
|
|
301
313
|
i0.ɵɵelementContainerStart(0);
|
|
302
|
-
i0.ɵɵtemplate(1,
|
|
314
|
+
i0.ɵɵtemplate(1, TableComponent_Conditional_9_ng_container_8_div_1_Template, 3, 2, "div", 53);
|
|
303
315
|
i0.ɵɵelementContainerEnd();
|
|
304
316
|
} if (rf & 2) {
|
|
305
317
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
306
318
|
i0.ɵɵadvance();
|
|
307
319
|
i0.ɵɵproperty("ngForOf", ctx_r1.pages());
|
|
308
320
|
} }
|
|
309
|
-
function
|
|
321
|
+
function TableComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
310
322
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
311
|
-
i0.ɵɵelementStart(0, "div",
|
|
323
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "p", 45);
|
|
312
324
|
i0.ɵɵtext(2);
|
|
313
325
|
i0.ɵɵelementEnd();
|
|
314
|
-
i0.ɵɵ
|
|
315
|
-
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)); });
|
|
316
329
|
i0.ɵɵnamespaceSVG();
|
|
317
|
-
i0.ɵɵelementStart(
|
|
318
|
-
i0.ɵɵelement(
|
|
330
|
+
i0.ɵɵelementStart(6, "svg", 49);
|
|
331
|
+
i0.ɵɵelement(7, "path", 50);
|
|
319
332
|
i0.ɵɵelementEnd()();
|
|
320
|
-
i0.ɵɵtemplate(
|
|
333
|
+
i0.ɵɵtemplate(8, TableComponent_Conditional_9_ng_container_8_Template, 2, 1, "ng-container", 19);
|
|
321
334
|
i0.ɵɵnamespaceHTML();
|
|
322
|
-
i0.ɵɵelementStart(
|
|
323
|
-
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)); });
|
|
324
337
|
i0.ɵɵnamespaceSVG();
|
|
325
|
-
i0.ɵɵelementStart(
|
|
326
|
-
i0.ɵɵelement(
|
|
338
|
+
i0.ɵɵelementStart(10, "svg", 49);
|
|
339
|
+
i0.ɵɵelement(11, "path", 51);
|
|
327
340
|
i0.ɵɵelementEnd()()()();
|
|
328
341
|
} if (rf & 2) {
|
|
329
|
-
let tmp_2_0;
|
|
330
|
-
let tmp_3_0;
|
|
331
|
-
let tmp_4_0;
|
|
332
342
|
let tmp_5_0;
|
|
343
|
+
let tmp_6_0;
|
|
333
344
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
334
345
|
i0.ɵɵadvance(2);
|
|
335
|
-
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);
|
|
336
349
|
i0.ɵɵadvance(2);
|
|
337
|
-
i0.ɵɵclassProp("page-nav-inactive",
|
|
350
|
+
i0.ɵɵclassProp("page-nav-inactive", ctx_r1.selectedPage() === 1);
|
|
338
351
|
i0.ɵɵadvance(3);
|
|
339
|
-
i0.ɵɵproperty("ngIf", !((
|
|
352
|
+
i0.ɵɵproperty("ngIf", !((tmp_5_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_5_0.disablePageJumping));
|
|
340
353
|
i0.ɵɵadvance();
|
|
341
|
-
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));
|
|
342
355
|
} }
|
|
343
356
|
class TableComponent {
|
|
344
357
|
constructor(renderer) {
|
|
@@ -358,7 +371,22 @@ class TableComponent {
|
|
|
358
371
|
// Pagination related variables
|
|
359
372
|
this.pages = signal([]);
|
|
360
373
|
this.tableLength = signal(0);
|
|
374
|
+
this.selectedPage = signal(1); // Internal state for selected page
|
|
361
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: "" });
|
|
362
390
|
// Convert inputs to signal-based inputs
|
|
363
391
|
this.tableConfig = input();
|
|
364
392
|
this.subTableconfig = input();
|
|
@@ -376,6 +404,92 @@ class TableComponent {
|
|
|
376
404
|
this.multiColumnSort = signal([]);
|
|
377
405
|
this.sortChange = output();
|
|
378
406
|
this.headerAction = output();
|
|
407
|
+
effect(() => {
|
|
408
|
+
this.tableLength.set(this.tableData()?.length ?? 0);
|
|
409
|
+
const config = this.tableConfig();
|
|
410
|
+
if (config && config.activeRowIndex !== null && config.activeRowIndex !== undefined) {
|
|
411
|
+
const activeRowIndex = config.activeRowIndex;
|
|
412
|
+
this.activeRowIndex.set(Array.isArray(activeRowIndex) ? activeRowIndex : [activeRowIndex]);
|
|
413
|
+
}
|
|
414
|
+
if (this.rowCollapseConfigIndex() !== -1) {
|
|
415
|
+
this.buildExpandedMap();
|
|
416
|
+
}
|
|
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
|
+
}
|
|
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
|
+
// });
|
|
379
493
|
}
|
|
380
494
|
// Function to handle row click
|
|
381
495
|
selectRow(index) {
|
|
@@ -418,16 +532,21 @@ class TableComponent {
|
|
|
418
532
|
}
|
|
419
533
|
buildExpandedMap() {
|
|
420
534
|
const newExpandedMap = {};
|
|
535
|
+
const collapseIndex = this.rowCollapseConfigIndex();
|
|
421
536
|
this.tableData().forEach((row, rowIndex) => {
|
|
422
|
-
newExpandedMap[`${rowIndex}`] =
|
|
423
|
-
row[this.rowCollapseConfigIndex()];
|
|
537
|
+
newExpandedMap[`${rowIndex}`] = row[collapseIndex];
|
|
424
538
|
});
|
|
425
539
|
this.expandedMap.set(newExpandedMap);
|
|
426
540
|
}
|
|
427
541
|
ngAfterViewInit() {
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
542
|
+
// ViewChild is now available - manually trigger height calculation once
|
|
543
|
+
// The effect in constructor will handle subsequent config changes
|
|
544
|
+
const config = this.tableConfig();
|
|
545
|
+
if (config?.paginationConfig && this.table?.nativeElement) {
|
|
546
|
+
const height = config.height;
|
|
547
|
+
const result = height - 56;
|
|
548
|
+
const finalHeight = result + "px";
|
|
549
|
+
this.renderer.setStyle(this.table.nativeElement, "height", finalHeight);
|
|
431
550
|
}
|
|
432
551
|
}
|
|
433
552
|
ngOnChanges() {
|
|
@@ -498,6 +617,9 @@ class TableComponent {
|
|
|
498
617
|
// Pagination related functions
|
|
499
618
|
initializePagination() {
|
|
500
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);
|
|
501
623
|
let len = this.tableConfig().paginationConfig.noOfPages;
|
|
502
624
|
if (len <= 7) {
|
|
503
625
|
const newPages = [];
|
|
@@ -515,9 +637,11 @@ class TableComponent {
|
|
|
515
637
|
// Guard clause to prevent out-of-range updates
|
|
516
638
|
if (pageNumber < 1 || pageNumber > this.tableConfig().paginationConfig.noOfPages)
|
|
517
639
|
return;
|
|
640
|
+
// Update internal selectedPage state immediately
|
|
641
|
+
this.selectedPage.set(pageNumber);
|
|
518
642
|
// Reset header checkbox when navigating to a different page
|
|
519
643
|
this.selectAllCheckbox.set(false);
|
|
520
|
-
//
|
|
644
|
+
// Update page numbers display for pagination with many pages
|
|
521
645
|
let len = this.tableConfig().paginationConfig.noOfPages;
|
|
522
646
|
if (len > 7) {
|
|
523
647
|
if (pageNumber - 2 <= 1) {
|
|
@@ -530,6 +654,7 @@ class TableComponent {
|
|
|
530
654
|
this.pages.set([1, 0, len - 3, len - 2, len - 1, len]);
|
|
531
655
|
}
|
|
532
656
|
}
|
|
657
|
+
// Emit to parent so they can update their config
|
|
533
658
|
this.pageSelected.emit(pageNumber);
|
|
534
659
|
}
|
|
535
660
|
// Main container related functions
|
|
@@ -649,6 +774,17 @@ class TableComponent {
|
|
|
649
774
|
});
|
|
650
775
|
}
|
|
651
776
|
}
|
|
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
|
+
}
|
|
652
788
|
static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
653
789
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["mis-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
654
790
|
i0.ɵɵviewQuery(_c0$3, 5);
|
|
@@ -659,7 +795,7 @@ class TableComponent {
|
|
|
659
795
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
660
796
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
|
|
661
797
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.colHeaders = _t);
|
|
662
|
-
} }, 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) {
|
|
663
799
|
i0.ɵɵelementStart(0, "div", 4);
|
|
664
800
|
i0.ɵɵtemplate(1, TableComponent_mis_table_filter_1_Template, 2, 2, "mis-table-filter", 5);
|
|
665
801
|
i0.ɵɵelementStart(2, "div", 6, 0)(4, "div", 7);
|
|
@@ -668,11 +804,11 @@ class TableComponent {
|
|
|
668
804
|
i0.ɵɵelementStart(6, "div", 9);
|
|
669
805
|
i0.ɵɵtemplate(7, TableComponent_div_7_Template, 4, 11, "div", 10);
|
|
670
806
|
i0.ɵɵelementEnd()();
|
|
671
|
-
i0.ɵɵ
|
|
672
|
-
i0.ɵɵ
|
|
807
|
+
i0.ɵɵelementStart(8, "div", 11);
|
|
808
|
+
i0.ɵɵtemplate(9, TableComponent_Conditional_9_Template, 12, 9, "div", 12);
|
|
809
|
+
i0.ɵɵelementEnd()();
|
|
673
810
|
} if (rf & 2) {
|
|
674
811
|
let tmp_5_0;
|
|
675
|
-
let tmp_7_0;
|
|
676
812
|
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(7, _c3$1, ctx.getContainerHeight(), ctx.getContainerWidth(), ctx.tableConfig().canScrollHorizontally ? "auto" : "unset"));
|
|
677
813
|
i0.ɵɵadvance();
|
|
678
814
|
i0.ɵɵproperty("ngIf", ctx.showFilter());
|
|
@@ -684,13 +820,13 @@ class TableComponent {
|
|
|
684
820
|
i0.ɵɵproperty("ngForOf", (tmp_5_0 = ctx.tableConfig()) == null ? null : tmp_5_0.colHeaderConfig);
|
|
685
821
|
i0.ɵɵadvance(2);
|
|
686
822
|
i0.ɵɵproperty("ngForOf", ctx.tableData());
|
|
687
|
-
i0.ɵɵadvance();
|
|
688
|
-
i0.ɵɵ
|
|
689
|
-
} }, 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}}"] }); }
|
|
690
826
|
}
|
|
691
827
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
692
828
|
type: Component,
|
|
693
|
-
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 <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[i]?.action && tableConfig()?.colConfig[i]?.actionType !== 'checkbox' ? tableConfig()?.colConfig[i]?.action(col) : null\"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: tableConfig()?.colConfig[i]?.style?.width || tableConfig()?.colHeaderConfig[i]?.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[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: tableConfig().colConfig[i]?.action ? 'pointer' : 'default',\n 'justify-content': tableConfig().colConfig[i]?.style?.justifyContent\n ? tableConfig().colConfig[i]?.style?.justifyContent\n : tableConfig().colConfig[i]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <div\n *ngIf=\"tableConfig().colConfig[i]?.type !== 'custom' && tableConfig().colConfig[i]?.type !== 'actions'\"\n [ngStyle]=\"{\n color: tableConfig()?.colConfig[i]?.style?.color || '',\n '--collapsed-lines': previewLines || 3\n }\"\n [ngClass]=\"{\n 'collapsed-cell': collapseColIndex == i && expandedMap[rowIndex]\n }\"\n class=\"t-col-text\"\n >\n <!-- Render as HTML -->\n <ng-container *ngIf=\"tableConfig().colConfig[i]?.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\n \n <ng-template\n *ngIf=\"tableConfig().colConfig[i]?.type === 'custom'\"\n [customComponent]=\"tableConfig().colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n <mis-actions-cell\n *ngIf=\"tableConfig().colConfig[i]?.type === 'actions'\"\n [cellData]=\"col\"\n [config]=\"tableConfig().colConfig[i]\"\n (actionClick)=\"onActionClick($event, rowIndex)\"\n [ngClass]=\"{\n 'disable-actions': (tableConfig().colConfig[i]?.actionType === 'checkbox' || tableConfig().colConfig[i]?.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){.collapsed-cell{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--collapsed-lines, 2);white-space:normal!important}}\n"] }]
|
|
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"] }]
|
|
694
830
|
}], () => [{ type: i0.Renderer2 }], { filter: [{
|
|
695
831
|
type: ViewChild,
|
|
696
832
|
args: ["filter"]
|
|
@@ -864,8 +1000,21 @@ class SubTableComponent {
|
|
|
864
1000
|
}
|
|
865
1001
|
ngOnInit() { }
|
|
866
1002
|
ngAfterViewInit() {
|
|
867
|
-
|
|
868
|
-
|
|
1003
|
+
const config = this.config();
|
|
1004
|
+
if (!config?.paginationConfig)
|
|
1005
|
+
return; // ← Only set height if pagination exists (same as old code)
|
|
1006
|
+
const rawHeight = config.height;
|
|
1007
|
+
// Handle percentage values - use calc() to subtract 56px
|
|
1008
|
+
if (typeof rawHeight === 'string' && rawHeight.includes('%')) {
|
|
1009
|
+
const calcHeight = `calc(${rawHeight} - 56px)`;
|
|
1010
|
+
this.renderer.setStyle(this.table.nativeElement, "height", calcHeight);
|
|
1011
|
+
}
|
|
1012
|
+
else {
|
|
1013
|
+
// Handle pixel values - subtract 56px (same as old code)
|
|
1014
|
+
const result = rawHeight - 56;
|
|
1015
|
+
const finalHeight = result + "px";
|
|
1016
|
+
this.renderer.setStyle(this.table.nativeElement, "height", finalHeight);
|
|
1017
|
+
}
|
|
869
1018
|
}
|
|
870
1019
|
// Main container related functions
|
|
871
1020
|
getContainerHeight() {
|
|
@@ -919,12 +1068,12 @@ class SubTableComponent {
|
|
|
919
1068
|
i0.ɵɵstyleProp("overflow", "overlay")("height", ctx.config().dataContainerMaxHeight || "400px");
|
|
920
1069
|
i0.ɵɵproperty("minBufferPx", ctx.config().dataContainerMaxHeight || "400")("maxBufferPx", ctx.config().dataContainerMaxHeight + 200 || "600");
|
|
921
1070
|
i0.ɵɵadvance();
|
|
922
|
-
i0.ɵɵproperty("cdkVirtualForOf", ctx.tableData);
|
|
1071
|
+
i0.ɵɵproperty("cdkVirtualForOf", ctx.tableData());
|
|
923
1072
|
} }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle, i2.CdkFixedSizeVirtualScroll, i2.CdkVirtualForOf, i2.CdkVirtualScrollViewport, CustomTableCellDirective], styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif}#table-container[_ngcontent-%COMP%]{height:inherit}#col-headers-container[_ngcontent-%COMP%]{display:flex;background-color:var(--bg-primary, #FFFFFF);height:36px;border-bottom:1px solid var(--border-primary, #E0E0E0)}#data-container[_ngcontent-%COMP%]{overflow:scroll;width:100%}#data-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px}#data-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB)}.col-header[_ngcontent-%COMP%]{height:100%;width:160px;display:flex;align-items:center;padding:0 16px}.col-header-text[_ngcontent-%COMP%]{font-style:normal;font-weight:700;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.25px;margin:0}.t-row[_ngcontent-%COMP%]{display:flex;align-items:center;height:36px;width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row[_ngcontent-%COMP%]:hover{background-color:var(--brand-success-lightest, #F1FFF3)}.t-col-container[_ngcontent-%COMP%]{padding:0 16px;height:100%}.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;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:flex;align-items:center;letter-spacing:.2px;margin:0}"] }); }
|
|
924
1073
|
}
|
|
925
1074
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubTableComponent, [{
|
|
926
1075
|
type: Component,
|
|
927
|
-
args: [{ selector: "sub-table", template: "<div\n id=\"main-container\"\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth()\n }\"\n>\n <div id=\"table-container\" #table>\n <div\n id=\"col-headers-container\"\n *ngIf=\"!!config().showHeader\"\n [ngStyle]=\"{\n height: getColHeadersRowHeight(),\n 'border-top': getColHeadersRowBorderTop(),\n 'border-bottom': getColHeadersRowBorderBottom()\n }\"\n >\n <div\n class=\"col-header\"\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config()?.colHeaderConfig\"\n [style]=\"colHeader?.style\"\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'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <ng-template\n *ngIf=\"colHeader?.type === 'custom'\"\n customTableCell\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n ></ng-template>\n </div>\n </div>\n <div>\n <cdk-virtual-scroll-viewport\n [minBufferPx]=\"config().dataContainerMaxHeight || '400'\"\n [maxBufferPx]=\"config().dataContainerMaxHeight + 200 || '600'\"\n [style.overflow]=\"'overlay'\"\n [style.height]=\"config().dataContainerMaxHeight || '400px'\"\n itemSize=\"50\"\n id=\"data-container\"\n >\n <div\n class=\"row-wrapper\"\n *cdkVirtualFor=\"let row of tableData; let i = index\"\n [ngStyle]=\"{\n backgroundColor: i % 2 === 0 ? '#FAFAFA' : null
|
|
1076
|
+
args: [{ selector: "sub-table", template: "<div\n id=\"main-container\"\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth()\n }\"\n>\n <div id=\"table-container\" #table>\n <div\n id=\"col-headers-container\"\n *ngIf=\"!!config().showHeader\"\n [ngStyle]=\"{\n height: getColHeadersRowHeight(),\n 'border-top': getColHeadersRowBorderTop(),\n 'border-bottom': getColHeadersRowBorderBottom()\n }\"\n >\n <div\n class=\"col-header\"\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config()?.colHeaderConfig\"\n [style]=\"colHeader?.style\"\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'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <ng-template\n *ngIf=\"colHeader?.type === 'custom'\"\n customTableCell\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n ></ng-template>\n </div>\n </div>\n <div>\n <cdk-virtual-scroll-viewport\n [minBufferPx]=\"config().dataContainerMaxHeight || '400'\"\n [maxBufferPx]=\"config().dataContainerMaxHeight + 200 || '600'\"\n [style.overflow]=\"'overlay'\"\n [style.height]=\"config().dataContainerMaxHeight || '400px'\"\n itemSize=\"50\"\n id=\"data-container\"\n >\n \n <div\n class=\"row-wrapper\"\n *cdkVirtualFor=\"let row of tableData(); let i = index\"\n [ngStyle]=\"{\n backgroundColor: i % 2 === 0 ? '#FAFAFA' : null,\n }\"\n >\n <div class=\"t-row\">\n <div\n (click)=\"config()?.colConfig[i]?.action ? config()?.colConfig[i]?.action(col) : null\"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: config()?.colConfig[i]?.style?.width || config()?.colHeaderConfig[i]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n >\n <div\n class=\"t-col\"\n [style]=\"config().colConfig[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: config().colConfig[i].action ? 'pointer' : 'default',\n 'justify-content': config().colConfig[i]?.style?.justifyContent\n ? config().colConfig[i]?.style?.justifyContent\n : config().colConfig[i].type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p\n *ngIf=\"config().colConfig[i].type !== 'custom'\"\n [ngStyle]=\"{\n color: config()?.colConfig[i]?.style?.color ? config()?.colConfig[i]?.style?.color : ''\n }\"\n class=\"t-col-text\"\n >\n {{ col }}\n </p>\n <ng-template\n *ngIf=\"config().colConfig[i].type === 'custom'\"\n [customComponent]=\"config().colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif}#table-container{height:inherit}#col-headers-container{display:flex;background-color:var(--bg-primary, #FFFFFF);height:36px;border-bottom:1px solid var(--border-primary, #E0E0E0)}#data-container{overflow:scroll;width:100%}#data-container::-webkit-scrollbar{width:8px}#data-container::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB)}.col-header{height:100%;width:160px;display:flex;align-items:center;padding:0 16px}.col-header-text{font-style:normal;font-weight:700;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.25px;margin:0}.t-row{display:flex;align-items:center;height:36px;width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row:hover{background-color:var(--brand-success-lightest, #F1FFF3)}.t-col-container{padding:0 16px;height:100%}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:flex;align-items:center;letter-spacing:.2px;margin:0}\n"] }]
|
|
928
1077
|
}], () => [{ type: i0.Renderer2 }], { table: [{
|
|
929
1078
|
type: ViewChild,
|
|
930
1079
|
args: ["table"]
|
|
@@ -1136,6 +1285,18 @@ class SortIconsDirective {
|
|
|
1136
1285
|
this.multiSortChange = output();
|
|
1137
1286
|
// Internal state as signals
|
|
1138
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
|
+
});
|
|
1139
1300
|
}
|
|
1140
1301
|
ngOnInit() {
|
|
1141
1302
|
// Create a container for the icons
|
|
@@ -1231,10 +1392,17 @@ class SortIconsDirective {
|
|
|
1231
1392
|
}
|
|
1232
1393
|
}
|
|
1233
1394
|
updateSingleColumnIconStyles() {
|
|
1234
|
-
|
|
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 !== '');
|
|
1235
1401
|
setTimeout(() => {
|
|
1236
|
-
|
|
1237
|
-
|
|
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');
|
|
1238
1406
|
}, 0);
|
|
1239
1407
|
}
|
|
1240
1408
|
updateMultiColumnIconStyles() {
|
|
@@ -1656,7 +1824,7 @@ class TableModule {
|
|
|
1656
1824
|
}
|
|
1657
1825
|
static { this.ɵfac = function TableModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableModule)(); }; }
|
|
1658
1826
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TableModule }); }
|
|
1659
|
-
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] }); }
|
|
1660
1828
|
}
|
|
1661
1829
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableModule, [{
|
|
1662
1830
|
type: NgModule,
|
|
@@ -1669,7 +1837,7 @@ class TableModule {
|
|
|
1669
1837
|
SortIconsDirective,
|
|
1670
1838
|
ActionsCellComponent
|
|
1671
1839
|
],
|
|
1672
|
-
imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule],
|
|
1840
|
+
imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule, DropdownModule],
|
|
1673
1841
|
exports: [
|
|
1674
1842
|
TableComponent,
|
|
1675
1843
|
SubTableComponent,
|
|
@@ -1685,13 +1853,13 @@ class TableModule {
|
|
|
1685
1853
|
TableFilterComponent,
|
|
1686
1854
|
CustomTableCellDirective,
|
|
1687
1855
|
SortIconsDirective,
|
|
1688
|
-
ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule], exports: [TableComponent,
|
|
1856
|
+
ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule, DropdownModule], exports: [TableComponent,
|
|
1689
1857
|
SubTableComponent,
|
|
1690
1858
|
TableFilterComponent,
|
|
1691
1859
|
CustomTableCellDirective,
|
|
1692
1860
|
SortIconsDirective,
|
|
1693
1861
|
ActionsCellComponent] }); })();
|
|
1694
|
-
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,
|
|
1695
1863
|
TableFilterComponent,
|
|
1696
1864
|
CustomTableCellDirective,
|
|
1697
1865
|
SortIconsDirective,
|