@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
1 lines • 13.1 kB
Source Map (JSON)
{"version":3,"file":"c8y-ngx-components-widgets-definitions-scada.mjs","sources":["../../widgets/definitions/scada/scada-widget.factory.ts","../../widgets/definitions/scada/scada-widget-config.factory.ts","../../widgets/definitions/scada/index.ts","../../widgets/definitions/scada/c8y-ngx-components-widgets-definitions-scada.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport {\n DynamicComponentDefinition,\n DynamicComponentErrorStrategy,\n DynamicManagedObjectResolver,\n DynamicWidgetDefinition,\n ExtensionFactory,\n PreviewService\n} from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { from, map, Observable, switchMap } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithDevice,\n importConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\n\n@Injectable({ providedIn: 'root' })\nexport class ScadaWidgetFactory implements ExtensionFactory<DynamicComponentDefinition> {\n private readonly betaPreviewService = inject(PreviewService);\n private readonly baseWidgetDefinition: DynamicComponentDefinition = {\n id: defaultWidgetIds.SCADA,\n label: gettext('SCADA'),\n description: gettext(\n `Displays a dynamically updated SVG image for real-time device monitoring.`\n ),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/scada').then(\n m => m.ScadaWidgetViewComponent\n ),\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n previewImage: 'c8y-style-assets/scada-widget-preview.png',\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=ScadaWidgetConfig!@c8y/ngx-components/widgets/implementations/scada'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n }\n }\n },\n resolve: {\n device: DynamicManagedObjectResolver\n }\n };\n\n get(): Observable<DynamicWidgetDefinition[]> {\n return from(\n import('@c8y/ngx-components/widgets/implementations/scada').then(\n m => m.SCADA_WIDGET_FEATURE_FLAG_NAME\n )\n ).pipe(\n switchMap(featureFlagName => this.betaPreviewService.getState$(featureFlagName)),\n map(active => {\n if (active) {\n return [this.baseWidgetDefinition];\n }\n return [];\n })\n );\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { from, map, Observable, switchMap } from 'rxjs';\nimport { ExtensionFactory, PreviewService } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n AssetPropertyMapping,\n ContextWidgetConfig,\n quoteAndEscape,\n WidgetAssetSelectorComponent,\n WidgetConfigSectionDefinition\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\n\n@Injectable({ providedIn: 'root' })\nexport class ScadaWidgetConfigFactory implements ExtensionFactory<WidgetConfigSectionDefinition> {\n private readonly betaPreviewService = inject(PreviewService);\n private readonly baseWidgetConfigDefinition: WidgetConfigSectionDefinition[] = [\n {\n widgetId: defaultWidgetIds.SCADA,\n label: gettext('Asset selection'),\n loadComponent: () => Promise.resolve(WidgetAssetSelectorComponent),\n providers: () =>\n import('@c8y/ngx-components/widgets/implementations/scada').then(m => [\n m.ScadaWidgetConfigService\n ]),\n priority: 100,\n initialState: {\n isRequired: false,\n groupsSelectable: true\n }\n },\n {\n widgetId: defaultWidgetIds.SCADA,\n label: gettext('SVG configuration'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/scada').then(\n m => m.ScadaWidgetSvgSelectorComponent\n ),\n providers: () =>\n import('@c8y/ngx-components/widgets/implementations/scada').then(m => [\n m.ScadaWidgetConfigService\n ]),\n priority: 70\n },\n {\n widgetId: defaultWidgetIds.SCADA,\n label: gettext('Placeholder mappings'),\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.AssetPropertyMappingsComponent),\n priority: 50,\n expanded: true,\n initialState: {\n widgetConfigPath: ['config', 'mappings'],\n allowAddingNewMappings: false,\n allowRenamingMappings: true,\n mappingNameFormatRegex: /^[a-zA-Z_$][a-zA-Z0-9_$]*$/,\n mappingNameFormatErrorMessage: gettext(\n 'Name must be a valid identifier (only letters, digits, underscores, or dollar signs allowed, cannot start with a digit).'\n ),\n allowRelabellingMappings: false,\n allowEditingMappings: true,\n allowRemovingMappings: false,\n showLabels: false,\n showNames: true,\n showAssets: true,\n showValues: true,\n emptyStateTitle: gettext('No placeholder mappings'),\n emptyStateSubtitle: gettext('Add first placeholder in the preview or code.'),\n feedbackMessage: gettext('{{ count }} placeholders'),\n onBeforeCopyMappingToClipboard: (\n mapping: AssetPropertyMapping,\n config?: ContextWidgetConfig | null\n ) => {\n const name = String(mapping.name);\n if (config?.config?.htmlWidgetConfig?.config?.legacy) {\n return `{{ ${name} }}`;\n }\n const nonAlphanumericRegex = /[^a-zA-Z0-9]/;\n const nameQuotedEscaped = quoteAndEscape(name);\n const key = nonAlphanumericRegex.test(name) ? `[${nameQuotedEscaped}]` : name;\n return '${this.c8yScadaValues?.' + key + '}';\n }\n }\n },\n {\n widgetId: defaultWidgetIds.SCADA,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.AUTO_REFRESH_ONLY_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent),\n priority: 90\n },\n {\n widgetId: defaultWidgetIds.SCADA,\n label: gettext('Advanced editor'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/scada').then(\n m => m.ScadaWidgetAdvancedEditorComponent\n ),\n providers: () =>\n import('@c8y/ngx-components/widgets/implementations/scada').then(m => [\n m.ScadaWidgetConfigService\n ]),\n priority: 40,\n expanded: false\n }\n ];\n\n get(): Observable<WidgetConfigSectionDefinition[]> {\n return from(\n import('@c8y/ngx-components/widgets/implementations/scada').then(\n m => m.SCADA_WIDGET_FEATURE_FLAG_NAME\n )\n ).pipe(\n switchMap(featureFlagName => this.betaPreviewService.getState$(featureFlagName)),\n map(active => {\n if (active) {\n return this.baseWidgetConfigDefinition;\n }\n return [];\n })\n );\n }\n}\n","import { hookPreview, hookWidget } from '@c8y/ngx-components';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { ScadaWidgetFactory } from './scada-widget.factory';\nimport { ScadaWidgetConfigFactory } from './scada-widget-config.factory';\n\nexport const scadaWidgetProviders = [\n hookWidget(ScadaWidgetFactory),\n hookWidgetConfig(ScadaWidgetConfigFactory),\n hookPreview({\n key: 'ui.scada-widget.v2',\n label: 'SCADA widget v2',\n description: () =>\n import('@c8y/style/markdown-files/scada-widget-preview.md').then(m => m.default),\n settings: {\n reload: true\n }\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}