mis-crystal-design-system 18.0.19 → 18.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/table/actions-cell/actions-cell.component.mjs +186 -121
- package/esm2022/table/table.module.mjs +6 -4
- package/fesm2022/mis-crystal-design-system-table.mjs +198 -133
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/package.json +13 -13
- package/table/actions-cell/actions-cell.component.d.ts +13 -2
- package/table/filter/filter.component.d.ts +1 -1
- package/table/table.module.d.ts +3 -1
|
@@ -6,10 +6,13 @@ import * as i2 from '@angular/cdk/scrolling';
|
|
|
6
6
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
7
7
|
import * as i2$1 from 'mis-crystal-design-system/checkbox';
|
|
8
8
|
import { CheckboxModule } from 'mis-crystal-design-system/checkbox';
|
|
9
|
+
import * as i1$1 from '@angular/cdk/overlay';
|
|
10
|
+
import { OverlayConfig, ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
|
|
11
|
+
import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
9
12
|
|
|
10
13
|
const _c0$3 = ["filter"];
|
|
11
|
-
const _c1$
|
|
12
|
-
const _c2$
|
|
14
|
+
const _c1$3 = ["table"];
|
|
15
|
+
const _c2$3 = ["colHeaderRef"];
|
|
13
16
|
const _c3$1 = (a0, a1, a2) => ({ height: a0, width: a1, "overflow-x": a2 });
|
|
14
17
|
const _c4$1 = (a0, a1, a2) => ({ "no-scrollbar": a0, scrollbar: a1, "scroll-horizontally": a2 });
|
|
15
18
|
const _c5$1 = (a0, a1, a2) => ({ width: a0, cursor: a1, "justify-content": a2 });
|
|
@@ -576,8 +579,8 @@ class TableComponent {
|
|
|
576
579
|
static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
577
580
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["mis-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
578
581
|
i0.ɵɵviewQuery(_c0$3, 5);
|
|
579
|
-
i0.ɵɵviewQuery(_c1$
|
|
580
|
-
i0.ɵɵviewQuery(_c2$
|
|
582
|
+
i0.ɵɵviewQuery(_c1$3, 5);
|
|
583
|
+
i0.ɵɵviewQuery(_c2$3, 5);
|
|
581
584
|
} if (rf & 2) {
|
|
582
585
|
let _t;
|
|
583
586
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
@@ -689,8 +692,8 @@ class CustomTableCellDirective {
|
|
|
689
692
|
}] }); })();
|
|
690
693
|
|
|
691
694
|
const _c0$2 = ["table"];
|
|
692
|
-
const _c1$
|
|
693
|
-
const _c2$
|
|
695
|
+
const _c1$2 = (a0, a1) => ({ height: a0, width: a1 });
|
|
696
|
+
const _c2$2 = (a0, a1, a2) => ({ height: a0, "border-top": a1, "border-bottom": a2 });
|
|
694
697
|
const _c3 = (a0, a1, a2) => ({ width: a0, cursor: a1, "justify-content": a2 });
|
|
695
698
|
const _c4 = a0 => ({ backgroundColor: a0 });
|
|
696
699
|
const _c5 = a0 => ({ width: a0 });
|
|
@@ -733,7 +736,7 @@ function SubTableComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
733
736
|
i0.ɵɵelementEnd();
|
|
734
737
|
} if (rf & 2) {
|
|
735
738
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
736
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(2, _c2$
|
|
739
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(2, _c2$2, ctx_r2.getColHeadersRowHeight(), ctx_r2.getColHeadersRowBorderTop(), ctx_r2.getColHeadersRowBorderBottom()));
|
|
737
740
|
i0.ɵɵadvance();
|
|
738
741
|
i0.ɵɵproperty("ngForOf", ctx_r2.config == null ? null : ctx_r2.config.colHeaderConfig);
|
|
739
742
|
} }
|
|
@@ -852,7 +855,7 @@ class SubTableComponent {
|
|
|
852
855
|
i0.ɵɵtemplate(6, SubTableComponent_div_6_Template, 3, 4, "div", 5);
|
|
853
856
|
i0.ɵɵelementEnd()()()();
|
|
854
857
|
} if (rf & 2) {
|
|
855
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(9, _c1$
|
|
858
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(9, _c1$2, ctx.getContainerHeight(), ctx.getContainerWidth()));
|
|
856
859
|
i0.ɵɵadvance(3);
|
|
857
860
|
i0.ɵɵproperty("ngIf", !!ctx.config.showHeader);
|
|
858
861
|
i0.ɵɵadvance(2);
|
|
@@ -876,8 +879,8 @@ class SubTableComponent {
|
|
|
876
879
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SubTableComponent, { className: "SubTableComponent" }); })();
|
|
877
880
|
|
|
878
881
|
const _c0$1 = ["mainContainer"];
|
|
879
|
-
const _c1 = () => ({ "margin": "16px 0px" });
|
|
880
|
-
const _c2 = () => ({ "margin-right": "8px" });
|
|
882
|
+
const _c1$1 = () => ({ "margin": "16px 0px" });
|
|
883
|
+
const _c2$1 = () => ({ "margin-right": "8px" });
|
|
881
884
|
function TableFilterComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
882
885
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
883
886
|
i0.ɵɵelementStart(0, "div")(1, "div", 15)(2, "mis-checkbox", 16);
|
|
@@ -896,7 +899,7 @@ function TableFilterComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
896
899
|
function TableFilterComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
897
900
|
i0.ɵɵelement(0, "div", 11);
|
|
898
901
|
} if (rf & 2) {
|
|
899
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c1));
|
|
902
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c1$1));
|
|
900
903
|
} }
|
|
901
904
|
function TableFilterComponent_div_11_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
902
905
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
@@ -1028,9 +1031,9 @@ class TableFilterComponent {
|
|
|
1028
1031
|
i0.ɵɵadvance();
|
|
1029
1032
|
i0.ɵɵproperty("ngIf", ctx.getFiltersBasedOnSearchValue().length < 1);
|
|
1030
1033
|
i0.ɵɵadvance();
|
|
1031
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(7, _c1));
|
|
1034
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(7, _c1$1));
|
|
1032
1035
|
i0.ɵɵadvance(2);
|
|
1033
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(8, _c2));
|
|
1036
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(8, _c2$1));
|
|
1034
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}"] }); }
|
|
1035
1038
|
}
|
|
1036
1039
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableFilterComponent, [{
|
|
@@ -1185,177 +1188,162 @@ class SortIconsDirective {
|
|
|
1185
1188
|
}]
|
|
1186
1189
|
}], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], null); })();
|
|
1187
1190
|
|
|
1188
|
-
const _c0 =
|
|
1191
|
+
const _c0 = ["dropdownMenu"];
|
|
1192
|
+
const _c1 = ["dropdownTrigger"];
|
|
1193
|
+
const _c2 = a0 => ({ disabled: a0 });
|
|
1189
1194
|
function ActionsCellComponent_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
1190
1195
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
1191
|
-
i0.ɵɵelementStart(0, "div",
|
|
1196
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
1192
1197
|
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)); });
|
|
1193
|
-
i0.ɵɵelement(1, "img",
|
|
1198
|
+
i0.ɵɵelement(1, "img", 10);
|
|
1194
1199
|
i0.ɵɵelementEnd();
|
|
1195
1200
|
} if (rf & 2) {
|
|
1196
1201
|
const item_r2 = ctx.$implicit;
|
|
1197
1202
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1198
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3,
|
|
1203
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, ctx_r2.isDisabled(item_r2)));
|
|
1199
1204
|
i0.ɵɵadvance();
|
|
1200
1205
|
i0.ɵɵproperty("src", item_r2.icon, i0.ɵɵsanitizeUrl)("alt", item_r2.label);
|
|
1201
1206
|
} }
|
|
1202
1207
|
function ActionsCellComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
1203
|
-
i0.ɵɵelementStart(0, "div",
|
|
1204
|
-
i0.ɵɵtemplate(1, ActionsCellComponent_div_1_div_1_Template, 2, 5, "div",
|
|
1208
|
+
i0.ɵɵelementStart(0, "div", 7);
|
|
1209
|
+
i0.ɵɵtemplate(1, ActionsCellComponent_div_1_div_1_Template, 2, 5, "div", 8);
|
|
1205
1210
|
i0.ɵɵelementEnd();
|
|
1206
1211
|
} if (rf & 2) {
|
|
1207
1212
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
1208
1213
|
i0.ɵɵadvance();
|
|
1209
1214
|
i0.ɵɵproperty("ngForOf", ctx_r2.actionItems)("ngForTrackBy", ctx_r2.trackByAction);
|
|
1210
1215
|
} }
|
|
1211
|
-
function
|
|
1212
|
-
i0.ɵɵ
|
|
1213
|
-
i0.ɵɵ
|
|
1216
|
+
function ActionsCellComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
1217
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
1218
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "div", 12, 1);
|
|
1219
|
+
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)); });
|
|
1220
|
+
i0.ɵɵnamespaceSVG();
|
|
1221
|
+
i0.ɵɵelementStart(3, "svg", 13);
|
|
1222
|
+
i0.ɵɵelement(4, "circle", 14)(5, "circle", 15)(6, "circle", 16);
|
|
1223
|
+
i0.ɵɵelementEnd()()();
|
|
1224
|
+
} }
|
|
1225
|
+
function ActionsCellComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
1226
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
1227
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "mis-checkbox", 18);
|
|
1228
|
+
i0.ɵɵlistener("valueChange", function ActionsCellComponent_div_3_Template_mis_checkbox_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCheckboxChange($event)); });
|
|
1229
|
+
i0.ɵɵelementEnd()();
|
|
1230
|
+
} if (rf & 2) {
|
|
1231
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
1232
|
+
i0.ɵɵadvance();
|
|
1233
|
+
i0.ɵɵproperty("checked", ctx_r2.isChecked)("disabled", ctx_r2.disable ? ctx_r2.disable(ctx_r2.data) : false);
|
|
1234
|
+
} }
|
|
1235
|
+
function ActionsCellComponent_ng_template_4_div_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
1236
|
+
i0.ɵɵelementStart(0, "span", 29);
|
|
1237
|
+
i0.ɵɵelement(1, "img", 30);
|
|
1214
1238
|
i0.ɵɵelementEnd();
|
|
1215
1239
|
} if (rf & 2) {
|
|
1216
|
-
const
|
|
1240
|
+
const item_r7 = i0.ɵɵnextContext(2).$implicit;
|
|
1217
1241
|
i0.ɵɵadvance();
|
|
1218
|
-
i0.ɵɵproperty("src",
|
|
1242
|
+
i0.ɵɵproperty("src", item_r7.icon, i0.ɵɵsanitizeUrl);
|
|
1219
1243
|
} }
|
|
1220
|
-
function
|
|
1221
|
-
i0.ɵɵelementStart(0, "span",
|
|
1222
|
-
i0.ɵɵelement(1, "img",
|
|
1244
|
+
function ActionsCellComponent_ng_template_4_div_1_ng_container_1_div_7_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
1245
|
+
i0.ɵɵelementStart(0, "span", 29);
|
|
1246
|
+
i0.ɵɵelement(1, "img", 30);
|
|
1223
1247
|
i0.ɵɵelementEnd();
|
|
1224
1248
|
} if (rf & 2) {
|
|
1225
|
-
const
|
|
1249
|
+
const child_r9 = i0.ɵɵnextContext().$implicit;
|
|
1226
1250
|
i0.ɵɵadvance();
|
|
1227
|
-
i0.ɵɵproperty("src",
|
|
1251
|
+
i0.ɵɵproperty("src", child_r9.icon, i0.ɵɵsanitizeUrl);
|
|
1228
1252
|
} }
|
|
1229
|
-
function
|
|
1230
|
-
const
|
|
1231
|
-
i0.ɵɵelementStart(0, "div",
|
|
1232
|
-
i0.ɵɵlistener("click", function
|
|
1233
|
-
i0.ɵɵtemplate(1,
|
|
1234
|
-
i0.ɵɵelementStart(2, "span",
|
|
1253
|
+
function ActionsCellComponent_ng_template_4_div_1_ng_container_1_div_7_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
1254
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
1255
|
+
i0.ɵɵelementStart(0, "div", 21);
|
|
1256
|
+
i0.ɵɵlistener("click", function ActionsCellComponent_ng_template_4_div_1_ng_container_1_div_7_div_1_Template_div_click_0_listener($event) { const child_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick(child_r9, $event)); });
|
|
1257
|
+
i0.ɵɵtemplate(1, ActionsCellComponent_ng_template_4_div_1_ng_container_1_div_7_div_1_span_1_Template, 2, 1, "span", 23);
|
|
1258
|
+
i0.ɵɵelementStart(2, "span", 24);
|
|
1235
1259
|
i0.ɵɵtext(3);
|
|
1236
1260
|
i0.ɵɵelementEnd()();
|
|
1237
1261
|
} if (rf & 2) {
|
|
1238
|
-
const
|
|
1239
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
1240
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3,
|
|
1262
|
+
const child_r9 = ctx.$implicit;
|
|
1263
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
1264
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, ctx_r2.isDisabled(child_r9)));
|
|
1241
1265
|
i0.ɵɵadvance();
|
|
1242
|
-
i0.ɵɵproperty("ngIf",
|
|
1266
|
+
i0.ɵɵproperty("ngIf", child_r9.icon);
|
|
1243
1267
|
i0.ɵɵadvance(2);
|
|
1244
|
-
i0.ɵɵtextInterpolate(
|
|
1268
|
+
i0.ɵɵtextInterpolate(child_r9.label);
|
|
1245
1269
|
} }
|
|
1246
|
-
function
|
|
1247
|
-
i0.ɵɵelementStart(0, "div",
|
|
1248
|
-
i0.ɵɵtemplate(1,
|
|
1270
|
+
function ActionsCellComponent_ng_template_4_div_1_ng_container_1_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
1271
|
+
i0.ɵɵelementStart(0, "div", 31);
|
|
1272
|
+
i0.ɵɵtemplate(1, ActionsCellComponent_ng_template_4_div_1_ng_container_1_div_7_div_1_Template, 4, 5, "div", 20);
|
|
1249
1273
|
i0.ɵɵelementEnd();
|
|
1250
1274
|
} if (rf & 2) {
|
|
1251
|
-
const
|
|
1252
|
-
i0.ɵɵproperty("ngClass",
|
|
1275
|
+
const item_r7 = i0.ɵɵnextContext(2).$implicit;
|
|
1276
|
+
i0.ɵɵproperty("ngClass", item_r7.submenuAlign);
|
|
1253
1277
|
i0.ɵɵadvance();
|
|
1254
|
-
i0.ɵɵproperty("ngForOf",
|
|
1278
|
+
i0.ɵɵproperty("ngForOf", item_r7.children);
|
|
1255
1279
|
} }
|
|
1256
|
-
function
|
|
1280
|
+
function ActionsCellComponent_ng_template_4_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
1257
1281
|
i0.ɵɵelementContainerStart(0);
|
|
1258
|
-
i0.ɵɵtemplate(1,
|
|
1259
|
-
i0.ɵɵelementStart(2, "span",
|
|
1282
|
+
i0.ɵɵtemplate(1, ActionsCellComponent_ng_template_4_div_1_ng_container_1_span_1_Template, 2, 1, "span", 23);
|
|
1283
|
+
i0.ɵɵelementStart(2, "span", 24);
|
|
1260
1284
|
i0.ɵɵtext(3);
|
|
1261
1285
|
i0.ɵɵelementEnd();
|
|
1262
|
-
i0.ɵɵelementStart(4, "span",
|
|
1286
|
+
i0.ɵɵelementStart(4, "span", 25);
|
|
1263
1287
|
i0.ɵɵnamespaceSVG();
|
|
1264
|
-
i0.ɵɵelementStart(5, "svg",
|
|
1265
|
-
i0.ɵɵelement(6, "path",
|
|
1288
|
+
i0.ɵɵelementStart(5, "svg", 26);
|
|
1289
|
+
i0.ɵɵelement(6, "path", 27);
|
|
1266
1290
|
i0.ɵɵelementEnd()();
|
|
1267
|
-
i0.ɵɵtemplate(7,
|
|
1291
|
+
i0.ɵɵtemplate(7, ActionsCellComponent_ng_template_4_div_1_ng_container_1_div_7_Template, 2, 2, "div", 28);
|
|
1268
1292
|
i0.ɵɵelementContainerEnd();
|
|
1269
1293
|
} if (rf & 2) {
|
|
1270
|
-
const
|
|
1294
|
+
const item_r7 = i0.ɵɵnextContext().$implicit;
|
|
1271
1295
|
i0.ɵɵadvance();
|
|
1272
|
-
i0.ɵɵproperty("ngIf",
|
|
1296
|
+
i0.ɵɵproperty("ngIf", item_r7.icon);
|
|
1273
1297
|
i0.ɵɵadvance(2);
|
|
1274
|
-
i0.ɵɵtextInterpolate(
|
|
1298
|
+
i0.ɵɵtextInterpolate(item_r7.label);
|
|
1275
1299
|
i0.ɵɵadvance(4);
|
|
1276
|
-
i0.ɵɵproperty("ngIf",
|
|
1300
|
+
i0.ɵɵproperty("ngIf", item_r7.showSubmenu);
|
|
1277
1301
|
} }
|
|
1278
|
-
function
|
|
1279
|
-
i0.ɵɵelementStart(0, "span",
|
|
1280
|
-
i0.ɵɵelement(1, "img",
|
|
1302
|
+
function ActionsCellComponent_ng_template_4_div_1_ng_template_2_span_0_Template(rf, ctx) { if (rf & 1) {
|
|
1303
|
+
i0.ɵɵelementStart(0, "span", 29);
|
|
1304
|
+
i0.ɵɵelement(1, "img", 30);
|
|
1281
1305
|
i0.ɵɵelementEnd();
|
|
1282
1306
|
} if (rf & 2) {
|
|
1283
|
-
const
|
|
1307
|
+
const item_r7 = i0.ɵɵnextContext(2).$implicit;
|
|
1284
1308
|
i0.ɵɵadvance();
|
|
1285
|
-
i0.ɵɵproperty("src",
|
|
1309
|
+
i0.ɵɵproperty("src", item_r7.icon, i0.ɵɵsanitizeUrl);
|
|
1286
1310
|
} }
|
|
1287
|
-
function
|
|
1288
|
-
i0.ɵɵtemplate(0,
|
|
1289
|
-
i0.ɵɵelementStart(1, "span",
|
|
1311
|
+
function ActionsCellComponent_ng_template_4_div_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
1312
|
+
i0.ɵɵtemplate(0, ActionsCellComponent_ng_template_4_div_1_ng_template_2_span_0_Template, 2, 1, "span", 23);
|
|
1313
|
+
i0.ɵɵelementStart(1, "span", 24);
|
|
1290
1314
|
i0.ɵɵtext(2);
|
|
1291
1315
|
i0.ɵɵelementEnd();
|
|
1292
1316
|
} if (rf & 2) {
|
|
1293
|
-
const
|
|
1294
|
-
i0.ɵɵproperty("ngIf",
|
|
1317
|
+
const item_r7 = i0.ɵɵnextContext().$implicit;
|
|
1318
|
+
i0.ɵɵproperty("ngIf", item_r7.icon);
|
|
1295
1319
|
i0.ɵɵadvance(2);
|
|
1296
|
-
i0.ɵɵtextInterpolate(
|
|
1297
|
-
} }
|
|
1298
|
-
function ActionsCellComponent_div_2_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
1299
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
1300
|
-
i0.ɵɵelementStart(0, "div", 18);
|
|
1301
|
-
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)); });
|
|
1302
|
-
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);
|
|
1303
|
-
i0.ɵɵelementEnd();
|
|
1304
|
-
} if (rf & 2) {
|
|
1305
|
-
const item_r6 = ctx.$implicit;
|
|
1306
|
-
const noChildren_r9 = i0.ɵɵreference(3);
|
|
1307
|
-
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1308
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r2.isDisabled(item_r6)));
|
|
1309
|
-
i0.ɵɵadvance();
|
|
1310
|
-
i0.ɵɵproperty("ngIf", item_r6.children == null ? null : item_r6.children.length)("ngIfElse", noChildren_r9);
|
|
1320
|
+
i0.ɵɵtextInterpolate(item_r7.label);
|
|
1311
1321
|
} }
|
|
1312
|
-
function
|
|
1313
|
-
i0.ɵɵ
|
|
1314
|
-
i0.ɵɵ
|
|
1322
|
+
function ActionsCellComponent_ng_template_4_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
1323
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
1324
|
+
i0.ɵɵelementStart(0, "div", 21);
|
|
1325
|
+
i0.ɵɵlistener("click", function ActionsCellComponent_ng_template_4_div_1_Template_div_click_0_listener($event) { const item_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick(item_r7, $event)); });
|
|
1326
|
+
i0.ɵɵtemplate(1, ActionsCellComponent_ng_template_4_div_1_ng_container_1_Template, 8, 3, "ng-container", 22)(2, ActionsCellComponent_ng_template_4_div_1_ng_template_2_Template, 3, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
|
|
1315
1327
|
i0.ɵɵelementEnd();
|
|
1316
1328
|
} if (rf & 2) {
|
|
1329
|
+
const item_r7 = ctx.$implicit;
|
|
1330
|
+
const noChildren_r10 = i0.ɵɵreference(3);
|
|
1317
1331
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1318
|
-
i0.ɵɵproperty("ngClass", ctx_r2.
|
|
1332
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, ctx_r2.isDisabled(item_r7)));
|
|
1319
1333
|
i0.ɵɵadvance();
|
|
1320
|
-
i0.ɵɵproperty("
|
|
1334
|
+
i0.ɵɵproperty("ngIf", item_r7.children == null ? null : item_r7.children.length)("ngIfElse", noChildren_r10);
|
|
1321
1335
|
} }
|
|
1322
|
-
function
|
|
1323
|
-
|
|
1324
|
-
i0.ɵɵ
|
|
1325
|
-
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)); });
|
|
1326
|
-
i0.ɵɵnamespaceSVG();
|
|
1327
|
-
i0.ɵɵelementStart(2, "svg", 11);
|
|
1328
|
-
i0.ɵɵelement(3, "circle", 12)(4, "circle", 13)(5, "circle", 14);
|
|
1329
|
-
i0.ɵɵelementEnd()();
|
|
1330
|
-
i0.ɵɵtemplate(6, ActionsCellComponent_div_2_div_6_Template, 2, 2, "div", 15);
|
|
1336
|
+
function ActionsCellComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
1337
|
+
i0.ɵɵelementStart(0, "div", 19);
|
|
1338
|
+
i0.ɵɵtemplate(1, ActionsCellComponent_ng_template_4_div_1_Template, 4, 5, "div", 20);
|
|
1331
1339
|
i0.ɵɵelementEnd();
|
|
1332
1340
|
} if (rf & 2) {
|
|
1333
1341
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
1334
|
-
i0.ɵɵ
|
|
1335
|
-
i0.ɵɵproperty("ngIf", ctx_r2.isDropdownOpen);
|
|
1336
|
-
} }
|
|
1337
|
-
function ActionsCellComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
1338
|
-
const _r10 = i0.ɵɵgetCurrentView();
|
|
1339
|
-
i0.ɵɵelementStart(0, "div", 29)(1, "mis-checkbox", 30);
|
|
1340
|
-
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)); });
|
|
1341
|
-
i0.ɵɵelementEnd()();
|
|
1342
|
-
} if (rf & 2) {
|
|
1343
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
1342
|
+
i0.ɵɵproperty("ngClass", ctx_r2.menuAlign);
|
|
1344
1343
|
i0.ɵɵadvance();
|
|
1345
|
-
i0.ɵɵproperty("
|
|
1344
|
+
i0.ɵɵproperty("ngForOf", ctx_r2.actionItems);
|
|
1346
1345
|
} }
|
|
1347
1346
|
class ActionsCellComponent {
|
|
1348
|
-
constructor() {
|
|
1349
|
-
this.isChecked = false;
|
|
1350
|
-
this.actionClick = new EventEmitter();
|
|
1351
|
-
this.isDropdownOpen = false;
|
|
1352
|
-
this.actionItems = [];
|
|
1353
|
-
this.actionType = "inline";
|
|
1354
|
-
this.submenuAlign = "right";
|
|
1355
|
-
this.menuAlign = "left";
|
|
1356
|
-
this._style = {};
|
|
1357
|
-
this.containerStyle = {};
|
|
1358
|
-
}
|
|
1359
1347
|
set rowData(value) {
|
|
1360
1348
|
if (this.actionType === 'checkbox') {
|
|
1361
1349
|
// For checkbox, keep the rowData structure
|
|
@@ -1378,7 +1366,24 @@ class ActionsCellComponent {
|
|
|
1378
1366
|
this.disable = config.disable;
|
|
1379
1367
|
this.processStyle();
|
|
1380
1368
|
}
|
|
1369
|
+
constructor(overlay, viewContainerRef) {
|
|
1370
|
+
this.overlay = overlay;
|
|
1371
|
+
this.viewContainerRef = viewContainerRef;
|
|
1372
|
+
this.isChecked = false;
|
|
1373
|
+
this.actionClick = new EventEmitter();
|
|
1374
|
+
this.isDropdownOpen = false;
|
|
1375
|
+
this.actionItems = [];
|
|
1376
|
+
this.actionType = "inline";
|
|
1377
|
+
this.submenuAlign = "right";
|
|
1378
|
+
this.menuAlign = "left";
|
|
1379
|
+
this._style = {};
|
|
1380
|
+
this.containerStyle = {};
|
|
1381
|
+
this.overlayRef = null;
|
|
1382
|
+
}
|
|
1381
1383
|
ngOnInit() { }
|
|
1384
|
+
ngOnDestroy() {
|
|
1385
|
+
this.closeDropdown();
|
|
1386
|
+
}
|
|
1382
1387
|
processStyle() {
|
|
1383
1388
|
// Remove width from style to avoid conflicts with table column width
|
|
1384
1389
|
const { width, ...restStyle } = this._style;
|
|
@@ -1405,14 +1410,60 @@ class ActionsCellComponent {
|
|
|
1405
1410
|
}
|
|
1406
1411
|
onDocumentClick() {
|
|
1407
1412
|
if (this.isDropdownOpen) {
|
|
1408
|
-
this.
|
|
1413
|
+
this.closeDropdown();
|
|
1409
1414
|
}
|
|
1410
1415
|
}
|
|
1411
1416
|
toggleDropdown(event) {
|
|
1412
1417
|
event.stopPropagation();
|
|
1413
|
-
this.isDropdownOpen
|
|
1414
|
-
|
|
1418
|
+
if (this.isDropdownOpen) {
|
|
1419
|
+
this.closeDropdown();
|
|
1420
|
+
}
|
|
1421
|
+
else {
|
|
1422
|
+
this.openDropdown();
|
|
1423
|
+
}
|
|
1424
|
+
}
|
|
1425
|
+
openDropdown() {
|
|
1426
|
+
if (!this.dropdownTrigger || !this.dropdownMenu)
|
|
1427
|
+
return;
|
|
1428
|
+
// Close all submenus when opening main menu
|
|
1415
1429
|
this.actionItems.forEach((item) => (item.showSubmenu = false));
|
|
1430
|
+
const positions = this.getDropdownPositions();
|
|
1431
|
+
const overlayConfig = new OverlayConfig({
|
|
1432
|
+
hasBackdrop: true,
|
|
1433
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
1434
|
+
positionStrategy: this.overlay
|
|
1435
|
+
.position()
|
|
1436
|
+
.flexibleConnectedTo(this.dropdownTrigger)
|
|
1437
|
+
.withPositions(positions)
|
|
1438
|
+
.withPush(true),
|
|
1439
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition()
|
|
1440
|
+
});
|
|
1441
|
+
this.overlayRef = this.overlay.create(overlayConfig);
|
|
1442
|
+
const portal = new TemplatePortal(this.dropdownMenu, this.viewContainerRef);
|
|
1443
|
+
this.overlayRef.attach(portal);
|
|
1444
|
+
this.overlayRef.backdropClick().subscribe(() => {
|
|
1445
|
+
this.closeDropdown();
|
|
1446
|
+
});
|
|
1447
|
+
this.isDropdownOpen = true;
|
|
1448
|
+
}
|
|
1449
|
+
closeDropdown() {
|
|
1450
|
+
if (this.overlayRef) {
|
|
1451
|
+
this.overlayRef.dispose();
|
|
1452
|
+
this.overlayRef = null;
|
|
1453
|
+
}
|
|
1454
|
+
this.isDropdownOpen = false;
|
|
1455
|
+
}
|
|
1456
|
+
getDropdownPositions() {
|
|
1457
|
+
const positions = [];
|
|
1458
|
+
if (this.menuAlign === 'left') {
|
|
1459
|
+
// Menu opens to the left of trigger
|
|
1460
|
+
positions.push(new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 4), new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, -4));
|
|
1461
|
+
}
|
|
1462
|
+
else {
|
|
1463
|
+
// Menu opens to the right of trigger
|
|
1464
|
+
positions.push(new ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }, 0, 4), new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }, 0, -4));
|
|
1465
|
+
}
|
|
1466
|
+
return positions;
|
|
1416
1467
|
}
|
|
1417
1468
|
onDropdownItemClick(item, event) {
|
|
1418
1469
|
event.stopPropagation();
|
|
@@ -1432,7 +1483,7 @@ class ActionsCellComponent {
|
|
|
1432
1483
|
if (item.action)
|
|
1433
1484
|
item.action(this.data);
|
|
1434
1485
|
this.actionClick.emit({ item, data: this.data });
|
|
1435
|
-
this.
|
|
1486
|
+
this.closeDropdown(); // Only close if action was executed
|
|
1436
1487
|
}
|
|
1437
1488
|
}
|
|
1438
1489
|
onCheckboxChange(event) {
|
|
@@ -1448,13 +1499,21 @@ class ActionsCellComponent {
|
|
|
1448
1499
|
}
|
|
1449
1500
|
return false;
|
|
1450
1501
|
}
|
|
1451
|
-
static { this.ɵfac = function ActionsCellComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionsCellComponent)(); }; }
|
|
1452
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsCellComponent, selectors: [["mis-actions-cell"]],
|
|
1502
|
+
static { this.ɵfac = function ActionsCellComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionsCellComponent)(i0.ɵɵdirectiveInject(i1$1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; }
|
|
1503
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionsCellComponent, selectors: [["mis-actions-cell"]], viewQuery: function ActionsCellComponent_Query(rf, ctx) { if (rf & 1) {
|
|
1504
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
1505
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
1506
|
+
} if (rf & 2) {
|
|
1507
|
+
let _t;
|
|
1508
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dropdownMenu = _t.first);
|
|
1509
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dropdownTrigger = _t.first);
|
|
1510
|
+
} }, hostBindings: function ActionsCellComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1453
1511
|
i0.ɵɵlistener("click", function ActionsCellComponent_click_HostBindingHandler() { return ctx.onDocumentClick(); }, false, i0.ɵɵresolveDocument);
|
|
1454
|
-
} }, inputs: { rowData: "rowData", isChecked: "isChecked", config: "config" }, outputs: { actionClick: "actionClick" }, decls:
|
|
1455
|
-
i0.ɵɵelementStart(0, "div",
|
|
1456
|
-
i0.ɵɵtemplate(1, ActionsCellComponent_div_1_Template, 2, 2, "div",
|
|
1512
|
+
} }, inputs: { rowData: "rowData", isChecked: "isChecked", config: "config" }, outputs: { actionClick: "actionClick" }, decls: 6, vars: 4, consts: [["dropdownMenu", ""], ["dropdownTrigger", ""], ["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"], [1, "checkbox-actions"], [3, "valueChange", "checked", "disabled"], [1, "dropdown-menu-overlay", 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"]], template: function ActionsCellComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1513
|
+
i0.ɵɵelementStart(0, "div", 3);
|
|
1514
|
+
i0.ɵɵtemplate(1, ActionsCellComponent_div_1_Template, 2, 2, "div", 4)(2, ActionsCellComponent_div_2_Template, 7, 0, "div", 5)(3, ActionsCellComponent_div_3_Template, 2, 2, "div", 6);
|
|
1457
1515
|
i0.ɵɵelementEnd();
|
|
1516
|
+
i0.ɵɵtemplate(4, ActionsCellComponent_ng_template_4_Template, 2, 2, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
1458
1517
|
} if (rf & 2) {
|
|
1459
1518
|
i0.ɵɵproperty("ngStyle", ctx.containerStyle);
|
|
1460
1519
|
i0.ɵɵadvance();
|
|
@@ -1463,12 +1522,12 @@ class ActionsCellComponent {
|
|
|
1463
1522
|
i0.ɵɵproperty("ngIf", ctx.actionType === "dropdown");
|
|
1464
1523
|
i0.ɵɵadvance();
|
|
1465
1524
|
i0.ɵɵproperty("ngIf", ctx.actionType === "checkbox");
|
|
1466
|
-
} }, 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
|
|
1525
|
+
} }, 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;display:flex;align-items:center;justify-content:center}.dropdown-actions[_ngcontent-%COMP%]{position:relative}.dropdown-menu-overlay[_ngcontent-%COMP%]{width:232px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px 0;z-index:1000}.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}.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}.checkbox-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}"] }); }
|
|
1467
1526
|
}
|
|
1468
1527
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionsCellComponent, [{
|
|
1469
1528
|
type: Component,
|
|
1470
|
-
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
|
|
1471
|
-
}],
|
|
1529
|
+
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 #dropdownTrigger 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 </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\n<!-- CDK Overlay Template for Dropdown Menu -->\n<ng-template #dropdownMenu>\n <div class=\"dropdown-menu-overlay\" [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</ng-template>\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;display:flex;align-items:center;justify-content:center}.dropdown-actions{position:relative}.dropdown-menu-overlay{width:232px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:8px 0;z-index:1000}.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}.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}.checkbox-actions{display:flex;align-items:center;justify-content:center;width:100%;height:100%}\n"] }]
|
|
1530
|
+
}], () => [{ type: i1$1.Overlay }, { type: i0.ViewContainerRef }], { rowData: [{
|
|
1472
1531
|
type: Input
|
|
1473
1532
|
}], isChecked: [{
|
|
1474
1533
|
type: Input
|
|
@@ -1476,6 +1535,12 @@ class ActionsCellComponent {
|
|
|
1476
1535
|
type: Input
|
|
1477
1536
|
}], actionClick: [{
|
|
1478
1537
|
type: Output
|
|
1538
|
+
}], dropdownMenu: [{
|
|
1539
|
+
type: ViewChild,
|
|
1540
|
+
args: ['dropdownMenu', { static: false }]
|
|
1541
|
+
}], dropdownTrigger: [{
|
|
1542
|
+
type: ViewChild,
|
|
1543
|
+
args: ['dropdownTrigger', { static: false }]
|
|
1479
1544
|
}], onDocumentClick: [{
|
|
1480
1545
|
type: HostListener,
|
|
1481
1546
|
args: ["document:click"]
|
|
@@ -1488,7 +1553,7 @@ class TableModule {
|
|
|
1488
1553
|
}
|
|
1489
1554
|
static { this.ɵfac = function TableModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableModule)(); }; }
|
|
1490
1555
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TableModule }); }
|
|
1491
|
-
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, CheckboxModule, ScrollingModule] }); }
|
|
1556
|
+
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule] }); }
|
|
1492
1557
|
}
|
|
1493
1558
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableModule, [{
|
|
1494
1559
|
type: NgModule,
|
|
@@ -1501,7 +1566,7 @@ class TableModule {
|
|
|
1501
1566
|
SortIconsDirective,
|
|
1502
1567
|
ActionsCellComponent
|
|
1503
1568
|
],
|
|
1504
|
-
imports: [CommonModule, CheckboxModule, ScrollingModule],
|
|
1569
|
+
imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule],
|
|
1505
1570
|
exports: [
|
|
1506
1571
|
TableComponent,
|
|
1507
1572
|
SubTableComponent,
|
|
@@ -1517,7 +1582,7 @@ class TableModule {
|
|
|
1517
1582
|
TableFilterComponent,
|
|
1518
1583
|
CustomTableCellDirective,
|
|
1519
1584
|
SortIconsDirective,
|
|
1520
|
-
ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule], exports: [TableComponent,
|
|
1585
|
+
ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule], exports: [TableComponent,
|
|
1521
1586
|
SubTableComponent,
|
|
1522
1587
|
TableFilterComponent,
|
|
1523
1588
|
CustomTableCellDirective,
|