@c8y/ngx-components 1023.97.3 → 1023.97.7
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/alarms/index.d.ts.map +1 -1
- package/context-dashboard/index.d.ts +29 -3
- package/context-dashboard/index.d.ts.map +1 -1
- package/ecosystem/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +10 -7
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +2 -2
- package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs +2 -2
- package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +3 -3
- package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +2 -2
- package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +2 -2
- package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs +2 -2
- package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +142 -19
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +6 -7
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs +4 -4
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +40 -8
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs +12 -5
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +40 -11
- package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +19 -0
- package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +229 -31
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/index.d.ts +83 -7
- package/index.d.ts.map +1 -1
- package/locales/de.po +3 -0
- package/locales/es.po +3 -0
- package/locales/fr.po +3 -0
- package/locales/ja_JP.po +3 -0
- package/locales/ko.po +3 -0
- package/locales/locales.pot +3 -0
- package/locales/nl.po +3 -0
- package/locales/pl.po +3 -0
- package/locales/pt_BR.po +3 -0
- package/locales/zh_CN.po +3 -0
- package/locales/zh_TW.po +3 -0
- package/package.json +1 -1
- package/upgrade/index.d.ts +8 -0
- package/upgrade/index.d.ts.map +1 -1
- package/widgets/implementations/asset-table/index.d.ts.map +1 -1
- package/widgets/implementations/quick-links/index.d.ts +3 -1
- package/widgets/implementations/quick-links/index.d.ts.map +1 -1
- package/widgets/implementations/three-d-rotation/index.d.ts.map +1 -1
|
@@ -43,7 +43,7 @@ class AddAssetContextDashboardModule {
|
|
|
43
43
|
path: newDashboardTab.path,
|
|
44
44
|
component: ContextDashboardComponent,
|
|
45
45
|
canActivate: [NewDashboardGuard],
|
|
46
|
-
canDeactivate: [(component) => component
|
|
46
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
47
47
|
context: ViewContext.Group,
|
|
48
48
|
rootContext: ViewContext.Dashboard
|
|
49
49
|
}
|
|
@@ -63,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
63
63
|
path: newDashboardTab.path,
|
|
64
64
|
component: ContextDashboardComponent,
|
|
65
65
|
canActivate: [NewDashboardGuard],
|
|
66
|
-
canDeactivate: [(component) => component
|
|
66
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
67
67
|
context: ViewContext.Group,
|
|
68
68
|
rootContext: ViewContext.Dashboard
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-context-dashboard-asset-add.mjs","sources":["../../context-dashboard/asset/add/asset-dashboard-action-bar.factory.ts","../../context-dashboard/asset/add/add-asset-dashboard.factory.ts","../../context-dashboard/asset/add/add-asset-context-dashboard.module.ts","../../context-dashboard/asset/add/c8y-ngx-components-context-dashboard-asset-add.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ViewContext } from '@c8y/ngx-components';\nimport { DashboardActionBarFactory } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetDashboardActionBarFactory extends DashboardActionBarFactory {\n protected targetContext: ViewContext.Device | ViewContext.Group = ViewContext.Group;\n}\n","import { Injectable } from '@angular/core';\nimport { ViewContext } from '@c8y/ngx-components';\nimport { AddDashboardFactory } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddAssetDashboardFactory extends AddDashboardFactory {\n protected targetContext: ViewContext.Device | ViewContext.Group = ViewContext.Group;\n}\n","import { NgModule } from '@angular/core';\nimport {\n hookActionBar,\n HookProviderTypes,\n hookRoute,\n hookTab,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n ContextDashboardModule,\n ContextDashboardComponent,\n CanDeactivateComponent,\n NewDashboardGuard,\n newDashboardTab\n} from '@c8y/ngx-components/context-dashboard';\nimport { AssetDashboardActionBarFactory } from './asset-dashboard-action-bar.factory';\nimport { AddAssetDashboardFactory } from './add-asset-dashboard.factory';\n\n@NgModule({\n imports: [ContextDashboardModule],\n providers: [\n hookRoute([\n // new dashboard route should be defined last\n {\n path: newDashboardTab.path,\n component: ContextDashboardComponent,\n canActivate: [NewDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-context-dashboard-asset-add.mjs","sources":["../../context-dashboard/asset/add/asset-dashboard-action-bar.factory.ts","../../context-dashboard/asset/add/add-asset-dashboard.factory.ts","../../context-dashboard/asset/add/add-asset-context-dashboard.module.ts","../../context-dashboard/asset/add/c8y-ngx-components-context-dashboard-asset-add.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ViewContext } from '@c8y/ngx-components';\nimport { DashboardActionBarFactory } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetDashboardActionBarFactory extends DashboardActionBarFactory {\n protected targetContext: ViewContext.Device | ViewContext.Group = ViewContext.Group;\n}\n","import { Injectable } from '@angular/core';\nimport { ViewContext } from '@c8y/ngx-components';\nimport { AddDashboardFactory } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddAssetDashboardFactory extends AddDashboardFactory {\n protected targetContext: ViewContext.Device | ViewContext.Group = ViewContext.Group;\n}\n","import { NgModule } from '@angular/core';\nimport {\n hookActionBar,\n HookProviderTypes,\n hookRoute,\n hookTab,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n ContextDashboardModule,\n ContextDashboardComponent,\n CanDeactivateComponent,\n NewDashboardGuard,\n newDashboardTab\n} from '@c8y/ngx-components/context-dashboard';\nimport { AssetDashboardActionBarFactory } from './asset-dashboard-action-bar.factory';\nimport { AddAssetDashboardFactory } from './add-asset-dashboard.factory';\n\n@NgModule({\n imports: [ContextDashboardModule],\n providers: [\n hookRoute([\n // new dashboard route should be defined last\n {\n path: newDashboardTab.path,\n component: ContextDashboardComponent,\n canActivate: [NewDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component?.canDeactivate() ?? true],\n context: ViewContext.Group,\n rootContext: ViewContext.Dashboard\n }\n ]),\n hookTab(AddAssetDashboardFactory, { providerType: HookProviderTypes.ExistingProvider }),\n hookActionBar(AssetDashboardActionBarFactory)\n ]\n})\nexport class AddAssetContextDashboardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAOM,MAAO,8BAA+B,SAAQ,yBAAyB,CAAA;AAH7E,IAAA,WAAA,GAAA;;AAIY,QAAA,IAAA,CAAA,aAAa,GAA2C,WAAW,CAAC,KAAK;AACpF,IAAA;+GAFY,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF7B,MAAM,EAAA,CAAA,CAAA;;4FAEP,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACCK,MAAO,wBAAyB,SAAQ,mBAAmB,CAAA;AAHjE,IAAA,WAAA,GAAA;;AAIY,QAAA,IAAA,CAAA,aAAa,GAA2C,WAAW,CAAC,KAAK;AACpF,IAAA;+GAFY,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFvB,MAAM,EAAA,CAAA,CAAA;;4FAEP,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MC8BY,8BAA8B,CAAA;+GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,YAjB/B,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAiBrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,EAAA,SAAA,EAhB9B;AACT,YAAA,SAAS,CAAC;;AAER,gBAAA;oBACE,IAAI,EAAE,eAAe,CAAC,IAAI;AAC1B,oBAAA,SAAS,EAAE,yBAAyB;oBACpC,WAAW,EAAE,CAAC,iBAAiB,CAAC;AAChC,oBAAA,aAAa,EAAE,CAAC,CAAC,SAAiC,KAAK,SAAS,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;oBAC1F,OAAO,EAAE,WAAW,CAAC,KAAK;oBAC1B,WAAW,EAAE,WAAW,CAAC;AAC1B;aACF,CAAC;YACF,OAAO,CAAC,wBAAwB,EAAE,EAAE,YAAY,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YACvF,aAAa,CAAC,8BAA8B;AAC7C,SAAA,EAAA,OAAA,EAAA,CAfS,sBAAsB,CAAA,EAAA,CAAA,CAAA;;4FAiBrB,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAlB1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,SAAS,EAAE;AACT,wBAAA,SAAS,CAAC;;AAER,4BAAA;gCACE,IAAI,EAAE,eAAe,CAAC,IAAI;AAC1B,gCAAA,SAAS,EAAE,yBAAyB;gCACpC,WAAW,EAAE,CAAC,iBAAiB,CAAC;AAChC,gCAAA,aAAa,EAAE,CAAC,CAAC,SAAiC,KAAK,SAAS,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;gCAC1F,OAAO,EAAE,WAAW,CAAC,KAAK;gCAC1B,WAAW,EAAE,WAAW,CAAC;AAC1B;yBACF,CAAC;wBACF,OAAO,CAAC,wBAAwB,EAAE,EAAE,YAAY,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;wBACvF,aAAa,CAAC,8BAA8B;AAC7C;AACF,iBAAA;;;ACnCD;;AAEG;;;;"}
|
|
@@ -31,7 +31,7 @@ class ViewAssetContextDashboardModule {
|
|
|
31
31
|
path: 'dashboard/:dashboardId',
|
|
32
32
|
component: ContextDashboardComponent,
|
|
33
33
|
canActivate: [AssetDashboardGuard],
|
|
34
|
-
canDeactivate: [(component) => component
|
|
34
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
35
35
|
context: ViewContext.Group,
|
|
36
36
|
rootContext: ViewContext.Dashboard
|
|
37
37
|
}
|
|
@@ -48,7 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
48
48
|
path: 'dashboard/:dashboardId',
|
|
49
49
|
component: ContextDashboardComponent,
|
|
50
50
|
canActivate: [AssetDashboardGuard],
|
|
51
|
-
canDeactivate: [(component) => component
|
|
51
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
52
52
|
context: ViewContext.Group,
|
|
53
53
|
rootContext: ViewContext.Dashboard
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-context-dashboard-asset-view.mjs","sources":["../../context-dashboard/asset/view/asset-dashboard.guard.ts","../../context-dashboard/asset/view/view-asset-context-dashboard.module.ts","../../context-dashboard/asset/view/c8y-ngx-components-context-dashboard-asset-view.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Tab } from '@c8y/ngx-components';\nimport {\n ContextDashboardType,\n ContextDashboardService\n} from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({ providedIn: 'root' })\nexport class AssetDashboardGuard {\n constructor(private contextDashboardService: ContextDashboardService) {}\n\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean | Tab[]> {\n return this.contextDashboardService.activateDashboards(route, [\n ContextDashboardType.Group,\n ContextDashboardType.Type\n ]);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { hookRoute, ViewContext } from '@c8y/ngx-components';\nimport {\n ContextDashboardModule,\n ContextDashboardComponent,\n CanDeactivateComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { AssetDashboardGuard } from './asset-dashboard.guard';\n\n@NgModule({\n imports: [ContextDashboardModule],\n providers: [\n hookRoute([\n {\n path: 'dashboard/:dashboardId',\n component: ContextDashboardComponent,\n canActivate: [AssetDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-context-dashboard-asset-view.mjs","sources":["../../context-dashboard/asset/view/asset-dashboard.guard.ts","../../context-dashboard/asset/view/view-asset-context-dashboard.module.ts","../../context-dashboard/asset/view/c8y-ngx-components-context-dashboard-asset-view.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Tab } from '@c8y/ngx-components';\nimport {\n ContextDashboardType,\n ContextDashboardService\n} from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({ providedIn: 'root' })\nexport class AssetDashboardGuard {\n constructor(private contextDashboardService: ContextDashboardService) {}\n\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean | Tab[]> {\n return this.contextDashboardService.activateDashboards(route, [\n ContextDashboardType.Group,\n ContextDashboardType.Type\n ]);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { hookRoute, ViewContext } from '@c8y/ngx-components';\nimport {\n ContextDashboardModule,\n ContextDashboardComponent,\n CanDeactivateComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { AssetDashboardGuard } from './asset-dashboard.guard';\n\n@NgModule({\n imports: [ContextDashboardModule],\n providers: [\n hookRoute([\n {\n path: 'dashboard/:dashboardId',\n component: ContextDashboardComponent,\n canActivate: [AssetDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component?.canDeactivate() ?? true],\n context: ViewContext.Group,\n rootContext: ViewContext.Dashboard\n }\n ])\n ]\n})\nexport class ViewAssetContextDashboardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAUa,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAAoB,uBAAgD,EAAA;QAAhD,IAAA,CAAA,uBAAuB,GAAvB,uBAAuB;IAA4B;AAEvE,IAAA,WAAW,CAAC,KAA6B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,KAAK,EAAE;AAC5D,YAAA,oBAAoB,CAAC,KAAK;AAC1B,YAAA,oBAAoB,CAAC;AACtB,SAAA,CAAC;IACJ;+GARW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cADN,MAAM,EAAA,CAAA,CAAA;;4FACnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCerB,+BAA+B,CAAA;+GAA/B,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,YAdhC,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAcrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,SAAA,EAb/B;AACT,YAAA,SAAS,CAAC;AACR,gBAAA;AACE,oBAAA,IAAI,EAAE,wBAAwB;AAC9B,oBAAA,SAAS,EAAE,yBAAyB;oBACpC,WAAW,EAAE,CAAC,mBAAmB,CAAC;AAClC,oBAAA,aAAa,EAAE,CAAC,CAAC,SAAiC,KAAK,SAAS,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;oBAC1F,OAAO,EAAE,WAAW,CAAC,KAAK;oBAC1B,WAAW,EAAE,WAAW,CAAC;AAC1B;aACF;AACF,SAAA,EAAA,OAAA,EAAA,CAZS,sBAAsB,CAAA,EAAA,CAAA,CAAA;;4FAcrB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAf3C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,SAAS,EAAE;AACT,wBAAA,SAAS,CAAC;AACR,4BAAA;AACE,gCAAA,IAAI,EAAE,wBAAwB;AAC9B,gCAAA,SAAS,EAAE,yBAAyB;gCACpC,WAAW,EAAE,CAAC,mBAAmB,CAAC;AAClC,gCAAA,aAAa,EAAE,CAAC,CAAC,SAAiC,KAAK,SAAS,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;gCAC1F,OAAO,EAAE,WAAW,CAAC,KAAK;gCAC1B,WAAW,EAAE,WAAW,CAAC;AAC1B;yBACF;AACF;AACF,iBAAA;;;ACvBD;;AAEG;;;;"}
|
|
@@ -93,7 +93,7 @@ class CockpitDashboardComponent {
|
|
|
93
93
|
this.applyDashboardConfig(config);
|
|
94
94
|
}
|
|
95
95
|
canDeactivate() {
|
|
96
|
-
return this.contextDashboard
|
|
96
|
+
return this.contextDashboard?.canDeactivate() ?? Promise.resolve(true);
|
|
97
97
|
}
|
|
98
98
|
applyDashboardConfig(config) {
|
|
99
99
|
if (!config) {
|
|
@@ -142,7 +142,7 @@ class CockpitHomeDashboardModule {
|
|
|
142
142
|
hookRoute({
|
|
143
143
|
path: 'home',
|
|
144
144
|
component: CockpitDashboardComponent,
|
|
145
|
-
canDeactivate: [(component) => component
|
|
145
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
146
146
|
rootContext: ViewContext.Dashboard
|
|
147
147
|
})
|
|
148
148
|
] }); }
|
|
@@ -161,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
161
161
|
hookRoute({
|
|
162
162
|
path: 'home',
|
|
163
163
|
component: CockpitDashboardComponent,
|
|
164
|
-
canDeactivate: [(component) => component
|
|
164
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
165
165
|
rootContext: ViewContext.Dashboard
|
|
166
166
|
})
|
|
167
167
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs","sources":["../../context-dashboard/cockpit-home-dashboard/cockpit-dashboard.model.ts","../../context-dashboard/cockpit-home-dashboard/cockpit-dashboard.component.ts","../../context-dashboard/cockpit-home-dashboard/cockpit-dashboard.component.html","../../context-dashboard/cockpit-home-dashboard/cockpit-dashboard.module.ts","../../context-dashboard/cockpit-home-dashboard/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { Widget } from '@c8y/ngx-components';\n\n/**\n * A hook to define the default widgets of the home dashboard in the cockpit app.\n */\nexport const COCKPIT_HOME_DASHBOARD_CONFIG = new InjectionToken('CockpitHomeDashboardConfig');\n\nexport interface CockpitDashboardConfig {\n /**\n * Allows to have customized dashboard context name in case the CockpitDashboardModule is used in different apps and should have individual home dashboards per app\n */\n dashboardName?: string;\n /**\n * Allows to define the default widgets shown on the Cockpit Homepage\n */\n defaultWidgets?: Widget[];\n /**\n * Allows to have a different page title than the default 'Home'\n */\n pageTitle?: string;\n /**\n * Allows to have individual home dashboards per user\n */\n userSpecific?: boolean;\n}\n\n/**\n * An array of widgets that is per default placed on the home dashboard of the cockpit app.\n */\nexport const DEFAULT_COCKPIT_HOME_WIDGETS = [\n {\n name: 'cockpit.welcome.widget',\n title: gettext('Welcome to Cockpit'),\n _x: 0,\n _y: 0,\n _height: 5,\n _width: 24,\n classes: { 'panel-title-hidden': true }\n },\n {\n name: 'Asset Alarms',\n title: gettext('Active, critical alarms'),\n config: {\n widgetId: 'Asset Alarms',\n displayMode: 'config',\n aggregation: null,\n isAutoRefreshEnabled: true,\n refreshInterval: 30_000,\n refreshOption: 'live',\n dateTimeContext: {\n dateFrom: new Date(0).toISOString(),\n dateTo: new Date().toISOString(),\n interval: 'custom'\n }\n },\n _x: 0,\n _y: 5,\n _height: 4,\n _width: 12\n },\n {\n name: 'Recent Alarms',\n title: gettext('Recent alarms'),\n config: {\n widgetId: 'Recent Alarms',\n displayMode: 'config',\n aggregation: null,\n isAutoRefreshEnabled: true,\n refreshInterval: 30_000,\n refreshOption: 'live',\n dateTimeContext: {\n dateFrom: new Date(0).toISOString(),\n dateTo: new Date().toISOString(),\n interval: 'custom'\n }\n },\n _x: 0,\n _y: 9,\n _height: 4,\n _width: 12\n },\n {\n name: 'Map',\n title: gettext('Map'),\n config: {\n displayMode: 'dashboard'\n },\n _x: 12,\n _y: 5,\n _height: 8,\n _width: 12\n }\n] as Partial<Widget>[] as Widget[];\n","import { Component, Inject, Optional, ViewChild } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { AppStateService, CoreModule } from '@c8y/ngx-components';\nimport {\n CockpitDashboardConfig,\n COCKPIT_HOME_DASHBOARD_CONFIG,\n DEFAULT_COCKPIT_HOME_WIDGETS\n} from './cockpit-dashboard.model';\nimport {\n CanDeactivateComponent,\n ContextDashboardComponent,\n ContextDashboardModule\n} from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-cockpit-dashboard',\n templateUrl: './cockpit-dashboard.component.html',\n standalone: true,\n imports: [CoreModule, ContextDashboardModule]\n})\nexport class CockpitDashboardComponent implements CanDeactivateComponent {\n defaultWidgets = DEFAULT_COCKPIT_HOME_WIDGETS;\n dashboardName = 'home-cockpit1';\n pageTitle: string = gettext('Home');\n @ViewChild(ContextDashboardComponent, { static: true })\n contextDashboard: ContextDashboardComponent;\n\n constructor(\n private appState: AppStateService,\n @Optional()\n @Inject(COCKPIT_HOME_DASHBOARD_CONFIG)\n private homeDashboardConfig: CockpitDashboardConfig\n ) {\n const config = {\n ...this.homeDashboardConfig,\n dashboardName: appState.currentApplication.value?.config?.homeDashboardName,\n userSpecific: appState.currentApplication.value?.config?.userSpecificHomeDashboard\n };\n this.applyDashboardConfig(config);\n }\n\n canDeactivate(): Promise<boolean> {\n return this.contextDashboard.canDeactivate();\n }\n\n private applyDashboardConfig(config: CockpitDashboardConfig) {\n if (!config) {\n return;\n }\n\n if (config.dashboardName) {\n this.dashboardName = config.dashboardName;\n }\n\n if (config.defaultWidgets) {\n this.defaultWidgets = config.defaultWidgets;\n }\n\n if (config.userSpecific && this.appState.currentUser.value) {\n this.dashboardName = `${this.appState.currentUser.value.userName.replace(/\\./g, '__')}_${\n this.dashboardName\n }`;\n }\n\n if (config.pageTitle) {\n this.pageTitle = config.pageTitle;\n }\n }\n}\n","<c8y-title>\n {{ pageTitle | translate }}\n</c8y-title>\n\n<c8y-context-dashboard\n [name]=\"dashboardName\"\n [defaultWidgets]=\"defaultWidgets\"\n [canDelete]=\"false\"\n [hideAvailability]=\"true\"\n></c8y-context-dashboard>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { hookNavigator, hookRoute, ViewContext } from '@c8y/ngx-components';\nimport { CockpitDashboardComponent } from './cockpit-dashboard.component';\nimport { CockpitDashboardConfig, COCKPIT_HOME_DASHBOARD_CONFIG } from './cockpit-dashboard.model';\nimport { CanDeactivateComponent } from '@c8y/ngx-components/context-dashboard';\n\n@NgModule({\n providers: [\n hookNavigator({\n label: gettext('Home'),\n icon: 'home',\n priority: 10000,\n path: '/home',\n routerLinkExact: false\n }),\n hookRoute({\n path: 'home',\n component: CockpitDashboardComponent,\n canDeactivate: [(component: CanDeactivateComponent) => component.canDeactivate()],\n rootContext: ViewContext.Dashboard\n })\n ]\n})\nexport class CockpitHomeDashboardModule {}\n\n@NgModule({\n imports: [CockpitHomeDashboardModule]\n})\nexport class CockpitDashboardModule {\n static config(config: CockpitDashboardConfig = {}): ModuleWithProviders<CockpitDashboardModule> {\n return {\n ngModule: CockpitDashboardModule,\n providers: [\n {\n provide: COCKPIT_HOME_DASHBOARD_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs","sources":["../../context-dashboard/cockpit-home-dashboard/cockpit-dashboard.model.ts","../../context-dashboard/cockpit-home-dashboard/cockpit-dashboard.component.ts","../../context-dashboard/cockpit-home-dashboard/cockpit-dashboard.component.html","../../context-dashboard/cockpit-home-dashboard/cockpit-dashboard.module.ts","../../context-dashboard/cockpit-home-dashboard/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { Widget } from '@c8y/ngx-components';\n\n/**\n * A hook to define the default widgets of the home dashboard in the cockpit app.\n */\nexport const COCKPIT_HOME_DASHBOARD_CONFIG = new InjectionToken('CockpitHomeDashboardConfig');\n\nexport interface CockpitDashboardConfig {\n /**\n * Allows to have customized dashboard context name in case the CockpitDashboardModule is used in different apps and should have individual home dashboards per app\n */\n dashboardName?: string;\n /**\n * Allows to define the default widgets shown on the Cockpit Homepage\n */\n defaultWidgets?: Widget[];\n /**\n * Allows to have a different page title than the default 'Home'\n */\n pageTitle?: string;\n /**\n * Allows to have individual home dashboards per user\n */\n userSpecific?: boolean;\n}\n\n/**\n * An array of widgets that is per default placed on the home dashboard of the cockpit app.\n */\nexport const DEFAULT_COCKPIT_HOME_WIDGETS = [\n {\n name: 'cockpit.welcome.widget',\n title: gettext('Welcome to Cockpit'),\n _x: 0,\n _y: 0,\n _height: 5,\n _width: 24,\n classes: { 'panel-title-hidden': true }\n },\n {\n name: 'Asset Alarms',\n title: gettext('Active, critical alarms'),\n config: {\n widgetId: 'Asset Alarms',\n displayMode: 'config',\n aggregation: null,\n isAutoRefreshEnabled: true,\n refreshInterval: 30_000,\n refreshOption: 'live',\n dateTimeContext: {\n dateFrom: new Date(0).toISOString(),\n dateTo: new Date().toISOString(),\n interval: 'custom'\n }\n },\n _x: 0,\n _y: 5,\n _height: 4,\n _width: 12\n },\n {\n name: 'Recent Alarms',\n title: gettext('Recent alarms'),\n config: {\n widgetId: 'Recent Alarms',\n displayMode: 'config',\n aggregation: null,\n isAutoRefreshEnabled: true,\n refreshInterval: 30_000,\n refreshOption: 'live',\n dateTimeContext: {\n dateFrom: new Date(0).toISOString(),\n dateTo: new Date().toISOString(),\n interval: 'custom'\n }\n },\n _x: 0,\n _y: 9,\n _height: 4,\n _width: 12\n },\n {\n name: 'Map',\n title: gettext('Map'),\n config: {\n displayMode: 'dashboard'\n },\n _x: 12,\n _y: 5,\n _height: 8,\n _width: 12\n }\n] as Partial<Widget>[] as Widget[];\n","import { Component, Inject, Optional, ViewChild } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { AppStateService, CoreModule } from '@c8y/ngx-components';\nimport {\n CockpitDashboardConfig,\n COCKPIT_HOME_DASHBOARD_CONFIG,\n DEFAULT_COCKPIT_HOME_WIDGETS\n} from './cockpit-dashboard.model';\nimport {\n CanDeactivateComponent,\n ContextDashboardComponent,\n ContextDashboardModule\n} from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-cockpit-dashboard',\n templateUrl: './cockpit-dashboard.component.html',\n standalone: true,\n imports: [CoreModule, ContextDashboardModule]\n})\nexport class CockpitDashboardComponent implements CanDeactivateComponent {\n defaultWidgets = DEFAULT_COCKPIT_HOME_WIDGETS;\n dashboardName = 'home-cockpit1';\n pageTitle: string = gettext('Home');\n @ViewChild(ContextDashboardComponent, { static: true })\n contextDashboard: ContextDashboardComponent;\n\n constructor(\n private appState: AppStateService,\n @Optional()\n @Inject(COCKPIT_HOME_DASHBOARD_CONFIG)\n private homeDashboardConfig: CockpitDashboardConfig\n ) {\n const config = {\n ...this.homeDashboardConfig,\n dashboardName: appState.currentApplication.value?.config?.homeDashboardName,\n userSpecific: appState.currentApplication.value?.config?.userSpecificHomeDashboard\n };\n this.applyDashboardConfig(config);\n }\n\n canDeactivate(): Promise<boolean> {\n return this.contextDashboard?.canDeactivate() ?? Promise.resolve(true);\n }\n\n private applyDashboardConfig(config: CockpitDashboardConfig) {\n if (!config) {\n return;\n }\n\n if (config.dashboardName) {\n this.dashboardName = config.dashboardName;\n }\n\n if (config.defaultWidgets) {\n this.defaultWidgets = config.defaultWidgets;\n }\n\n if (config.userSpecific && this.appState.currentUser.value) {\n this.dashboardName = `${this.appState.currentUser.value.userName.replace(/\\./g, '__')}_${\n this.dashboardName\n }`;\n }\n\n if (config.pageTitle) {\n this.pageTitle = config.pageTitle;\n }\n }\n}\n","<c8y-title>\n {{ pageTitle | translate }}\n</c8y-title>\n\n<c8y-context-dashboard\n [name]=\"dashboardName\"\n [defaultWidgets]=\"defaultWidgets\"\n [canDelete]=\"false\"\n [hideAvailability]=\"true\"\n></c8y-context-dashboard>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { hookNavigator, hookRoute, ViewContext } from '@c8y/ngx-components';\nimport { CockpitDashboardComponent } from './cockpit-dashboard.component';\nimport { CockpitDashboardConfig, COCKPIT_HOME_DASHBOARD_CONFIG } from './cockpit-dashboard.model';\nimport { CanDeactivateComponent } from '@c8y/ngx-components/context-dashboard';\n\n@NgModule({\n providers: [\n hookNavigator({\n label: gettext('Home'),\n icon: 'home',\n priority: 10000,\n path: '/home',\n routerLinkExact: false\n }),\n hookRoute({\n path: 'home',\n component: CockpitDashboardComponent,\n canDeactivate: [(component: CanDeactivateComponent) => component?.canDeactivate() ?? true],\n rootContext: ViewContext.Dashboard\n })\n ]\n})\nexport class CockpitHomeDashboardModule {}\n\n@NgModule({\n imports: [CockpitHomeDashboardModule]\n})\nexport class CockpitDashboardModule {\n static config(config: CockpitDashboardConfig = {}): ModuleWithProviders<CockpitDashboardModule> {\n return {\n ngModule: CockpitDashboardModule,\n providers: [\n {\n provide: COCKPIT_HOME_DASHBOARD_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAIA;;AAEG;MACU,6BAA6B,GAAG,IAAI,cAAc,CAAC,4BAA4B;AAqB5F;;AAEG;AACI,MAAM,4BAA4B,GAAG;AAC1C,IAAA;AACE,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC;AACpC,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,OAAO,EAAE,EAAE,oBAAoB,EAAE,IAAI;AACtC,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC;AACzC,QAAA,MAAM,EAAE;AACN,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,eAAe,EAAE,MAAM;AACvB,YAAA,aAAa,EAAE,MAAM;AACrB,YAAA,eAAe,EAAE;gBACf,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACnC,gBAAA,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AAChC,gBAAA,QAAQ,EAAE;AACX;AACF,SAAA;AACD,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;AAC/B,QAAA,MAAM,EAAE;AACN,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,eAAe,EAAE,MAAM;AACvB,YAAA,aAAa,EAAE,MAAM;AACrB,YAAA,eAAe,EAAE;gBACf,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACnC,gBAAA,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AAChC,gBAAA,QAAQ,EAAE;AACX;AACF,SAAA;AACD,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;AACrB,QAAA,MAAM,EAAE;AACN,YAAA,WAAW,EAAE;AACd,SAAA;AACD,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,MAAM,EAAE;AACT;;;MCzEU,yBAAyB,CAAA;IAOpC,WAAA,CACU,QAAyB,EAGzB,mBAA2C,EAAA;QAH3C,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAGR,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;QAV7B,IAAA,CAAA,cAAc,GAAG,4BAA4B;QAC7C,IAAA,CAAA,aAAa,GAAG,eAAe;AAC/B,QAAA,IAAA,CAAA,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC;AAUjC,QAAA,MAAM,MAAM,GAAG;YACb,GAAG,IAAI,CAAC,mBAAmB;YAC3B,aAAa,EAAE,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB;YAC3E,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE;SAC1D;AACD,QAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;IACnC;IAEA,aAAa,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IACxE;AAEQ,IAAA,oBAAoB,CAAC,MAA8B,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACX;QACF;AAEA,QAAA,IAAI,MAAM,CAAC,aAAa,EAAE;AACxB,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa;QAC3C;AAEA,QAAA,IAAI,MAAM,CAAC,cAAc,EAAE;AACzB,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc;QAC7C;AAEA,QAAA,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,aAAa,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA,CAAA,EACnF,IAAI,CAAC,aACP,CAAA,CAAE;QACJ;AAEA,QAAA,IAAI,MAAM,CAAC,SAAS,EAAE;AACpB,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;QACnC;IACF;AA/CW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,iDAU1B,6BAA6B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAV5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,mIAIzB,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBtC,4OAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDQY,UAAU,kIAAE,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEjC,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,cAErB,IAAI,EAAA,OAAA,EACP,CAAC,UAAU,EAAE,sBAAsB,CAAC,EAAA,QAAA,EAAA,4OAAA,EAAA;;0BAW1C;;0BACA,MAAM;2BAAC,6BAA6B;;sBANtC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MEA3C,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA1B,0BAA0B,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,SAAA,EAhB1B;AACT,YAAA,aAAa,CAAC;AACZ,gBAAA,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;AACtB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,eAAe,EAAE;aAClB,CAAC;AACF,YAAA,SAAS,CAAC;AACR,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,SAAS,EAAE,yBAAyB;AACpC,gBAAA,aAAa,EAAE,CAAC,CAAC,SAAiC,KAAK,SAAS,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;gBAC1F,WAAW,EAAE,WAAW,CAAC;aAC1B;AACF,SAAA,EAAA,CAAA,CAAA;;4FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAjBtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;AACT,wBAAA,aAAa,CAAC;AACZ,4BAAA,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;AACtB,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,eAAe,EAAE;yBAClB,CAAC;AACF,wBAAA,SAAS,CAAC;AACR,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,SAAS,EAAE,yBAAyB;AACpC,4BAAA,aAAa,EAAE,CAAC,CAAC,SAAiC,KAAK,SAAS,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;4BAC1F,WAAW,EAAE,WAAW,CAAC;yBAC1B;AACF;AACF,iBAAA;;MAMY,sBAAsB,CAAA;AACjC,IAAA,OAAO,MAAM,CAAC,MAAA,GAAiC,EAAE,EAAA;QAC/C,OAAO;AACL,YAAA,QAAQ,EAAE,sBAAsB;AAChC,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,6BAA6B;AACtC,oBAAA,QAAQ,EAAE;AACX;AACF;SACF;IACH;+GAXW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YALtB,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAK1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAFvB,0BAA0B,CAAA,EAAA,CAAA,CAAA;;4FAEzB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,0BAA0B;AACrC,iBAAA;;;AC5BD;;AAEG;;;;"}
|
|
@@ -43,7 +43,7 @@ class AddDeviceContextDashboardModule {
|
|
|
43
43
|
path: newDashboardTab.path,
|
|
44
44
|
component: ContextDashboardComponent,
|
|
45
45
|
canActivate: [NewDashboardGuard],
|
|
46
|
-
canDeactivate: [(component) => component
|
|
46
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
47
47
|
context: ViewContext.Device,
|
|
48
48
|
rootContext: ViewContext.Dashboard
|
|
49
49
|
}
|
|
@@ -63,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
63
63
|
path: newDashboardTab.path,
|
|
64
64
|
component: ContextDashboardComponent,
|
|
65
65
|
canActivate: [NewDashboardGuard],
|
|
66
|
-
canDeactivate: [(component) => component
|
|
66
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
67
67
|
context: ViewContext.Device,
|
|
68
68
|
rootContext: ViewContext.Dashboard
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-context-dashboard-device-add.mjs","sources":["../../context-dashboard/device/add/device-dashboard-action-bar.factory.ts","../../context-dashboard/device/add/add-device-dashboard.factory.ts","../../context-dashboard/device/add/add-device-context-dashboard.module.ts","../../context-dashboard/device/add/c8y-ngx-components-context-dashboard-device-add.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ViewContext } from '@c8y/ngx-components';\nimport { DashboardActionBarFactory } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DeviceDashboardActionBarFactory extends DashboardActionBarFactory {\n protected targetContext: ViewContext.Device | ViewContext.Group = ViewContext.Device;\n}\n","import { Injectable } from '@angular/core';\nimport { ViewContext } from '@c8y/ngx-components';\nimport { AddDashboardFactory } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDeviceDashboardFactory extends AddDashboardFactory {\n protected targetContext: ViewContext.Device | ViewContext.Group = ViewContext.Device;\n}\n","import { NgModule } from '@angular/core';\nimport {\n hookActionBar,\n HookProviderTypes,\n hookRoute,\n hookTab,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n CanDeactivateComponent,\n ContextDashboardComponent,\n ContextDashboardModule,\n NewDashboardGuard,\n newDashboardTab\n} from '@c8y/ngx-components/context-dashboard';\nimport { DeviceDashboardActionBarFactory } from './device-dashboard-action-bar.factory';\nimport { AddDeviceDashboardFactory } from './add-device-dashboard.factory';\n\n@NgModule({\n imports: [ContextDashboardModule],\n providers: [\n hookRoute([\n // new dashboard route should be defined last\n {\n path: newDashboardTab.path,\n component: ContextDashboardComponent,\n canActivate: [NewDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-context-dashboard-device-add.mjs","sources":["../../context-dashboard/device/add/device-dashboard-action-bar.factory.ts","../../context-dashboard/device/add/add-device-dashboard.factory.ts","../../context-dashboard/device/add/add-device-context-dashboard.module.ts","../../context-dashboard/device/add/c8y-ngx-components-context-dashboard-device-add.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ViewContext } from '@c8y/ngx-components';\nimport { DashboardActionBarFactory } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DeviceDashboardActionBarFactory extends DashboardActionBarFactory {\n protected targetContext: ViewContext.Device | ViewContext.Group = ViewContext.Device;\n}\n","import { Injectable } from '@angular/core';\nimport { ViewContext } from '@c8y/ngx-components';\nimport { AddDashboardFactory } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDeviceDashboardFactory extends AddDashboardFactory {\n protected targetContext: ViewContext.Device | ViewContext.Group = ViewContext.Device;\n}\n","import { NgModule } from '@angular/core';\nimport {\n hookActionBar,\n HookProviderTypes,\n hookRoute,\n hookTab,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n CanDeactivateComponent,\n ContextDashboardComponent,\n ContextDashboardModule,\n NewDashboardGuard,\n newDashboardTab\n} from '@c8y/ngx-components/context-dashboard';\nimport { DeviceDashboardActionBarFactory } from './device-dashboard-action-bar.factory';\nimport { AddDeviceDashboardFactory } from './add-device-dashboard.factory';\n\n@NgModule({\n imports: [ContextDashboardModule],\n providers: [\n hookRoute([\n // new dashboard route should be defined last\n {\n path: newDashboardTab.path,\n component: ContextDashboardComponent,\n canActivate: [NewDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component?.canDeactivate() ?? true],\n context: ViewContext.Device,\n rootContext: ViewContext.Dashboard\n }\n ]),\n hookTab(AddDeviceDashboardFactory, { providerType: HookProviderTypes.ExistingProvider }),\n hookActionBar(DeviceDashboardActionBarFactory)\n ]\n})\nexport class AddDeviceContextDashboardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ class ViewDeviceContextDashboardModule {
|
|
|
49
49
|
path: 'dashboard/:dashboardId',
|
|
50
50
|
component: ContextDashboardComponent,
|
|
51
51
|
canActivate: [DeviceDashboardGuard],
|
|
52
|
-
canDeactivate: [(component) => component
|
|
52
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
53
53
|
context: ViewContext.Device,
|
|
54
54
|
rootContext: ViewContext.Dashboard
|
|
55
55
|
}
|
|
@@ -66,7 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
66
66
|
path: 'dashboard/:dashboardId',
|
|
67
67
|
component: ContextDashboardComponent,
|
|
68
68
|
canActivate: [DeviceDashboardGuard],
|
|
69
|
-
canDeactivate: [(component) => component
|
|
69
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
70
70
|
context: ViewContext.Device,
|
|
71
71
|
rootContext: ViewContext.Dashboard
|
|
72
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-context-dashboard-device-view.mjs","sources":["../../context-dashboard/device/view/device-dashboard.guard.ts","../../context-dashboard/device/view/device-dashboard-guard.factory.ts","../../context-dashboard/device/view/view-device-context-dashboard.module.ts","../../context-dashboard/device/view/c8y-ngx-components-context-dashboard-device-view.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Tab } from '@c8y/ngx-components';\nimport {\n ContextDashboardType,\n ContextDashboardService\n} from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({ providedIn: 'root' })\nexport class DeviceDashboardGuard {\n constructor(private contextDashboardService: ContextDashboardService) {}\n\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean | Tab[]> {\n return this.contextDashboardService.activateDashboards(route, [\n ContextDashboardType.Device,\n ContextDashboardType.Type\n ]);\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Tab } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextDashboardType\n} from '@c8y/ngx-components/context-dashboard';\nimport { Observable } from 'rxjs';\n\nexport interface DeviceDashboardGuardOptions {\n /**\n * When `true`, only dashboards that explicitly list the current app key in\n * `c8y_AppliedToApplications` are shown. Legacy dashboards that have no\n * `c8y_AppliedToApplications` fragment are excluded.\n * Defaults to `false` (legacy dashboards are included).\n */\n strictAppFilter?: boolean;\n}\n\n/**\n * Functional guard factory for device context dashboards.\n *\n * @example\n * // Standard usage – equivalent to DeviceDashboardGuard\n * canActivate: [deviceDashboardGuard()]\n *\n * @example\n * // App-strict mode – only dashboards bound to the app using the factory are shown\n * canActivate: [deviceDashboardGuard({ strictAppFilter: true })]\n */\nexport function deviceDashboardGuard(options?: DeviceDashboardGuardOptions) {\n return (route: ActivatedRouteSnapshot): Observable<boolean | Tab[]> => {\n const contextDashboardService = inject(ContextDashboardService);\n return contextDashboardService.activateDashboards(\n route,\n [ContextDashboardType.Device, ContextDashboardType.Type],\n options\n );\n };\n}\n","import { NgModule } from '@angular/core';\nimport { hookRoute, ViewContext } from '@c8y/ngx-components';\nimport {\n ContextDashboardModule,\n ContextDashboardComponent,\n CanDeactivateComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { DeviceDashboardGuard } from './device-dashboard.guard';\n\n@NgModule({\n imports: [ContextDashboardModule],\n providers: [\n hookRoute([\n {\n path: 'dashboard/:dashboardId',\n component: ContextDashboardComponent,\n canActivate: [DeviceDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-context-dashboard-device-view.mjs","sources":["../../context-dashboard/device/view/device-dashboard.guard.ts","../../context-dashboard/device/view/device-dashboard-guard.factory.ts","../../context-dashboard/device/view/view-device-context-dashboard.module.ts","../../context-dashboard/device/view/c8y-ngx-components-context-dashboard-device-view.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Tab } from '@c8y/ngx-components';\nimport {\n ContextDashboardType,\n ContextDashboardService\n} from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({ providedIn: 'root' })\nexport class DeviceDashboardGuard {\n constructor(private contextDashboardService: ContextDashboardService) {}\n\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean | Tab[]> {\n return this.contextDashboardService.activateDashboards(route, [\n ContextDashboardType.Device,\n ContextDashboardType.Type\n ]);\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Tab } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextDashboardType\n} from '@c8y/ngx-components/context-dashboard';\nimport { Observable } from 'rxjs';\n\nexport interface DeviceDashboardGuardOptions {\n /**\n * When `true`, only dashboards that explicitly list the current app key in\n * `c8y_AppliedToApplications` are shown. Legacy dashboards that have no\n * `c8y_AppliedToApplications` fragment are excluded.\n * Defaults to `false` (legacy dashboards are included).\n */\n strictAppFilter?: boolean;\n}\n\n/**\n * Functional guard factory for device context dashboards.\n *\n * @example\n * // Standard usage – equivalent to DeviceDashboardGuard\n * canActivate: [deviceDashboardGuard()]\n *\n * @example\n * // App-strict mode – only dashboards bound to the app using the factory are shown\n * canActivate: [deviceDashboardGuard({ strictAppFilter: true })]\n */\nexport function deviceDashboardGuard(options?: DeviceDashboardGuardOptions) {\n return (route: ActivatedRouteSnapshot): Observable<boolean | Tab[]> => {\n const contextDashboardService = inject(ContextDashboardService);\n return contextDashboardService.activateDashboards(\n route,\n [ContextDashboardType.Device, ContextDashboardType.Type],\n options\n );\n };\n}\n","import { NgModule } from '@angular/core';\nimport { hookRoute, ViewContext } from '@c8y/ngx-components';\nimport {\n ContextDashboardModule,\n ContextDashboardComponent,\n CanDeactivateComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { DeviceDashboardGuard } from './device-dashboard.guard';\n\n@NgModule({\n imports: [ContextDashboardModule],\n providers: [\n hookRoute([\n {\n path: 'dashboard/:dashboardId',\n component: ContextDashboardComponent,\n canActivate: [DeviceDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component?.canDeactivate() ?? true],\n context: ViewContext.Device,\n rootContext: ViewContext.Dashboard\n }\n ])\n ]\n})\nexport class ViewDeviceContextDashboardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ const addDeviceContextDashboardFeatureProvider = [
|
|
|
38
38
|
path: newDashboardTab.path,
|
|
39
39
|
component: ContextDashboardComponent,
|
|
40
40
|
canActivate: [canActivateDashboardManager, NewDashboardGuard],
|
|
41
|
-
canDeactivate: [(component) => component
|
|
41
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
42
42
|
context: ViewContext.Device,
|
|
43
43
|
rootContext: ViewContext.Dashboard
|
|
44
44
|
}
|
|
@@ -53,7 +53,7 @@ const viewDeviceContextDashboardFeatureProvider = [
|
|
|
53
53
|
path: 'dashboard/:dashboardId',
|
|
54
54
|
component: ContextDashboardComponent,
|
|
55
55
|
canActivate: [canActivateDashboardManager, deviceDashboardGuard({ strictAppFilter: true })],
|
|
56
|
-
canDeactivate: [(component) => component
|
|
56
|
+
canDeactivate: [(component) => component?.canDeactivate() ?? true],
|
|
57
57
|
context: ViewContext.Device,
|
|
58
58
|
rootContext: ViewContext.Dashboard
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-context-dashboard-devicemanagement.mjs","sources":["../../context-dashboard/devicemanagement/add-dm-device-dashboard.factory.ts","../../context-dashboard/devicemanagement/index.ts","../../context-dashboard/devicemanagement/c8y-ngx-components-context-dashboard-devicemanagement.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PreviewService, Tab } from '@c8y/ngx-components';\nimport { AddDeviceDashboardFactory } from '@c8y/ngx-components/context-dashboard/device/add';\nimport { firstValueFrom } from 'rxjs';\nimport { DM_DASHBOARD_MANAGER_PREVIEW_KEY } from './index';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDMDeviceDashboardFactory extends AddDeviceDashboardFactory {\n private readonly previewFeatureService = inject(PreviewService);\n\n async get(activatedRoute?: ActivatedRoute): Promise<Tab | Tab[]> {\n const previewEnabled = await firstValueFrom(\n this.previewFeatureService.getState$(DM_DASHBOARD_MANAGER_PREVIEW_KEY)\n );\n return previewEnabled ? super.get(activatedRoute) : [];\n }\n}\n","import { importProvidersFrom, inject } from '@angular/core';\nimport {\n hookActionBar,\n HookProviderTypes,\n hookRoute,\n hookTab,\n PreviewService,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n CanDeactivateComponent,\n ContextDashboardComponent,\n ContextDashboardModule,\n NewDashboardGuard,\n newDashboardTab\n} from '@c8y/ngx-components/context-dashboard';\nimport { DeviceDashboardActionBarFactory } from '@c8y/ngx-components/context-dashboard/device/add';\nimport { deviceDashboardGuard } from '@c8y/ngx-components/context-dashboard/device/view';\nimport { first, Observable } from 'rxjs';\nimport { AddDMDeviceDashboardFactory } from './add-dm-device-dashboard.factory';\n\nexport const DM_DASHBOARD_MANAGER_PREVIEW_KEY = 'ui.dm-dashboard-manager';\n\nexport function canActivateDashboardManager(): Observable<boolean> {\n const previewFeatureService = inject(PreviewService);\n return previewFeatureService.getState$(DM_DASHBOARD_MANAGER_PREVIEW_KEY).pipe(first());\n}\n\nexport const addDeviceContextDashboardFeatureProvider = [\n importProvidersFrom(ContextDashboardModule),\n hookRoute([\n // new dashboard route should be defined last\n {\n path: newDashboardTab.path,\n component: ContextDashboardComponent,\n canActivate: [canActivateDashboardManager, NewDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-context-dashboard-devicemanagement.mjs","sources":["../../context-dashboard/devicemanagement/add-dm-device-dashboard.factory.ts","../../context-dashboard/devicemanagement/index.ts","../../context-dashboard/devicemanagement/c8y-ngx-components-context-dashboard-devicemanagement.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PreviewService, Tab } from '@c8y/ngx-components';\nimport { AddDeviceDashboardFactory } from '@c8y/ngx-components/context-dashboard/device/add';\nimport { firstValueFrom } from 'rxjs';\nimport { DM_DASHBOARD_MANAGER_PREVIEW_KEY } from './index';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddDMDeviceDashboardFactory extends AddDeviceDashboardFactory {\n private readonly previewFeatureService = inject(PreviewService);\n\n async get(activatedRoute?: ActivatedRoute): Promise<Tab | Tab[]> {\n const previewEnabled = await firstValueFrom(\n this.previewFeatureService.getState$(DM_DASHBOARD_MANAGER_PREVIEW_KEY)\n );\n return previewEnabled ? super.get(activatedRoute) : [];\n }\n}\n","import { importProvidersFrom, inject } from '@angular/core';\nimport {\n hookActionBar,\n HookProviderTypes,\n hookRoute,\n hookTab,\n PreviewService,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n CanDeactivateComponent,\n ContextDashboardComponent,\n ContextDashboardModule,\n NewDashboardGuard,\n newDashboardTab\n} from '@c8y/ngx-components/context-dashboard';\nimport { DeviceDashboardActionBarFactory } from '@c8y/ngx-components/context-dashboard/device/add';\nimport { deviceDashboardGuard } from '@c8y/ngx-components/context-dashboard/device/view';\nimport { first, Observable } from 'rxjs';\nimport { AddDMDeviceDashboardFactory } from './add-dm-device-dashboard.factory';\n\nexport const DM_DASHBOARD_MANAGER_PREVIEW_KEY = 'ui.dm-dashboard-manager';\n\nexport function canActivateDashboardManager(): Observable<boolean> {\n const previewFeatureService = inject(PreviewService);\n return previewFeatureService.getState$(DM_DASHBOARD_MANAGER_PREVIEW_KEY).pipe(first());\n}\n\nexport const addDeviceContextDashboardFeatureProvider = [\n importProvidersFrom(ContextDashboardModule),\n hookRoute([\n // new dashboard route should be defined last\n {\n path: newDashboardTab.path,\n component: ContextDashboardComponent,\n canActivate: [canActivateDashboardManager, NewDashboardGuard],\n canDeactivate: [(component: CanDeactivateComponent) => component?.canDeactivate() ?? true],\n context: ViewContext.Device,\n rootContext: ViewContext.Dashboard\n }\n ]),\n hookTab(AddDMDeviceDashboardFactory, { providerType: HookProviderTypes.ExistingProvider }),\n hookActionBar(DeviceDashboardActionBarFactory)\n];\n\nexport const viewDeviceContextDashboardFeatureProvider = [\n importProvidersFrom(ContextDashboardModule),\n hookRoute([\n {\n path: 'dashboard/:dashboardId',\n component: ContextDashboardComponent,\n canActivate: [canActivateDashboardManager, deviceDashboardGuard({ strictAppFilter: true })],\n canDeactivate: [(component: CanDeactivateComponent) => component?.canDeactivate() ?? true],\n context: ViewContext.Device,\n rootContext: ViewContext.Dashboard\n }\n ])\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAUM,MAAO,2BAA4B,SAAQ,yBAAyB,CAAA;AAH1E,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,cAAc,CAAC;AAQhE,IAAA;IANC,MAAM,GAAG,CAAC,cAA+B,EAAA;AACvC,QAAA,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,gCAAgC,CAAC,CACvE;AACD,QAAA,OAAO,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE;IACxD;+GARW,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF1B,MAAM,EAAA,CAAA,CAAA;;4FAEP,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACYM,MAAM,gCAAgC,GAAG;SAEhC,2BAA2B,GAAA;AACzC,IAAA,MAAM,qBAAqB,GAAG,MAAM,CAAC,cAAc,CAAC;AACpD,IAAA,OAAO,qBAAqB,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACxF;AAEO,MAAM,wCAAwC,GAAG;IACtD,mBAAmB,CAAC,sBAAsB,CAAC;AAC3C,IAAA,SAAS,CAAC;;AAER,QAAA;YACE,IAAI,EAAE,eAAe,CAAC,IAAI;AAC1B,YAAA,SAAS,EAAE,yBAAyB;AACpC,YAAA,WAAW,EAAE,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;AAC7D,YAAA,aAAa,EAAE,CAAC,CAAC,SAAiC,KAAK,SAAS,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;YAC1F,OAAO,EAAE,WAAW,CAAC,MAAM;YAC3B,WAAW,EAAE,WAAW,CAAC;AAC1B;KACF,CAAC;IACF,OAAO,CAAC,2BAA2B,EAAE,EAAE,YAAY,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IAC1F,aAAa,CAAC,+BAA+B;;AAGxC,MAAM,yCAAyC,GAAG;IACvD,mBAAmB,CAAC,sBAAsB,CAAC;AAC3C,IAAA,SAAS,CAAC;AACR,QAAA;AACE,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,SAAS,EAAE,yBAAyB;AACpC,YAAA,WAAW,EAAE,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3F,YAAA,aAAa,EAAE,CAAC,CAAC,SAAiC,KAAK,SAAS,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;YAC1F,OAAO,EAAE,WAAW,CAAC,MAAM;YAC3B,WAAW,EAAE,WAAW,CAAC;AAC1B;KACF;;;ACxDH;;AAEG;;;;"}
|