@c8y/ngx-components 1017.0.456 → 1017.0.463
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/context-dashboard/add-dashboard.factory.d.ts +3 -2
- package/context-dashboard/context-dashboard.model.d.ts +28 -0
- package/context-dashboard/context-dashboard.service.d.ts +4 -2
- package/context-dashboard/dashboard-availability.component.d.ts +3 -2
- package/context-dashboard/report-dashboard/report-dashboard-list.component.d.ts +3 -2
- package/esm2020/context-dashboard/add-dashboard.factory.mjs +17 -5
- package/esm2020/context-dashboard/context-dashboard.component.mjs +23 -3
- package/esm2020/context-dashboard/context-dashboard.model.mjs +29 -1
- package/esm2020/context-dashboard/context-dashboard.service.mjs +21 -6
- package/esm2020/context-dashboard/dashboard-availability.component.mjs +17 -5
- package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +21 -6
- package/esm2020/core/docs/docs.service.mjs +1 -10
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs +114 -13
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +0 -8
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs +113 -13
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +0 -8
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -114,6 +114,34 @@ const DASHBOARD_THEME_CLASSES = [
|
|
|
114
114
|
];
|
|
115
115
|
const STYLING_CLASS_PREFIXES = ['dashboard-theme-', 'panel-title-', 'panel-content-'];
|
|
116
116
|
const ALL_GLOBAL_ROLES_SELECTED = 'all';
|
|
117
|
+
const PRODUCT_EXPERIENCE = {
|
|
118
|
+
DASHBOARD: {
|
|
119
|
+
EVENTS: {
|
|
120
|
+
DASHBOARDS: 'dashboards',
|
|
121
|
+
REPORTS: 'reports'
|
|
122
|
+
},
|
|
123
|
+
COMPONENTS: {
|
|
124
|
+
DASHBOARD_VIEW: 'context-dashboard',
|
|
125
|
+
DASHBOARD_AVAILABILITY: 'dashboard-availability',
|
|
126
|
+
REPORTS_LIST: 'report-dashboard-list',
|
|
127
|
+
ADD_REPORT: 'report-dashboard-list',
|
|
128
|
+
ADD_DASHBOARD: 'add-dashboard',
|
|
129
|
+
DELETE_DASHBOARD: 'context-dashboard'
|
|
130
|
+
},
|
|
131
|
+
CONTEXT: {
|
|
132
|
+
REPORT: 'report',
|
|
133
|
+
DEVICE: 'device',
|
|
134
|
+
ASSET: 'asset',
|
|
135
|
+
GROUP: 'group'
|
|
136
|
+
},
|
|
137
|
+
ACTIONS: {
|
|
138
|
+
APPLY_GLOBAL_ROLES_CHANGES: 'applyGlobalRolesChanges',
|
|
139
|
+
DELETE: 'delete',
|
|
140
|
+
LOAD: 'load',
|
|
141
|
+
CREATE: 'create'
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
117
145
|
|
|
118
146
|
class ReportDashboardService {
|
|
119
147
|
constructor(inventoryService, navigatorService) {
|
|
@@ -209,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
209
237
|
}], ctorParameters: function () { return [{ type: i2.NavigatorService }, { type: i1.InventoryService }, { type: ReportDashboardService }]; } });
|
|
210
238
|
|
|
211
239
|
class ContextDashboardService {
|
|
212
|
-
constructor(inventory, tabs, modal, translateService, router, navigator, permissions, alert, dynamicComponent) {
|
|
240
|
+
constructor(inventory, tabs, modal, translateService, router, navigator, permissions, alert, dynamicComponent, groupService) {
|
|
213
241
|
this.inventory = inventory;
|
|
214
242
|
this.tabs = tabs;
|
|
215
243
|
this.modal = modal;
|
|
@@ -219,6 +247,7 @@ class ContextDashboardService {
|
|
|
219
247
|
this.permissions = permissions;
|
|
220
248
|
this.alert = alert;
|
|
221
249
|
this.dynamicComponent = dynamicComponent;
|
|
250
|
+
this.groupService = groupService;
|
|
222
251
|
this.REPORT_PARTIAL_NAME = 'report_';
|
|
223
252
|
this.INVENTORY_ROLES = ['ROLE_INVENTORY_ADMIN'];
|
|
224
253
|
this.cache = new Map();
|
|
@@ -433,6 +462,20 @@ class ContextDashboardService {
|
|
|
433
462
|
}
|
|
434
463
|
});
|
|
435
464
|
}
|
|
465
|
+
getContextForGS(mo) {
|
|
466
|
+
if (this.groupService.isDevice(mo)) {
|
|
467
|
+
return PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.DEVICE;
|
|
468
|
+
}
|
|
469
|
+
else if (this.groupService.isAsset(mo)) {
|
|
470
|
+
return PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.ASSET;
|
|
471
|
+
}
|
|
472
|
+
else if (this.groupService.isGroup(mo)) {
|
|
473
|
+
return PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.GROUP;
|
|
474
|
+
}
|
|
475
|
+
else {
|
|
476
|
+
return null;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
436
479
|
serializeWidgetConfigs(dashboard) {
|
|
437
480
|
return __awaiter(this, void 0, void 0, function* () {
|
|
438
481
|
const children = cloneDeep(dashboard.c8y_Dashboard.children);
|
|
@@ -614,14 +657,14 @@ class ContextDashboardService {
|
|
|
614
657
|
return null;
|
|
615
658
|
}
|
|
616
659
|
}
|
|
617
|
-
ContextDashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContextDashboardService, deps: [{ token: i1.InventoryService }, { token: i2.TabsService }, { token: i2.ModalService }, { token: i3.TranslateService }, { token: i1$1.Router }, { token: i2.NavigatorService }, { token: i2.Permissions }, { token: i2.AlertService }, { token: i2.DynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
660
|
+
ContextDashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContextDashboardService, deps: [{ token: i1.InventoryService }, { token: i2.TabsService }, { token: i2.ModalService }, { token: i3.TranslateService }, { token: i1$1.Router }, { token: i2.NavigatorService }, { token: i2.Permissions }, { token: i2.AlertService }, { token: i2.DynamicComponentService }, { token: i2.GroupService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
618
661
|
ContextDashboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContextDashboardService, providedIn: 'root' });
|
|
619
662
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContextDashboardService, decorators: [{
|
|
620
663
|
type: Injectable,
|
|
621
664
|
args: [{
|
|
622
665
|
providedIn: 'root'
|
|
623
666
|
}]
|
|
624
|
-
}], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: i2.TabsService }, { type: i2.ModalService }, { type: i3.TranslateService }, { type: i1$1.Router }, { type: i2.NavigatorService }, { type: i2.Permissions }, { type: i2.AlertService }, { type: i2.DynamicComponentService }]; } });
|
|
667
|
+
}], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: i2.TabsService }, { type: i2.ModalService }, { type: i3.TranslateService }, { type: i1$1.Router }, { type: i2.NavigatorService }, { type: i2.Permissions }, { type: i2.AlertService }, { type: i2.DynamicComponentService }, { type: i2.GroupService }]; } });
|
|
625
668
|
|
|
626
669
|
class AppearanceSettingsComponent {
|
|
627
670
|
constructor() {
|
|
@@ -692,8 +735,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
692
735
|
}] } });
|
|
693
736
|
|
|
694
737
|
class DashboardAvailabilityComponent {
|
|
695
|
-
constructor(userGroupService) {
|
|
738
|
+
constructor(userGroupService, gainsightService) {
|
|
696
739
|
this.userGroupService = userGroupService;
|
|
740
|
+
this.gainsightService = gainsightService;
|
|
697
741
|
this.globalRolesIdsChange = new EventEmitter();
|
|
698
742
|
this.globalRolesItems = [];
|
|
699
743
|
this.globalRolesItemsSelected = [];
|
|
@@ -722,14 +766,25 @@ class DashboardAvailabilityComponent {
|
|
|
722
766
|
});
|
|
723
767
|
}
|
|
724
768
|
onSelected(items) {
|
|
769
|
+
var _a;
|
|
725
770
|
const allItemsSelected = items.length === this.globalRolesItems.length;
|
|
726
771
|
this.globalRolesItemsSelected = items;
|
|
727
772
|
if (allItemsSelected) {
|
|
728
773
|
this.globalRolesIdsChange.emit(ALL_GLOBAL_ROLES_SELECTED);
|
|
774
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
775
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_AVAILABILITY,
|
|
776
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.APPLY_GLOBAL_ROLES_CHANGES,
|
|
777
|
+
globalRoles: ALL_GLOBAL_ROLES_SELECTED
|
|
778
|
+
});
|
|
729
779
|
}
|
|
730
780
|
else {
|
|
731
781
|
const selectedGlobalRolesIds = items.map(i => i.id);
|
|
732
782
|
this.globalRolesIdsChange.emit([...selectedGlobalRolesIds]);
|
|
783
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
784
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_AVAILABILITY,
|
|
785
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.APPLY_GLOBAL_ROLES_CHANGES,
|
|
786
|
+
globalRoles: (_a = selectedGlobalRolesIds === null || selectedGlobalRolesIds === void 0 ? void 0 : selectedGlobalRolesIds.sort()) === null || _a === void 0 ? void 0 : _a.join()
|
|
787
|
+
});
|
|
733
788
|
}
|
|
734
789
|
}
|
|
735
790
|
getGlobalRoles() {
|
|
@@ -752,12 +807,12 @@ class DashboardAvailabilityComponent {
|
|
|
752
807
|
.filter(Boolean);
|
|
753
808
|
}
|
|
754
809
|
}
|
|
755
|
-
DashboardAvailabilityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, deps: [{ token: i1.UserGroupService }], target: i0.ɵɵFactoryTarget.Component });
|
|
810
|
+
DashboardAvailabilityComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, deps: [{ token: i1.UserGroupService }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Component });
|
|
756
811
|
DashboardAvailabilityComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DashboardAvailabilityComponent, selector: "c8y-dashboard-availability", inputs: { globalRolesIds: "globalRolesIds" }, outputs: { globalRolesIdsChange: "globalRolesIdsChange" }, ngImport: i0, template: "<c8y-form-group class=\"p-b-24 m-b-0\">\n <div class=\"legend form-block\">\n <span>{{ 'Availability' | translate }}</span>\n </div>\n <label for=\"availability\">\n <span class=\"m-r-4\" id=\"availability\">\n {{ 'Global roles' | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n type=\"button\"\n popover=\"{{\n 'Select the global roles for which the dashboard will be available' | translate\n }}\"\n triggers=\"focus\"\n placement=\"right\"\n container=\"body\"\n >\n <i [c8yIcon]=\"'question-circle-o'\"></i>\n </button>\n </label>\n <c8y-select\n style=\"width: 180px\"\n [items]=\"globalRolesItems\"\n [selected]=\"globalRolesItemsSelected\"\n (onChange)=\"onSelected($event)\"\n ></c8y-select>\n</c8y-form-group>\n", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: i2.SelectComponent, selector: "c8y-select", inputs: ["placeholder", "selectedLabel", "applyLabel", "items", "selected", "updateItems", "disableApplyOnNoSelection"], outputs: ["onChange"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] });
|
|
757
812
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DashboardAvailabilityComponent, decorators: [{
|
|
758
813
|
type: Component,
|
|
759
814
|
args: [{ selector: 'c8y-dashboard-availability', template: "<c8y-form-group class=\"p-b-24 m-b-0\">\n <div class=\"legend form-block\">\n <span>{{ 'Availability' | translate }}</span>\n </div>\n <label for=\"availability\">\n <span class=\"m-r-4\" id=\"availability\">\n {{ 'Global roles' | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n type=\"button\"\n popover=\"{{\n 'Select the global roles for which the dashboard will be available' | translate\n }}\"\n triggers=\"focus\"\n placement=\"right\"\n container=\"body\"\n >\n <i [c8yIcon]=\"'question-circle-o'\"></i>\n </button>\n </label>\n <c8y-select\n style=\"width: 180px\"\n [items]=\"globalRolesItems\"\n [selected]=\"globalRolesItemsSelected\"\n (onChange)=\"onSelected($event)\"\n ></c8y-select>\n</c8y-form-group>\n" }]
|
|
760
|
-
}], ctorParameters: function () { return [{ type: i1.UserGroupService }]; }, propDecorators: { globalRolesIds: [{
|
|
815
|
+
}], ctorParameters: function () { return [{ type: i1.UserGroupService }, { type: i2.GainsightService }]; }, propDecorators: { globalRolesIds: [{
|
|
761
816
|
type: Input
|
|
762
817
|
}], globalRolesIdsChange: [{
|
|
763
818
|
type: Output
|
|
@@ -888,11 +943,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
888
943
|
}] } });
|
|
889
944
|
|
|
890
945
|
class AddDashboardFactory {
|
|
891
|
-
constructor(permissions, contextDashboardService, bsModal, contextRoute) {
|
|
946
|
+
constructor(permissions, contextDashboardService, bsModal, contextRoute, gainsightService) {
|
|
892
947
|
this.permissions = permissions;
|
|
893
948
|
this.contextDashboardService = contextDashboardService;
|
|
894
949
|
this.bsModal = bsModal;
|
|
895
950
|
this.contextRoute = contextRoute;
|
|
951
|
+
this.gainsightService = gainsightService;
|
|
896
952
|
}
|
|
897
953
|
get(activatedRoute) {
|
|
898
954
|
var _a;
|
|
@@ -931,6 +987,16 @@ class AddDashboardFactory {
|
|
|
931
987
|
const dashboardMO = yield this.contextDashboardService.create(dashboardCfg, this.currentContext);
|
|
932
988
|
yield this.contextDashboardService.navigateToDashboard(dashboardMO);
|
|
933
989
|
modal.close();
|
|
990
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
991
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.ADD_DASHBOARD,
|
|
992
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.CREATE,
|
|
993
|
+
name: dashboardCfg.name,
|
|
994
|
+
id: dashboardMO.id,
|
|
995
|
+
dashboardType: dashboardMO.c8y_Dashboard.deviceType
|
|
996
|
+
? dashboardMO.c8y_Dashboard.deviceTypeValue
|
|
997
|
+
: null,
|
|
998
|
+
context: this.contextDashboardService.getContextForGS(this.currentContext.contextData)
|
|
999
|
+
});
|
|
934
1000
|
}
|
|
935
1001
|
catch (ex) {
|
|
936
1002
|
// intended empty
|
|
@@ -946,14 +1012,14 @@ class AddDashboardFactory {
|
|
|
946
1012
|
});
|
|
947
1013
|
}
|
|
948
1014
|
}
|
|
949
|
-
AddDashboardFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddDashboardFactory, deps: [{ token: i2.Permissions }, { token: ContextDashboardService }, { token: i3$1.BsModalService }, { token: i2.ContextRouteService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1015
|
+
AddDashboardFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddDashboardFactory, deps: [{ token: i2.Permissions }, { token: ContextDashboardService }, { token: i3$1.BsModalService }, { token: i2.ContextRouteService }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
950
1016
|
AddDashboardFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddDashboardFactory, providedIn: 'root' });
|
|
951
1017
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddDashboardFactory, decorators: [{
|
|
952
1018
|
type: Injectable,
|
|
953
1019
|
args: [{
|
|
954
1020
|
providedIn: 'root'
|
|
955
1021
|
}]
|
|
956
|
-
}], ctorParameters: function () { return [{ type: i2.Permissions }, { type: ContextDashboardService }, { type: i3$1.BsModalService }, { type: i2.ContextRouteService }]; } });
|
|
1022
|
+
}], ctorParameters: function () { return [{ type: i2.Permissions }, { type: ContextDashboardService }, { type: i3$1.BsModalService }, { type: i2.ContextRouteService }, { type: i2.GainsightService }]; } });
|
|
957
1023
|
|
|
958
1024
|
class AddDashboardComponent {
|
|
959
1025
|
constructor(addDashboardFactory) {
|
|
@@ -1406,6 +1472,14 @@ class ContextDashboardComponent {
|
|
|
1406
1472
|
const route = this.route.parent.snapshot.url.map(segment => segment.path).join('/');
|
|
1407
1473
|
this.router.navigateByUrl(route);
|
|
1408
1474
|
}
|
|
1475
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
1476
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DELETE_DASHBOARD,
|
|
1477
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DELETE,
|
|
1478
|
+
name: this.dashboard.name,
|
|
1479
|
+
id: this.mo.id,
|
|
1480
|
+
dashboardType: this.dashboard.deviceType ? this.dashboard.deviceTypeValue : null,
|
|
1481
|
+
context: this.contextDashboardService.getContextForGS(this.context)
|
|
1482
|
+
});
|
|
1409
1483
|
});
|
|
1410
1484
|
}
|
|
1411
1485
|
/**
|
|
@@ -1674,6 +1748,18 @@ class ContextDashboardComponent {
|
|
|
1674
1748
|
this.addReportDashboardSettings();
|
|
1675
1749
|
}
|
|
1676
1750
|
this.isLoading = false;
|
|
1751
|
+
this.gainsightService.triggerEvent(isReport
|
|
1752
|
+
? PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS
|
|
1753
|
+
: PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
1754
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_VIEW,
|
|
1755
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.LOAD,
|
|
1756
|
+
name: this.dashboard.name,
|
|
1757
|
+
id: this.mo.id,
|
|
1758
|
+
dashboardType: this.dashboard.deviceType ? this.dashboard.deviceTypeValue : null,
|
|
1759
|
+
context: isReport
|
|
1760
|
+
? PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
|
|
1761
|
+
: this.contextDashboardService.getContextForGS(this.context)
|
|
1762
|
+
});
|
|
1677
1763
|
});
|
|
1678
1764
|
}
|
|
1679
1765
|
mergeWidgetClasses(widget) {
|
|
@@ -2866,7 +2952,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
2866
2952
|
}] });
|
|
2867
2953
|
|
|
2868
2954
|
class ReportDashboardListComponent {
|
|
2869
|
-
constructor(inventoryService, contextDashboardService, bsModal, translateService, modal, alertService, reportDashboardService, permissions) {
|
|
2955
|
+
constructor(inventoryService, contextDashboardService, bsModal, translateService, modal, alertService, reportDashboardService, permissions, gainsightService) {
|
|
2870
2956
|
this.inventoryService = inventoryService;
|
|
2871
2957
|
this.contextDashboardService = contextDashboardService;
|
|
2872
2958
|
this.bsModal = bsModal;
|
|
@@ -2875,6 +2961,7 @@ class ReportDashboardListComponent {
|
|
|
2875
2961
|
this.alertService = alertService;
|
|
2876
2962
|
this.reportDashboardService = reportDashboardService;
|
|
2877
2963
|
this.permissions = permissions;
|
|
2964
|
+
this.gainsightService = gainsightService;
|
|
2878
2965
|
this.textFilter$ = new BehaviorSubject('');
|
|
2879
2966
|
this.reload$ = new BehaviorSubject(null);
|
|
2880
2967
|
this.reloading = false;
|
|
@@ -2928,6 +3015,13 @@ class ReportDashboardListComponent {
|
|
|
2928
3015
|
}
|
|
2929
3016
|
this.reload$.next();
|
|
2930
3017
|
modal.close();
|
|
3018
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS, {
|
|
3019
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.ADD_REPORT,
|
|
3020
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.CREATE,
|
|
3021
|
+
name: report.name,
|
|
3022
|
+
id: report.id,
|
|
3023
|
+
context: PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
|
|
3024
|
+
});
|
|
2931
3025
|
}
|
|
2932
3026
|
catch (ex) {
|
|
2933
3027
|
if (ex) {
|
|
@@ -2960,6 +3054,13 @@ class ReportDashboardListComponent {
|
|
|
2960
3054
|
this.reportDashboardService.removeNavigatorNode(report);
|
|
2961
3055
|
}
|
|
2962
3056
|
this.reload$.next();
|
|
3057
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS, {
|
|
3058
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.REPORTS_LIST,
|
|
3059
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DELETE,
|
|
3060
|
+
name: report.name,
|
|
3061
|
+
id: report.id,
|
|
3062
|
+
context: PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
|
|
3063
|
+
});
|
|
2963
3064
|
}
|
|
2964
3065
|
catch (ex) {
|
|
2965
3066
|
if (ex) {
|
|
@@ -2978,12 +3079,12 @@ class ReportDashboardListComponent {
|
|
|
2978
3079
|
});
|
|
2979
3080
|
}
|
|
2980
3081
|
}
|
|
2981
|
-
ReportDashboardListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ReportDashboardListComponent, deps: [{ token: i1.InventoryService }, { token: ContextDashboardService }, { token: i3$1.BsModalService }, { token: i3.TranslateService }, { token: i2.ModalService }, { token: i2.AlertService }, { token: ReportDashboardService }, { token: i2.Permissions }], target: i0.ɵɵFactoryTarget.Component });
|
|
3082
|
+
ReportDashboardListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ReportDashboardListComponent, deps: [{ token: i1.InventoryService }, { token: ContextDashboardService }, { token: i3$1.BsModalService }, { token: i3.TranslateService }, { token: i2.ModalService }, { token: i2.AlertService }, { token: ReportDashboardService }, { token: i2.Permissions }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2982
3083
|
ReportDashboardListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ReportDashboardListComponent, selector: "c8y-report-dashboard-list", viewQueries: [{ propertyName: "filter", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<c8y-title>\n {{ 'Reports' | translate }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'left'\" itemClass=\"navbar-form\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n type=\"search\"\n [attr.aria-label]=\"'Filter' | translate\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i c8yIcon=\"search\" *ngIf=\"(textFilter$ | async).length === 0\"></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length > 0\"\n (click)=\"textFilter$.next('')\"\n px-event=\"Clear filtering reports\"\n ></i>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add report' | translate }}\"\n [attr.data-cy]=\"'reports-add-report-action-bar-button'\"\n type=\"button\"\n (click)=\"add()\"\n [disabled]=\"!canAddReport\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add report' | translate }}\n </button>\n <button\n *ngIf=\"!canAddReport\"\n class=\"btn btn-dot m-r-16\"\n popover=\"{{ 'You don\\'t have permission to add reports' | translate }}\"\n triggers=\"focus\"\n placement=\"top\"\n container=\"body\"\n >\n <i [c8yIcon]=\"'info-circle'\" class=\"text-primary\"></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadReports()\"\n >\n <i [ngClass]=\"{ 'icon-spin': reloading }\" c8yIcon=\"refresh\"></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/users-guide/cockpit/#reports\"></c8y-help>\n\n<c8y-list-group>\n <c8y-li\n class=\"page-sticky-header hidden-xs hidden-sm\"\n *ngIf=\"(reports$ | async)?.data.length > 0\"\n >\n <c8y-li-icon>\n <i class=\"p-l-24\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n {{ 'Report' | translate }}\n </div>\n <div class=\"col-6\">\n {{ 'Description' | translate }}\n </div>\n <div class=\"col-2\">\n {{ 'Show in navigator' | translate }}\n </div>\n </c8y-li-body>\n </c8y-li>\n\n <c8y-li *c8yFor=\"let report of reports$; let i = index; loadMore: 'auto'\">\n <c8y-li-icon [icon]=\"report.icon\"></c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n <button\n class=\"btn-clean\"\n title=\"{{ report.name }}\"\n type=\"button\"\n routerLink=\"/reports/{{ report.id }}\"\n >\n <span class=\"text-truncate\">\n {{ report.name }}\n </span>\n </button>\n </div>\n <div class=\"col-6\">\n <p class=\"small text-truncate-wrap\">\n <em class=\"text-muted\" *ngIf=\"!report.description; else showDescription\">\n {{ 'No description available' | translate }}\n </em>\n <ng-template #showDescription>\n {{ report.description }}\n </ng-template>\n </p>\n </div>\n <div class=\"col-2 fit-h-20 m-t-xs-8\">\n <label class=\"c8y-switch c8y-switch--inline\" title=\"{{ 'Show in navigator' | translate }}\">\n <input\n [(ngModel)]=\"!!report.c8y_IsNavigatorNode\"\n type=\"checkbox\"\n (change)=\"update(report)\"\n />\n <span></span>\n <span class=\"visible-xs\">\n {{ 'Show in navigator' | translate }}\n </span>\n </label>\n </div>\n <div class=\"col-1 hidden-xs\">\n <button\n class=\"btn btn-dot btn-dot--danger showOnHover m-l-auto d-flex\"\n (click)=\"delete(report)\"\n tooltip=\"{{ 'Remove report' | translate }}\"\n [delay]=\"500\"\n [attr.aria-label]=\"'Remove report' | translate\"\n type=\"button\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n <div class=\"visible-xs p-t-8 text-right\">\n <button\n class=\"btn btn-default btn-sm\"\n (click)=\"delete(report)\"\n title=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n >\n <i c8yIcon=\"delete\"></i>\n {{ 'Remove report' | translate }}\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n\n<c8y-ui-empty-state\n *ngIf=\"(reports$ | async)?.data.length === 0\"\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n>\n <p>\n <button\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.data-cy]=\"'reports-add-report-empty-state-button'\"\n [disabled]=\"!canAddReport\"\n (click)=\"add()\"\n >\n {{ 'Add report' | translate }}\n </button>\n </p>\n <p c8y-guide-docs>\n <small translate ngNonBindable>\n Find out more in the\n <a c8y-guide-href=\"users-guide/cockpit/#reports\">User guide`KEEP_ORIGINAL`</a>\n .\n </small>\n </p>\n</c8y-ui-empty-state>\n", dependencies: [{ kind: "component", type: i2.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId"] }, { kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount"] }, { kind: "component", type: i2.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "component", type: i2.GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "component", type: i2.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i2.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "emptyActions", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i2.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i2.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: i3$2.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i1$1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
|
|
2983
3084
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ReportDashboardListComponent, decorators: [{
|
|
2984
3085
|
type: Component,
|
|
2985
3086
|
args: [{ selector: 'c8y-report-dashboard-list', template: "<c8y-title>\n {{ 'Reports' | translate }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'left'\" itemClass=\"navbar-form\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n type=\"search\"\n [attr.aria-label]=\"'Filter' | translate\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i c8yIcon=\"search\" *ngIf=\"(textFilter$ | async).length === 0\"></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length > 0\"\n (click)=\"textFilter$.next('')\"\n px-event=\"Clear filtering reports\"\n ></i>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add report' | translate }}\"\n [attr.data-cy]=\"'reports-add-report-action-bar-button'\"\n type=\"button\"\n (click)=\"add()\"\n [disabled]=\"!canAddReport\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add report' | translate }}\n </button>\n <button\n *ngIf=\"!canAddReport\"\n class=\"btn btn-dot m-r-16\"\n popover=\"{{ 'You don\\'t have permission to add reports' | translate }}\"\n triggers=\"focus\"\n placement=\"top\"\n container=\"body\"\n >\n <i [c8yIcon]=\"'info-circle'\" class=\"text-primary\"></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadReports()\"\n >\n <i [ngClass]=\"{ 'icon-spin': reloading }\" c8yIcon=\"refresh\"></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/users-guide/cockpit/#reports\"></c8y-help>\n\n<c8y-list-group>\n <c8y-li\n class=\"page-sticky-header hidden-xs hidden-sm\"\n *ngIf=\"(reports$ | async)?.data.length > 0\"\n >\n <c8y-li-icon>\n <i class=\"p-l-24\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n {{ 'Report' | translate }}\n </div>\n <div class=\"col-6\">\n {{ 'Description' | translate }}\n </div>\n <div class=\"col-2\">\n {{ 'Show in navigator' | translate }}\n </div>\n </c8y-li-body>\n </c8y-li>\n\n <c8y-li *c8yFor=\"let report of reports$; let i = index; loadMore: 'auto'\">\n <c8y-li-icon [icon]=\"report.icon\"></c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n <button\n class=\"btn-clean\"\n title=\"{{ report.name }}\"\n type=\"button\"\n routerLink=\"/reports/{{ report.id }}\"\n >\n <span class=\"text-truncate\">\n {{ report.name }}\n </span>\n </button>\n </div>\n <div class=\"col-6\">\n <p class=\"small text-truncate-wrap\">\n <em class=\"text-muted\" *ngIf=\"!report.description; else showDescription\">\n {{ 'No description available' | translate }}\n </em>\n <ng-template #showDescription>\n {{ report.description }}\n </ng-template>\n </p>\n </div>\n <div class=\"col-2 fit-h-20 m-t-xs-8\">\n <label class=\"c8y-switch c8y-switch--inline\" title=\"{{ 'Show in navigator' | translate }}\">\n <input\n [(ngModel)]=\"!!report.c8y_IsNavigatorNode\"\n type=\"checkbox\"\n (change)=\"update(report)\"\n />\n <span></span>\n <span class=\"visible-xs\">\n {{ 'Show in navigator' | translate }}\n </span>\n </label>\n </div>\n <div class=\"col-1 hidden-xs\">\n <button\n class=\"btn btn-dot btn-dot--danger showOnHover m-l-auto d-flex\"\n (click)=\"delete(report)\"\n tooltip=\"{{ 'Remove report' | translate }}\"\n [delay]=\"500\"\n [attr.aria-label]=\"'Remove report' | translate\"\n type=\"button\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n <div class=\"visible-xs p-t-8 text-right\">\n <button\n class=\"btn btn-default btn-sm\"\n (click)=\"delete(report)\"\n title=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n >\n <i c8yIcon=\"delete\"></i>\n {{ 'Remove report' | translate }}\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n\n<c8y-ui-empty-state\n *ngIf=\"(reports$ | async)?.data.length === 0\"\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n>\n <p>\n <button\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.data-cy]=\"'reports-add-report-empty-state-button'\"\n [disabled]=\"!canAddReport\"\n (click)=\"add()\"\n >\n {{ 'Add report' | translate }}\n </button>\n </p>\n <p c8y-guide-docs>\n <small translate ngNonBindable>\n Find out more in the\n <a c8y-guide-href=\"users-guide/cockpit/#reports\">User guide`KEEP_ORIGINAL`</a>\n .\n </small>\n </p>\n</c8y-ui-empty-state>\n" }]
|
|
2986
|
-
}], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: ContextDashboardService }, { type: i3$1.BsModalService }, { type: i3.TranslateService }, { type: i2.ModalService }, { type: i2.AlertService }, { type: ReportDashboardService }, { type: i2.Permissions }]; }, propDecorators: { filter: [{
|
|
3087
|
+
}], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: ContextDashboardService }, { type: i3$1.BsModalService }, { type: i3.TranslateService }, { type: i2.ModalService }, { type: i2.AlertService }, { type: ReportDashboardService }, { type: i2.Permissions }, { type: i2.GainsightService }]; }, propDecorators: { filter: [{
|
|
2987
3088
|
type: ViewChild,
|
|
2988
3089
|
args: [FilterInputComponent, { static: false }]
|
|
2989
3090
|
}] } });
|
|
@@ -3073,5 +3174,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
3073
3174
|
* Generated bundle index. Do not edit.
|
|
3074
3175
|
*/
|
|
3075
3176
|
|
|
3076
|
-
export { ALL_GLOBAL_ROLES_SELECTED, AddDashboardComponent, AddDashboardFactory, AppearanceSettingsComponent, COCKPIT_HOME_DASHBOARD_CONFIG, CONTEXT_DASHBOARD_CONFIG, CockpitDashboardComponent, CockpitDashboardModule, ContextDashboardComponent, ContextDashboardModule, ContextDashboardService, ContextDashboardType, DASHBOARD_THEME_CLASSES, DEFAULT_COCKPIT_HOME_WIDGETS, DashboardActionBarFactory, DashboardDetailComponent, DeviceDashboardGuard, DeviceInfoDashboardComponent, DeviceInfoDashboardModule, DeviceManagementHomeDashboardComponent, DeviceManagementHomeDashboardModule, GroupDashboardGuard, LegacyWelcomeComponent, PasteDashboardActionComponent, REPORT_DEFAULT_NAVIGATION_NODE_PRIORITY, ReportDashboardGuard, ReportDashboardListComponent, ReportDashboardModule, ReportDashboardNavigationFactory, ReportDashboardService, STYLING_CLASS_PREFIXES, WIDGET_CONTENT_CLASSES, WIDGET_HEADER_CLASSES, WelcomeToCockpit, WidgetConfigComponent, WidgetPreviewComponent, WidgetService };
|
|
3177
|
+
export { ALL_GLOBAL_ROLES_SELECTED, AddDashboardComponent, AddDashboardFactory, AppearanceSettingsComponent, COCKPIT_HOME_DASHBOARD_CONFIG, CONTEXT_DASHBOARD_CONFIG, CockpitDashboardComponent, CockpitDashboardModule, ContextDashboardComponent, ContextDashboardModule, ContextDashboardService, ContextDashboardType, DASHBOARD_THEME_CLASSES, DEFAULT_COCKPIT_HOME_WIDGETS, DashboardActionBarFactory, DashboardDetailComponent, DeviceDashboardGuard, DeviceInfoDashboardComponent, DeviceInfoDashboardModule, DeviceManagementHomeDashboardComponent, DeviceManagementHomeDashboardModule, GroupDashboardGuard, LegacyWelcomeComponent, PRODUCT_EXPERIENCE, PasteDashboardActionComponent, REPORT_DEFAULT_NAVIGATION_NODE_PRIORITY, ReportDashboardGuard, ReportDashboardListComponent, ReportDashboardModule, ReportDashboardNavigationFactory, ReportDashboardService, STYLING_CLASS_PREFIXES, WIDGET_CONTENT_CLASSES, WIDGET_HEADER_CLASSES, WelcomeToCockpit, WidgetConfigComponent, WidgetPreviewComponent, WidgetService };
|
|
3077
3178
|
//# sourceMappingURL=c8y-ngx-components-context-dashboard.mjs.map
|