{"version":3,"file":"c8y-ngx-components-child-devices.mjs","sources":["../../child-devices/child-devices.component.ts","../../child-devices/child-devices.component.html","../../child-devices/action-controls.factory.ts","../../child-devices/child-devices.guard.ts","../../child-devices/child-devices.module.ts","../../child-devices/c8y-ngx-components-child-devices.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Column, ManagedObjectRealtimeService } from '@c8y/ngx-components';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\n\n@Component({\n  selector: 'c8y-child-devices',\n  templateUrl: './child-devices.component.html',\n  providers: [ManagedObjectRealtimeService]\n})\nexport class ChildDevicesComponent implements OnInit {\n  id: string;\n  columns: Column[];\n\n  constructor(private route: ActivatedRoute, private deviceGridService: DeviceGridService) {}\n\n  async ngOnInit() {\n    await this.getAllDevices();\n    this.columns = this.deviceGridService.getChildDeviceGridColumns();\n  }\n\n  async getAllDevices() {\n    this.id = this.route.snapshot.parent.data.contextData;\n  }\n}\n","<div class=\"content-fullpage border-top border-bottom\">\n  <c8y-device-grid\n    [title]=\"'Child devices' | translate\"\n    [childDeviceGrid]=\"true\"\n    [columns]=\"columns\"\n    [parentDeviceId]=\"id\"\n    c8yProductExperience\n    [actionName]=\"'childDevices'\"\n  ></c8y-device-grid>\n</div>\n","import { Injectable } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport {\n  ActionControlFactory,\n  ActionControlHook,\n  BuiltInActionType,\n  Row\n} from '@c8y/ngx-components';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\n\n@Injectable({ providedIn: 'root' })\nexport class ChildDevicesActionControlsFactory implements ActionControlFactory {\n  constructor(private deviceGridService: DeviceGridService) {}\n\n  get(): ActionControlHook {\n    return {\n      actionControls: [\n        {\n          type: BuiltInActionType.Delete,\n          priority: -Infinity,\n          callback: async (item: Row, reload) => {\n            await this.deviceGridService.delete(item as IManagedObject);\n            reload();\n          }\n        }\n      ],\n      matchesGrid(route) {\n        return route.snapshot.routeConfig?.path === 'child-devices';\n      }\n    };\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { InventoryService } from '@c8y/client';\nimport { isEmpty } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class ChildDevicesTabGuard {\n  constructor(private inventory: InventoryService) {}\n\n  async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {\n    const contextData = route.data.contextData;\n\n    const filter: object = {\n      pageSize: 1\n    };\n\n    if (isEmpty(contextData)) {\n      return true;\n    }\n    const device = await this.inventory.childDevicesList(contextData.id, filter);\n    const hasChildren = device.data.length;\n    return !!hasChildren;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport {\n  CoreModule,\n  gettext,\n  hookDataGridActionControls,\n  hookRoute,\n  ViewContext\n} from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { ChildDevicesActionControlsFactory } from './action-controls.factory';\nimport { ChildDevicesComponent } from './child-devices.component';\nimport { ChildDevicesTabGuard } from './child-devices.guard';\n\n@NgModule({\n  declarations: [ChildDevicesComponent],\n  imports: [CoreModule, DeviceGridModule, PopoverModule],\n  providers: [\n    hookRoute({\n      context: ViewContext.Device,\n      path: 'child-devices',\n      priority: 1000,\n      icon: 'code-fork',\n      label: gettext('Child devices'),\n      component: ChildDevicesComponent,\n      canActivate: [ChildDevicesTabGuard]\n    }),\n    hookDataGridActionControls(ChildDevicesActionControlsFactory)\n  ]\n})\nexport class ChildDevicesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;MAUa,qBAAqB,CAAA;IAIhC,WAAoB,CAAA,KAAqB,EAAU,iBAAoC,EAAA;QAAnE,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QAAU,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAAI;AAE3F,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,CAAC;KACnE;AAED,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;KACvD;+GAbU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAFrB,QAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,CAAC,4BAA4B,CAAC,0BCR3C,oTAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,SAAA,EAAA,OAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,gBAAA,EAAA,2BAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDAa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,SAAA,EAElB,CAAC,4BAA4B,CAAC,EAAA,QAAA,EAAA,oTAAA,EAAA,CAAA;;;MEG9B,iCAAiC,CAAA;AAC5C,IAAA,WAAA,CAAoB,iBAAoC,EAAA;QAApC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAAI;IAE5D,GAAG,GAAA;QACD,OAAO;AACL,YAAA,cAAc,EAAE;AACd,gBAAA;oBACE,IAAI,EAAE,iBAAiB,CAAC,MAAM;oBAC9B,QAAQ,EAAE,CAAC,QAAQ;AACnB,oBAAA,QAAQ,EAAE,OAAO,IAAS,EAAE,MAAM,KAAI;wBACpC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAsB,CAAC,CAAC;AAC5D,wBAAA,MAAM,EAAE,CAAC;qBACV;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,CAAC,KAAK,EAAA;gBACf,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,eAAe,CAAC;aAC7D;SACF,CAAC;KACH;+GAnBU,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cADpB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FACnB,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCJrB,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CAAoB,SAA2B,EAAA;QAA3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;KAAI;IAEnD,MAAM,WAAW,CAAC,KAA6B,EAAA;AAC7C,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;AAE3C,QAAA,MAAM,MAAM,GAAW;AACrB,YAAA,QAAQ,EAAE,CAAC;SACZ,CAAC;AAEF,QAAA,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;AACxB,YAAA,OAAO,IAAI,CAAC;SACb;AACD,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC7E,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACvC,OAAO,CAAC,CAAC,WAAW,CAAC;KACtB;+GAhBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA,CAAA,EAAA;;4FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCyBrB,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,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,kBAAkB,iBAfd,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAc1C,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,kBAAkB,EAblB,SAAA,EAAA;AACT,YAAA,SAAS,CAAC;gBACR,OAAO,EAAE,WAAW,CAAC,MAAM;AAC3B,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;AAC/B,gBAAA,SAAS,EAAE,qBAAqB;gBAChC,WAAW,EAAE,CAAC,oBAAoB,CAAC;aACpC,CAAC;YACF,0BAA0B,CAAC,iCAAiC,CAAC;AAC9D,SAAA,EAAA,OAAA,EAAA,CAZS,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAc1C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAhB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;AACrC,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAC;AACtD,oBAAA,SAAS,EAAE;AACT,wBAAA,SAAS,CAAC;4BACR,OAAO,EAAE,WAAW,CAAC,MAAM;AAC3B,4BAAA,IAAI,EAAE,eAAe;AACrB,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;AAC/B,4BAAA,SAAS,EAAE,qBAAqB;4BAChC,WAAW,EAAE,CAAC,oBAAoB,CAAC;yBACpC,CAAC;wBACF,0BAA0B,CAAC,iCAAiC,CAAC;AAC9D,qBAAA;AACF,iBAAA,CAAA;;;AC7BD;;AAEG;;;;"}