mis-crystal-design-system 18.0.18 → 18.0.19-test-1

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.
@@ -1,295 +1,606 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Output, ViewChild, ViewChildren, Input, Directive, input, output, signal, HostListener, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, HostListener, ViewChild, ViewChildren, Directive, input, output, signal, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
- import * as i2 from '@angular/cdk/scrolling';
6
- import { ScrollingModule } from '@angular/cdk/scrolling';
7
- import * as i2$1 from 'mis-crystal-design-system/checkbox';
5
+ import * as i2 from 'mis-crystal-design-system/checkbox';
8
6
  import { CheckboxModule } from 'mis-crystal-design-system/checkbox';
7
+ import * as i2$1 from '@angular/cdk/scrolling';
8
+ import { ScrollingModule } from '@angular/cdk/scrolling';
9
9
 
10
- const _c0$3 = ["filter"];
11
- const _c1$2 = ["table"];
12
- const _c2$2 = ["colHeaderRef"];
13
- const _c3$1 = (a0, a1, a2) => ({ height: a0, width: a1, "overflow-x": a2 });
14
- const _c4$1 = (a0, a1, a2) => ({ "no-scrollbar": a0, scrollbar: a1, "scroll-horizontally": a2 });
15
- const _c5$1 = (a0, a1, a2) => ({ width: a0, cursor: a1, "justify-content": a2 });
16
- const _c6$1 = (a0, a1) => ({ "t-row-hover": a0, "active-row": a1 });
17
- const _c7$1 = a0 => ({ "min-height": a0 });
18
- const _c8 = a0 => ({ width: a0 });
19
- const _c9 = a0 => ({ "t-col-container-hover": a0 });
20
- const _c10 = (a0, a1) => ({ width: "100%", cursor: a0, "justify-content": a1 });
21
- const _c11 = a0 => ({ color: a0 });
22
- const _c12 = a0 => ({ "text-ellipsis": a0 });
23
- const _c13 = a0 => ({ "disable-actions": a0 });
24
- const _c14 = () => ({ display: "flex", justifyContent: "center", alignItems: "center", padding: "16px" });
25
- const _c15 = a0 => ({ "page-active": a0 });
26
- const _c16 = () => ({ display: "flex" });
27
- const _c17 = () => ({ "margin-right": "4px" });
28
- function TableComponent_mis_table_filter_1_Template(rf, ctx) { if (rf & 1) {
10
+ const _c0$3 = a0 => ({ disabled: a0 });
11
+ function ActionsCellComponent_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
29
12
  const _r1 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementStart(0, "mis-table-filter", 11, 1);
31
- 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)); });
32
- i0.ɵɵelementEnd();
33
- } if (rf & 2) {
34
- const ctx_r1 = i0.ɵɵnextContext();
35
- i0.ɵɵproperty("containerStyles", ctx_r1.filterContainerStyles)("filtersData", ctx_r1.filterData);
36
- } }
37
- function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
38
- i0.ɵɵelementStart(0, "p", 18);
39
- i0.ɵɵtext(1);
13
+ i0.ɵɵelementStart(0, "div", 7);
14
+ i0.ɵɵlistener("click", function ActionsCellComponent_div_1_div_1_Template_div_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onActionClick(item_r2, $event)); });
15
+ i0.ɵɵelement(1, "img", 8);
40
16
  i0.ɵɵelementEnd();
41
17
  } if (rf & 2) {
42
- const colHeader_r4 = i0.ɵɵnextContext().$implicit;
18
+ const item_r2 = ctx.$implicit;
19
+ const ctx_r2 = i0.ɵɵnextContext(2);
20
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0$3, ctx_r2.isDisabled(item_r2)));
43
21
  i0.ɵɵadvance();
44
- i0.ɵɵtextInterpolate1(" ", (colHeader_r4 == null ? null : colHeader_r4.data) || " ", " ");
45
- } }
46
- function TableComponent_div_5_span_3_span_1_Template(rf, ctx) { if (rf & 1) {
47
- i0.ɵɵelement(0, "span", 23);
22
+ i0.ɵɵproperty("src", item_r2.icon, i0.ɵɵsanitizeUrl)("alt", item_r2.label);
48
23
  } }
49
- function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
50
- const _r5 = i0.ɵɵgetCurrentView();
51
- i0.ɵɵelementStart(0, "span", 19);
52
- 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 = colHeader_r4.filters; ctx_r1.toggleFilter(colHeader_r4.data); return i0.ɵɵresetView($event.stopPropagation()); });
53
- i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span", 20);
54
- i0.ɵɵnamespaceSVG();
55
- i0.ɵɵelementStart(2, "svg", 21);
56
- i0.ɵɵelement(3, "path", 22);
57
- i0.ɵɵelementEnd()();
24
+ function ActionsCellComponent_div_1_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "div", 5);
26
+ i0.ɵɵtemplate(1, ActionsCellComponent_div_1_div_1_Template, 2, 5, "div", 6);
27
+ i0.ɵɵelementEnd();
58
28
  } if (rf & 2) {
59
- const colHeader_r4 = i0.ɵɵnextContext().$implicit;
60
- const ctx_r1 = i0.ɵɵnextContext();
29
+ const ctx_r2 = i0.ɵɵnextContext();
61
30
  i0.ɵɵadvance();
62
- i0.ɵɵproperty("ngIf", (ctx_r1.appliedFilters[colHeader_r4.data] == null ? null : ctx_r1.appliedFilters[colHeader_r4.data].length) > 0);
31
+ i0.ɵɵproperty("ngForOf", ctx_r2.actionItems)("ngForTrackBy", ctx_r2.trackByAction);
63
32
  } }
64
- function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
65
- const _r6 = i0.ɵɵgetCurrentView();
66
- i0.ɵɵelementStart(0, "span", 24);
67
- 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()); });
68
- i0.ɵɵelement(1, "mis-checkbox", 25);
33
+ function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelementStart(0, "span", 26);
35
+ i0.ɵɵelement(1, "img", 27);
69
36
  i0.ɵɵelementEnd();
70
37
  } if (rf & 2) {
71
- const ctx_r1 = i0.ɵɵnextContext(2);
38
+ const item_r6 = i0.ɵɵnextContext(2).$implicit;
72
39
  i0.ɵɵadvance();
73
- i0.ɵɵproperty("checked", ctx_r1.selectAllCheckbox);
40
+ i0.ɵɵproperty("src", item_r6.icon, i0.ɵɵsanitizeUrl);
74
41
  } }
75
- function TableComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
76
- const _r7 = i0.ɵɵgetCurrentView();
42
+ function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
77
43
  i0.ɵɵelementStart(0, "span", 26);
78
- 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)); });
44
+ i0.ɵɵelement(1, "img", 27);
79
45
  i0.ɵɵelementEnd();
80
46
  } if (rf & 2) {
81
- const colHeader_r4 = i0.ɵɵnextContext().$implicit;
82
- const ctx_r1 = i0.ɵɵnextContext();
83
- i0.ɵɵproperty("column", colHeader_r4)("activeSort", ctx_r1.currentSort)("activeSorts", ctx_r1.multiColumnSort)("multiColumnSort", ctx_r1.config.multiColumnSort);
47
+ const child_r8 = i0.ɵɵnextContext().$implicit;
48
+ i0.ɵɵadvance();
49
+ i0.ɵɵproperty("src", child_r8.icon, i0.ɵɵsanitizeUrl);
84
50
  } }
85
- function TableComponent_div_5_6_ng_template_0_Template(rf, ctx) { }
86
- function TableComponent_div_5_6_Template(rf, ctx) { if (rf & 1) {
87
- i0.ɵɵtemplate(0, TableComponent_div_5_6_ng_template_0_Template, 0, 0, "ng-template", 27);
51
+ function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template(rf, ctx) { if (rf & 1) {
52
+ const _r7 = i0.ɵɵgetCurrentView();
53
+ i0.ɵɵelementStart(0, "div", 18);
54
+ i0.ɵɵlistener("click", function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template_div_click_0_listener($event) { const child_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick(child_r8, $event)); });
55
+ i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_span_1_Template, 2, 1, "span", 20);
56
+ i0.ɵɵelementStart(2, "span", 21);
57
+ i0.ɵɵtext(3);
58
+ i0.ɵɵelementEnd()();
88
59
  } if (rf & 2) {
89
- const colHeader_r4 = i0.ɵɵnextContext().$implicit;
90
- i0.ɵɵproperty("customComponent", colHeader_r4 == null ? null : colHeader_r4.componentRef)("data", colHeader_r4.data);
60
+ const child_r8 = ctx.$implicit;
61
+ const ctx_r2 = i0.ɵɵnextContext(6);
62
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0$3, ctx_r2.isDisabled(child_r8)));
63
+ i0.ɵɵadvance();
64
+ i0.ɵɵproperty("ngIf", child_r8.icon);
65
+ i0.ɵɵadvance(2);
66
+ i0.ɵɵtextInterpolate(child_r8.label);
91
67
  } }
92
- function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
93
- const _r3 = i0.ɵɵgetCurrentView();
94
- i0.ɵɵelementStart(0, "div", 12, 2);
95
- 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); });
96
- i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p", 13)(3, TableComponent_div_5_span_3_Template, 4, 1, "span", 14)(4, TableComponent_div_5_span_4_Template, 2, 1, "span", 15)(5, TableComponent_div_5_span_5_Template, 1, 4, "span", 16)(6, TableComponent_div_5_6_Template, 1, 2, null, 17);
68
+ function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_Template(rf, ctx) { if (rf & 1) {
69
+ i0.ɵɵelementStart(0, "div", 28);
70
+ i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template, 4, 5, "div", 17);
97
71
  i0.ɵɵelementEnd();
98
72
  } if (rf & 2) {
99
- const colHeader_r4 = ctx.$implicit;
100
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(6, _c5$1, (colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.width) || "", colHeader_r4.action ? "pointer" : "default", (colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.justifyContent) ? colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.justifyContent : colHeader_r4.type === "number" ? "flex-end" : "space-between"));
101
- i0.ɵɵadvance(2);
102
- i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) !== "custom" && (colHeader_r4 == null ? null : colHeader_r4.type) !== "checkbox");
103
- i0.ɵɵadvance();
104
- i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) !== "custom" && (colHeader_r4 == null ? null : colHeader_r4.filters) && (colHeader_r4 == null ? null : colHeader_r4.filters == null ? null : colHeader_r4.filters.length) > 0);
105
- i0.ɵɵadvance();
106
- i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) === "checkbox");
107
- i0.ɵɵadvance();
108
- i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.isSortable) && !(colHeader_r4 == null ? null : colHeader_r4.filters));
73
+ const item_r6 = i0.ɵɵnextContext(2).$implicit;
74
+ i0.ɵɵproperty("ngClass", item_r6.submenuAlign);
109
75
  i0.ɵɵadvance();
110
- i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) === "custom");
76
+ i0.ɵɵproperty("ngForOf", item_r6.children);
111
77
  } }
112
- function TableComponent_div_7_div_2_p_2_Template(rf, ctx) { if (rf & 1) {
113
- i0.ɵɵelementStart(0, "p", 36);
114
- i0.ɵɵtext(1);
78
+ function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
79
+ i0.ɵɵelementContainerStart(0);
80
+ i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_span_1_Template, 2, 1, "span", 20);
81
+ i0.ɵɵelementStart(2, "span", 21);
82
+ i0.ɵɵtext(3);
115
83
  i0.ɵɵelementEnd();
84
+ i0.ɵɵelementStart(4, "span", 22);
85
+ i0.ɵɵnamespaceSVG();
86
+ i0.ɵɵelementStart(5, "svg", 23);
87
+ i0.ɵɵelement(6, "path", 24);
88
+ i0.ɵɵelementEnd()();
89
+ i0.ɵɵtemplate(7, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_Template, 2, 2, "div", 25);
90
+ i0.ɵɵelementContainerEnd();
116
91
  } if (rf & 2) {
117
- const ctx_r13 = i0.ɵɵnextContext();
118
- const col_r12 = ctx_r13.$implicit;
119
- const i_r13 = ctx_r13.index;
120
- const ctx_r1 = i0.ɵɵnextContext(2);
121
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(3, _c11, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.color) ? ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.color : ""))("ngClass", i0.ɵɵpureFunction1(5, _c12, !!(ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.textEllipsis)));
92
+ const item_r6 = i0.ɵɵnextContext().$implicit;
122
93
  i0.ɵɵadvance();
123
- i0.ɵɵtextInterpolate1(" ", col_r12, " ");
94
+ i0.ɵɵproperty("ngIf", item_r6.icon);
95
+ i0.ɵɵadvance(2);
96
+ i0.ɵɵtextInterpolate(item_r6.label);
97
+ i0.ɵɵadvance(4);
98
+ i0.ɵɵproperty("ngIf", item_r6.showSubmenu);
124
99
  } }
125
- function TableComponent_div_7_div_2_3_ng_template_0_Template(rf, ctx) { }
126
- function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
127
- i0.ɵɵtemplate(0, TableComponent_div_7_div_2_3_ng_template_0_Template, 0, 0, "ng-template", 27);
100
+ function ActionsCellComponent_div_2_div_6_div_1_ng_template_2_span_0_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵelementStart(0, "span", 26);
102
+ i0.ɵɵelement(1, "img", 27);
103
+ i0.ɵɵelementEnd();
128
104
  } if (rf & 2) {
129
- const ctx_r13 = i0.ɵɵnextContext();
130
- const col_r12 = ctx_r13.$implicit;
131
- const i_r13 = ctx_r13.index;
132
- const ctx_r1 = i0.ɵɵnextContext(2);
133
- i0.ɵɵproperty("customComponent", ctx_r1.config.colConfig[i_r13].componentRef)("data", col_r12);
105
+ const item_r6 = i0.ɵɵnextContext(2).$implicit;
106
+ i0.ɵɵadvance();
107
+ i0.ɵɵproperty("src", item_r6.icon, i0.ɵɵsanitizeUrl);
134
108
  } }
135
- function TableComponent_div_7_div_2_mis_actions_cell_4_Template(rf, ctx) { if (rf & 1) {
136
- const _r15 = i0.ɵɵgetCurrentView();
137
- i0.ɵɵelementStart(0, "mis-actions-cell", 37);
138
- i0.ɵɵlistener("actionClick", function TableComponent_div_7_div_2_mis_actions_cell_4_Template_mis_actions_cell_actionClick_0_listener($event) { i0.ɵɵrestoreView(_r15); const rowIndex_r16 = i0.ɵɵnextContext(2).index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onActionClick($event, rowIndex_r16)); });
109
+ function ActionsCellComponent_div_2_div_6_div_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
110
+ i0.ɵɵtemplate(0, ActionsCellComponent_div_2_div_6_div_1_ng_template_2_span_0_Template, 2, 1, "span", 20);
111
+ i0.ɵɵelementStart(1, "span", 21);
112
+ i0.ɵɵtext(2);
139
113
  i0.ɵɵelementEnd();
140
114
  } if (rf & 2) {
141
- const ctx_r13 = i0.ɵɵnextContext();
142
- const col_r12 = ctx_r13.$implicit;
143
- const i_r13 = ctx_r13.index;
144
- const row_r17 = i0.ɵɵnextContext().$implicit;
145
- const ctx_r1 = i0.ɵɵnextContext();
146
- i0.ɵɵproperty("rowData", col_r12)("config", ctx_r1.config.colConfig[i_r13])("isChecked", col_r12.isChecked)("ngClass", i0.ɵɵpureFunction1(4, _c13, (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].actionType) === "checkbox" && ctx_r1.isRowDisabled(row_r17)));
115
+ const item_r6 = i0.ɵɵnextContext().$implicit;
116
+ i0.ɵɵproperty("ngIf", item_r6.icon);
117
+ i0.ɵɵadvance(2);
118
+ i0.ɵɵtextInterpolate(item_r6.label);
147
119
  } }
148
- function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
149
- const _r10 = i0.ɵɵgetCurrentView();
150
- i0.ɵɵelementStart(0, "div", 32);
151
- i0.ɵɵlistener("click", function TableComponent_div_7_div_2_Template_div_click_0_listener() { const ctx_r10 = i0.ɵɵrestoreView(_r10); const col_r12 = ctx_r10.$implicit; const i_r13 = ctx_r10.index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView((ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].action) && (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].actionType) !== "checkbox" ? ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].action(col_r12) : null); });
152
- i0.ɵɵelementStart(1, "div", 33);
153
- i0.ɵɵtemplate(2, TableComponent_div_7_div_2_p_2_Template, 2, 7, "p", 34)(3, TableComponent_div_7_div_2_3_Template, 1, 2, null, 17)(4, TableComponent_div_7_div_2_mis_actions_cell_4_Template, 1, 6, "mis-actions-cell", 35);
154
- i0.ɵɵelementEnd()();
120
+ function ActionsCellComponent_div_2_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
121
+ const _r5 = i0.ɵɵgetCurrentView();
122
+ i0.ɵɵelementStart(0, "div", 18);
123
+ i0.ɵɵlistener("click", function ActionsCellComponent_div_2_div_6_div_1_Template_div_click_0_listener($event) { const item_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick(item_r6, $event)); });
124
+ i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_Template, 8, 3, "ng-container", 19)(2, ActionsCellComponent_div_2_div_6_div_1_ng_template_2_Template, 3, 2, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
125
+ i0.ɵɵelementEnd();
155
126
  } if (rf & 2) {
156
- const i_r13 = ctx.index;
157
- const ctx_r1 = i0.ɵɵnextContext(2);
158
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(8, _c8, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.width) || (ctx_r1.config == null ? null : ctx_r1.config.colHeaderConfig[i_r13] == null ? null : ctx_r1.config.colHeaderConfig[i_r13].style == null ? null : ctx_r1.config.colHeaderConfig[i_r13].style.width) || ""))("ngClass", i0.ɵɵpureFunction1(10, _c9, ctx_r1.config.cellHover));
159
- i0.ɵɵadvance();
160
- i0.ɵɵstyleMap(ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style);
161
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(12, _c10, (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].action) ? "pointer" : "default", (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.justifyContent) ? ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.justifyContent : (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) === "number" ? "flex-end" : "space-between"));
162
- i0.ɵɵadvance();
163
- i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) !== "custom" && (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) !== "actions");
164
- i0.ɵɵadvance();
165
- i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) === "custom");
127
+ const item_r6 = ctx.$implicit;
128
+ const noChildren_r9 = i0.ɵɵreference(3);
129
+ const ctx_r2 = i0.ɵɵnextContext(3);
130
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0$3, ctx_r2.isDisabled(item_r6)));
166
131
  i0.ɵɵadvance();
167
- i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) === "actions");
132
+ i0.ɵɵproperty("ngIf", item_r6.children == null ? null : item_r6.children.length)("ngIfElse", noChildren_r9);
168
133
  } }
169
- function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
170
- i0.ɵɵelementContainerStart(0);
171
- i0.ɵɵelementStart(1, "div", 39);
172
- i0.ɵɵtext(2, " Loading... ");
134
+ function ActionsCellComponent_div_2_div_6_Template(rf, ctx) { if (rf & 1) {
135
+ i0.ɵɵelementStart(0, "div", 16);
136
+ i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_Template, 4, 5, "div", 17);
173
137
  i0.ɵɵelementEnd();
174
- i0.ɵɵelementContainerEnd();
175
138
  } if (rf & 2) {
139
+ const ctx_r2 = i0.ɵɵnextContext(2);
140
+ i0.ɵɵproperty("ngClass", ctx_r2.menuAlign);
176
141
  i0.ɵɵadvance();
177
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c14));
142
+ i0.ɵɵproperty("ngForOf", ctx_r2.actionItems);
178
143
  } }
179
- function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
180
- i0.ɵɵelementContainerStart(0);
181
- i0.ɵɵelementStart(1, "div", 39);
182
- i0.ɵɵtext(2, " No Data Available... ");
144
+ function ActionsCellComponent_div_2_Template(rf, ctx) { if (rf & 1) {
145
+ const _r4 = i0.ɵɵgetCurrentView();
146
+ i0.ɵɵelementStart(0, "div", 9)(1, "div", 10);
147
+ i0.ɵɵlistener("click", function ActionsCellComponent_div_2_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleDropdown($event)); });
148
+ i0.ɵɵnamespaceSVG();
149
+ i0.ɵɵelementStart(2, "svg", 11);
150
+ i0.ɵɵelement(3, "circle", 12)(4, "circle", 13)(5, "circle", 14);
151
+ i0.ɵɵelementEnd()();
152
+ i0.ɵɵtemplate(6, ActionsCellComponent_div_2_div_6_Template, 2, 2, "div", 15);
183
153
  i0.ɵɵelementEnd();
184
- i0.ɵɵelementContainerEnd();
185
154
  } if (rf & 2) {
186
- i0.ɵɵadvance();
187
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c14));
155
+ const ctx_r2 = i0.ɵɵnextContext();
156
+ i0.ɵɵadvance(6);
157
+ i0.ɵɵproperty("ngIf", ctx_r2.isDropdownOpen);
188
158
  } }
189
- function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
190
- i0.ɵɵelementContainerStart(0);
191
- i0.ɵɵelement(1, "sub-table", 40);
192
- i0.ɵɵelementContainerEnd();
159
+ function ActionsCellComponent_div_3_Template(rf, ctx) { if (rf & 1) {
160
+ const _r10 = i0.ɵɵgetCurrentView();
161
+ i0.ɵɵelementStart(0, "div", 29)(1, "mis-checkbox", 30);
162
+ i0.ɵɵlistener("valueChange", function ActionsCellComponent_div_3_Template_mis_checkbox_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCheckboxChange($event)); });
163
+ i0.ɵɵelementEnd()();
193
164
  } if (rf & 2) {
194
- const ctx_r1 = i0.ɵɵnextContext(3);
165
+ const ctx_r2 = i0.ɵɵnextContext();
195
166
  i0.ɵɵadvance();
196
- i0.ɵɵproperty("config", ctx_r1.subTableconfig)("tableData", ctx_r1.subTableData);
167
+ i0.ɵɵproperty("checked", ctx_r2.isChecked)("disabled", ctx_r2.disable ? ctx_r2.disable(ctx_r2.data) : false);
197
168
  } }
198
- function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
199
- i0.ɵɵelementStart(0, "div", 38);
200
- i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container", 17)(2, TableComponent_div_7_div_3_ng_container_2_Template, 3, 2, "ng-container", 17)(3, TableComponent_div_7_div_3_ng_container_3_Template, 2, 2, "ng-container", 17);
201
- i0.ɵɵelementEnd();
202
- } if (rf & 2) {
203
- const ctx_r1 = i0.ɵɵnextContext(2);
204
- i0.ɵɵadvance();
205
- i0.ɵɵproperty("ngIf", ctx_r1.subTableDataLoading);
206
- i0.ɵɵadvance();
207
- i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading && ctx_r1.subTableData.length === 0);
208
- i0.ɵɵadvance();
209
- i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading && ctx_r1.subTableData.length > 0);
210
- } }
211
- function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
212
- const _r8 = i0.ɵɵgetCurrentView();
213
- i0.ɵɵelementStart(0, "div", 28)(1, "div", 29);
214
- 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)); });
215
- i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 5, 15, "div", 30);
216
- i0.ɵɵelementEnd();
217
- i0.ɵɵtemplate(3, TableComponent_div_7_div_3_Template, 4, 3, "div", 31);
169
+ class ActionsCellComponent {
170
+ constructor() {
171
+ this.isChecked = false;
172
+ this.actionClick = new EventEmitter();
173
+ this.dropdownToggled = new EventEmitter();
174
+ this.isDropdownOpen = false;
175
+ this.actionItems = [];
176
+ this.actionType = "inline";
177
+ this.submenuAlign = "right";
178
+ this.menuAlign = "left";
179
+ this._style = {};
180
+ this.containerStyle = {};
181
+ }
182
+ set rowData(value) {
183
+ if (this.actionType === 'checkbox') {
184
+ // For checkbox, keep the rowData structure
185
+ this.data = value?.rowData ?? {};
186
+ this.isChecked = value?.isChecked ?? false;
187
+ }
188
+ else {
189
+ // For other actions (dropdown, inline), use the value directly
190
+ this.data = value;
191
+ this.isChecked = false;
192
+ }
193
+ }
194
+ set config(config) {
195
+ this.actionItems = config?.actionItems,
196
+ this.actionType = config.actionType,
197
+ this.submenuAlign = config.submenuAlign,
198
+ this.menuAlign = config.menuAlign;
199
+ this._style = config.style;
200
+ this.action = config.action;
201
+ this.disable = config.disable;
202
+ this.processStyle();
203
+ }
204
+ ngOnInit() { }
205
+ processStyle() {
206
+ // Remove width from style to avoid conflicts with table column width
207
+ const { width, ...restStyle } = this._style;
208
+ this.containerStyle = restStyle;
209
+ }
210
+ onActionClick(item, event) {
211
+ event.stopPropagation();
212
+ // Check permissions before executing action
213
+ if (this.isDisabled(item))
214
+ return;
215
+ // Execute action only if permitted
216
+ if (item.action) {
217
+ item.action(this.data);
218
+ }
219
+ this.actionClick.emit({ item, data: this.data });
220
+ }
221
+ trackByAction(index, item) {
222
+ return item.value;
223
+ }
224
+ isSvgFile(iconPath) {
225
+ if (!iconPath)
226
+ return false;
227
+ return iconPath.toLowerCase().includes(".svg") || iconPath.toLowerCase().includes("assets/icons/");
228
+ }
229
+ onDocumentClick() {
230
+ if (this.isDropdownOpen) {
231
+ this.isDropdownOpen = false;
232
+ }
233
+ }
234
+ // method to close dropdown
235
+ closeDropdown() {
236
+ if (this.isDropdownOpen) {
237
+ this.isDropdownOpen = false;
238
+ this.actionItems.forEach((item) => (item.showSubmenu = false));
239
+ }
240
+ }
241
+ toggleDropdown(event) {
242
+ event.stopPropagation();
243
+ // Emit self when opening dropdown
244
+ if (!this.isDropdownOpen) {
245
+ this.dropdownToggled.emit(this);
246
+ }
247
+ this.isDropdownOpen = !this.isDropdownOpen;
248
+ // Close all submenus when opening/closing main menu
249
+ this.actionItems.forEach((item) => (item.showSubmenu = false));
250
+ }
251
+ onDropdownItemClick(item, event) {
252
+ event.stopPropagation();
253
+ if (this.isDisabled(item))
254
+ return;
255
+ if (item?.children?.length) {
256
+ // Toggle submenu
257
+ item.showSubmenu = !item.showSubmenu;
258
+ // Optionally close other submenus
259
+ this.actionItems.forEach((i) => {
260
+ if (i !== item)
261
+ i.showSubmenu = false;
262
+ });
263
+ }
264
+ else {
265
+ // Handle action
266
+ if (item.action)
267
+ item.action(this.data);
268
+ this.actionClick.emit({ item, data: this.data });
269
+ this.isDropdownOpen = false; // Only close if action was executed
270
+ }
271
+ }
272
+ onCheckboxChange(event) {
273
+ this.isChecked = event?.value ?? false;
274
+ this.actionClick.emit({
275
+ isChecked: this.isChecked,
276
+ data: this.data
277
+ });
278
+ }
279
+ isDisabled(item) {
280
+ if (typeof item.disable === "function") {
281
+ return item.disable(this.data);
282
+ }
283
+ return false;
284
+ }
285
+ static { this.ɵfac = function ActionsCellComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionsCellComponent)(); }; }
286
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsCellComponent, selectors: [["mis-actions-cell"]], hostBindings: function ActionsCellComponent_HostBindings(rf, ctx) { if (rf & 1) {
287
+ i0.ɵɵlistener("click", function ActionsCellComponent_click_HostBindingHandler() { return ctx.onDocumentClick(); }, false, i0.ɵɵresolveDocument);
288
+ } }, inputs: { rowData: "rowData", isChecked: "isChecked", config: "config" }, outputs: { actionClick: "actionClick", dropdownToggled: "dropdownToggled" }, decls: 4, vars: 4, consts: [["noChildren", ""], [1, "actions-cell-container", 3, "ngStyle"], ["class", "inline-actions", 4, "ngIf"], ["class", "dropdown-actions", 4, "ngIf"], ["class", "checkbox-actions", 4, "ngIf"], [1, "inline-actions"], ["class", "action-item", 3, "ngClass", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "action-item", 3, "click", "ngClass"], [1, "action-icon-svg", 3, "src", "alt"], [1, "dropdown-actions"], ["title", "More actions", 1, "dropdown-trigger", 3, "click"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none"], ["cx", "10", "cy", "4", "r", "2", "fill", "#333"], ["cx", "10", "cy", "10", "r", "2", "fill", "#333"], ["cx", "10", "cy", "16", "r", "2", "fill", "#333"], ["class", "dropdown-menu", 3, "ngClass", 4, "ngIf"], [1, "dropdown-menu", 3, "ngClass"], ["class", "dropdown-menu-item", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "dropdown-menu-item", 3, "click", "ngClass"], [4, "ngIf", "ngIfElse"], ["class", "dropdown-icon", 4, "ngIf"], [1, "dropdown-label"], [1, "submenu-arrow"], ["width", "20", "height", "20", "viewBox", "0 0 24 24", "fill", "none"], ["d", "M9 6L15 12L9 18", "stroke", "#0D1321", "stroke-width", "2", "stroke-linecap", "round", "stroke-linejoin", "round"], ["class", "dropdown-submenu", 3, "ngClass", 4, "ngIf"], [1, "dropdown-icon"], [3, "src"], [1, "dropdown-submenu", 3, "ngClass"], [1, "checkbox-actions"], [3, "valueChange", "checked", "disabled"]], template: function ActionsCellComponent_Template(rf, ctx) { if (rf & 1) {
289
+ i0.ɵɵelementStart(0, "div", 1);
290
+ i0.ɵɵtemplate(1, ActionsCellComponent_div_1_Template, 2, 2, "div", 2)(2, ActionsCellComponent_div_2_Template, 7, 1, "div", 3)(3, ActionsCellComponent_div_3_Template, 2, 2, "div", 4);
291
+ i0.ɵɵelementEnd();
292
+ } if (rf & 2) {
293
+ i0.ɵɵproperty("ngStyle", ctx.containerStyle);
294
+ i0.ɵɵadvance();
295
+ i0.ɵɵproperty("ngIf", ctx.actionType === "inline");
296
+ i0.ɵɵadvance();
297
+ i0.ɵɵproperty("ngIf", ctx.actionType === "dropdown");
298
+ i0.ɵɵadvance();
299
+ i0.ɵɵproperty("ngIf", ctx.actionType === "checkbox");
300
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.CheckboxComponent], styles: [".actions-cell-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;box-sizing:border-box}.inline-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;flex-wrap:nowrap;padding:4px 0;flex-direction:row}.action-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:20px;border-radius:4px;cursor:pointer;transition:all .2s ease;background-color:transparent;border:none;outline:none;flex-shrink:0;min-height:20px}.action-item[_ngcontent-%COMP%]:hover:not(.disabled){background-color:#0000000a;transform:scale(1.05)}.action-item[_ngcontent-%COMP%]:active:not(.disabled){transform:scale(.95)}.action-item.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed}.action-item.disabled[_ngcontent-%COMP%]:hover{background-color:transparent;transform:none}.action-icon[_ngcontent-%COMP%]{font-size:16px;color:#666;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.action-icon-svg[_ngcontent-%COMP%]{width:18px;height:18px;object-fit:contain;filter:brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.6) contrast(1);flex-shrink:0}.action-icon-svg[_ngcontent-%COMP%]:hover{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0) contrast(1)}.dropdown-trigger[_ngcontent-%COMP%]{cursor:pointer}.dropdown-actions[_ngcontent-%COMP%]{position:relative}.dropdown-trigger[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;width:232px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;z-index:1000;padding:8px 0}.dropdown-menu.left[_ngcontent-%COMP%]{right:0!important;left:auto!important}.dropdown-menu.right[_ngcontent-%COMP%]{left:0!important;right:auto!important}.dropdown-menu-item.disabled[_ngcontent-%COMP%]{color:#aaa;cursor:not-allowed}.dropdown-menu-item[_ngcontent-%COMP%]:hover:not(.disabled), .dropdown-menu-item.has-submenu[_ngcontent-%COMP%]:hover{background:#f5f5f5}.dropdown-menu-item[_ngcontent-%COMP%]{display:flex;align-items:center;padding:10px 18px;cursor:pointer;font-size:14px;position:relative}.dropdown-menu-item[_ngcontent-%COMP%] .dropdown-label[_ngcontent-%COMP%]{flex:1;margin-left:8px}.dropdown-menu-item[_ngcontent-%COMP%] .submenu-arrow[_ngcontent-%COMP%]{margin-left:auto;width:16px;height:16px}.submenu-container[_ngcontent-%COMP%]{position:absolute;top:0;left:100%;margin-left:4px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;z-index:1000;white-space:nowrap}.dropdown-submenu[_ngcontent-%COMP%]{position:absolute;top:0;min-width:132px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px 0;z-index:1001}.dropdown-submenu.right[_ngcontent-%COMP%]{left:100%;margin-left:4px}.dropdown-submenu.left[_ngcontent-%COMP%]{left:auto;right:100%;background-color:#fff;border:1px solid #ddd;z-index:9999;position:absolute;margin-right:4px}.submenu-arrow[_ngcontent-%COMP%]{display:flex;align-items:center;margin-left:auto;z-index:9999}.dropdown-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.dropdown-menu-item.disabled[_ngcontent-%COMP%]{color:#181f33;filter:grayscale(100%) opacity(.3);cursor:not-allowed}"] }); }
301
+ }
302
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionsCellComponent, [{
303
+ type: Component,
304
+ args: [{ selector: "mis-actions-cell", template: "<div class=\"actions-cell-container\" [ngStyle]=\"containerStyle\">\n <!-- Inline Actions -->\n <div *ngIf=\"actionType === 'inline'\" class=\"inline-actions\">\n <div\n *ngFor=\"let item of actionItems; trackBy: trackByAction\"\n class=\"action-item\"\n [ngClass]=\"{ disabled: isDisabled(item) }\"\n (click)=\"onActionClick(item, $event)\"\n >\n <img [src]=\"item.icon\" [alt]=\"item.label\" class=\"action-icon-svg\" />\n </div>\n </div>\n\n <!-- Dropdown Actions -->\n <div *ngIf=\"actionType === 'dropdown'\" class=\"dropdown-actions\">\n <div class=\"dropdown-trigger\" (click)=\"toggleDropdown($event)\" title=\"More actions\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#333\" />\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#333\" />\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#333\" />\n </svg>\n </div>\n\n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\" [ngClass]=\"menuAlign\">\n <div\n class=\"dropdown-menu-item\"\n *ngFor=\"let item of actionItems\"\n (click)=\"onDropdownItemClick(item, $event)\"\n [ngClass]=\"{ disabled: isDisabled(item) }\"\n >\n <ng-container *ngIf=\"item.children?.length; else noChildren\">\n <span class=\"dropdown-icon\" *ngIf=\"item.icon\">\n <img [src]=\"item.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ item.label }}</span>\n <span class=\"submenu-arrow\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M9 6L15 12L9 18\" stroke=\"#0D1321\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </span>\n\n <!-- DYNAMIC SUBMENU -->\n <div class=\"dropdown-submenu\" [ngClass]=\"item.submenuAlign\" *ngIf=\"item.showSubmenu\">\n <div\n class=\"dropdown-menu-item\"\n *ngFor=\"let child of item.children\"\n [ngClass]=\"{ disabled: isDisabled(child) }\"\n (click)=\"onDropdownItemClick(child, $event)\"\n >\n <span class=\"dropdown-icon\" *ngIf=\"child.icon\">\n <img [src]=\"child.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ child.label }}</span>\n </div>\n </div>\n </ng-container>\n\n <ng-template #noChildren>\n <span class=\"dropdown-icon\" *ngIf=\"item.icon\">\n <img [src]=\"item.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ item.label }}</span>\n </ng-template>\n </div>\n </div>\n </div>\n\n <!-- Checkbox Actions -->\n <div *ngIf=\"actionType === 'checkbox'\" class=\"checkbox-actions\">\n <mis-checkbox [checked]=\"isChecked\" (valueChange)=\"onCheckboxChange($event)\" [disabled]=\"disable ? disable(data) : false\"\n > </mis-checkbox>\n </div>\n</div>\n", styles: [".actions-cell-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;box-sizing:border-box}.inline-actions{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;flex-wrap:nowrap;padding:4px 0;flex-direction:row}.action-item{display:flex;align-items:center;justify-content:center;height:20px;border-radius:4px;cursor:pointer;transition:all .2s ease;background-color:transparent;border:none;outline:none;flex-shrink:0;min-height:20px}.action-item:hover:not(.disabled){background-color:#0000000a;transform:scale(1.05)}.action-item:active:not(.disabled){transform:scale(.95)}.action-item.disabled{opacity:.5;cursor:not-allowed}.action-item.disabled:hover{background-color:transparent;transform:none}.action-icon{font-size:16px;color:#666;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.action-icon-svg{width:18px;height:18px;object-fit:contain;filter:brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.6) contrast(1);flex-shrink:0}.action-icon-svg:hover{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0) contrast(1)}.dropdown-trigger{cursor:pointer}.dropdown-actions{position:relative}.dropdown-trigger{cursor:pointer;display:flex;align-items:center;justify-content:center}.dropdown-menu{position:absolute;top:100%;width:232px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;z-index:1000;padding:8px 0}.dropdown-menu.left{right:0!important;left:auto!important}.dropdown-menu.right{left:0!important;right:auto!important}.dropdown-menu-item.disabled{color:#aaa;cursor:not-allowed}.dropdown-menu-item:hover:not(.disabled),.dropdown-menu-item.has-submenu:hover{background:#f5f5f5}.dropdown-menu-item{display:flex;align-items:center;padding:10px 18px;cursor:pointer;font-size:14px;position:relative}.dropdown-menu-item .dropdown-label{flex:1;margin-left:8px}.dropdown-menu-item .submenu-arrow{margin-left:auto;width:16px;height:16px}.submenu-container{position:absolute;top:0;left:100%;margin-left:4px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;z-index:1000;white-space:nowrap}.dropdown-submenu{position:absolute;top:0;min-width:132px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px 0;z-index:1001}.dropdown-submenu.right{left:100%;margin-left:4px}.dropdown-submenu.left{left:auto;right:100%;background-color:#fff;border:1px solid #ddd;z-index:9999;position:absolute;margin-right:4px}.submenu-arrow{display:flex;align-items:center;margin-left:auto;z-index:9999}.dropdown-icon{display:flex;justify-content:center;align-items:center}.dropdown-menu-item.disabled{color:#181f33;filter:grayscale(100%) opacity(.3);cursor:not-allowed}\n"] }]
305
+ }], null, { rowData: [{
306
+ type: Input
307
+ }], isChecked: [{
308
+ type: Input
309
+ }], config: [{
310
+ type: Input
311
+ }], actionClick: [{
312
+ type: Output
313
+ }], dropdownToggled: [{
314
+ type: Output
315
+ }], onDocumentClick: [{
316
+ type: HostListener,
317
+ args: ["document:click"]
318
+ }] }); })();
319
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionsCellComponent, { className: "ActionsCellComponent" }); })();
320
+
321
+ const _c0$2 = ["filter"];
322
+ const _c1$2 = ["table"];
323
+ const _c2$2 = ["colHeaderRef"];
324
+ const _c3$1 = (a0, a1, a2) => ({ height: a0, width: a1, "overflow-x": a2 });
325
+ const _c4$1 = (a0, a1, a2) => ({ "no-scrollbar": a0, scrollbar: a1, "scroll-horizontally": a2 });
326
+ const _c5$1 = (a0, a1, a2) => ({ width: a0, cursor: a1, "justify-content": a2 });
327
+ const _c6$1 = (a0, a1) => ({ "t-row-hover": a0, "active-row": a1 });
328
+ const _c7$1 = a0 => ({ "min-height": a0 });
329
+ const _c8 = a0 => ({ width: a0 });
330
+ const _c9 = a0 => ({ "t-col-container-hover": a0 });
331
+ const _c10 = (a0, a1) => ({ width: "100%", cursor: a0, "justify-content": a1 });
332
+ const _c11 = a0 => ({ color: a0 });
333
+ const _c12 = a0 => ({ "text-ellipsis": a0 });
334
+ const _c13 = a0 => ({ "disable-actions": a0 });
335
+ const _c14 = () => ({ display: "flex", justifyContent: "center", alignItems: "center", padding: "16px" });
336
+ const _c15 = a0 => ({ "page-active": a0 });
337
+ const _c16 = () => ({ display: "flex" });
338
+ const _c17 = () => ({ "margin-right": "4px" });
339
+ function TableComponent_mis_table_filter_1_Template(rf, ctx) { if (rf & 1) {
340
+ const _r1 = i0.ɵɵgetCurrentView();
341
+ i0.ɵɵelementStart(0, "mis-table-filter", 11, 1);
342
+ 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)); });
218
343
  i0.ɵɵelementEnd();
219
344
  } if (rf & 2) {
220
- const row_r17 = ctx.$implicit;
221
- const i_r9 = ctx.index;
222
345
  const ctx_r1 = i0.ɵɵnextContext();
223
- i0.ɵɵadvance();
224
- i0.ɵɵclassProp("disabled-row", ctx_r1.isRowDisabled(row_r17));
225
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(6, _c6$1, ctx_r1.config.cellHover, ctx_r1.activeRowIndex.includes(i_r9)))("ngStyle", i0.ɵɵpureFunction1(9, _c7$1, (ctx_r1.config == null ? null : ctx_r1.config.rowConfig == null ? null : ctx_r1.config.rowConfig.height) ? ctx_r1.config.rowConfig.height : "44px"));
226
- i0.ɵɵadvance();
227
- i0.ɵɵproperty("ngForOf", row_r17);
228
- i0.ɵɵadvance();
229
- i0.ɵɵproperty("ngIf", (ctx_r1.config == null ? null : ctx_r1.config.canExpand) && ctx_r1.expandedIndex === i_r9);
346
+ i0.ɵɵproperty("containerStyles", ctx_r1.filterContainerStyles)("filtersData", ctx_r1.filterData);
230
347
  } }
231
- function TableComponent_div_8_ng_container_7_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
232
- const _r19 = i0.ɵɵgetCurrentView();
233
- i0.ɵɵelementStart(0, "span", 51);
234
- i0.ɵɵlistener("click", function TableComponent_div_8_ng_container_7_div_1_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r19); const pageNumber_r20 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.updateSelectedPage(pageNumber_r20)); });
348
+ function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
349
+ i0.ɵɵelementStart(0, "p", 18);
235
350
  i0.ɵɵtext(1);
236
351
  i0.ɵɵelementEnd();
237
352
  } if (rf & 2) {
238
- const pageNumber_r20 = i0.ɵɵnextContext().$implicit;
239
- const ctx_r1 = i0.ɵɵnextContext(3);
240
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c15, pageNumber_r20 == (ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage)));
353
+ const colHeader_r4 = i0.ɵɵnextContext().$implicit;
241
354
  i0.ɵɵadvance();
242
- i0.ɵɵtextInterpolate(pageNumber_r20);
355
+ i0.ɵɵtextInterpolate1(" ", (colHeader_r4 == null ? null : colHeader_r4.data) || " ", " ");
243
356
  } }
244
- function TableComponent_div_8_ng_container_7_div_1_span_2_Template(rf, ctx) { if (rf & 1) {
245
- i0.ɵɵelementStart(0, "span", 52)(1, "div", 39);
246
- i0.ɵɵelement(2, "span", 53)(3, "span", 53)(4, "span", 54);
357
+ function TableComponent_div_5_span_3_span_1_Template(rf, ctx) { if (rf & 1) {
358
+ i0.ɵɵelement(0, "span", 23);
359
+ } }
360
+ function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
361
+ const _r5 = i0.ɵɵgetCurrentView();
362
+ i0.ɵɵelementStart(0, "span", 19);
363
+ 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 = colHeader_r4.filters; ctx_r1.toggleFilter(colHeader_r4.data); return i0.ɵɵresetView($event.stopPropagation()); });
364
+ i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span", 20);
365
+ i0.ɵɵnamespaceSVG();
366
+ i0.ɵɵelementStart(2, "svg", 21);
367
+ i0.ɵɵelement(3, "path", 22);
247
368
  i0.ɵɵelementEnd()();
248
369
  } if (rf & 2) {
370
+ const colHeader_r4 = i0.ɵɵnextContext().$implicit;
371
+ const ctx_r1 = i0.ɵɵnextContext();
249
372
  i0.ɵɵadvance();
250
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(3, _c16));
251
- i0.ɵɵadvance();
252
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4, _c17));
253
- i0.ɵɵadvance();
254
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(5, _c17));
373
+ i0.ɵɵproperty("ngIf", (ctx_r1.appliedFilters[colHeader_r4.data] == null ? null : ctx_r1.appliedFilters[colHeader_r4.data].length) > 0);
255
374
  } }
256
- function TableComponent_div_8_ng_container_7_div_1_Template(rf, ctx) { if (rf & 1) {
257
- i0.ɵɵelementStart(0, "div");
258
- i0.ɵɵtemplate(1, TableComponent_div_8_ng_container_7_div_1_span_1_Template, 2, 4, "span", 49)(2, TableComponent_div_8_ng_container_7_div_1_span_2_Template, 5, 6, "span", 50);
375
+ function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
376
+ const _r6 = i0.ɵɵgetCurrentView();
377
+ i0.ɵɵelementStart(0, "span", 24);
378
+ 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()); });
379
+ i0.ɵɵelement(1, "mis-checkbox", 25);
259
380
  i0.ɵɵelementEnd();
260
- } if (rf & 2) {
261
- const pageNumber_r20 = ctx.$implicit;
262
- i0.ɵɵadvance();
263
- i0.ɵɵproperty("ngIf", pageNumber_r20 != 0);
264
- i0.ɵɵadvance();
265
- i0.ɵɵproperty("ngIf", pageNumber_r20 == 0);
266
- } }
267
- function TableComponent_div_8_ng_container_7_Template(rf, ctx) { if (rf & 1) {
268
- i0.ɵɵelementContainerStart(0);
269
- i0.ɵɵtemplate(1, TableComponent_div_8_ng_container_7_div_1_Template, 3, 2, "div", 48);
270
- i0.ɵɵelementContainerEnd();
271
381
  } if (rf & 2) {
272
382
  const ctx_r1 = i0.ɵɵnextContext(2);
273
383
  i0.ɵɵadvance();
274
- i0.ɵɵproperty("ngForOf", ctx_r1.pages);
384
+ i0.ɵɵproperty("checked", ctx_r1.selectAllCheckbox);
275
385
  } }
276
- function TableComponent_div_8_Template(rf, ctx) { if (rf & 1) {
277
- const _r18 = i0.ɵɵgetCurrentView();
278
- i0.ɵɵelementStart(0, "div", 41)(1, "p", 42);
279
- i0.ɵɵtext(2);
386
+ function TableComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
387
+ const _r7 = i0.ɵɵgetCurrentView();
388
+ i0.ɵɵelementStart(0, "span", 26);
389
+ 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)); });
280
390
  i0.ɵɵelementEnd();
281
- i0.ɵɵelementStart(3, "div", 43)(4, "span", 44);
282
- i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) > 1 && ctx_r1.updateSelectedPage((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) - 1)); });
283
- i0.ɵɵnamespaceSVG();
284
- i0.ɵɵelementStart(5, "svg", 45);
285
- i0.ɵɵelement(6, "path", 46);
286
- i0.ɵɵelementEnd()();
287
- i0.ɵɵtemplate(7, TableComponent_div_8_ng_container_7_Template, 2, 1, "ng-container", 17);
288
- i0.ɵɵnamespaceHTML();
289
- i0.ɵɵelementStart(8, "span", 44);
290
- i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_8_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) < (ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.noOfPages) && ctx_r1.updateSelectedPage((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) + 1)); });
291
- i0.ɵɵnamespaceSVG();
292
- i0.ɵɵelementStart(9, "svg", 45);
391
+ } if (rf & 2) {
392
+ const colHeader_r4 = i0.ɵɵnextContext().$implicit;
393
+ const ctx_r1 = i0.ɵɵnextContext();
394
+ i0.ɵɵproperty("column", colHeader_r4)("activeSort", ctx_r1.currentSort)("activeSorts", ctx_r1.multiColumnSort)("multiColumnSort", ctx_r1.config.multiColumnSort);
395
+ } }
396
+ function TableComponent_div_5_6_ng_template_0_Template(rf, ctx) { }
397
+ function TableComponent_div_5_6_Template(rf, ctx) { if (rf & 1) {
398
+ i0.ɵɵtemplate(0, TableComponent_div_5_6_ng_template_0_Template, 0, 0, "ng-template", 27);
399
+ } if (rf & 2) {
400
+ const colHeader_r4 = i0.ɵɵnextContext().$implicit;
401
+ i0.ɵɵproperty("customComponent", colHeader_r4 == null ? null : colHeader_r4.componentRef)("data", colHeader_r4.data);
402
+ } }
403
+ function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
404
+ const _r3 = i0.ɵɵgetCurrentView();
405
+ i0.ɵɵelementStart(0, "div", 12, 2);
406
+ 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); });
407
+ i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p", 13)(3, TableComponent_div_5_span_3_Template, 4, 1, "span", 14)(4, TableComponent_div_5_span_4_Template, 2, 1, "span", 15)(5, TableComponent_div_5_span_5_Template, 1, 4, "span", 16)(6, TableComponent_div_5_6_Template, 1, 2, null, 17);
408
+ i0.ɵɵelementEnd();
409
+ } if (rf & 2) {
410
+ const colHeader_r4 = ctx.$implicit;
411
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(6, _c5$1, (colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.width) || "", colHeader_r4.action ? "pointer" : "default", (colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.justifyContent) ? colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.justifyContent : colHeader_r4.type === "number" ? "flex-end" : "space-between"));
412
+ i0.ɵɵadvance(2);
413
+ i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) !== "custom" && (colHeader_r4 == null ? null : colHeader_r4.type) !== "checkbox");
414
+ i0.ɵɵadvance();
415
+ i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) !== "custom" && (colHeader_r4 == null ? null : colHeader_r4.filters) && (colHeader_r4 == null ? null : colHeader_r4.filters == null ? null : colHeader_r4.filters.length) > 0);
416
+ i0.ɵɵadvance();
417
+ i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) === "checkbox");
418
+ i0.ɵɵadvance();
419
+ i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.isSortable) && !(colHeader_r4 == null ? null : colHeader_r4.filters));
420
+ i0.ɵɵadvance();
421
+ i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) === "custom");
422
+ } }
423
+ function TableComponent_div_7_div_2_p_2_Template(rf, ctx) { if (rf & 1) {
424
+ i0.ɵɵelementStart(0, "p", 36);
425
+ i0.ɵɵtext(1);
426
+ i0.ɵɵelementEnd();
427
+ } if (rf & 2) {
428
+ const ctx_r13 = i0.ɵɵnextContext();
429
+ const col_r12 = ctx_r13.$implicit;
430
+ const i_r13 = ctx_r13.index;
431
+ const ctx_r1 = i0.ɵɵnextContext(2);
432
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(3, _c11, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.color) ? ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.color : ""))("ngClass", i0.ɵɵpureFunction1(5, _c12, !!(ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.textEllipsis)));
433
+ i0.ɵɵadvance();
434
+ i0.ɵɵtextInterpolate1(" ", col_r12, " ");
435
+ } }
436
+ function TableComponent_div_7_div_2_3_ng_template_0_Template(rf, ctx) { }
437
+ function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
438
+ i0.ɵɵtemplate(0, TableComponent_div_7_div_2_3_ng_template_0_Template, 0, 0, "ng-template", 27);
439
+ } if (rf & 2) {
440
+ const ctx_r13 = i0.ɵɵnextContext();
441
+ const col_r12 = ctx_r13.$implicit;
442
+ const i_r13 = ctx_r13.index;
443
+ const ctx_r1 = i0.ɵɵnextContext(2);
444
+ i0.ɵɵproperty("customComponent", ctx_r1.config.colConfig[i_r13].componentRef)("data", col_r12);
445
+ } }
446
+ function TableComponent_div_7_div_2_mis_actions_cell_4_Template(rf, ctx) { if (rf & 1) {
447
+ const _r15 = i0.ɵɵgetCurrentView();
448
+ i0.ɵɵelementStart(0, "mis-actions-cell", 37);
449
+ i0.ɵɵlistener("actionClick", function TableComponent_div_7_div_2_mis_actions_cell_4_Template_mis_actions_cell_actionClick_0_listener($event) { i0.ɵɵrestoreView(_r15); const rowIndex_r16 = i0.ɵɵnextContext(2).index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onActionClick($event, rowIndex_r16)); })("dropdownToggled", function TableComponent_div_7_div_2_mis_actions_cell_4_Template_mis_actions_cell_dropdownToggled_0_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.closeOtherDropdowns($event)); });
450
+ i0.ɵɵelementEnd();
451
+ } if (rf & 2) {
452
+ const ctx_r13 = i0.ɵɵnextContext();
453
+ const col_r12 = ctx_r13.$implicit;
454
+ const i_r13 = ctx_r13.index;
455
+ const row_r17 = i0.ɵɵnextContext().$implicit;
456
+ const ctx_r1 = i0.ɵɵnextContext();
457
+ i0.ɵɵproperty("rowData", col_r12)("config", ctx_r1.config.colConfig[i_r13])("isChecked", col_r12.isChecked)("ngClass", i0.ɵɵpureFunction1(4, _c13, (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].actionType) === "checkbox" && ctx_r1.isRowDisabled(row_r17)));
458
+ } }
459
+ function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
460
+ const _r10 = i0.ɵɵgetCurrentView();
461
+ i0.ɵɵelementStart(0, "div", 32);
462
+ i0.ɵɵlistener("click", function TableComponent_div_7_div_2_Template_div_click_0_listener() { const ctx_r10 = i0.ɵɵrestoreView(_r10); const col_r12 = ctx_r10.$implicit; const i_r13 = ctx_r10.index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView((ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].action) && (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].actionType) !== "checkbox" ? ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].action(col_r12) : null); });
463
+ i0.ɵɵelementStart(1, "div", 33);
464
+ i0.ɵɵtemplate(2, TableComponent_div_7_div_2_p_2_Template, 2, 7, "p", 34)(3, TableComponent_div_7_div_2_3_Template, 1, 2, null, 17)(4, TableComponent_div_7_div_2_mis_actions_cell_4_Template, 1, 6, "mis-actions-cell", 35);
465
+ i0.ɵɵelementEnd()();
466
+ } if (rf & 2) {
467
+ const i_r13 = ctx.index;
468
+ const ctx_r1 = i0.ɵɵnextContext(2);
469
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(8, _c8, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.width) || (ctx_r1.config == null ? null : ctx_r1.config.colHeaderConfig[i_r13] == null ? null : ctx_r1.config.colHeaderConfig[i_r13].style == null ? null : ctx_r1.config.colHeaderConfig[i_r13].style.width) || ""))("ngClass", i0.ɵɵpureFunction1(10, _c9, ctx_r1.config.cellHover));
470
+ i0.ɵɵadvance();
471
+ i0.ɵɵstyleMap(ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style);
472
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(12, _c10, (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].action) ? "pointer" : "default", (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.justifyContent) ? ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].style == null ? null : ctx_r1.config.colConfig[i_r13].style.justifyContent : (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) === "number" ? "flex-end" : "space-between"));
473
+ i0.ɵɵadvance();
474
+ i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) !== "custom" && (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) !== "actions");
475
+ i0.ɵɵadvance();
476
+ i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) === "custom");
477
+ i0.ɵɵadvance();
478
+ i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[i_r13] == null ? null : ctx_r1.config.colConfig[i_r13].type) === "actions");
479
+ } }
480
+ function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
481
+ i0.ɵɵelementContainerStart(0);
482
+ i0.ɵɵelementStart(1, "div", 39);
483
+ i0.ɵɵtext(2, " Loading... ");
484
+ i0.ɵɵelementEnd();
485
+ i0.ɵɵelementContainerEnd();
486
+ } if (rf & 2) {
487
+ i0.ɵɵadvance();
488
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c14));
489
+ } }
490
+ function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
491
+ i0.ɵɵelementContainerStart(0);
492
+ i0.ɵɵelementStart(1, "div", 39);
493
+ i0.ɵɵtext(2, " No Data Available... ");
494
+ i0.ɵɵelementEnd();
495
+ i0.ɵɵelementContainerEnd();
496
+ } if (rf & 2) {
497
+ i0.ɵɵadvance();
498
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c14));
499
+ } }
500
+ function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
501
+ i0.ɵɵelementContainerStart(0);
502
+ i0.ɵɵelement(1, "sub-table", 40);
503
+ i0.ɵɵelementContainerEnd();
504
+ } if (rf & 2) {
505
+ const ctx_r1 = i0.ɵɵnextContext(3);
506
+ i0.ɵɵadvance();
507
+ i0.ɵɵproperty("config", ctx_r1.subTableconfig)("tableData", ctx_r1.subTableData);
508
+ } }
509
+ function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
510
+ i0.ɵɵelementStart(0, "div", 38);
511
+ i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container", 17)(2, TableComponent_div_7_div_3_ng_container_2_Template, 3, 2, "ng-container", 17)(3, TableComponent_div_7_div_3_ng_container_3_Template, 2, 2, "ng-container", 17);
512
+ i0.ɵɵelementEnd();
513
+ } if (rf & 2) {
514
+ const ctx_r1 = i0.ɵɵnextContext(2);
515
+ i0.ɵɵadvance();
516
+ i0.ɵɵproperty("ngIf", ctx_r1.subTableDataLoading);
517
+ i0.ɵɵadvance();
518
+ i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading && ctx_r1.subTableData.length === 0);
519
+ i0.ɵɵadvance();
520
+ i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading && ctx_r1.subTableData.length > 0);
521
+ } }
522
+ function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
523
+ const _r8 = i0.ɵɵgetCurrentView();
524
+ i0.ɵɵelementStart(0, "div", 28)(1, "div", 29);
525
+ 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)); });
526
+ i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 5, 15, "div", 30);
527
+ i0.ɵɵelementEnd();
528
+ i0.ɵɵtemplate(3, TableComponent_div_7_div_3_Template, 4, 3, "div", 31);
529
+ i0.ɵɵelementEnd();
530
+ } if (rf & 2) {
531
+ const row_r17 = ctx.$implicit;
532
+ const i_r9 = ctx.index;
533
+ const ctx_r1 = i0.ɵɵnextContext();
534
+ i0.ɵɵadvance();
535
+ i0.ɵɵclassProp("disabled-row", ctx_r1.isRowDisabled(row_r17));
536
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(6, _c6$1, ctx_r1.config.cellHover, ctx_r1.activeRowIndex.includes(i_r9)))("ngStyle", i0.ɵɵpureFunction1(9, _c7$1, (ctx_r1.config == null ? null : ctx_r1.config.rowConfig == null ? null : ctx_r1.config.rowConfig.height) ? ctx_r1.config.rowConfig.height : "44px"));
537
+ i0.ɵɵadvance();
538
+ i0.ɵɵproperty("ngForOf", row_r17);
539
+ i0.ɵɵadvance();
540
+ i0.ɵɵproperty("ngIf", (ctx_r1.config == null ? null : ctx_r1.config.canExpand) && ctx_r1.expandedIndex === i_r9);
541
+ } }
542
+ function TableComponent_div_8_ng_container_7_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
543
+ const _r19 = i0.ɵɵgetCurrentView();
544
+ i0.ɵɵelementStart(0, "span", 51);
545
+ i0.ɵɵlistener("click", function TableComponent_div_8_ng_container_7_div_1_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r19); const pageNumber_r20 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.updateSelectedPage(pageNumber_r20)); });
546
+ i0.ɵɵtext(1);
547
+ i0.ɵɵelementEnd();
548
+ } if (rf & 2) {
549
+ const pageNumber_r20 = i0.ɵɵnextContext().$implicit;
550
+ const ctx_r1 = i0.ɵɵnextContext(3);
551
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c15, pageNumber_r20 == (ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage)));
552
+ i0.ɵɵadvance();
553
+ i0.ɵɵtextInterpolate(pageNumber_r20);
554
+ } }
555
+ function TableComponent_div_8_ng_container_7_div_1_span_2_Template(rf, ctx) { if (rf & 1) {
556
+ i0.ɵɵelementStart(0, "span", 52)(1, "div", 39);
557
+ i0.ɵɵelement(2, "span", 53)(3, "span", 53)(4, "span", 54);
558
+ i0.ɵɵelementEnd()();
559
+ } if (rf & 2) {
560
+ i0.ɵɵadvance();
561
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(3, _c16));
562
+ i0.ɵɵadvance();
563
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4, _c17));
564
+ i0.ɵɵadvance();
565
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(5, _c17));
566
+ } }
567
+ function TableComponent_div_8_ng_container_7_div_1_Template(rf, ctx) { if (rf & 1) {
568
+ i0.ɵɵelementStart(0, "div");
569
+ i0.ɵɵtemplate(1, TableComponent_div_8_ng_container_7_div_1_span_1_Template, 2, 4, "span", 49)(2, TableComponent_div_8_ng_container_7_div_1_span_2_Template, 5, 6, "span", 50);
570
+ i0.ɵɵelementEnd();
571
+ } if (rf & 2) {
572
+ const pageNumber_r20 = ctx.$implicit;
573
+ i0.ɵɵadvance();
574
+ i0.ɵɵproperty("ngIf", pageNumber_r20 != 0);
575
+ i0.ɵɵadvance();
576
+ i0.ɵɵproperty("ngIf", pageNumber_r20 == 0);
577
+ } }
578
+ function TableComponent_div_8_ng_container_7_Template(rf, ctx) { if (rf & 1) {
579
+ i0.ɵɵelementContainerStart(0);
580
+ i0.ɵɵtemplate(1, TableComponent_div_8_ng_container_7_div_1_Template, 3, 2, "div", 48);
581
+ i0.ɵɵelementContainerEnd();
582
+ } if (rf & 2) {
583
+ const ctx_r1 = i0.ɵɵnextContext(2);
584
+ i0.ɵɵadvance();
585
+ i0.ɵɵproperty("ngForOf", ctx_r1.pages);
586
+ } }
587
+ function TableComponent_div_8_Template(rf, ctx) { if (rf & 1) {
588
+ const _r18 = i0.ɵɵgetCurrentView();
589
+ i0.ɵɵelementStart(0, "div", 41)(1, "p", 42);
590
+ i0.ɵɵtext(2);
591
+ i0.ɵɵelementEnd();
592
+ i0.ɵɵelementStart(3, "div", 43)(4, "span", 44);
593
+ i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) > 1 && ctx_r1.updateSelectedPage((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) - 1)); });
594
+ i0.ɵɵnamespaceSVG();
595
+ i0.ɵɵelementStart(5, "svg", 45);
596
+ i0.ɵɵelement(6, "path", 46);
597
+ i0.ɵɵelementEnd()();
598
+ i0.ɵɵtemplate(7, TableComponent_div_8_ng_container_7_Template, 2, 1, "ng-container", 17);
599
+ i0.ɵɵnamespaceHTML();
600
+ i0.ɵɵelementStart(8, "span", 44);
601
+ i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_8_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) < (ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.noOfPages) && ctx_r1.updateSelectedPage((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) + 1)); });
602
+ i0.ɵɵnamespaceSVG();
603
+ i0.ɵɵelementStart(9, "svg", 45);
293
604
  i0.ɵɵelement(10, "path", 47);
294
605
  i0.ɵɵelementEnd()()()();
295
606
  } if (rf & 2) {
@@ -552,41 +863,49 @@ class TableComponent {
552
863
  }
553
864
  toggleCheckbox() {
554
865
  this.selectAllCheckbox = !this.selectAllCheckbox;
555
- // Find the checkbox column index (if any)
556
- const checkboxColIndex = this.config.colHeaderConfig.findIndex(col => col.type === "checkbox");
557
- // Only update if checkbox column exists
866
+ const checkboxColIndex = this.config.colConfig.findIndex(col => col.type === 'actions' && col.actionType === 'checkbox');
558
867
  if (checkboxColIndex !== -1) {
868
+ const checkboxConfig = this.config.colConfig[checkboxColIndex];
559
869
  this.tableData = this.tableData.map((row) => {
560
870
  const updatedRow = [...row];
561
- updatedRow[checkboxColIndex] = this.selectAllCheckbox;
871
+ const currentCheckbox = updatedRow[checkboxColIndex];
872
+ const isDisabled = checkboxConfig?.disable && checkboxConfig.disable(currentCheckbox);
873
+ if (!isDisabled) {
874
+ updatedRow[checkboxColIndex] = {
875
+ ...currentCheckbox,
876
+ isChecked: this.selectAllCheckbox
877
+ };
878
+ }
562
879
  return updatedRow;
563
880
  });
881
+ this.headerAction?.emit({
882
+ type: "checkboxToggle",
883
+ payload: this.tableData
884
+ });
564
885
  }
565
- // Call the header action callback with updated state
566
- const checkboxHeader = this.config.colHeaderConfig[checkboxColIndex];
567
- if (checkboxHeader?.action) {
568
- checkboxHeader.action({
569
- type: "checkbox",
570
- isChecked: this.selectAllCheckbox,
571
- tableData: this.tableData
886
+ }
887
+ closeOtherDropdowns(exceptComponent) {
888
+ if (this.actionCells) {
889
+ this.actionCells.forEach(cell => {
890
+ if (cell !== exceptComponent) {
891
+ cell.closeDropdown();
892
+ }
572
893
  });
573
894
  }
574
- this.headerAction?.emit({
575
- type: "checkboxToggle",
576
- payload: this.tableData
577
- });
578
895
  }
579
896
  static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
580
897
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["mis-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
581
- i0.ɵɵviewQuery(_c0$3, 5);
898
+ i0.ɵɵviewQuery(_c0$2, 5);
582
899
  i0.ɵɵviewQuery(_c1$2, 5);
583
900
  i0.ɵɵviewQuery(_c2$2, 5);
901
+ i0.ɵɵviewQuery(ActionsCellComponent, 5);
584
902
  } if (rf & 2) {
585
903
  let _t;
586
904
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
587
905
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
588
906
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.colHeaders = _t);
589
- } }, inputs: { config: [0, "tableConfig", "config"], subTableconfig: "subTableconfig", tableDataLoading: "tableDataLoading", expandedIndex: "expandedIndex", tableData: "tableData", subTableData: "subTableData", subTableDataLoading: "subTableDataLoading" }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected", sortChange: "sortChange", headerAction: "headerAction" }, features: [i0.ɵɵNgOnChangesFeature], decls: 9, vars: 15, consts: [["table", ""], ["filter", ""], ["colHeaderRef", ""], ["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-container", 4, "ngIf"], [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, "rowData", "config", "isChecked", "ngClass", "actionClick", 4, "ngIf"], [1, "t-col-text", 3, "ngStyle", "ngClass"], [3, "actionClick", "rowData", "config", "isChecked", "ngClass"], [1, "sub-row"], [3, "ngStyle"], [3, "config", "tableData"], ["id", "pagination-container"], ["id", "pagination-text"], ["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"], [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) {
907
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.actionCells = _t);
908
+ } }, inputs: { config: [0, "tableConfig", "config"], subTableconfig: "subTableconfig", tableDataLoading: "tableDataLoading", expandedIndex: "expandedIndex", tableData: "tableData", subTableData: "subTableData", subTableDataLoading: "subTableDataLoading" }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected", sortChange: "sortChange", headerAction: "headerAction" }, features: [i0.ɵɵNgOnChangesFeature], decls: 9, vars: 15, consts: [["table", ""], ["filter", ""], ["colHeaderRef", ""], ["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-container", 4, "ngIf"], [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, "rowData", "config", "isChecked", "ngClass", "actionClick", "dropdownToggled", 4, "ngIf"], [1, "t-col-text", 3, "ngStyle", "ngClass"], [3, "actionClick", "dropdownToggled", "rowData", "config", "isChecked", "ngClass"], [1, "sub-row"], [3, "ngStyle"], [3, "config", "tableData"], ["id", "pagination-container"], ["id", "pagination-text"], ["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"], [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) {
590
909
  i0.ɵɵelementStart(0, "div", 3);
591
910
  i0.ɵɵtemplate(1, TableComponent_mis_table_filter_1_Template, 2, 2, "mis-table-filter", 4);
592
911
  i0.ɵɵelementStart(2, "div", 5, 0)(4, "div", 6);
@@ -615,7 +934,7 @@ class TableComponent {
615
934
  }
616
935
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
617
936
  type: Component,
618
- args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': config.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': config.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 config?.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 = 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]=\"config.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': config.cellHover, 'active-row': activeRowIndex.includes(i) }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n [class.disabled-row]=\"isRowDisabled(row)\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action && config?.colConfig[i]?.actionType !== 'checkbox' ? 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 [ngClass]=\"{ 't-col-container-hover': config.cellHover }\"\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' && config.colConfig[i]?.type !== 'actions'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color ? config?.colConfig[i]?.style?.color : ''\n }\"\n [ngClass]=\"{'text-ellipsis': !!config?.colConfig[i]?.style?.textEllipsis}\"\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 <mis-actions-cell\n *ngIf=\"config.colConfig[i]?.type === 'actions'\"\n [rowData]=\"col\"\n [config]=\"config.colConfig[i]\"\n [isChecked]=\"col.isChecked\"\n (actionClick)=\"onActionClick($event, rowIndex)\"\n [ngClass]=\"{\n 'disable-actions': config.colConfig[i]?.actionType === 'checkbox' && isRowDisabled(row)\n }\"\n ></mis-actions-cell>\n\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.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=\"config?.paginationConfig && (tableLength >= config.paginationConfig.rowsPerPage || config.paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + tableLength\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"config.paginationConfig?.selectedPage > 1 && updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\" [class.page-nav-inactive]=\"config.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=\"!config.paginationConfig?.disablePageJumping\">\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == config.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]=\"config.paginationConfig?.selectedPage === config.paginationConfig?.noOfPages\"\n (click)=\"config.paginationConfig?.selectedPage < config.paginationConfig?.noOfPages && updateSelectedPage(config.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:#9aa7b4;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:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #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:#16cbbc;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:#0937b2}.t-row{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#e7eefd}.active-row{background-color:#e6f6fd}.t-col-container{padding:0 16px;overflow-wrap:anywhere}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:#e6ebf7}.t-col-container-hover:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover{border-right:1px solid #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:#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:#6a737d;margin-right:8px;cursor:pointer}.page.page-jumping-enabled{border:1px solid #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:#6a737d}.page-active{color:#0937b2;border:1px solid #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:#e6f5fd}.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}\n"] }]
937
+ args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': config.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': config.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 config?.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 = 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]=\"config.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': config.cellHover, 'active-row': activeRowIndex.includes(i) }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n [class.disabled-row]=\"isRowDisabled(row)\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action && config?.colConfig[i]?.actionType !== 'checkbox' ? 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 [ngClass]=\"{ 't-col-container-hover': config.cellHover }\"\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' && config.colConfig[i]?.type !== 'actions'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color ? config?.colConfig[i]?.style?.color : ''\n }\"\n [ngClass]=\"{'text-ellipsis': !!config?.colConfig[i]?.style?.textEllipsis}\"\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 <mis-actions-cell\n *ngIf=\"config.colConfig[i]?.type === 'actions'\"\n [rowData]=\"col\"\n [config]=\"config.colConfig[i]\"\n [isChecked]=\"col.isChecked\"\n (actionClick)=\"onActionClick($event, rowIndex)\"\n (dropdownToggled)=\"closeOtherDropdowns($event)\"\n [ngClass]=\"{\n 'disable-actions': config.colConfig[i]?.actionType === 'checkbox' && isRowDisabled(row)\n }\"\n ></mis-actions-cell>\n\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.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=\"config?.paginationConfig && (tableLength >= config.paginationConfig.rowsPerPage || config.paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + tableLength\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"config.paginationConfig?.selectedPage > 1 && updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\" [class.page-nav-inactive]=\"config.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=\"!config.paginationConfig?.disablePageJumping\">\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == config.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]=\"config.paginationConfig?.selectedPage === config.paginationConfig?.noOfPages\"\n (click)=\"config.paginationConfig?.selectedPage < config.paginationConfig?.noOfPages && updateSelectedPage(config.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:#9aa7b4;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:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #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:#16cbbc;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:#0937b2}.t-row{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#e7eefd}.active-row{background-color:#e6f6fd}.t-col-container{padding:0 16px;overflow-wrap:anywhere}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:#e6ebf7}.t-col-container-hover:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover{border-right:1px solid #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:#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:#6a737d;margin-right:8px;cursor:pointer}.page.page-jumping-enabled{border:1px solid #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:#6a737d}.page-active{color:#0937b2;border:1px solid #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:#e6f5fd}.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}\n"] }]
619
938
  }], () => [{ type: i0.Renderer2 }], { filtersUpdated: [{
620
939
  type: Output
621
940
  }], filter: [{
@@ -624,6 +943,9 @@ class TableComponent {
624
943
  }], colHeaders: [{
625
944
  type: ViewChildren,
626
945
  args: ["colHeaderRef"]
946
+ }], actionCells: [{
947
+ type: ViewChildren,
948
+ args: [ActionsCellComponent]
627
949
  }], pageSelected: [{
628
950
  type: Output
629
951
  }], config: [{
@@ -691,7 +1013,7 @@ class CustomTableCellDirective {
691
1013
  type: Input
692
1014
  }] }); })();
693
1015
 
694
- const _c0$2 = ["table"];
1016
+ const _c0$1 = ["table"];
695
1017
  const _c1$1 = (a0, a1) => ({ height: a0, width: a1 });
696
1018
  const _c2$1 = (a0, a1, a2) => ({ height: a0, "border-top": a1, "border-bottom": a2 });
697
1019
  const _c3 = (a0, a1, a2) => ({ width: a0, cursor: a1, "justify-content": a2 });
@@ -844,7 +1166,7 @@ class SubTableComponent {
844
1166
  }
845
1167
  static { this.ɵfac = function SubTableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SubTableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
846
1168
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubTableComponent, selectors: [["sub-table"]], viewQuery: function SubTableComponent_Query(rf, ctx) { if (rf & 1) {
847
- i0.ɵɵviewQuery(_c0$2, 5);
1169
+ i0.ɵɵviewQuery(_c0$1, 5);
848
1170
  } if (rf & 2) {
849
1171
  let _t;
850
1172
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
@@ -863,7 +1185,7 @@ class SubTableComponent {
863
1185
  i0.ɵɵproperty("minBufferPx", ctx.config.dataContainerMaxHeight || "400")("maxBufferPx", ctx.config.dataContainerMaxHeight + 200 || "600");
864
1186
  i0.ɵɵadvance();
865
1187
  i0.ɵɵproperty("cdkVirtualForOf", ctx.tableData);
866
- } }, 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:#fff;height:36px;border-bottom:1px solid #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:#9aa7b4}.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 #e0e0e0}.t-row[_ngcontent-%COMP%]:hover{background-color:#f1fdf8}.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}"] }); }
1188
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CdkFixedSizeVirtualScroll, i2$1.CdkVirtualForOf, i2$1.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:#fff;height:36px;border-bottom:1px solid #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:#9aa7b4}.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 #e0e0e0}.t-row[_ngcontent-%COMP%]:hover{background-color:#f1fdf8}.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}"] }); }
867
1189
  }
868
1190
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubTableComponent, [{
869
1191
  type: Component,
@@ -878,7 +1200,7 @@ class SubTableComponent {
878
1200
  }] }); })();
879
1201
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SubTableComponent, { className: "SubTableComponent" }); })();
880
1202
 
881
- const _c0$1 = ["mainContainer"];
1203
+ const _c0 = ["mainContainer"];
882
1204
  const _c1 = () => ({ "margin": "16px 0px" });
883
1205
  const _c2 = () => ({ "margin-right": "8px" });
884
1206
  function TableFilterComponent_div_8_Template(rf, ctx) { if (rf & 1) {
@@ -990,7 +1312,7 @@ class TableFilterComponent {
990
1312
  }
991
1313
  static { this.ɵfac = function TableFilterComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableFilterComponent)(); }; }
992
1314
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableFilterComponent, selectors: [["mis-table-filter"]], viewQuery: function TableFilterComponent_Query(rf, ctx) { if (rf & 1) {
993
- i0.ɵɵviewQuery(_c0$1, 5);
1315
+ i0.ɵɵviewQuery(_c0, 5);
994
1316
  } if (rf & 2) {
995
1317
  let _t;
996
1318
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
@@ -1034,7 +1356,7 @@ class TableFilterComponent {
1034
1356
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(7, _c1));
1035
1357
  i0.ɵɵadvance(2);
1036
1358
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(8, _c2));
1037
- } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent], styles: ["#main-container[_ngcontent-%COMP%]{position:absolute;background:#fff;z-index:2;right:calc(50% - 128px);width:256px;padding:16px;font-family:Lato,sans-serif;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px}[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4}#search-bar-container[_ngcontent-%COMP%]{width:100%;position:relative;margin-bottom:8px}input[_ngcontent-%COMP%]{width:100%;padding:12px 12px 12px 42px;border:solid 1px black;border-radius:4px;height:48px;box-shadow:none;outline:none;font-style:normal;font-weight:400;font-size:15px;line-height:20px;letter-spacing:.1px;color:#181f33}input[_ngcontent-%COMP%]:focus{border:solid 1px #0937b2}#search-icon[_ngcontent-%COMP%]{position:absolute;top:15px;left:12px}.filters-sub-container[_ngcontent-%COMP%]{max-height:144px;overflow-y:auto}.filter[_ngcontent-%COMP%]{height:36px;display:flex;justify-content:flex-start;align-items:center}.filter-text[_ngcontent-%COMP%]{font-size:14px;line-height:20px;padding-left:8px;letter-spacing:.2px;color:#181f33;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#no-results-container[_ngcontent-%COMP%]{height:36px;display:flex;justify-content:center;align-items:center}.separator[_ngcontent-%COMP%]{border:1px solid #e0e0e0}#buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}button[_ngcontent-%COMP%]{width:calc(50% - 4px);border:none;box-shadow:none;outline:none;font-size:16px;line-height:24px;text-align:center;letter-spacing:.2px;padding:10px 30px;background:none;border-radius:8px}#apply-btn[_ngcontent-%COMP%]{background:#0937b2;color:#fff}#reset-btn[_ngcontent-%COMP%]{background:#fff;color:#0937b2}"] }); }
1359
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle, i2.CheckboxComponent], styles: ["#main-container[_ngcontent-%COMP%]{position:absolute;background:#fff;z-index:2;right:calc(50% - 128px);width:256px;padding:16px;font-family:Lato,sans-serif;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:8px}[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4}#search-bar-container[_ngcontent-%COMP%]{width:100%;position:relative;margin-bottom:8px}input[_ngcontent-%COMP%]{width:100%;padding:12px 12px 12px 42px;border:solid 1px black;border-radius:4px;height:48px;box-shadow:none;outline:none;font-style:normal;font-weight:400;font-size:15px;line-height:20px;letter-spacing:.1px;color:#181f33}input[_ngcontent-%COMP%]:focus{border:solid 1px #0937b2}#search-icon[_ngcontent-%COMP%]{position:absolute;top:15px;left:12px}.filters-sub-container[_ngcontent-%COMP%]{max-height:144px;overflow-y:auto}.filter[_ngcontent-%COMP%]{height:36px;display:flex;justify-content:flex-start;align-items:center}.filter-text[_ngcontent-%COMP%]{font-size:14px;line-height:20px;padding-left:8px;letter-spacing:.2px;color:#181f33;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#no-results-container[_ngcontent-%COMP%]{height:36px;display:flex;justify-content:center;align-items:center}.separator[_ngcontent-%COMP%]{border:1px solid #e0e0e0}#buttons-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}button[_ngcontent-%COMP%]{width:calc(50% - 4px);border:none;box-shadow:none;outline:none;font-size:16px;line-height:24px;text-align:center;letter-spacing:.2px;padding:10px 30px;background:none;border-radius:8px}#apply-btn[_ngcontent-%COMP%]{background:#0937b2;color:#fff}#reset-btn[_ngcontent-%COMP%]{background:#fff;color:#0937b2}"] }); }
1038
1360
  }
1039
1361
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableFilterComponent, [{
1040
1362
  type: Component,
@@ -1188,294 +1510,6 @@ class SortIconsDirective {
1188
1510
  }]
1189
1511
  }], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], null); })();
1190
1512
 
1191
- const _c0 = a0 => ({ disabled: a0 });
1192
- function ActionsCellComponent_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
1193
- const _r1 = i0.ɵɵgetCurrentView();
1194
- i0.ɵɵelementStart(0, "div", 7);
1195
- i0.ɵɵlistener("click", function ActionsCellComponent_div_1_div_1_Template_div_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onActionClick(item_r2, $event)); });
1196
- i0.ɵɵelement(1, "img", 8);
1197
- i0.ɵɵelementEnd();
1198
- } if (rf & 2) {
1199
- const item_r2 = ctx.$implicit;
1200
- const ctx_r2 = i0.ɵɵnextContext(2);
1201
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r2.isDisabled(item_r2)));
1202
- i0.ɵɵadvance();
1203
- i0.ɵɵproperty("src", item_r2.icon, i0.ɵɵsanitizeUrl)("alt", item_r2.label);
1204
- } }
1205
- function ActionsCellComponent_div_1_Template(rf, ctx) { if (rf & 1) {
1206
- i0.ɵɵelementStart(0, "div", 5);
1207
- i0.ɵɵtemplate(1, ActionsCellComponent_div_1_div_1_Template, 2, 5, "div", 6);
1208
- i0.ɵɵelementEnd();
1209
- } if (rf & 2) {
1210
- const ctx_r2 = i0.ɵɵnextContext();
1211
- i0.ɵɵadvance();
1212
- i0.ɵɵproperty("ngForOf", ctx_r2.actionItems)("ngForTrackBy", ctx_r2.trackByAction);
1213
- } }
1214
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
1215
- i0.ɵɵelementStart(0, "span", 26);
1216
- i0.ɵɵelement(1, "img", 27);
1217
- i0.ɵɵelementEnd();
1218
- } if (rf & 2) {
1219
- const item_r6 = i0.ɵɵnextContext(2).$implicit;
1220
- i0.ɵɵadvance();
1221
- i0.ɵɵproperty("src", item_r6.icon, i0.ɵɵsanitizeUrl);
1222
- } }
1223
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
1224
- i0.ɵɵelementStart(0, "span", 26);
1225
- i0.ɵɵelement(1, "img", 27);
1226
- i0.ɵɵelementEnd();
1227
- } if (rf & 2) {
1228
- const child_r8 = i0.ɵɵnextContext().$implicit;
1229
- i0.ɵɵadvance();
1230
- i0.ɵɵproperty("src", child_r8.icon, i0.ɵɵsanitizeUrl);
1231
- } }
1232
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template(rf, ctx) { if (rf & 1) {
1233
- const _r7 = i0.ɵɵgetCurrentView();
1234
- i0.ɵɵelementStart(0, "div", 18);
1235
- i0.ɵɵlistener("click", function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template_div_click_0_listener($event) { const child_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick(child_r8, $event)); });
1236
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_span_1_Template, 2, 1, "span", 20);
1237
- i0.ɵɵelementStart(2, "span", 21);
1238
- i0.ɵɵtext(3);
1239
- i0.ɵɵelementEnd()();
1240
- } if (rf & 2) {
1241
- const child_r8 = ctx.$implicit;
1242
- const ctx_r2 = i0.ɵɵnextContext(6);
1243
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r2.isDisabled(child_r8)));
1244
- i0.ɵɵadvance();
1245
- i0.ɵɵproperty("ngIf", child_r8.icon);
1246
- i0.ɵɵadvance(2);
1247
- i0.ɵɵtextInterpolate(child_r8.label);
1248
- } }
1249
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_Template(rf, ctx) { if (rf & 1) {
1250
- i0.ɵɵelementStart(0, "div", 28);
1251
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_div_1_Template, 4, 5, "div", 17);
1252
- i0.ɵɵelementEnd();
1253
- } if (rf & 2) {
1254
- const item_r6 = i0.ɵɵnextContext(2).$implicit;
1255
- i0.ɵɵproperty("ngClass", item_r6.submenuAlign);
1256
- i0.ɵɵadvance();
1257
- i0.ɵɵproperty("ngForOf", item_r6.children);
1258
- } }
1259
- function ActionsCellComponent_div_2_div_6_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
1260
- i0.ɵɵelementContainerStart(0);
1261
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_span_1_Template, 2, 1, "span", 20);
1262
- i0.ɵɵelementStart(2, "span", 21);
1263
- i0.ɵɵtext(3);
1264
- i0.ɵɵelementEnd();
1265
- i0.ɵɵelementStart(4, "span", 22);
1266
- i0.ɵɵnamespaceSVG();
1267
- i0.ɵɵelementStart(5, "svg", 23);
1268
- i0.ɵɵelement(6, "path", 24);
1269
- i0.ɵɵelementEnd()();
1270
- i0.ɵɵtemplate(7, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_div_7_Template, 2, 2, "div", 25);
1271
- i0.ɵɵelementContainerEnd();
1272
- } if (rf & 2) {
1273
- const item_r6 = i0.ɵɵnextContext().$implicit;
1274
- i0.ɵɵadvance();
1275
- i0.ɵɵproperty("ngIf", item_r6.icon);
1276
- i0.ɵɵadvance(2);
1277
- i0.ɵɵtextInterpolate(item_r6.label);
1278
- i0.ɵɵadvance(4);
1279
- i0.ɵɵproperty("ngIf", item_r6.showSubmenu);
1280
- } }
1281
- function ActionsCellComponent_div_2_div_6_div_1_ng_template_2_span_0_Template(rf, ctx) { if (rf & 1) {
1282
- i0.ɵɵelementStart(0, "span", 26);
1283
- i0.ɵɵelement(1, "img", 27);
1284
- i0.ɵɵelementEnd();
1285
- } if (rf & 2) {
1286
- const item_r6 = i0.ɵɵnextContext(2).$implicit;
1287
- i0.ɵɵadvance();
1288
- i0.ɵɵproperty("src", item_r6.icon, i0.ɵɵsanitizeUrl);
1289
- } }
1290
- function ActionsCellComponent_div_2_div_6_div_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
1291
- i0.ɵɵtemplate(0, ActionsCellComponent_div_2_div_6_div_1_ng_template_2_span_0_Template, 2, 1, "span", 20);
1292
- i0.ɵɵelementStart(1, "span", 21);
1293
- i0.ɵɵtext(2);
1294
- i0.ɵɵelementEnd();
1295
- } if (rf & 2) {
1296
- const item_r6 = i0.ɵɵnextContext().$implicit;
1297
- i0.ɵɵproperty("ngIf", item_r6.icon);
1298
- i0.ɵɵadvance(2);
1299
- i0.ɵɵtextInterpolate(item_r6.label);
1300
- } }
1301
- function ActionsCellComponent_div_2_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
1302
- const _r5 = i0.ɵɵgetCurrentView();
1303
- i0.ɵɵelementStart(0, "div", 18);
1304
- i0.ɵɵlistener("click", function ActionsCellComponent_div_2_div_6_div_1_Template_div_click_0_listener($event) { const item_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick(item_r6, $event)); });
1305
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_ng_container_1_Template, 8, 3, "ng-container", 19)(2, ActionsCellComponent_div_2_div_6_div_1_ng_template_2_Template, 3, 2, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
1306
- i0.ɵɵelementEnd();
1307
- } if (rf & 2) {
1308
- const item_r6 = ctx.$implicit;
1309
- const noChildren_r9 = i0.ɵɵreference(3);
1310
- const ctx_r2 = i0.ɵɵnextContext(3);
1311
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r2.isDisabled(item_r6)));
1312
- i0.ɵɵadvance();
1313
- i0.ɵɵproperty("ngIf", item_r6.children == null ? null : item_r6.children.length)("ngIfElse", noChildren_r9);
1314
- } }
1315
- function ActionsCellComponent_div_2_div_6_Template(rf, ctx) { if (rf & 1) {
1316
- i0.ɵɵelementStart(0, "div", 16);
1317
- i0.ɵɵtemplate(1, ActionsCellComponent_div_2_div_6_div_1_Template, 4, 5, "div", 17);
1318
- i0.ɵɵelementEnd();
1319
- } if (rf & 2) {
1320
- const ctx_r2 = i0.ɵɵnextContext(2);
1321
- i0.ɵɵproperty("ngClass", ctx_r2.menuAlign);
1322
- i0.ɵɵadvance();
1323
- i0.ɵɵproperty("ngForOf", ctx_r2.actionItems);
1324
- } }
1325
- function ActionsCellComponent_div_2_Template(rf, ctx) { if (rf & 1) {
1326
- const _r4 = i0.ɵɵgetCurrentView();
1327
- i0.ɵɵelementStart(0, "div", 9)(1, "div", 10);
1328
- i0.ɵɵlistener("click", function ActionsCellComponent_div_2_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleDropdown($event)); });
1329
- i0.ɵɵnamespaceSVG();
1330
- i0.ɵɵelementStart(2, "svg", 11);
1331
- i0.ɵɵelement(3, "circle", 12)(4, "circle", 13)(5, "circle", 14);
1332
- i0.ɵɵelementEnd()();
1333
- i0.ɵɵtemplate(6, ActionsCellComponent_div_2_div_6_Template, 2, 2, "div", 15);
1334
- i0.ɵɵelementEnd();
1335
- } if (rf & 2) {
1336
- const ctx_r2 = i0.ɵɵnextContext();
1337
- i0.ɵɵadvance(6);
1338
- i0.ɵɵproperty("ngIf", ctx_r2.isDropdownOpen);
1339
- } }
1340
- function ActionsCellComponent_div_3_Template(rf, ctx) { if (rf & 1) {
1341
- const _r10 = i0.ɵɵgetCurrentView();
1342
- i0.ɵɵelementStart(0, "div", 29)(1, "mis-checkbox", 30);
1343
- i0.ɵɵlistener("valueChange", function ActionsCellComponent_div_3_Template_mis_checkbox_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCheckboxChange($event)); });
1344
- i0.ɵɵelementEnd()();
1345
- } if (rf & 2) {
1346
- const ctx_r2 = i0.ɵɵnextContext();
1347
- i0.ɵɵadvance();
1348
- i0.ɵɵproperty("checked", ctx_r2.isChecked);
1349
- } }
1350
- class ActionsCellComponent {
1351
- constructor() {
1352
- this.isChecked = false;
1353
- this.actionItems = [];
1354
- this.actionType = "inline";
1355
- this.submenuAlign = "right";
1356
- this.menuAlign = "left";
1357
- this.actionClick = new EventEmitter();
1358
- this.isDropdownOpen = false;
1359
- this._style = {};
1360
- this.containerStyle = {};
1361
- }
1362
- set rowData(value) {
1363
- this.data = value?.rowData ?? {};
1364
- this.isChecked = value?.isChecked ?? false;
1365
- }
1366
- set config(config) {
1367
- this.actionItems = config?.actionItems,
1368
- this.actionType = config.actionType,
1369
- this.submenuAlign = config.submenuAlign,
1370
- this.menuAlign = config.menuAlign;
1371
- this._style = config.style;
1372
- this.action = config.action;
1373
- this.processStyle();
1374
- }
1375
- ngOnInit() { }
1376
- processStyle() {
1377
- // Remove width from style to avoid conflicts with table column width
1378
- const { width, ...restStyle } = this._style;
1379
- this.containerStyle = restStyle;
1380
- }
1381
- onActionClick(item, event) {
1382
- event.stopPropagation();
1383
- // Check permissions before executing action
1384
- if (this.isDisabled(item))
1385
- return;
1386
- // Execute action only if permitted
1387
- if (item.action) {
1388
- item.action(this.data);
1389
- }
1390
- this.actionClick.emit({ item, data: this.data });
1391
- }
1392
- trackByAction(index, item) {
1393
- return item.value;
1394
- }
1395
- isSvgFile(iconPath) {
1396
- if (!iconPath)
1397
- return false;
1398
- return iconPath.toLowerCase().includes(".svg") || iconPath.toLowerCase().includes("assets/icons/");
1399
- }
1400
- onDocumentClick() {
1401
- if (this.isDropdownOpen) {
1402
- this.isDropdownOpen = false;
1403
- }
1404
- }
1405
- toggleDropdown(event) {
1406
- event.stopPropagation();
1407
- this.isDropdownOpen = !this.isDropdownOpen;
1408
- // Close all submenus when opening/closing main menu
1409
- this.actionItems.forEach((item) => (item.showSubmenu = false));
1410
- }
1411
- onDropdownItemClick(item, event) {
1412
- event.stopPropagation();
1413
- if (this.isDisabled(item))
1414
- return;
1415
- if (item?.children?.length) {
1416
- // Toggle submenu
1417
- item.showSubmenu = !item.showSubmenu;
1418
- // Optionally close other submenus
1419
- this.actionItems.forEach((i) => {
1420
- if (i !== item)
1421
- i.showSubmenu = false;
1422
- });
1423
- }
1424
- else {
1425
- // Handle action
1426
- if (item.action)
1427
- item.action(this.data);
1428
- this.actionClick.emit({ item, data: this.data });
1429
- this.isDropdownOpen = false; // Only close if action was executed
1430
- }
1431
- }
1432
- onCheckboxChange(event) {
1433
- this.isChecked = event?.value ?? false;
1434
- this.actionClick.emit({
1435
- isChecked: this.isChecked,
1436
- data: this.data
1437
- });
1438
- }
1439
- isDisabled(item) {
1440
- if (typeof item.disable === "function") {
1441
- return item.disable(this.data);
1442
- }
1443
- return false;
1444
- }
1445
- static { this.ɵfac = function ActionsCellComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionsCellComponent)(); }; }
1446
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsCellComponent, selectors: [["mis-actions-cell"]], hostBindings: function ActionsCellComponent_HostBindings(rf, ctx) { if (rf & 1) {
1447
- i0.ɵɵlistener("click", function ActionsCellComponent_click_HostBindingHandler() { return ctx.onDocumentClick(); }, false, i0.ɵɵresolveDocument);
1448
- } }, inputs: { rowData: "rowData", isChecked: "isChecked", config: "config" }, outputs: { actionClick: "actionClick" }, decls: 4, vars: 4, consts: [["noChildren", ""], [1, "actions-cell-container", 3, "ngStyle"], ["class", "inline-actions", 4, "ngIf"], ["class", "dropdown-actions", 4, "ngIf"], ["class", "checkbox-actions", 4, "ngIf"], [1, "inline-actions"], ["class", "action-item", 3, "ngClass", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "action-item", 3, "click", "ngClass"], [1, "action-icon-svg", 3, "src", "alt"], [1, "dropdown-actions"], ["title", "More actions", 1, "dropdown-trigger", 3, "click"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none"], ["cx", "10", "cy", "4", "r", "2", "fill", "#333"], ["cx", "10", "cy", "10", "r", "2", "fill", "#333"], ["cx", "10", "cy", "16", "r", "2", "fill", "#333"], ["class", "dropdown-menu", 3, "ngClass", 4, "ngIf"], [1, "dropdown-menu", 3, "ngClass"], ["class", "dropdown-menu-item", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "dropdown-menu-item", 3, "click", "ngClass"], [4, "ngIf", "ngIfElse"], ["class", "dropdown-icon", 4, "ngIf"], [1, "dropdown-label"], [1, "submenu-arrow"], ["width", "20", "height", "20", "viewBox", "0 0 24 24", "fill", "none"], ["d", "M9 6L15 12L9 18", "stroke", "#0D1321", "stroke-width", "2", "stroke-linecap", "round", "stroke-linejoin", "round"], ["class", "dropdown-submenu", 3, "ngClass", 4, "ngIf"], [1, "dropdown-icon"], [3, "src"], [1, "dropdown-submenu", 3, "ngClass"], [1, "checkbox-actions"], [3, "valueChange", "checked"]], template: function ActionsCellComponent_Template(rf, ctx) { if (rf & 1) {
1449
- i0.ɵɵelementStart(0, "div", 1);
1450
- i0.ɵɵtemplate(1, ActionsCellComponent_div_1_Template, 2, 2, "div", 2)(2, ActionsCellComponent_div_2_Template, 7, 1, "div", 3)(3, ActionsCellComponent_div_3_Template, 2, 1, "div", 4);
1451
- i0.ɵɵelementEnd();
1452
- } if (rf & 2) {
1453
- i0.ɵɵproperty("ngStyle", ctx.containerStyle);
1454
- i0.ɵɵadvance();
1455
- i0.ɵɵproperty("ngIf", ctx.actionType === "inline");
1456
- i0.ɵɵadvance();
1457
- i0.ɵɵproperty("ngIf", ctx.actionType === "dropdown");
1458
- i0.ɵɵadvance();
1459
- i0.ɵɵproperty("ngIf", ctx.actionType === "checkbox");
1460
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent], styles: [".actions-cell-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;box-sizing:border-box}.inline-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;flex-wrap:nowrap;padding:4px 0;flex-direction:row}.action-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:20px;border-radius:4px;cursor:pointer;transition:all .2s ease;background-color:transparent;border:none;outline:none;flex-shrink:0;min-height:20px}.action-item[_ngcontent-%COMP%]:hover:not(.disabled){background-color:#0000000a;transform:scale(1.05)}.action-item[_ngcontent-%COMP%]:active:not(.disabled){transform:scale(.95)}.action-item.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed}.action-item.disabled[_ngcontent-%COMP%]:hover{background-color:transparent;transform:none}.action-icon[_ngcontent-%COMP%]{font-size:16px;color:#666;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.action-icon-svg[_ngcontent-%COMP%]{width:18px;height:18px;object-fit:contain;filter:brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.6) contrast(1);flex-shrink:0}.action-icon-svg[_ngcontent-%COMP%]:hover{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0) contrast(1)}.dropdown-trigger[_ngcontent-%COMP%]{cursor:pointer}.dropdown-actions[_ngcontent-%COMP%]{position:relative}.dropdown-trigger[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center}.dropdown-menu[_ngcontent-%COMP%]{position:absolute;top:100%;width:232px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;z-index:1000;padding:8px 0}.dropdown-menu.left[_ngcontent-%COMP%]{right:0!important;left:auto!important}.dropdown-menu.right[_ngcontent-%COMP%]{left:0!important;right:auto!important}.dropdown-menu-item.disabled[_ngcontent-%COMP%]{color:#aaa;cursor:not-allowed}.dropdown-menu-item[_ngcontent-%COMP%]:hover:not(.disabled), .dropdown-menu-item.has-submenu[_ngcontent-%COMP%]:hover{background:#f5f5f5}.dropdown-menu-item[_ngcontent-%COMP%]{display:flex;align-items:center;padding:10px 18px;cursor:pointer;font-size:14px;position:relative}.dropdown-menu-item[_ngcontent-%COMP%] .dropdown-label[_ngcontent-%COMP%]{flex:1;margin-left:8px}.dropdown-menu-item[_ngcontent-%COMP%] .submenu-arrow[_ngcontent-%COMP%]{margin-left:auto;width:16px;height:16px}.submenu-container[_ngcontent-%COMP%]{position:absolute;top:0;left:100%;margin-left:4px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;z-index:1000;white-space:nowrap}.dropdown-submenu[_ngcontent-%COMP%]{position:absolute;top:0;min-width:132px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px 0;z-index:1001}.dropdown-submenu.right[_ngcontent-%COMP%]{left:100%;margin-left:4px}.dropdown-submenu.left[_ngcontent-%COMP%]{left:auto;right:100%;background-color:#fff;border:1px solid #ddd;z-index:9999;position:absolute;margin-right:4px}.submenu-arrow[_ngcontent-%COMP%]{display:flex;align-items:center;margin-left:auto;z-index:9999}.dropdown-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.dropdown-menu-item.disabled[_ngcontent-%COMP%]{color:#181f33;filter:grayscale(100%) opacity(.3);cursor:not-allowed}"] }); }
1461
- }
1462
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionsCellComponent, [{
1463
- type: Component,
1464
- args: [{ selector: "mis-actions-cell", template: "<div class=\"actions-cell-container\" [ngStyle]=\"containerStyle\">\n <!-- Inline Actions -->\n <div *ngIf=\"actionType === 'inline'\" class=\"inline-actions\">\n <div\n *ngFor=\"let item of actionItems; trackBy: trackByAction\"\n class=\"action-item\"\n [ngClass]=\"{ disabled: isDisabled(item) }\"\n (click)=\"onActionClick(item, $event)\"\n >\n <img [src]=\"item.icon\" [alt]=\"item.label\" class=\"action-icon-svg\" />\n </div>\n </div>\n\n <!-- Dropdown Actions -->\n <div *ngIf=\"actionType === 'dropdown'\" class=\"dropdown-actions\">\n <div class=\"dropdown-trigger\" (click)=\"toggleDropdown($event)\" title=\"More actions\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#333\" />\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#333\" />\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#333\" />\n </svg>\n </div>\n\n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\" [ngClass]=\"menuAlign\">\n <div\n class=\"dropdown-menu-item\"\n *ngFor=\"let item of actionItems\"\n (click)=\"onDropdownItemClick(item, $event)\"\n [ngClass]=\"{ disabled: isDisabled(item) }\"\n >\n <ng-container *ngIf=\"item.children?.length; else noChildren\">\n <span class=\"dropdown-icon\" *ngIf=\"item.icon\">\n <img [src]=\"item.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ item.label }}</span>\n <span class=\"submenu-arrow\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M9 6L15 12L9 18\" stroke=\"#0D1321\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </span>\n\n <!-- DYNAMIC SUBMENU -->\n <div class=\"dropdown-submenu\" [ngClass]=\"item.submenuAlign\" *ngIf=\"item.showSubmenu\">\n <div\n class=\"dropdown-menu-item\"\n *ngFor=\"let child of item.children\"\n [ngClass]=\"{ disabled: isDisabled(child) }\"\n (click)=\"onDropdownItemClick(child, $event)\"\n >\n <span class=\"dropdown-icon\" *ngIf=\"child.icon\">\n <img [src]=\"child.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ child.label }}</span>\n </div>\n </div>\n </ng-container>\n\n <ng-template #noChildren>\n <span class=\"dropdown-icon\" *ngIf=\"item.icon\">\n <img [src]=\"item.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ item.label }}</span>\n </ng-template>\n </div>\n </div>\n </div>\n\n <!-- Checkbox Actions -->\n <div *ngIf=\"actionType === 'checkbox'\" class=\"checkbox-actions\">\n <mis-checkbox [checked]=\"isChecked\" (valueChange)=\"onCheckboxChange($event)\"> </mis-checkbox>\n </div>\n</div>\n", styles: [".actions-cell-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;box-sizing:border-box}.inline-actions{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;flex-wrap:nowrap;padding:4px 0;flex-direction:row}.action-item{display:flex;align-items:center;justify-content:center;height:20px;border-radius:4px;cursor:pointer;transition:all .2s ease;background-color:transparent;border:none;outline:none;flex-shrink:0;min-height:20px}.action-item:hover:not(.disabled){background-color:#0000000a;transform:scale(1.05)}.action-item:active:not(.disabled){transform:scale(.95)}.action-item.disabled{opacity:.5;cursor:not-allowed}.action-item.disabled:hover{background-color:transparent;transform:none}.action-icon{font-size:16px;color:#666;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.action-icon-svg{width:18px;height:18px;object-fit:contain;filter:brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.6) contrast(1);flex-shrink:0}.action-icon-svg:hover{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0) contrast(1)}.dropdown-trigger{cursor:pointer}.dropdown-actions{position:relative}.dropdown-trigger{cursor:pointer;display:flex;align-items:center;justify-content:center}.dropdown-menu{position:absolute;top:100%;width:232px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;z-index:1000;padding:8px 0}.dropdown-menu.left{right:0!important;left:auto!important}.dropdown-menu.right{left:0!important;right:auto!important}.dropdown-menu-item.disabled{color:#aaa;cursor:not-allowed}.dropdown-menu-item:hover:not(.disabled),.dropdown-menu-item.has-submenu:hover{background:#f5f5f5}.dropdown-menu-item{display:flex;align-items:center;padding:10px 18px;cursor:pointer;font-size:14px;position:relative}.dropdown-menu-item .dropdown-label{flex:1;margin-left:8px}.dropdown-menu-item .submenu-arrow{margin-left:auto;width:16px;height:16px}.submenu-container{position:absolute;top:0;left:100%;margin-left:4px;background:#fff;box-shadow:0 4px 8px #0000001a;border-radius:8px;z-index:1000;white-space:nowrap}.dropdown-submenu{position:absolute;top:0;min-width:132px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px 0;z-index:1001}.dropdown-submenu.right{left:100%;margin-left:4px}.dropdown-submenu.left{left:auto;right:100%;background-color:#fff;border:1px solid #ddd;z-index:9999;position:absolute;margin-right:4px}.submenu-arrow{display:flex;align-items:center;margin-left:auto;z-index:9999}.dropdown-icon{display:flex;justify-content:center;align-items:center}.dropdown-menu-item.disabled{color:#181f33;filter:grayscale(100%) opacity(.3);cursor:not-allowed}\n"] }]
1465
- }], null, { rowData: [{
1466
- type: Input
1467
- }], isChecked: [{
1468
- type: Input
1469
- }], config: [{
1470
- type: Input
1471
- }], actionClick: [{
1472
- type: Output
1473
- }], onDocumentClick: [{
1474
- type: HostListener,
1475
- args: ["document:click"]
1476
- }] }); })();
1477
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionsCellComponent, { className: "ActionsCellComponent" }); })();
1478
-
1479
1513
  class TableModule {
1480
1514
  static forRoot() {
1481
1515
  return { ngModule: TableModule, providers: [] };
@@ -1517,7 +1551,7 @@ class TableModule {
1517
1551
  CustomTableCellDirective,
1518
1552
  SortIconsDirective,
1519
1553
  ActionsCellComponent] }); })();
1520
- i0.ɵɵsetComponentScope(TableComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent, SubTableComponent,
1554
+ i0.ɵɵsetComponentScope(TableComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.CheckboxComponent, SubTableComponent,
1521
1555
  TableFilterComponent,
1522
1556
  CustomTableCellDirective,
1523
1557
  SortIconsDirective,