{"version":3,"file":"c8y-ngx-components-operations.mjs","sources":["../../operations/factories/bulk-operations-tab.factory.ts","../../operations/operations.module.ts","../../operations/c8y-ngx-components-operations.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { gettext } from '@c8y/ngx-components/gettext';\r\nimport { Tab, TabFactory } from '@c8y/ngx-components';\r\n\r\n@Injectable()\r\nexport class BulkOperationsTabsFactory implements TabFactory {\r\n  constructor(public router: Router) {}\r\n  get() {\r\n    const tabs: Tab[] = [];\r\n    if (this.router.url.match(/devicecontrol/g)) {\r\n      tabs.push({\r\n        path: 'devicecontrol/bulk',\r\n        label: gettext('Bulk operations'),\r\n        icon: 'c8y-icon c8y-icon-energy',\r\n        priority: 1050,\r\n        orientation: 'horizontal'\r\n      } as Tab);\r\n    }\r\n\r\n    return tabs;\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\n\nimport { CoreModule, hookTab } from '@c8y/ngx-components';\nimport { BulkOperationFromSingleModule } from '@c8y/ngx-components/operations/bulk-operation-from-single';\nimport { BulkOperationsListModule } from '@c8y/ngx-components/operations/bulk-operations-list';\nimport { BulkOperationsServiceModule } from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { BulkOperationsStepperContainerModule } from '@c8y/ngx-components/operations/bulk-operations-stepper-container';\nimport { StepperBulkTypeConfigurationModule } from '@c8y/ngx-components/operations/stepper-bulk-type-configuration';\nimport { StepperBulkTypeDeviceProfileModule } from '@c8y/ngx-components/operations/stepper-bulk-type-device-profile';\nimport { StepperBulkTypeFirmwareModule } from '@c8y/ngx-components/operations/stepper-bulk-type-firmware';\nimport { StepperBulkTypeSoftwareModule } from '@c8y/ngx-components/operations/stepper-bulk-type-software';\n\nimport {\n  deviceControlOverviewFeatureProviderFactory,\n  deviceControlTabFeatureProviderFactory\n} from '@c8y/ngx-components/operations/operations-list';\nimport { BulkOperationsTabsFactory } from './factories/bulk-operations-tab.factory';\n\n/**\n * This module sets up the 'Device control' view. By importing it in your custom application you will have:\n * - a 'Device control' tab in device details view\n * - a 'Device control' entry in the 'Overviews' section of navigator\n * - 'Bulk operations' tab on the 'Device control' page\n * - list view of existing bulk operations with expandable details and options to filter\n * - guided stepper dialogs to schedule new bulk operations of supported types\n * (Configuration update, Firmware update, Software update, Apply device profile).\n *\n * Additionaly you can use the modules imported by {@link OperationsModule} separately to achieve\n * the results you wish to have in your application, e.g.:\n * - import {@link BulkOperationsListModule} and {@link BulkOperationsServiceModule}\n * to have an overview of existing bulk operation with expandable details\n * - additionaly import {@link BulkOperationsStepperContainerModule} and any of the existing\n * `StepperBulkType*Module` modules ({@link StepperBulkTypeConfigurationModule},\n * {@link StepperBulkTypeFirmwareModule}, {@link StepperBulkTypeSoftwareModule},\n * {@link StepperBulkTypeDeviceProfileModule}) to have the option\n * to create new bulk operation in a guided stepper dialog.\n *\n * ```typescript\n * import { BulkOperationsServiceModule } from '@c8y/ngx-components/operations/bulk-operations-service';\n * import { BulkOperationsListModule } from '@c8y/ngx-components/operations/bulk-operations-list';\n *\n * @NgModule({\n *   imports: [\n *     [...]\n *     BulkOperationsServiceModule,\n *     BulkOperationsListModule\n *   ],\n *   [...]\n * })\n * export class CustomOperationsModule {}```\n * respectively\n * ```typescript\n * import { BulkOperationsStepperContainerModule } from '@c8y/ngx-components/operations/bulk-operations-stepper-container';\n * import { BulkOperationsServiceModule } from '@c8y/ngx-components/operations/bulk-operations-service';\n * import { BulkOperationsListModule } from '@c8y/ngx-components/operations/bulk-operations-list';\n * import { StepperBulkTypeSoftwareModule } from '@c8y/ngx-components/operations/stepper-bulk-type-software';\n *\n * @NgModule({\n *   imports: [\n *     [...]\n *     BulkOperationsServiceModule,\n *     BulkOperationsListModule,\n *     BulkOperationsStepperContainerModule,\n *     StepperBulkTypeSoftwareModule\n *   ],\n *   [...]\n * })\n * export class CustomOperationsModule {}```\n * You can provide your own bulk operation stepper by registering a component via the `hookListBulkType`:\n *\n * ```typescript\n * import {\n *   hookListBulkType,\n *   baseUrl\n * } from '@c8y/ngx-components/operations/bulk-operations-service';\n *\n * [...]\n *\n * providers: [\n *   hookListBulkType({\n *     type: 'my-bulk-op-type',\n *     c8yIcon: 'c8y-tools',\n *     name: 'My bulk op type',\n *     path: `${baseUrl}my-type`,\n *     component: StepperMyBulkTypeComponent,\n *     fragments: ['c8y_MyType'],\n *     selected: false\n *   })\n * ]```\n */\n@NgModule({\n  imports: [\n    CoreModule,\n    BulkOperationFromSingleModule,\n    BulkOperationsListModule,\n    BulkOperationsServiceModule,\n    BulkOperationsStepperContainerModule,\n    StepperBulkTypeConfigurationModule,\n    StepperBulkTypeFirmwareModule,\n    StepperBulkTypeSoftwareModule,\n    StepperBulkTypeDeviceProfileModule\n  ],\n  providers: [\n    hookTab(BulkOperationsTabsFactory),\n    deviceControlOverviewFeatureProviderFactory(),\n    deviceControlTabFeatureProviderFactory()\n  ]\n})\nexport class OperationsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAMa,yBAAyB,CAAA;AACpC,IAAA,WAAA,CAAmB,MAAc,EAAA;QAAd,IAAA,CAAA,MAAM,GAAN,MAAM;IAAW;IACpC,GAAG,GAAA;QACD,MAAM,IAAI,GAAU,EAAE;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC;AACR,gBAAA,IAAI,EAAE,oBAAoB;AAC1B,gBAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,gBAAA,IAAI,EAAE,0BAA0B;AAChC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,WAAW,EAAE;AACP,aAAA,CAAC;QACX;AAEA,QAAA,OAAO,IAAI;IACb;+GAfW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAzB,yBAAyB,EAAA,CAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC;;;ACaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEG;MAmBU,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,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,gBAAgB,YAhBzB,UAAU;YACV,6BAA6B;YAC7B,wBAAwB;YACxB,2BAA2B;YAC3B,oCAAoC;YACpC,kCAAkC;YAClC,6BAA6B;YAC7B,6BAA6B;YAC7B,kCAAkC,CAAA,EAAA,CAAA,CAAA;AAQzB,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,gBAAgB,EAAA,SAAA,EANhB;YACT,OAAO,CAAC,yBAAyB,CAAC;AAClC,YAAA,2CAA2C,EAAE;AAC7C,YAAA,sCAAsC;AACvC,SAAA,EAAA,OAAA,EAAA,CAdC,UAAU;YACV,6BAA6B;YAC7B,wBAAwB;YACxB,2BAA2B;YAC3B,oCAAoC;YACpC,kCAAkC;YAClC,6BAA6B;YAC7B,6BAA6B;YAC7B,kCAAkC,CAAA,EAAA,CAAA,CAAA;;4FAQzB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAlB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,UAAU;wBACV,6BAA6B;wBAC7B,wBAAwB;wBACxB,2BAA2B;wBAC3B,oCAAoC;wBACpC,kCAAkC;wBAClC,6BAA6B;wBAC7B,6BAA6B;wBAC7B;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,OAAO,CAAC,yBAAyB,CAAC;AAClC,wBAAA,2CAA2C,EAAE;AAC7C,wBAAA,sCAAsC;AACvC;AACF,iBAAA;;;AC3GD;;AAEG;;;;"}