{"version":3,"file":"c8y-ngx-components-widgets-definitions-asset-table.mjs","sources":["../../widgets/definitions/asset-table/asset-table.factory.ts","../../widgets/definitions/asset-table/asset-table-config.factory.ts","../../widgets/definitions/asset-table/index.ts","../../widgets/definitions/asset-table/c8y-ngx-components-widgets-definitions-asset-table.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport {\n  DynamicComponentDefinition,\n  DynamicWidgetDefinition,\n  ExtensionFactory,\n  PreviewService\n} from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n  exportConfigWithDevice,\n  importConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { map, Observable } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class AssetTableWidgetFactory implements ExtensionFactory<DynamicComponentDefinition> {\n  private readonly previewService = inject(PreviewService);\n  private readonly baseWidgetDefinition: DynamicComponentDefinition = {\n    id: defaultWidgetIds.ASSET_TABLE,\n    label: gettext('Asset table'),\n    description: gettext('Displays a table of assets with configurable columns and filters.'),\n    loadComponent: () =>\n      import('@c8y/ngx-components/widgets/implementations/asset-table').then(\n        m => m.AssetTableWidgetViewComponent\n      ),\n    previewImage: 'c8y-style-assets/asset-table-pr.png',\n    data: {\n      settings: {\n        schema: () =>\n          import(\n            'c8y-schema-loader?interfaceName=AssetTableWidgetConfig!@c8y/ngx-components/widgets/implementations/asset-table'\n          ),\n        export: exportConfigWithDevice,\n        import: importConfigWithDevice,\n        noNewWidgets: false,\n        widgetDefaults: {\n          _width: 8,\n          _height: 6\n        },\n        ng1: {\n          options: {\n            noDeviceTarget: true,\n            groupsSelectable: true\n          }\n        }\n      },\n      displaySettings: {\n        globalTimeContext: true,\n        globalAutoRefreshContext: true\n      }\n    }\n  };\n\n  get(): Observable<DynamicWidgetDefinition[]> {\n    return this.previewService.getState$('ui.asset-table.v2').pipe(\n      map(state => {\n        if (state) {\n          return [this.baseWidgetDefinition];\n        }\n        return [];\n      })\n    );\n  }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { ExtensionFactory, PreviewService } from '@c8y/ngx-components';\nimport {\n  WidgetAssetSelectorComponent,\n  WidgetConfigSectionDefinition\n} from '@c8y/ngx-components/context-dashboard';\nimport { map, Observable } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class AssetTableConfigFactory implements ExtensionFactory<WidgetConfigSectionDefinition> {\n  private readonly betaPreviewService = inject(PreviewService);\n  private readonly baseWidgetConfigDefinition: WidgetConfigSectionDefinition[] = [\n    {\n      widgetId: defaultWidgetIds.ASSET_TABLE,\n      label: gettext('Asset selection'),\n      loadComponent: () => Promise.resolve(WidgetAssetSelectorComponent),\n      priority: 100,\n      initialState: {\n        isRequired: false,\n        groupsSelectable: true\n      }\n    },\n    {\n      widgetId: defaultWidgetIds.ASSET_TABLE,\n      label: gettext('Asset properties'),\n      loadComponent: () =>\n        import('@c8y/ngx-components/widgets/implementations/asset-table').then(\n          m => m.AssetTableGridSettingsComponent\n        ),\n      priority: 50,\n      expanded: true\n    },\n    {\n      widgetId: defaultWidgetIds.ASSET_TABLE,\n      label: gettext('Settings'),\n      loadComponent: () =>\n        import('@c8y/ngx-components/widgets/implementations/asset-table').then(\n          m => m.AssetTableWidgetConfigComponent\n        ),\n      priority: 0,\n      expanded: true\n    }\n  ];\n\n  get(): Observable<WidgetConfigSectionDefinition[]> {\n    return this.betaPreviewService.getState$('ui.asset-table.v2').pipe(\n      map(state => {\n        if (state) {\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 { AssetTableWidgetFactory } from './asset-table.factory';\nimport { AssetTableConfigFactory } from './asset-table-config.factory';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\nexport const assetTableWidgetProviders = [\n  hookWidget(AssetTableWidgetFactory),\n  hookWidgetConfig(AssetTableConfigFactory),\n  hookPreview({\n    key: 'ui.asset-table.v2',\n    label: gettext('Asset table v2'),\n    description: () =>\n      import('@c8y/style/markdown-files/asset-table-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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"}