@masterteam/client-components 0.0.6 → 0.0.8
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/fesm2022/masterteam-client-components-client-list.mjs +62 -10
- package/fesm2022/masterteam-client-components-client-list.mjs.map +1 -1
- package/fesm2022/masterteam-client-components-client-module-preview.mjs +351 -0
- package/fesm2022/masterteam-client-components-client-module-preview.mjs.map +1 -0
- package/fesm2022/masterteam-client-components-escalation-runtime.mjs +1 -1
- package/fesm2022/masterteam-client-components-escalation-runtime.mjs.map +1 -1
- package/fesm2022/masterteam-client-components.mjs.map +1 -1
- package/package.json +9 -5
- package/types/masterteam-client-components-client-list.d.ts +12 -1
- package/types/masterteam-client-components-client-module-preview.d.ts +35 -0
|
@@ -113,6 +113,7 @@ class ClientListStateService {
|
|
|
113
113
|
take,
|
|
114
114
|
totalCount,
|
|
115
115
|
error: null,
|
|
116
|
+
rawData: response,
|
|
116
117
|
},
|
|
117
118
|
});
|
|
118
119
|
}
|
|
@@ -143,6 +144,7 @@ class ClientListStateService {
|
|
|
143
144
|
take: 0,
|
|
144
145
|
totalCount: cards.length,
|
|
145
146
|
error: null,
|
|
147
|
+
rawData: response,
|
|
146
148
|
},
|
|
147
149
|
});
|
|
148
150
|
}
|
|
@@ -170,6 +172,7 @@ class ClientListStateService {
|
|
|
170
172
|
totalCount: chartsCount,
|
|
171
173
|
dashboardData,
|
|
172
174
|
error: null,
|
|
175
|
+
rawData: response,
|
|
173
176
|
},
|
|
174
177
|
});
|
|
175
178
|
}
|
|
@@ -205,6 +208,7 @@ class ClientListStateService {
|
|
|
205
208
|
take: existing.take,
|
|
206
209
|
expanded: existing.expanded,
|
|
207
210
|
dashboardData: existing.dashboardData,
|
|
211
|
+
rawData: existing.rawData,
|
|
208
212
|
};
|
|
209
213
|
}
|
|
210
214
|
getVisibleColumns(columns) {
|
|
@@ -344,12 +348,22 @@ class ClientListTableView {
|
|
|
344
348
|
slotGridSpan(span) {
|
|
345
349
|
return `span ${span} / span ${span}`;
|
|
346
350
|
}
|
|
351
|
+
templateContext(item) {
|
|
352
|
+
return {
|
|
353
|
+
$implicit: item,
|
|
354
|
+
table: item,
|
|
355
|
+
item,
|
|
356
|
+
loading: item.loading,
|
|
357
|
+
error: item.error,
|
|
358
|
+
data: item.rawData,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
347
361
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ClientListTableView, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
348
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: ClientListTableView, isStandalone: true, selector: "mt-client-list-table-view", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: true, transformFunction: null }, rowActions: { classPropertyName: "rowActions", publicName: "rowActions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { lazyLoad: "lazyLoad" }, ngImport: i0, template: "<div class=\"grid gap-4\" [style.gridTemplateColumns]=\"gridTemplateColumns\">\
|
|
362
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: ClientListTableView, isStandalone: true, selector: "mt-client-list-table-view", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: true, transformFunction: null }, rowActions: { classPropertyName: "rowActions", publicName: "rowActions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { lazyLoad: "lazyLoad" }, ngImport: i0, template: "<div class=\"grid gap-4\" [style.gridTemplateColumns]=\"gridTemplateColumns\">\n @if (table().config.contentStart) {\n <div [style.gridColumn]=\"slotGridSpan(table().config.layout.startSpan)\">\n <ng-container\n [ngTemplateOutlet]=\"table().config.contentStart\"\n [ngTemplateOutletContext]=\"templateContext(table())\"\n />\n </div>\n }\n\n <div [style.gridColumn]=\"slotGridSpan(table().config.layout.tableSpan)\">\n <mt-card>\n @if (table().loading && table().rows.length === 0) {\n <div class=\"flex flex-col gap-3 py-3\">\n <p-skeleton height=\"3rem\" />\n <p-skeleton height=\"3rem\" />\n <p-skeleton height=\"3rem\" />\n </div>\n } @else if (table().error) {\n <div\n class=\"rounded-lg border border-red-200 bg-red-50 p-3 text-sm text-red-700\"\n >\n {{ table().error }}\n </div>\n } @else {\n <mt-table\n [data]=\"table().rows\"\n [columns]=\"table().columns\"\n [rowActions]=\"rowActions()\"\n [loading]=\"table().loading\"\n [lazy]=\"table().config.isPaginated\"\n [lazyTotalRecords]=\"table().totalCount\"\n [pageSize]=\"table().config.isPaginated ? table().take : 10\"\n (lazyLoad)=\"lazyLoad.emit($event)\"\n />\n }\n </mt-card>\n </div>\n\n @if (table().config.contentEnd) {\n <div [style.gridColumn]=\"slotGridSpan(table().config.layout.endSpan)\">\n <ng-container\n [ngTemplateOutlet]=\"table().config.contentEnd\"\n [ngTemplateOutletContext]=\"templateContext(table())\"\n />\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Card, selector: "mt-card", inputs: ["class", "title", "paddingless"] }, { kind: "component", type: Table, selector: "mt-table", inputs: ["filters", "data", "columns", "rowActions", "size", "showGridlines", "stripedRows", "selectableRows", "clickableRows", "generalSearch", "showFilters", "loading", "updating", "lazy", "lazyTotalRecords", "reorderableColumns", "reorderableRows", "dataKey", "exportable", "exportFilename", "tabs", "tabsOptionLabel", "tabsOptionValue", "activeTab", "actions", "paginatorPosition", "pageSize", "currentPage", "first", "filterTerm"], outputs: ["selectionChange", "cellChange", "lazyLoad", "columnReorder", "rowReorder", "rowClick", "filtersChange", "activeTabChange", "onTabChange", "pageSizeChange", "currentPageChange", "firstChange", "filterTermChange"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }] });
|
|
349
363
|
}
|
|
350
364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ClientListTableView, decorators: [{
|
|
351
365
|
type: Component,
|
|
352
|
-
args: [{ selector: 'mt-client-list-table-view', standalone: true, imports: [CommonModule, Card, Table, SkeletonModule], template: "<div class=\"grid gap-4\" [style.gridTemplateColumns]=\"gridTemplateColumns\">\
|
|
366
|
+
args: [{ selector: 'mt-client-list-table-view', standalone: true, imports: [CommonModule, Card, Table, SkeletonModule], template: "<div class=\"grid gap-4\" [style.gridTemplateColumns]=\"gridTemplateColumns\">\n @if (table().config.contentStart) {\n <div [style.gridColumn]=\"slotGridSpan(table().config.layout.startSpan)\">\n <ng-container\n [ngTemplateOutlet]=\"table().config.contentStart\"\n [ngTemplateOutletContext]=\"templateContext(table())\"\n />\n </div>\n }\n\n <div [style.gridColumn]=\"slotGridSpan(table().config.layout.tableSpan)\">\n <mt-card>\n @if (table().loading && table().rows.length === 0) {\n <div class=\"flex flex-col gap-3 py-3\">\n <p-skeleton height=\"3rem\" />\n <p-skeleton height=\"3rem\" />\n <p-skeleton height=\"3rem\" />\n </div>\n } @else if (table().error) {\n <div\n class=\"rounded-lg border border-red-200 bg-red-50 p-3 text-sm text-red-700\"\n >\n {{ table().error }}\n </div>\n } @else {\n <mt-table\n [data]=\"table().rows\"\n [columns]=\"table().columns\"\n [rowActions]=\"rowActions()\"\n [loading]=\"table().loading\"\n [lazy]=\"table().config.isPaginated\"\n [lazyTotalRecords]=\"table().totalCount\"\n [pageSize]=\"table().config.isPaginated ? table().take : 10\"\n (lazyLoad)=\"lazyLoad.emit($event)\"\n />\n }\n </mt-card>\n </div>\n\n @if (table().config.contentEnd) {\n <div [style.gridColumn]=\"slotGridSpan(table().config.layout.endSpan)\">\n <ng-container\n [ngTemplateOutlet]=\"table().config.contentEnd\"\n [ngTemplateOutletContext]=\"templateContext(table())\"\n />\n </div>\n }\n</div>\n" }]
|
|
353
367
|
}], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: true }] }], rowActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowActions", required: false }] }], lazyLoad: [{ type: i0.Output, args: ["lazyLoad"] }] } });
|
|
354
368
|
|
|
355
369
|
class ClientListCardsView {
|
|
@@ -371,12 +385,22 @@ class ClientListInformativeView {
|
|
|
371
385
|
slotGridSpan(span) {
|
|
372
386
|
return `span ${span} / span ${span}`;
|
|
373
387
|
}
|
|
388
|
+
templateContext(item) {
|
|
389
|
+
return {
|
|
390
|
+
$implicit: item,
|
|
391
|
+
table: item,
|
|
392
|
+
item,
|
|
393
|
+
loading: item.loading,
|
|
394
|
+
error: item.error,
|
|
395
|
+
data: item.rawData,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
374
398
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ClientListInformativeView, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
375
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: ClientListInformativeView, isStandalone: true, selector: "mt-client-list-informative-view", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"grid gap-4\" [style.gridTemplateColumns]=\"gridTemplateColumns\">\
|
|
399
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: ClientListInformativeView, isStandalone: true, selector: "mt-client-list-informative-view", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"grid gap-4\" [style.gridTemplateColumns]=\"gridTemplateColumns\">\n @if (informativeState().config.contentStart) {\n <div\n [style.gridColumn]=\"\n slotGridSpan(informativeState().config.layout.startSpan)\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"informativeState().config.contentStart\"\n [ngTemplateOutletContext]=\"templateContext(informativeState())\"\n />\n </div>\n }\n\n <div\n [style.gridColumn]=\"\n slotGridSpan(informativeState().config.layout.tableSpan)\n \"\n >\n <mt-card>\n @if (\n informativeState().loading &&\n !informativeState().dashboardData?.charts?.length\n ) {\n <div class=\"flex flex-col gap-3 py-3\">\n <p-skeleton height=\"6rem\" />\n <p-skeleton height=\"12rem\" />\n <p-skeleton height=\"12rem\" />\n </div>\n } @else if (informativeState().error) {\n <div\n class=\"rounded-lg border border-red-200 bg-red-50 p-3 text-sm text-red-700\"\n >\n {{ informativeState().error }}\n </div>\n } @else if (!informativeState().dashboardData?.charts?.length) {\n <div class=\"p-6 text-center text-gray-400\">\n No informative dashboard found.\n </div>\n } @else {\n <div class=\"min-h-[420px]\">\n <mt-dashboard-viewer\n [isPage]=\"false\"\n [showFilters]=\"false\"\n [dashboardData]=\"informativeState().dashboardData\"\n />\n </div>\n }\n </mt-card>\n </div>\n\n @if (informativeState().config.contentEnd) {\n <div\n [style.gridColumn]=\"\n slotGridSpan(informativeState().config.layout.endSpan)\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"informativeState().config.contentEnd\"\n [ngTemplateOutletContext]=\"templateContext(informativeState())\"\n />\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Card, selector: "mt-card", inputs: ["class", "title", "paddingless"] }, { kind: "component", type: DashboardViewer, selector: "mt-dashboard-viewer", inputs: ["isPage", "pageTitle", "backButton", "pageId", "dashboardData", "chartsData", "dialogsData", "filtersData", "showFilters"], outputs: ["pageLoaded", "onBack", "chartClick"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }] });
|
|
376
400
|
}
|
|
377
401
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ClientListInformativeView, decorators: [{
|
|
378
402
|
type: Component,
|
|
379
|
-
args: [{ selector: 'mt-client-list-informative-view', standalone: true, imports: [CommonModule, Card, DashboardViewer, SkeletonModule], template: "<div class=\"grid gap-4\" [style.gridTemplateColumns]=\"gridTemplateColumns\">\
|
|
403
|
+
args: [{ selector: 'mt-client-list-informative-view', standalone: true, imports: [CommonModule, Card, DashboardViewer, SkeletonModule], template: "<div class=\"grid gap-4\" [style.gridTemplateColumns]=\"gridTemplateColumns\">\n @if (informativeState().config.contentStart) {\n <div\n [style.gridColumn]=\"\n slotGridSpan(informativeState().config.layout.startSpan)\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"informativeState().config.contentStart\"\n [ngTemplateOutletContext]=\"templateContext(informativeState())\"\n />\n </div>\n }\n\n <div\n [style.gridColumn]=\"\n slotGridSpan(informativeState().config.layout.tableSpan)\n \"\n >\n <mt-card>\n @if (\n informativeState().loading &&\n !informativeState().dashboardData?.charts?.length\n ) {\n <div class=\"flex flex-col gap-3 py-3\">\n <p-skeleton height=\"6rem\" />\n <p-skeleton height=\"12rem\" />\n <p-skeleton height=\"12rem\" />\n </div>\n } @else if (informativeState().error) {\n <div\n class=\"rounded-lg border border-red-200 bg-red-50 p-3 text-sm text-red-700\"\n >\n {{ informativeState().error }}\n </div>\n } @else if (!informativeState().dashboardData?.charts?.length) {\n <div class=\"p-6 text-center text-gray-400\">\n No informative dashboard found.\n </div>\n } @else {\n <div class=\"min-h-[420px]\">\n <mt-dashboard-viewer\n [isPage]=\"false\"\n [showFilters]=\"false\"\n [dashboardData]=\"informativeState().dashboardData\"\n />\n </div>\n }\n </mt-card>\n </div>\n\n @if (informativeState().config.contentEnd) {\n <div\n [style.gridColumn]=\"\n slotGridSpan(informativeState().config.layout.endSpan)\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"informativeState().config.contentEnd\"\n [ngTemplateOutletContext]=\"templateContext(informativeState())\"\n />\n </div>\n }\n</div>\n" }]
|
|
380
404
|
}], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: true }] }] } });
|
|
381
405
|
|
|
382
406
|
const DEFAULT_AREA_TYPE = 'table';
|
|
@@ -444,6 +468,10 @@ class ClientList {
|
|
|
444
468
|
return {
|
|
445
469
|
$implicit: item,
|
|
446
470
|
table: item,
|
|
471
|
+
item,
|
|
472
|
+
loading: item.loading,
|
|
473
|
+
error: item.error,
|
|
474
|
+
data: item.rawData,
|
|
447
475
|
};
|
|
448
476
|
}
|
|
449
477
|
defaultTitle(item) {
|
|
@@ -500,6 +528,7 @@ class ClientList {
|
|
|
500
528
|
take: 0,
|
|
501
529
|
expanded: existing?.expanded ?? config.collapse?.expandedByDefault ?? true,
|
|
502
530
|
dashboardData: existing?.dashboardData ?? null,
|
|
531
|
+
rawData: existing?.rawData ?? null,
|
|
503
532
|
};
|
|
504
533
|
}
|
|
505
534
|
if (areaType === 'cards') {
|
|
@@ -520,6 +549,7 @@ class ClientList {
|
|
|
520
549
|
take: 0,
|
|
521
550
|
expanded: existing?.expanded ?? config.collapse?.expandedByDefault ?? true,
|
|
522
551
|
dashboardData: null,
|
|
552
|
+
rawData: existing?.rawData ?? null,
|
|
523
553
|
};
|
|
524
554
|
}
|
|
525
555
|
return {
|
|
@@ -539,6 +569,7 @@ class ClientList {
|
|
|
539
569
|
take,
|
|
540
570
|
expanded: existing?.expanded ?? config.collapse?.expandedByDefault ?? true,
|
|
541
571
|
dashboardData: null,
|
|
572
|
+
rawData: existing?.rawData ?? null,
|
|
542
573
|
};
|
|
543
574
|
});
|
|
544
575
|
this.state.setConfigs(normalized);
|
|
@@ -579,10 +610,11 @@ class ClientList {
|
|
|
579
610
|
.getRows(config.levelId, config.levelDataId, config.moduleId, query)
|
|
580
611
|
.subscribe({
|
|
581
612
|
next: (response) => {
|
|
613
|
+
let hasLoadedData = false;
|
|
582
614
|
if (response.data) {
|
|
583
615
|
this.state.setRowsResult(key, response.data, config, query.skip, query.take);
|
|
584
616
|
this.fulfilledRequestSignatures.set(key, requestSignature);
|
|
585
|
-
|
|
617
|
+
hasLoadedData = true;
|
|
586
618
|
}
|
|
587
619
|
else {
|
|
588
620
|
const message = response.message ?? 'Failed to load table rows';
|
|
@@ -591,6 +623,10 @@ class ClientList {
|
|
|
591
623
|
}
|
|
592
624
|
this.state.setLoading(key, false);
|
|
593
625
|
this.inFlightRequestSignatures.delete(key);
|
|
626
|
+
if (hasLoadedData) {
|
|
627
|
+
this.notifyDataLoaded(key);
|
|
628
|
+
this.loaded.emit(key);
|
|
629
|
+
}
|
|
594
630
|
},
|
|
595
631
|
error: (error) => {
|
|
596
632
|
const message = error?.error?.message ?? error?.message ?? 'Failed to load rows';
|
|
@@ -625,10 +661,11 @@ class ClientList {
|
|
|
625
661
|
.getCards(config.levelDataId, config.moduleId)
|
|
626
662
|
.subscribe({
|
|
627
663
|
next: (response) => {
|
|
664
|
+
let hasLoadedData = false;
|
|
628
665
|
if (response.data) {
|
|
629
666
|
this.state.setCardsResult(key, response.data, config);
|
|
630
667
|
this.fulfilledRequestSignatures.set(key, requestSignature);
|
|
631
|
-
|
|
668
|
+
hasLoadedData = true;
|
|
632
669
|
}
|
|
633
670
|
else {
|
|
634
671
|
const message = response.message ?? 'Failed to load cards';
|
|
@@ -637,6 +674,10 @@ class ClientList {
|
|
|
637
674
|
}
|
|
638
675
|
this.state.setLoading(key, false);
|
|
639
676
|
this.inFlightRequestSignatures.delete(key);
|
|
677
|
+
if (hasLoadedData) {
|
|
678
|
+
this.notifyDataLoaded(key);
|
|
679
|
+
this.loaded.emit(key);
|
|
680
|
+
}
|
|
640
681
|
},
|
|
641
682
|
error: (error) => {
|
|
642
683
|
const message = error?.error?.message ?? error?.message ?? 'Failed to load cards';
|
|
@@ -671,17 +712,19 @@ class ClientList {
|
|
|
671
712
|
next: (response) => {
|
|
672
713
|
this.state.setInformativeResult(key, response.data ?? null, config);
|
|
673
714
|
this.fulfilledRequestSignatures.set(key, requestSignature);
|
|
674
|
-
this.loaded.emit(key);
|
|
675
715
|
this.state.setLoading(key, false);
|
|
676
716
|
this.inFlightRequestSignatures.delete(key);
|
|
717
|
+
this.notifyDataLoaded(key);
|
|
718
|
+
this.loaded.emit(key);
|
|
677
719
|
},
|
|
678
720
|
error: (error) => {
|
|
679
721
|
if (error?.status === 404) {
|
|
680
722
|
this.state.setInformativeResult(key, null, config);
|
|
681
723
|
this.fulfilledRequestSignatures.set(key, requestSignature);
|
|
682
|
-
this.loaded.emit(key);
|
|
683
724
|
this.state.setLoading(key, false);
|
|
684
725
|
this.inFlightRequestSignatures.delete(key);
|
|
726
|
+
this.notifyDataLoaded(key);
|
|
727
|
+
this.loaded.emit(key);
|
|
685
728
|
return;
|
|
686
729
|
}
|
|
687
730
|
const message = error?.error?.message ??
|
|
@@ -722,7 +765,9 @@ class ClientList {
|
|
|
722
765
|
headerEnd: config.headerEnd,
|
|
723
766
|
contentStart: config.contentStart,
|
|
724
767
|
contentEnd: config.contentEnd,
|
|
768
|
+
templateContent: config.templateContent,
|
|
725
769
|
rowActions: config.rowActions ?? [],
|
|
770
|
+
dataLoaded: config.dataLoaded,
|
|
726
771
|
collapse: {
|
|
727
772
|
enabled: collapseEnabled,
|
|
728
773
|
expandedByDefault: config.collapse?.expandedByDefault ?? true,
|
|
@@ -768,6 +813,13 @@ class ClientList {
|
|
|
768
813
|
}
|
|
769
814
|
}
|
|
770
815
|
}
|
|
816
|
+
notifyDataLoaded(key) {
|
|
817
|
+
const item = this.state.itemsByKey()[key];
|
|
818
|
+
if (!item) {
|
|
819
|
+
return;
|
|
820
|
+
}
|
|
821
|
+
item.config.dataLoaded?.(this.templateContext(item));
|
|
822
|
+
}
|
|
771
823
|
toTableQuery(config, skip, take) {
|
|
772
824
|
return {
|
|
773
825
|
mode: config.mode,
|
|
@@ -825,7 +877,7 @@ class ClientList {
|
|
|
825
877
|
return 'Missing identifiers: levelId, levelDataId and moduleId are required';
|
|
826
878
|
}
|
|
827
879
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ClientList, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
828
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: ClientList, isStandalone: true, selector: "mt-client-list", inputs: { configurations: { classPropertyName: "configurations", publicName: "configurations", isSignal: true, isRequired: true, transformFunction: null }, defaultTake: { classPropertyName: "defaultTake", publicName: "defaultTake", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { loaded: "loaded", errored: "errored" }, providers: [ClientListStateService], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\
|
|
880
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: ClientList, isStandalone: true, selector: "mt-client-list", inputs: { configurations: { classPropertyName: "configurations", publicName: "configurations", isSignal: true, isRequired: true, transformFunction: null }, defaultTake: { classPropertyName: "defaultTake", publicName: "defaultTake", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { loaded: "loaded", errored: "errored" }, providers: [ClientListStateService], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n @for (item of items(); track item.key) {\n <section class=\"flex flex-col gap-4\">\n <div class=\"flex w-full items-center gap-2\">\n <div class=\"flex min-w-0 flex-1 items-center gap-2\">\n @if (item.config.collapse.enabled) {\n <mt-button\n variant=\"text\"\n severity=\"secondary\"\n [icon]=\"\n item.expanded\n ? item.config.collapse.collapseIcon\n : item.config.collapse.expandIcon\n \"\n (onClick)=\"toggleExpanded(item.key)\"\n />\n }\n <h3 class=\"m-0 text-lg font-bold\">\n {{ item.title || item.moduleKey || defaultTitle(item) }}\n </h3>\n @if (item.config.headerStart) {\n <div class=\"flex items-center gap-2\">\n <ng-container\n [ngTemplateOutlet]=\"item.config.headerStart\"\n [ngTemplateOutletContext]=\"templateContext(item)\"\n />\n </div>\n }\n </div>\n @if (item.config.headerEnd) {\n <div class=\"ml-auto flex shrink-0 items-center gap-2\">\n <ng-container\n [ngTemplateOutlet]=\"item.config.headerEnd\"\n [ngTemplateOutletContext]=\"templateContext(item)\"\n />\n </div>\n }\n </div>\n\n @if (item.expanded || !item.config.collapse.enabled) {\n @if (item.config.templateContent) {\n <ng-container\n [ngTemplateOutlet]=\"item.config.templateContent\"\n [ngTemplateOutletContext]=\"templateContext(item)\"\n />\n } @else if (item.type === \"informative\") {\n <mt-client-list-informative-view [state]=\"item\" />\n } @else if (item.areaType === \"table\") {\n <mt-client-list-table-view\n [state]=\"item\"\n [rowActions]=\"item.config.rowActions\"\n (lazyLoad)=\"onLazyLoad(item.key, $event)\"\n />\n } @else {\n <mt-client-list-cards-view [state]=\"item\" />\n }\n }\n </section>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ClientListTableView, selector: "mt-client-list-table-view", inputs: ["state", "rowActions"], outputs: ["lazyLoad"] }, { kind: "component", type: ClientListCardsView, selector: "mt-client-list-cards-view", inputs: ["state"] }, { kind: "component", type: ClientListInformativeView, selector: "mt-client-list-informative-view", inputs: ["state"] }] });
|
|
829
881
|
}
|
|
830
882
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: ClientList, decorators: [{
|
|
831
883
|
type: Component,
|
|
@@ -835,7 +887,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImpor
|
|
|
835
887
|
ClientListTableView,
|
|
836
888
|
ClientListCardsView,
|
|
837
889
|
ClientListInformativeView,
|
|
838
|
-
], providers: [ClientListStateService], template: "<div class=\"flex flex-col gap-4\">\
|
|
890
|
+
], providers: [ClientListStateService], template: "<div class=\"flex flex-col gap-4\">\n @for (item of items(); track item.key) {\n <section class=\"flex flex-col gap-4\">\n <div class=\"flex w-full items-center gap-2\">\n <div class=\"flex min-w-0 flex-1 items-center gap-2\">\n @if (item.config.collapse.enabled) {\n <mt-button\n variant=\"text\"\n severity=\"secondary\"\n [icon]=\"\n item.expanded\n ? item.config.collapse.collapseIcon\n : item.config.collapse.expandIcon\n \"\n (onClick)=\"toggleExpanded(item.key)\"\n />\n }\n <h3 class=\"m-0 text-lg font-bold\">\n {{ item.title || item.moduleKey || defaultTitle(item) }}\n </h3>\n @if (item.config.headerStart) {\n <div class=\"flex items-center gap-2\">\n <ng-container\n [ngTemplateOutlet]=\"item.config.headerStart\"\n [ngTemplateOutletContext]=\"templateContext(item)\"\n />\n </div>\n }\n </div>\n @if (item.config.headerEnd) {\n <div class=\"ml-auto flex shrink-0 items-center gap-2\">\n <ng-container\n [ngTemplateOutlet]=\"item.config.headerEnd\"\n [ngTemplateOutletContext]=\"templateContext(item)\"\n />\n </div>\n }\n </div>\n\n @if (item.expanded || !item.config.collapse.enabled) {\n @if (item.config.templateContent) {\n <ng-container\n [ngTemplateOutlet]=\"item.config.templateContent\"\n [ngTemplateOutletContext]=\"templateContext(item)\"\n />\n } @else if (item.type === \"informative\") {\n <mt-client-list-informative-view [state]=\"item\" />\n } @else if (item.areaType === \"table\") {\n <mt-client-list-table-view\n [state]=\"item\"\n [rowActions]=\"item.config.rowActions\"\n (lazyLoad)=\"onLazyLoad(item.key, $event)\"\n />\n } @else {\n <mt-client-list-cards-view [state]=\"item\" />\n }\n }\n </section>\n }\n</div>\n" }]
|
|
839
891
|
}], ctorParameters: () => [], propDecorators: { configurations: [{ type: i0.Input, args: [{ isSignal: true, alias: "configurations", required: true }] }], defaultTake: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultTake", required: false }] }], loaded: [{ type: i0.Output, args: ["loaded"] }], errored: [{ type: i0.Output, args: ["errored"] }] } });
|
|
840
892
|
|
|
841
893
|
/**
|