@c8y/ngx-components 1023.43.3 → 1023.48.0
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/ai/agent-chat/index.d.ts +6 -1
- package/ai/agent-chat/index.d.ts.map +1 -1
- package/ai/ai-chat/index.d.ts.map +1 -1
- package/ai/index.d.ts +39 -30
- package/ai/index.d.ts.map +1 -1
- package/datapoints-export-selector/index.d.ts +2 -1
- package/datapoints-export-selector/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +24 -9
- package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +5 -4
- package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ai.mjs +63 -33
- package/fesm2022/c8y-ngx-components-ai.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +6 -3
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +17 -11
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-global-context.mjs +29 -20
- package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-search.mjs +4 -1
- package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +1 -5
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +3 -33
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs +1203 -34
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +3 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +32 -4
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +14 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +10 -5
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +122 -80
- package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +66 -7
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/global-context/index.d.ts.map +1 -1
- package/index.d.ts +31 -3
- package/index.d.ts.map +1 -1
- package/locales/de.po +14 -20
- package/locales/es.po +13 -19
- package/locales/fr.po +18 -24
- package/locales/ja_JP.po +13 -19
- package/locales/ko.po +13 -19
- package/locales/locales.pot +88 -17
- package/locales/nl.po +13 -19
- package/locales/pl.po +13 -19
- package/locales/pt_BR.po +13 -19
- package/locales/zh_CN.po +13 -19
- package/locales/zh_TW.po +13 -19
- package/package.json +1 -1
- package/search/index.d.ts.map +1 -1
- package/trusted-certificates/index.d.ts +0 -2
- package/trusted-certificates/index.d.ts.map +1 -1
- package/upgrade/index.d.ts.map +1 -1
- package/widgets/definitions/markdown/index.d.ts +1 -1
- package/widgets/implementations/datapoints-graph/index.d.ts +3 -0
- package/widgets/implementations/datapoints-graph/index.d.ts.map +1 -1
- package/widgets/implementations/html-widget/index.d.ts +4 -1
- package/widgets/implementations/html-widget/index.d.ts.map +1 -1
- package/widgets/implementations/kpi/index.d.ts.map +1 -1
- package/widgets/implementations/markdown/index.d.ts +23 -13
- package/widgets/implementations/markdown/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade-not-found.component-CuCuYAkK.mjs +0 -19
- package/fesm2022/c8y-ngx-components-upgrade-not-found.component-CuCuYAkK.mjs.map +0 -1
|
@@ -18,7 +18,7 @@ class DatapointExplorerNavigationFactory {
|
|
|
18
18
|
return [
|
|
19
19
|
new NavigatorNode({
|
|
20
20
|
label: gettext('Data explorer'),
|
|
21
|
-
featureId: '
|
|
21
|
+
featureId: 'dataExplorer',
|
|
22
22
|
path: 'datapointexplorer-v2',
|
|
23
23
|
icon: 'c8y-data-explorer',
|
|
24
24
|
routerLinkExact: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-datapoint-explorer.mjs","sources":["../../datapoint-explorer/datapoint-explorer-navigation-factory.ts","../../datapoint-explorer/datapoint-explorer.module.ts","../../datapoint-explorer/view/datapoint-explorer.model.ts","../../datapoint-explorer/view/configuration/workspace-configuration.service.ts","../../datapoint-explorer/view/datapoint-explorer.service.ts","../../datapoint-explorer/c8y-ngx-components-datapoint-explorer.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { NavigatorNode, NavigatorNodeFactory, PreviewService } from '@c8y/ngx-components';\nimport { map, Observable } from 'rxjs';\n\n@Injectable()\nexport class DatapointExplorerNavigationFactory implements NavigatorNodeFactory {\n private readonly previewFeatureService = inject(PreviewService);\n\n get(): Observable<NavigatorNode[]> {\n return this.previewFeatureService.getState$('ui.datapoint-explorer.v2').pipe(\n map(state => {\n if (state) {\n return [\n new NavigatorNode({\n label: gettext('Data explorer'),\n featureId: 'dataPointExplorer',\n path: 'datapointexplorer-v2',\n icon: 'c8y-data-explorer',\n routerLinkExact: false,\n preventDuplicates: true\n })\n ];\n }\n return [];\n })\n );\n }\n}\n","import { inject, NgModule } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n hookNavigator,\n hookPreview,\n hookRoute,\n PreviewService,\n ViewContext\n} from '@c8y/ngx-components';\nimport { first, Observable } from 'rxjs';\nimport { DatapointExplorerNavigationFactory } from './datapoint-explorer-navigation-factory';\n\nexport function canActivateDatapointExplorer(): Observable<boolean> {\n const previewFeatureService = inject(PreviewService);\n return previewFeatureService.getState$('ui.datapoint-explorer.v2').pipe(first());\n}\n\n@NgModule({\n providers: [\n hookRoute([\n {\n path: 'datapointexplorer-v2',\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n canActivate: [canActivateDatapointExplorer]\n },\n {\n context: ViewContext.Group,\n path: 'data_explorer-v2',\n priority: 800,\n icon: 'c8y-data-explorer',\n label: gettext('Data Explorer'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n featureId: 'dataExplorer',\n canActivate: [canActivateDatapointExplorer]\n },\n {\n context: ViewContext.Device,\n path: 'data_explorer-v2',\n priority: 800,\n icon: 'c8y-data-explorer',\n label: gettext('Data Explorer'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n featureId: 'dataExplorer',\n canActivate: [canActivateDatapointExplorer]\n }\n ]),\n hookNavigator(DatapointExplorerNavigationFactory),\n hookPreview({\n key: 'ui.datapoint-explorer.v2',\n label: 'Data point explorer',\n description: () =>\n import('@c8y/style/markdown-files/datapoint-explorer-preview.md').then(m => m.default),\n settings: {\n reload: true\n }\n })\n ]\n})\nexport class DatapointExplorerModule {}\n","import { DatapointsGraphWidgetConfig } from '@c8y/ngx-components/echart';\nimport { TimeContext } from '@c8y/ngx-components/time-context';\n\nexport interface Settings {\n hideWorkspaceConfig?: boolean;\n hideExportSelector?: boolean;\n hideWidgetActions?: boolean;\n timeContext?: TimeContext;\n defaultConfigurationId?: string;\n}\n\nexport interface DataExplorerUrlConfig {\n datapoints?: BaseDatapointConfig[];\n alarmsEventsConfigs?: BaseAlarmEventConfig[];\n dateFrom?: Date | string | null;\n dateTo?: Date | string | null;\n\n // Allow any additional fields so it's forward-compatible\n [key: string]: any;\n}\n\nexport interface BaseDatapointConfig {\n fragment: string;\n series: string;\n __target?: {\n id?: string;\n [key: string]: any;\n };\n __template?: string;\n\n [key: string]: any;\n}\n\nexport interface BaseAlarmEventConfig {\n timelineType: string;\n label: string;\n\n filters: {\n type: string;\n [key: string]: any;\n };\n\n __target?: {\n id?: string;\n [key: string]: any;\n };\n [key: string]: any;\n}\n\nexport const DATA_EXPLORER_BASE_CONFIG: DatapointsGraphWidgetConfig = {\n datapoints: [],\n alarmsEventsConfigs: [],\n dateFrom: null,\n dateTo: null,\n interval: 'hours',\n aggregation: null,\n realtime: false,\n isAutoRefreshEnabled: false,\n refreshInterval: 0,\n displayMarkedLine: true,\n displayMarkedPoint: true,\n mergeMatchingDatapoints: false,\n forceMergeDatapoints: false,\n showLabelAndUnit: true,\n showSlider: true,\n displayDateSelection: false,\n yAxisSplitLines: false,\n xAxisSplitLines: false,\n numberOfDecimalPlaces: 2\n};\n\nexport const REVERSE_KEY_MAP = {\n d: 'datapoints',\n a: 'alarmsEventsConfigs',\n f: 'fragment',\n s: 'series',\n t: '__target',\n m: '__template',\n l: 'label',\n r: 'filters',\n y: 'timelineType',\n df: 'dateFrom',\n dt: 'dateTo',\n ac: '__active',\n c: 'color',\n i: 'id',\n tp: 'type'\n};\n\nexport const KEY_MAP = Object.fromEntries(\n Object.entries(REVERSE_KEY_MAP).map(([shortKey, longKey]) => [longKey, shortKey])\n);\n","import { inject, Injectable, signal, WritableSignal } from '@angular/core';\nimport { WorkspaceConfiguration } from './workspace-configuration.model';\nimport { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from 'lz-string';\nimport {\n DATA_EXPLORER_BASE_CONFIG,\n DataExplorerUrlConfig,\n KEY_MAP,\n REVERSE_KEY_MAP\n} from '../datapoint-explorer.model';\nimport { DatapointsGraphWidgetConfig } from '@c8y/ngx-components/echart';\nimport { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { IIdentified } from '@c8y/client';\nimport { AlertService } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WorkspaceConfigurationService {\n private readonly baseKey = 'c8y-configs';\n private readonly baseDefaultKey = 'c8y-default-config-id';\n contextIdSignal: WritableSignal<number | string | null> = signal(null);\n\n private readonly alertService = inject(AlertService);\n\n get LOCAL_STORAGE_KEY(): string {\n const id = this.contextIdSignal();\n return id !== null ? `${this.baseKey}-${id}` : this.baseKey;\n }\n\n get LOCAL_STORAGE_DEFAULT_ID_KEY(): string {\n const id = this.contextIdSignal();\n return id !== null ? `${this.baseDefaultKey}-${id}` : this.baseDefaultKey;\n }\n\n /**\n * Generates a full datapoint explorer link from a bare config\n */\n generateExplorerLink(\n config: Partial<DatapointsGraphWidgetConfig> | DataExplorerUrlConfig,\n label: string,\n id: string\n ): string {\n const diffed = this.removeDefaults(config);\n const minified = this.minifyKeys(diffed);\n const compressed = compressToEncodedURIComponent(JSON.stringify(minified));\n const url = `/datapointexplorer-v2?id=${id}&label=${encodeURIComponent(label)}&config=${compressed}`;\n\n return url;\n }\n\n /** Load workspace configs from localStorage */\n getConfigurations(): WorkspaceConfiguration[] {\n const configurations = localStorage.getItem(this.LOCAL_STORAGE_KEY);\n if (configurations) {\n const parsedConfigs: WorkspaceConfiguration[] = JSON.parse(configurations);\n return parsedConfigs.map(workspaceConfig => {\n if (typeof workspaceConfig.config === 'string') {\n return {\n ...workspaceConfig,\n config: this.decodeConfig(workspaceConfig.config)\n };\n }\n return workspaceConfig;\n });\n }\n return [];\n }\n\n getDefaultConfigurationId(): string | null {\n return localStorage.getItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY);\n }\n\n /** Save workspace configs in localStorage */\n saveConfigurations(configurations: WorkspaceConfiguration[], id: string): void {\n localStorage.setItem(this.LOCAL_STORAGE_KEY, JSON.stringify(configurations));\n localStorage.setItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY, id);\n }\n\n /**\n *\n * @param urlConfig - configuration from the URL, either compressed string or already decoded object\n * @returns\n */\n getConfigurationFromUrl(\n urlConfig: DatapointsGraphWidgetConfig | string\n ): DatapointsGraphWidgetConfig {\n if (typeof urlConfig === 'string') {\n const decodedConfig = this.decodeConfig(urlConfig);\n const expandedConfig = this.expandKeys(decodedConfig);\n return expandedConfig;\n }\n\n return this.expandKeys(urlConfig);\n }\n\n /**\n * Encode a config for the URL:\n * - Cleanup the __target objects to contain only name and id\n * - Remove default values (diff from base)\n * - Minify keys\n * - Compress with lz-string\n */\n encodeConfig(config: DatapointsGraphWidgetConfig): string {\n const normalized = this.cleanUpTargetObject(config);\n const diffed = this.removeDefaults(normalized);\n const minified = this.minifyKeys(diffed);\n return compressToEncodedURIComponent(JSON.stringify(minified));\n }\n\n /**\n * Decode a config from the URL:\n * - Decompress\n * - Expand keys\n * - Merge with base config\n */\n decodeConfig(urlConfig: string): Partial<DatapointsGraphWidgetConfig> {\n if (!urlConfig) return null;\n try {\n const decompressed = decompressFromEncodedURIComponent(urlConfig);\n if (!decompressed) return null;\n const parsed = JSON.parse(decompressed);\n const expanded = this.expandKeys(parsed) as Partial<DatapointsGraphWidgetConfig>;\n return { ...DATA_EXPLORER_BASE_CONFIG, ...expanded };\n } catch {\n this.alertService.danger(\n gettext('The decoded configuration is invalid and could not be loaded.')\n );\n }\n }\n\n /** Minify keys recursively using KEY_MAP */\n private minifyKeys(\n config: Partial<DatapointsGraphWidgetConfig>\n ): Record<keyof typeof KEY_MAP, unknown> | unknown {\n if (Array.isArray(config)) return config.map(object => this.minifyKeys(object));\n if (config !== Object(config)) return config;\n\n return Object.fromEntries(\n Object.entries(config as Record<string, unknown>).map(([originalKey, originalValue]) => [\n KEY_MAP[originalKey] || originalKey,\n this.minifyKeys(originalValue)\n ])\n );\n }\n\n /** Expand keys recursively using REVERSE_KEY_MAP */\n private expandKeys(\n config: Partial<DatapointsGraphWidgetConfig>\n ): Record<keyof typeof REVERSE_KEY_MAP, unknown> | unknown {\n if (Array.isArray(config)) return config.map(o => this.expandKeys(o));\n if (config !== Object(config)) return config;\n\n return Object.fromEntries(\n Object.entries(config as Record<string, unknown>).map(([originalKey, originalValue]) => [\n REVERSE_KEY_MAP[originalKey] || originalKey,\n this.expandKeys(originalValue)\n ])\n );\n }\n\n /**\n * Remove properties from `config` that match `base` so only changed values remain.\n */\n private removeDefaults(\n config: DatapointsGraphWidgetConfig | DataExplorerUrlConfig\n ): DatapointsGraphWidgetConfig {\n const result = {};\n\n for (const key in config) {\n if (!(key in DATA_EXPLORER_BASE_CONFIG) || DATA_EXPLORER_BASE_CONFIG[key] !== config[key]) {\n result[key] = config[key];\n }\n }\n\n return result;\n }\n\n /**\n * Cleans up __target objects to only keep id and name and remove the rest.\n */\n private cleanUpTargetObject(config: DatapointsGraphWidgetConfig): DatapointsGraphWidgetConfig {\n const configCopy: any = { ...config };\n\n // Cleanup the datapoints array\n if (Array.isArray(configCopy.datapoints)) {\n configCopy.datapoints = configCopy.datapoints.map((dp: KPIDetails) => {\n if (dp && typeof dp === 'object' && dp.__target && typeof dp.__target === 'object') {\n const { id, name } = dp.__target;\n const target: IIdentified = {};\n if (id !== undefined) target.id = id;\n if (name !== undefined) target.name = name;\n return { ...dp, __target: target };\n }\n return dp;\n });\n }\n\n // Cleanup the alarmEventsConfig array\n if (Array.isArray(configCopy.alarmsEventsConfigs)) {\n configCopy.alarmsEventsConfigs = configCopy.alarmsEventsConfigs.map((a: KPIDetails) => {\n if (a && typeof a === 'object' && a.__target && typeof a.__target === 'object') {\n const { id, name } = a.__target;\n const target: IIdentified = {};\n if (id !== undefined) target.id = id;\n if (name !== undefined) target.name = name;\n return { ...a, __target: target };\n }\n return a;\n });\n }\n\n return configCopy;\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport { DatapointSyncService, MOChunkLoaderService } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextDashboardType\n} from '@c8y/ngx-components/context-dashboard';\nimport { firstValueFrom } from 'rxjs';\nimport { WorkspaceConfigurationService } from './configuration/workspace-configuration.service';\nimport { Router } from '@angular/router';\nimport { DatapointsGraphKPIDetails, DatapointsGraphWidgetConfig } from '@c8y/ngx-components/echart';\nimport { DataExplorerUrlConfig } from './datapoint-explorer.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataExplorerService {\n private readonly inventory = inject(InventoryService);\n private readonly contextDashboardService = inject(ContextDashboardService);\n private readonly workspaceConfigurationService = inject(WorkspaceConfigurationService);\n private readonly moChunkLoader = inject(MOChunkLoaderService);\n private readonly datapointSyncService = inject(DatapointSyncService);\n private readonly router = inject(Router);\n private readonly maxNumberOfManagedObjectsPerRequest = 50;\n\n async fetchReportDashboard(reportId: string): Promise<IManagedObject> {\n return (\n await this.inventory.list({\n pageSize: 1,\n query: `has('c8y_Dashboard!name!report_${reportId}')`\n })\n ).data[0];\n }\n\n async fetchContextDashboard(\n dashboardId: string,\n contextAsset: IManagedObject\n ): Promise<IManagedObject> {\n const context = contextAsset.c8y_isDevice\n ? ContextDashboardType.Device\n : ContextDashboardType.Group;\n return firstValueFrom(this.contextDashboardService.getDashboard$(dashboardId, [context]));\n }\n\n async loadManagedObjectsInChunks(uniqIds: string[]) {\n const { results, errors } = await this.moChunkLoader.processInChunks(\n uniqIds,\n this.maxNumberOfManagedObjectsPerRequest,\n ids => this.loadAChunkOfManagedObjects(ids)\n );\n\n return { result: results, errors };\n }\n\n /**\n * Navigate to datapoint explorer with given config.\n * The goal of this method is to navigate to the data explorer with a provided config from any other application.\n * @param config Configuration to use\n * @param label Label to be displayed for the configuration\n * @param id ID for the configuration\n */\n navigateToDataExplorer(config: DataExplorerUrlConfig, label: string, id: string): void {\n const url = this.getUrlForConfig(config, label, id);\n this.router.navigateByUrl(url);\n }\n\n /**\n * Generate a URL for the datapoint explorer with the given config.\n * The goal of this method is to generate a shareable link to the data explorer.\n * @param config Configuration to use\n * @param label Label to be displayed for the configuration\n * @param id ID for the configuration\n * @returns The generated URL\n */\n getUrlForConfig(config: DataExplorerUrlConfig, label: string, id: string): string {\n return this.workspaceConfigurationService.generateExplorerLink(\n config as Partial<DatapointsGraphWidgetConfig>,\n label,\n id\n );\n }\n\n processAlarmEventConfigs(config: DatapointsGraphWidgetConfig): void {\n const firstTarget = config.alarmsEventsConfigs.find(ae => ae.__target)?.__target;\n\n config.alarmsEventsConfigs = config.alarmsEventsConfigs.map((ae, index) => {\n if (ae.__active === undefined) ae.__active = true;\n if (!ae.__target && firstTarget) ae.__target = firstTarget;\n if (!ae.color) ae.color = this.generateColor(index);\n return ae;\n });\n }\n\n processDatapoints(config: DatapointsGraphWidgetConfig): void {\n const firstTarget = config.datapoints.find(dp => dp.__target)?.__target;\n\n config.datapoints = config.datapoints.map((dp, index) => {\n // Default __active\n if (dp.__active === undefined) dp.__active = true;\n\n if (!dp.__target && firstTarget) dp.__target = firstTarget;\n\n if (!dp.color && !dp.__template) dp.color = this.generateColor(index);\n\n if (!dp.label) dp.label = `${dp.fragment} -> ${dp.series}`;\n\n return dp;\n });\n }\n\n /**\n * Generates a color from a fixed palette based on the index.\n * Used to assign colors to alarm/event configs in the UI.\n */\n generateColor(index: number): string {\n // Simple palette, can expand\n const palette = ['#c87d33', '#8c145f', '#8cd7fd', '#59a036', '#fb00ff', '#8d4c22', '#fbb2d7'];\n return palette[index % palette.length];\n }\n\n async loadAndAssignManagedObjects(\n config: DatapointsGraphWidgetConfig,\n uniqueIds: string[]\n ): Promise<void> {\n const managedObjectsResult = await this.loadManagedObjectsInChunks([...uniqueIds]);\n const managedObjects = managedObjectsResult.result;\n const errors = managedObjectsResult.errors;\n\n config.datapoints = this.datapointSyncService.assignUpdatedValues(\n config.datapoints,\n managedObjects,\n errors\n ) as DatapointsGraphKPIDetails[];\n }\n\n private async loadAChunkOfManagedObjects(uniqIds: string[]) {\n return this.moChunkLoader.loadAChunkOfManagedObjectsBase(\n uniqIds,\n this.inventory,\n this.maxNumberOfManagedObjectsPerRequest,\n id => this.moChunkLoader.getStatusDetails(id)\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-datapoint-explorer.mjs","sources":["../../datapoint-explorer/datapoint-explorer-navigation-factory.ts","../../datapoint-explorer/datapoint-explorer.module.ts","../../datapoint-explorer/view/datapoint-explorer.model.ts","../../datapoint-explorer/view/configuration/workspace-configuration.service.ts","../../datapoint-explorer/view/datapoint-explorer.service.ts","../../datapoint-explorer/c8y-ngx-components-datapoint-explorer.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { NavigatorNode, NavigatorNodeFactory, PreviewService } from '@c8y/ngx-components';\nimport { map, Observable } from 'rxjs';\n\n@Injectable()\nexport class DatapointExplorerNavigationFactory implements NavigatorNodeFactory {\n private readonly previewFeatureService = inject(PreviewService);\n\n get(): Observable<NavigatorNode[]> {\n return this.previewFeatureService.getState$('ui.datapoint-explorer.v2').pipe(\n map(state => {\n if (state) {\n return [\n new NavigatorNode({\n label: gettext('Data explorer'),\n featureId: 'dataExplorer',\n path: 'datapointexplorer-v2',\n icon: 'c8y-data-explorer',\n routerLinkExact: false,\n preventDuplicates: true\n })\n ];\n }\n return [];\n })\n );\n }\n}\n","import { inject, NgModule } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n hookNavigator,\n hookPreview,\n hookRoute,\n PreviewService,\n ViewContext\n} from '@c8y/ngx-components';\nimport { first, Observable } from 'rxjs';\nimport { DatapointExplorerNavigationFactory } from './datapoint-explorer-navigation-factory';\n\nexport function canActivateDatapointExplorer(): Observable<boolean> {\n const previewFeatureService = inject(PreviewService);\n return previewFeatureService.getState$('ui.datapoint-explorer.v2').pipe(first());\n}\n\n@NgModule({\n providers: [\n hookRoute([\n {\n path: 'datapointexplorer-v2',\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n canActivate: [canActivateDatapointExplorer]\n },\n {\n context: ViewContext.Group,\n path: 'data_explorer-v2',\n priority: 800,\n icon: 'c8y-data-explorer',\n label: gettext('Data Explorer'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n featureId: 'dataExplorer',\n canActivate: [canActivateDatapointExplorer]\n },\n {\n context: ViewContext.Device,\n path: 'data_explorer-v2',\n priority: 800,\n icon: 'c8y-data-explorer',\n label: gettext('Data Explorer'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n featureId: 'dataExplorer',\n canActivate: [canActivateDatapointExplorer]\n }\n ]),\n hookNavigator(DatapointExplorerNavigationFactory),\n hookPreview({\n key: 'ui.datapoint-explorer.v2',\n label: 'Data point explorer',\n description: () =>\n import('@c8y/style/markdown-files/datapoint-explorer-preview.md').then(m => m.default),\n settings: {\n reload: true\n }\n })\n ]\n})\nexport class DatapointExplorerModule {}\n","import { DatapointsGraphWidgetConfig } from '@c8y/ngx-components/echart';\nimport { TimeContext } from '@c8y/ngx-components/time-context';\n\nexport interface Settings {\n hideWorkspaceConfig?: boolean;\n hideExportSelector?: boolean;\n hideWidgetActions?: boolean;\n timeContext?: TimeContext;\n defaultConfigurationId?: string;\n}\n\nexport interface DataExplorerUrlConfig {\n datapoints?: BaseDatapointConfig[];\n alarmsEventsConfigs?: BaseAlarmEventConfig[];\n dateFrom?: Date | string | null;\n dateTo?: Date | string | null;\n\n // Allow any additional fields so it's forward-compatible\n [key: string]: any;\n}\n\nexport interface BaseDatapointConfig {\n fragment: string;\n series: string;\n __target?: {\n id?: string;\n [key: string]: any;\n };\n __template?: string;\n\n [key: string]: any;\n}\n\nexport interface BaseAlarmEventConfig {\n timelineType: string;\n label: string;\n\n filters: {\n type: string;\n [key: string]: any;\n };\n\n __target?: {\n id?: string;\n [key: string]: any;\n };\n [key: string]: any;\n}\n\nexport const DATA_EXPLORER_BASE_CONFIG: DatapointsGraphWidgetConfig = {\n datapoints: [],\n alarmsEventsConfigs: [],\n dateFrom: null,\n dateTo: null,\n interval: 'hours',\n aggregation: null,\n realtime: false,\n isAutoRefreshEnabled: false,\n refreshInterval: 0,\n displayMarkedLine: true,\n displayMarkedPoint: true,\n mergeMatchingDatapoints: false,\n forceMergeDatapoints: false,\n showLabelAndUnit: true,\n showSlider: true,\n displayDateSelection: false,\n yAxisSplitLines: false,\n xAxisSplitLines: false,\n numberOfDecimalPlaces: 2\n};\n\nexport const REVERSE_KEY_MAP = {\n d: 'datapoints',\n a: 'alarmsEventsConfigs',\n f: 'fragment',\n s: 'series',\n t: '__target',\n m: '__template',\n l: 'label',\n r: 'filters',\n y: 'timelineType',\n df: 'dateFrom',\n dt: 'dateTo',\n ac: '__active',\n c: 'color',\n i: 'id',\n tp: 'type'\n};\n\nexport const KEY_MAP = Object.fromEntries(\n Object.entries(REVERSE_KEY_MAP).map(([shortKey, longKey]) => [longKey, shortKey])\n);\n","import { inject, Injectable, signal, WritableSignal } from '@angular/core';\nimport { WorkspaceConfiguration } from './workspace-configuration.model';\nimport { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from 'lz-string';\nimport {\n DATA_EXPLORER_BASE_CONFIG,\n DataExplorerUrlConfig,\n KEY_MAP,\n REVERSE_KEY_MAP\n} from '../datapoint-explorer.model';\nimport { DatapointsGraphWidgetConfig } from '@c8y/ngx-components/echart';\nimport { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { IIdentified } from '@c8y/client';\nimport { AlertService } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WorkspaceConfigurationService {\n private readonly baseKey = 'c8y-configs';\n private readonly baseDefaultKey = 'c8y-default-config-id';\n contextIdSignal: WritableSignal<number | string | null> = signal(null);\n\n private readonly alertService = inject(AlertService);\n\n get LOCAL_STORAGE_KEY(): string {\n const id = this.contextIdSignal();\n return id !== null ? `${this.baseKey}-${id}` : this.baseKey;\n }\n\n get LOCAL_STORAGE_DEFAULT_ID_KEY(): string {\n const id = this.contextIdSignal();\n return id !== null ? `${this.baseDefaultKey}-${id}` : this.baseDefaultKey;\n }\n\n /**\n * Generates a full datapoint explorer link from a bare config\n */\n generateExplorerLink(\n config: Partial<DatapointsGraphWidgetConfig> | DataExplorerUrlConfig,\n label: string,\n id: string\n ): string {\n const diffed = this.removeDefaults(config);\n const minified = this.minifyKeys(diffed);\n const compressed = compressToEncodedURIComponent(JSON.stringify(minified));\n const url = `/datapointexplorer-v2?id=${id}&label=${encodeURIComponent(label)}&config=${compressed}`;\n\n return url;\n }\n\n /** Load workspace configs from localStorage */\n getConfigurations(): WorkspaceConfiguration[] {\n const configurations = localStorage.getItem(this.LOCAL_STORAGE_KEY);\n if (configurations) {\n const parsedConfigs: WorkspaceConfiguration[] = JSON.parse(configurations);\n return parsedConfigs.map(workspaceConfig => {\n if (typeof workspaceConfig.config === 'string') {\n return {\n ...workspaceConfig,\n config: this.decodeConfig(workspaceConfig.config)\n };\n }\n return workspaceConfig;\n });\n }\n return [];\n }\n\n getDefaultConfigurationId(): string | null {\n return localStorage.getItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY);\n }\n\n /** Save workspace configs in localStorage */\n saveConfigurations(configurations: WorkspaceConfiguration[], id: string): void {\n localStorage.setItem(this.LOCAL_STORAGE_KEY, JSON.stringify(configurations));\n localStorage.setItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY, id);\n }\n\n /**\n *\n * @param urlConfig - configuration from the URL, either compressed string or already decoded object\n * @returns\n */\n getConfigurationFromUrl(\n urlConfig: DatapointsGraphWidgetConfig | string\n ): DatapointsGraphWidgetConfig {\n if (typeof urlConfig === 'string') {\n const decodedConfig = this.decodeConfig(urlConfig);\n const expandedConfig = this.expandKeys(decodedConfig);\n return expandedConfig;\n }\n\n return this.expandKeys(urlConfig);\n }\n\n /**\n * Encode a config for the URL:\n * - Cleanup the __target objects to contain only name and id\n * - Remove default values (diff from base)\n * - Minify keys\n * - Compress with lz-string\n */\n encodeConfig(config: DatapointsGraphWidgetConfig): string {\n const normalized = this.cleanUpTargetObject(config);\n const diffed = this.removeDefaults(normalized);\n const minified = this.minifyKeys(diffed);\n return compressToEncodedURIComponent(JSON.stringify(minified));\n }\n\n /**\n * Decode a config from the URL:\n * - Decompress\n * - Expand keys\n * - Merge with base config\n */\n decodeConfig(urlConfig: string): Partial<DatapointsGraphWidgetConfig> {\n if (!urlConfig) return null;\n try {\n const decompressed = decompressFromEncodedURIComponent(urlConfig);\n if (!decompressed) return null;\n const parsed = JSON.parse(decompressed);\n const expanded = this.expandKeys(parsed) as Partial<DatapointsGraphWidgetConfig>;\n return { ...DATA_EXPLORER_BASE_CONFIG, ...expanded };\n } catch {\n this.alertService.danger(\n gettext('The decoded configuration is invalid and could not be loaded.')\n );\n }\n }\n\n /** Minify keys recursively using KEY_MAP */\n private minifyKeys(\n config: Partial<DatapointsGraphWidgetConfig>\n ): Record<keyof typeof KEY_MAP, unknown> | unknown {\n if (Array.isArray(config)) return config.map(object => this.minifyKeys(object));\n if (config !== Object(config)) return config;\n\n return Object.fromEntries(\n Object.entries(config as Record<string, unknown>).map(([originalKey, originalValue]) => [\n KEY_MAP[originalKey] || originalKey,\n this.minifyKeys(originalValue)\n ])\n );\n }\n\n /** Expand keys recursively using REVERSE_KEY_MAP */\n private expandKeys(\n config: Partial<DatapointsGraphWidgetConfig>\n ): Record<keyof typeof REVERSE_KEY_MAP, unknown> | unknown {\n if (Array.isArray(config)) return config.map(o => this.expandKeys(o));\n if (config !== Object(config)) return config;\n\n return Object.fromEntries(\n Object.entries(config as Record<string, unknown>).map(([originalKey, originalValue]) => [\n REVERSE_KEY_MAP[originalKey] || originalKey,\n this.expandKeys(originalValue)\n ])\n );\n }\n\n /**\n * Remove properties from `config` that match `base` so only changed values remain.\n */\n private removeDefaults(\n config: DatapointsGraphWidgetConfig | DataExplorerUrlConfig\n ): DatapointsGraphWidgetConfig {\n const result = {};\n\n for (const key in config) {\n if (!(key in DATA_EXPLORER_BASE_CONFIG) || DATA_EXPLORER_BASE_CONFIG[key] !== config[key]) {\n result[key] = config[key];\n }\n }\n\n return result;\n }\n\n /**\n * Cleans up __target objects to only keep id and name and remove the rest.\n */\n private cleanUpTargetObject(config: DatapointsGraphWidgetConfig): DatapointsGraphWidgetConfig {\n const configCopy: any = { ...config };\n\n // Cleanup the datapoints array\n if (Array.isArray(configCopy.datapoints)) {\n configCopy.datapoints = configCopy.datapoints.map((dp: KPIDetails) => {\n if (dp && typeof dp === 'object' && dp.__target && typeof dp.__target === 'object') {\n const { id, name } = dp.__target;\n const target: IIdentified = {};\n if (id !== undefined) target.id = id;\n if (name !== undefined) target.name = name;\n return { ...dp, __target: target };\n }\n return dp;\n });\n }\n\n // Cleanup the alarmEventsConfig array\n if (Array.isArray(configCopy.alarmsEventsConfigs)) {\n configCopy.alarmsEventsConfigs = configCopy.alarmsEventsConfigs.map((a: KPIDetails) => {\n if (a && typeof a === 'object' && a.__target && typeof a.__target === 'object') {\n const { id, name } = a.__target;\n const target: IIdentified = {};\n if (id !== undefined) target.id = id;\n if (name !== undefined) target.name = name;\n return { ...a, __target: target };\n }\n return a;\n });\n }\n\n return configCopy;\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport { DatapointSyncService, MOChunkLoaderService } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextDashboardType\n} from '@c8y/ngx-components/context-dashboard';\nimport { firstValueFrom } from 'rxjs';\nimport { WorkspaceConfigurationService } from './configuration/workspace-configuration.service';\nimport { Router } from '@angular/router';\nimport { DatapointsGraphKPIDetails, DatapointsGraphWidgetConfig } from '@c8y/ngx-components/echart';\nimport { DataExplorerUrlConfig } from './datapoint-explorer.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataExplorerService {\n private readonly inventory = inject(InventoryService);\n private readonly contextDashboardService = inject(ContextDashboardService);\n private readonly workspaceConfigurationService = inject(WorkspaceConfigurationService);\n private readonly moChunkLoader = inject(MOChunkLoaderService);\n private readonly datapointSyncService = inject(DatapointSyncService);\n private readonly router = inject(Router);\n private readonly maxNumberOfManagedObjectsPerRequest = 50;\n\n async fetchReportDashboard(reportId: string): Promise<IManagedObject> {\n return (\n await this.inventory.list({\n pageSize: 1,\n query: `has('c8y_Dashboard!name!report_${reportId}')`\n })\n ).data[0];\n }\n\n async fetchContextDashboard(\n dashboardId: string,\n contextAsset: IManagedObject\n ): Promise<IManagedObject> {\n const context = contextAsset.c8y_isDevice\n ? ContextDashboardType.Device\n : ContextDashboardType.Group;\n return firstValueFrom(this.contextDashboardService.getDashboard$(dashboardId, [context]));\n }\n\n async loadManagedObjectsInChunks(uniqIds: string[]) {\n const { results, errors } = await this.moChunkLoader.processInChunks(\n uniqIds,\n this.maxNumberOfManagedObjectsPerRequest,\n ids => this.loadAChunkOfManagedObjects(ids)\n );\n\n return { result: results, errors };\n }\n\n /**\n * Navigate to datapoint explorer with given config.\n * The goal of this method is to navigate to the data explorer with a provided config from any other application.\n * @param config Configuration to use\n * @param label Label to be displayed for the configuration\n * @param id ID for the configuration\n */\n navigateToDataExplorer(config: DataExplorerUrlConfig, label: string, id: string): void {\n const url = this.getUrlForConfig(config, label, id);\n this.router.navigateByUrl(url);\n }\n\n /**\n * Generate a URL for the datapoint explorer with the given config.\n * The goal of this method is to generate a shareable link to the data explorer.\n * @param config Configuration to use\n * @param label Label to be displayed for the configuration\n * @param id ID for the configuration\n * @returns The generated URL\n */\n getUrlForConfig(config: DataExplorerUrlConfig, label: string, id: string): string {\n return this.workspaceConfigurationService.generateExplorerLink(\n config as Partial<DatapointsGraphWidgetConfig>,\n label,\n id\n );\n }\n\n processAlarmEventConfigs(config: DatapointsGraphWidgetConfig): void {\n const firstTarget = config.alarmsEventsConfigs.find(ae => ae.__target)?.__target;\n\n config.alarmsEventsConfigs = config.alarmsEventsConfigs.map((ae, index) => {\n if (ae.__active === undefined) ae.__active = true;\n if (!ae.__target && firstTarget) ae.__target = firstTarget;\n if (!ae.color) ae.color = this.generateColor(index);\n return ae;\n });\n }\n\n processDatapoints(config: DatapointsGraphWidgetConfig): void {\n const firstTarget = config.datapoints.find(dp => dp.__target)?.__target;\n\n config.datapoints = config.datapoints.map((dp, index) => {\n // Default __active\n if (dp.__active === undefined) dp.__active = true;\n\n if (!dp.__target && firstTarget) dp.__target = firstTarget;\n\n if (!dp.color && !dp.__template) dp.color = this.generateColor(index);\n\n if (!dp.label) dp.label = `${dp.fragment} -> ${dp.series}`;\n\n return dp;\n });\n }\n\n /**\n * Generates a color from a fixed palette based on the index.\n * Used to assign colors to alarm/event configs in the UI.\n */\n generateColor(index: number): string {\n // Simple palette, can expand\n const palette = ['#c87d33', '#8c145f', '#8cd7fd', '#59a036', '#fb00ff', '#8d4c22', '#fbb2d7'];\n return palette[index % palette.length];\n }\n\n async loadAndAssignManagedObjects(\n config: DatapointsGraphWidgetConfig,\n uniqueIds: string[]\n ): Promise<void> {\n const managedObjectsResult = await this.loadManagedObjectsInChunks([...uniqueIds]);\n const managedObjects = managedObjectsResult.result;\n const errors = managedObjectsResult.errors;\n\n config.datapoints = this.datapointSyncService.assignUpdatedValues(\n config.datapoints,\n managedObjects,\n errors\n ) as DatapointsGraphKPIDetails[];\n }\n\n private async loadAChunkOfManagedObjects(uniqIds: string[]) {\n return this.moChunkLoader.loadAChunkOfManagedObjectsBase(\n uniqIds,\n this.inventory,\n this.maxNumberOfManagedObjectsPerRequest,\n id => this.moChunkLoader.getStatusDetails(id)\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1884,6 +1884,7 @@ class DatapointsExportSelectorComponent {
|
|
|
1884
1884
|
constructor(bsModalService, gainsightService) {
|
|
1885
1885
|
this.bsModalService = bsModalService;
|
|
1886
1886
|
this.gainsightService = gainsightService;
|
|
1887
|
+
this.displayMode = 'default';
|
|
1887
1888
|
this.isOpen = new EventEmitter();
|
|
1888
1889
|
this.DEFAULT_CSS_STYLE = 'd-flex';
|
|
1889
1890
|
}
|
|
@@ -1908,12 +1909,14 @@ class DatapointsExportSelectorComponent {
|
|
|
1908
1909
|
this.isOpen.emit(await modalRef.result);
|
|
1909
1910
|
}
|
|
1910
1911
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DatapointsExportSelectorComponent, deps: [{ token: i1$1.BsModalService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1911
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DatapointsExportSelectorComponent, isStandalone: true, selector: "c8y-datapoints-export-selector", inputs: { containerClass: "containerClass", exportConfig: "exportConfig" }, outputs: { isOpen: "isOpen" }, ngImport: i0, template: "@if (containerClass != 'd-contents') {\n
|
|
1912
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DatapointsExportSelectorComponent, isStandalone: true, selector: "c8y-datapoints-export-selector", inputs: { displayMode: "displayMode", containerClass: "containerClass", exportConfig: "exportConfig" }, outputs: { isOpen: "isOpen" }, ngImport: i0, template: "@switch (displayMode) {\n @case ('default') {\n @if (containerClass != 'd-contents') {\n <div [ngClass]=\"containerClass || DEFAULT_CSS_STYLE\">\n <button\n class=\"btn btn-default btn-sm\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n data-cy=\"datapoints-export-selector--open-export-button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n </div>\n } @else {\n <button\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"openExportModal()\"\n [disabled]=\"!exportConfig\"\n >\n <i c8yIcon=\"data-export\"></i>\n {{ 'Generate export' | translate }}\n </button>\n }\n }\n @case ('icon-only') {\n <button\n class=\"btn btn-icon\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n data-cy=\"datapoints-export-selector--open-export-button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.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: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); }
|
|
1912
1913
|
}
|
|
1913
1914
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DatapointsExportSelectorComponent, decorators: [{
|
|
1914
1915
|
type: Component,
|
|
1915
|
-
args: [{ selector: 'c8y-datapoints-export-selector', standalone: true, imports: [CommonModule, TooltipModule], template: "@if (containerClass != 'd-contents') {\n
|
|
1916
|
-
}], ctorParameters: () => [{ type: i1$1.BsModalService }, { type: i1.GainsightService }], propDecorators: {
|
|
1916
|
+
args: [{ selector: 'c8y-datapoints-export-selector', standalone: true, imports: [CommonModule, TooltipModule], template: "@switch (displayMode) {\n @case ('default') {\n @if (containerClass != 'd-contents') {\n <div [ngClass]=\"containerClass || DEFAULT_CSS_STYLE\">\n <button\n class=\"btn btn-default btn-sm\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n data-cy=\"datapoints-export-selector--open-export-button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n </div>\n } @else {\n <button\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"openExportModal()\"\n [disabled]=\"!exportConfig\"\n >\n <i c8yIcon=\"data-export\"></i>\n {{ 'Generate export' | translate }}\n </button>\n }\n }\n @case ('icon-only') {\n <button\n class=\"btn btn-icon\"\n [attr.aria-label]=\"'Generate export' | translate\"\n tooltip=\"{{ 'Generate export' | translate }}\"\n container=\"body\"\n type=\"button\"\n data-cy=\"datapoints-export-selector--open-export-button\"\n (click)=\"openExportModal()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"!exportConfig\"\n [delay]=\"500\"\n >\n <i\n class=\"icon-14\"\n c8yIcon=\"data-export\"\n ></i>\n </button>\n }\n}\n" }]
|
|
1917
|
+
}], ctorParameters: () => [{ type: i1$1.BsModalService }, { type: i1.GainsightService }], propDecorators: { displayMode: [{
|
|
1918
|
+
type: Input
|
|
1919
|
+
}], containerClass: [{
|
|
1917
1920
|
type: Input
|
|
1918
1921
|
}], exportConfig: [{
|
|
1919
1922
|
type: Input
|