@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
1 lines • 8.17 kB
Source Map (JSON)
{"version":3,"file":"c8y-ngx-components-dashboard-details-advanced-tab.mjs","sources":["../../dashboard-details-advanced-tab/advanced-tab.model.ts","../../dashboard-details-advanced-tab/advanced-tab.factory.ts","../../dashboard-details-advanced-tab/advanced-tab-route.guard.ts","../../dashboard-details-advanced-tab/dashboard-details-advanced-tab.module.ts","../../dashboard-details-advanced-tab/c8y-ngx-components-dashboard-details-advanced-tab.ts"],"sourcesContent":["import { IManagedObject } from '@c8y/client';\n\nexport const ADVANCED_TAB_FEATURE_KEY = 'ui.dashboard-details-advanced-tab';\n\nexport type WidgetAssetToAlign = {\n /**\n * Widget id in the dashboard children object.\n */\n widgetId: string;\n /**\n * Widget title.\n */\n title: string;\n /**\n * Device refrence object.\n */\n deviceRef: {\n /**\n * Dashboard may contain multiple widgets with assets declared in config.\n * Information about the asset can be nested multiple levels deep and number of levels vary between widgets.\n * Path is to help identify and locate the asset in the widget config in \"children\" object of the dashboard.\n * First element of path is dashboard child id.\n * e.g. for widget of id \"12345678\"\n * ```ts\n * \"12345678\": {\n * ...\n * \"config\": {\n * \"datapoints\": [\n * {\n * \"id\": \"0\",\n * \"__target\": {\n * \"id\": \"12345678\",\n * \"name\": \"Device name\"\n * }\n * }\n * ]\n * }\n * }\n *\n * ```\n * path to asset will be:\n * ```ts\n * ['12345678', 'config', 'datapoints', '0', '__target']\n * ```\n */\n path: string[];\n /**\n * Device reference object. Contains information about origin asset and asset suggested for import.\n */\n value: IManagedObject & { suggestedDevice?: IManagedObject };\n };\n};\n","import { inject, Injectable } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { ContextRouteService, PreviewService, TabFactory, ViewContext } from '@c8y/ngx-components';\nimport {\n DASHBOARD_DETAILS_OUTLET,\n DASHBOARD_DETAILS_TABS_OUTLET_NAME\n} from '@c8y/ngx-components/context-dashboard';\nimport { ActivatedRoute } from '@angular/router';\nimport { ADVANCED_TAB_FEATURE_KEY } from './advanced-tab.model';\nimport { map } from 'rxjs';\n\nexport const TAB_ID = 'advanced';\n\n@Injectable()\nexport class AdvancedTabFactory implements TabFactory {\n private activatedRoute = inject(ActivatedRoute);\n private contextRouteService = inject(ContextRouteService);\n private readonly betaPreviewService = inject(PreviewService);\n\n get() {\n return this.betaPreviewService.getState$(ADVANCED_TAB_FEATURE_KEY).pipe(\n map(state => {\n if (state) {\n const rootContext = this.contextRouteService.getRootContextOfChild(this.activatedRoute);\n if (rootContext === ViewContext.Dashboard) {\n return [\n {\n label: gettext('Import / Export`dashboard configuration`'),\n icon: 'input-output',\n priority: 5,\n path: [{ outlets: { [DASHBOARD_DETAILS_OUTLET]: TAB_ID } }],\n tabsOutlet: DASHBOARD_DETAILS_TABS_OUTLET_NAME\n }\n ];\n }\n }\n return [];\n })\n );\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { PreviewService } from '@c8y/ngx-components';\nimport { ADVANCED_TAB_FEATURE_KEY } from './advanced-tab.model';\n\n@Injectable({ providedIn: 'root' })\nexport class AdvancedTabRouteGuard {\n private readonly betaPreviewService = inject(PreviewService);\n\n canActivate(): Observable<boolean> {\n return this.betaPreviewService.getState$(ADVANCED_TAB_FEATURE_KEY);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { hookPreview, hookRoute, hookTab, ViewContext } from '@c8y/ngx-components';\nimport { AdvancedTabFactory, TAB_ID } from './advanced-tab.factory';\nimport { ADVANCED_TAB_FEATURE_KEY } from './advanced-tab.model';\nimport { DASHBOARD_DETAILS_OUTLET } from '@c8y/ngx-components/context-dashboard';\nimport { AdvancedTabRouteGuard } from './advanced-tab-route.guard';\n\n@NgModule({\n providers: [\n hookTab(AdvancedTabFactory),\n hookRoute([\n {\n path: TAB_ID,\n loadComponent: () =>\n import('./dashboard-details-advanced-tab.component').then(\n m => m.DashboardDetailsAdvancedTabComponent\n ),\n outlet: DASHBOARD_DETAILS_OUTLET,\n context: ViewContext.Dashboard,\n canActivate: [AdvancedTabRouteGuard]\n }\n ]),\n hookPreview({\n key: ADVANCED_TAB_FEATURE_KEY,\n label: 'Dashboard details - Import / Export tab',\n description: () =>\n import('@c8y/style/markdown-files/dashboard-details-import-export-tab.md').then(\n m => m.default\n ),\n settings: { reload: true }\n })\n ]\n})\nexport class DashboardDetailsAdvancedTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}