@c8y/ngx-components 1010.0.19 → 1010.0.23

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.
Files changed (35) hide show
  1. package/bundles/c8y-ngx-components-reports.umd.js +15 -2
  2. package/bundles/c8y-ngx-components-reports.umd.js.map +1 -1
  3. package/bundles/c8y-ngx-components-reports.umd.min.js +2 -2
  4. package/bundles/c8y-ngx-components-reports.umd.min.js.map +1 -1
  5. package/bundles/c8y-ngx-components-sub-assets.umd.js +2 -9
  6. package/bundles/c8y-ngx-components-sub-assets.umd.js.map +1 -1
  7. package/bundles/c8y-ngx-components-sub-assets.umd.min.js +1 -1
  8. package/bundles/c8y-ngx-components-sub-assets.umd.min.js.map +1 -1
  9. package/bundles/c8y-ngx-components.umd.js +2 -2
  10. package/bundles/c8y-ngx-components.umd.js.map +1 -1
  11. package/bundles/c8y-ngx-components.umd.min.js +1 -1
  12. package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
  13. package/esm2015/core/range-display/range-display.component.js +3 -3
  14. package/esm2015/reports/reports.service.js +10 -4
  15. package/esm2015/sub-assets/sub-assets.component.js +3 -10
  16. package/esm5/core/range-display/range-display.component.js +3 -3
  17. package/esm5/reports/reports.service.js +17 -4
  18. package/esm5/sub-assets/sub-assets.component.js +3 -11
  19. package/fesm2015/c8y-ngx-components-reports.js +8 -2
  20. package/fesm2015/c8y-ngx-components-reports.js.map +1 -1
  21. package/fesm2015/c8y-ngx-components-sub-assets.js +2 -8
  22. package/fesm2015/c8y-ngx-components-sub-assets.js.map +1 -1
  23. package/fesm2015/c8y-ngx-components.js +2 -2
  24. package/fesm2015/c8y-ngx-components.js.map +1 -1
  25. package/fesm5/c8y-ngx-components-reports.js +15 -2
  26. package/fesm5/c8y-ngx-components-reports.js.map +1 -1
  27. package/fesm5/c8y-ngx-components-sub-assets.js +2 -9
  28. package/fesm5/c8y-ngx-components-sub-assets.js.map +1 -1
  29. package/fesm5/c8y-ngx-components.js +2 -2
  30. package/fesm5/c8y-ngx-components.js.map +1 -1
  31. package/package.json +2 -2
  32. package/reports/c8y-ngx-components-reports.metadata.json +1 -1
  33. package/reports/reports.service.d.ts +2 -1
  34. package/sub-assets/c8y-ngx-components-sub-assets.metadata.json +1 -1
  35. package/sub-assets/sub-assets.component.d.ts +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-sub-assets.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@c8y/ngx-components/sub-assets/columns/asset-type.cell-renderer.component.ts","ng://@c8y/ngx-components/sub-assets/columns/asset-type-grid-column.ts","ng://@c8y/ngx-components/sub-assets/sub-assets.service.ts","ng://@c8y/ngx-components/sub-assets/group-info.component.ts","ng://@c8y/ngx-components/sub-assets/sub-assets.component.ts","ng://@c8y/ngx-components/sub-assets/delete-assets-modal/delete-assets-modal.component.ts","ng://@c8y/ngx-components/sub-assets/unassign-assets-modal/unassign-modal.component.ts","ng://@c8y/ngx-components/sub-assets/sub-assets-grid.component.ts","ng://@c8y/ngx-components/sub-assets/add-group/add-group.service.ts","ng://@c8y/ngx-components/sub-assets/add-group/add-group.component.ts","ng://@c8y/ngx-components/sub-assets/add-group/add-group.module.ts","ng://@c8y/ngx-components/sub-assets/groups.component.ts","ng://@c8y/ngx-components/sub-assets/assign-devices/assign-devices.service.ts","ng://@c8y/ngx-components/sub-assets/assign-devices/assign-devices.component.ts","ng://@c8y/ngx-components/sub-assets/assign-devices/assign-child-devices.component.ts","ng://@c8y/ngx-components/sub-assets/sub-assets.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { CellRendererContext, gettext } from '@c8y/ngx-components';\nimport { DeviceGroupService } from '@c8y/ngx-components/assets-navigator';\n\n@Component({\n templateUrl: './asset-type.cell-renderer.component.html'\n})\nexport class AssetTypeCellRendererComponent implements OnInit {\n groupIcon: string;\n isAnyGroup: boolean;\n isDevice: boolean;\n iconTitle: string;\n constructor(\n public context: CellRendererContext,\n private deviceGroupService: DeviceGroupService\n ) {}\n\n ngOnInit() {\n this.isAnyGroup = this.deviceGroupService.isAnyGroup(this.context.item);\n this.isDevice = this.deviceGroupService.isDevice(this.context.item);\n this.groupIcon = this.deviceGroupService.icon(this.context.item);\n this.iconTitle = this.getIconTitle(this.groupIcon);\n }\n\n private getIconTitle(icon: string) {\n switch (icon) {\n case 'c8y-group':\n return gettext('Group');\n case 'c8y-group-smart':\n return gettext('Smart group');\n case 'c8y-group-remote-inactive':\n return 'Inactive remote group';\n case 'c8y-group-remote':\n return gettext('Remote group');\n default:\n return gettext('Child device');\n }\n }\n}\n","import { gettext, ColumnDataType, ColumnConfig } from '@c8y/ngx-components';\nimport { AssetTypeCellRendererComponent } from './asset-type.cell-renderer.component';\nimport { BaseDeviceGridColumn } from '@c8y/ngx-components/device-grid';\n\nexport class AssetTypeGridColumn extends BaseDeviceGridColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n this.name = 'type';\n this.header = gettext('Type');\n this.dataType = ColumnDataType.Icon;\n this.cellRendererComponent = AssetTypeCellRendererComponent;\n this.sortable = true;\n this.sortingConfig = {\n pathSortingConfigs: [{ path: `c8y_IsDeviceGroup` }]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n IManagedObject,\n InventoryService,\n IRule,\n QueriesUtil,\n SmartGroupsService,\n SmartRulesService,\n UserService\n} from '@c8y/client';\nimport {\n ActionControl,\n AlertService,\n AppStateService,\n BulkActionControl,\n gettext,\n Pagination,\n Permissions\n} from '@c8y/ngx-components';\nimport { AssetNodeService, DeviceGroupService } from '@c8y/ngx-components/assets-navigator';\nimport {\n AlarmsDeviceGridColumn,\n DeviceGridColumn,\n DeviceGridService,\n ImeiDeviceGridColumn,\n ModelDeviceGridColumn,\n NameDeviceGridColumn,\n RegistrationDateDeviceGridColumn,\n SerialNumberDeviceGridColumn,\n SystemIdDeviceGridColumn\n} from '@c8y/ngx-components/device-grid';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { AssetTypeGridColumn } from './columns/asset-type-grid-column';\n\n@Injectable()\nexport class SubAssetsService extends DeviceGridService {\n queriesUtil: QueriesUtil;\n uiOnlyCountersUpdate = new BehaviorSubject(null);\n protected GRID_CONFIG_DEFAULT_STORAGE_KEY = 'sub-assets-grid-config';\n private IS_DEVICE_GROUP_FRAGMENT = 'c8y_IsDeviceGroup';\n private IS_DYNAMIC_GROUP_FRAGMENT = 'c8y_IsDynamicGroup';\n\n constructor(\n protected translateService: TranslateService,\n protected inventoryService: InventoryService,\n protected appState: AppStateService,\n protected user: UserService,\n protected assetNodeService: AssetNodeService,\n protected deviceGroupService: DeviceGroupService,\n protected smartGroupsService: SmartGroupsService,\n protected smartRulesService: SmartRulesService,\n protected alertService: AlertService,\n protected permissionsService: Permissions\n ) {\n super(inventoryService, translateService);\n }\n\n getDefaultColumns(filterable: boolean = true, sortable: boolean = true): DeviceGridColumn[] {\n const defaultColumns = [\n new AssetTypeGridColumn({ sortOrder: 'desc' }),\n new NameDeviceGridColumn({ sortOrder: 'asc' }),\n new ModelDeviceGridColumn(),\n new SerialNumberDeviceGridColumn({ visible: false }),\n new RegistrationDateDeviceGridColumn({ visible: false }),\n new SystemIdDeviceGridColumn({ visible: false }),\n new ImeiDeviceGridColumn({ visible: false }),\n new AlarmsDeviceGridColumn()\n ];\n return defaultColumns;\n }\n\n getDefaultPagination(): Pagination {\n const { pagination } = this.getConfig();\n return {\n pageSize: pagination.pageSize,\n currentPage: 1\n };\n }\n\n getDefaultActionControls(): ActionControl[] {\n return [];\n }\n\n async unassignAsset(asset: IManagedObject, parentRef: IManagedObject) {\n const { id: assetId } = asset;\n const { id: parentId } = parentRef;\n\n if (this.isDevice(asset)) {\n try {\n await this.inventoryService.childAssetsRemove(assetId, parentId);\n const alertMessage = this.translateService.instant(gettext('Asset unassigned.'));\n this.alertService.success(alertMessage);\n } catch (error) {\n const alertMessage = this.translateService.instant(gettext('Could not unassign devices.'));\n this.alertService.danger(alertMessage);\n }\n await this.deactivateSmartrulesForAsset(asset, parentRef);\n }\n }\n\n isDevice(asset: IManagedObject): boolean {\n return (\n !asset.hasOwnProperty(this.IS_DEVICE_GROUP_FRAGMENT) &&\n !asset.hasOwnProperty(this.IS_DYNAMIC_GROUP_FRAGMENT)\n );\n }\n\n async deleteAsset(asset: IManagedObject, parentRef: IManagedObject, params = {}) {\n const isGroup =\n asset.hasOwnProperty(this.IS_DEVICE_GROUP_FRAGMENT) ||\n this.smartGroupsService.isSmartGroup(asset);\n\n if (isGroup) {\n await this.deleteGroup(asset, params);\n } else {\n await this.deleteDevice(asset, params);\n }\n\n if (\n parentRef &&\n !this.smartGroupsService.isSmartGroup(asset) &&\n !this.smartGroupsService.isSmartGroupV2(asset)\n ) {\n await this.deactivateSmartrulesForAsset(asset, parentRef);\n }\n }\n\n shouldShowWithDeviceUserCheckbox(asset: IManagedObject): boolean {\n const { owner, c8y_IsDevice: isRootDevice } = asset;\n const hasDeviceUserAsOwner = asset.owner && this.isDeviceUser(owner);\n\n return Boolean(isRootDevice && hasDeviceUserAsOwner);\n }\n\n getDefaultBulkActionControls(): BulkActionControl[] {\n return [];\n }\n\n async getData(\n columns: DeviceGridColumn[],\n pagination: Pagination,\n parentReference: IManagedObject,\n baseQuery: any = {}\n ) {\n const isRoot = !parentReference;\n if (isRoot) {\n const query = this.buildCombinedRootQueryFilter(columns, pagination);\n return this.assetNodeService.getRootNodes({ ...pagination, query });\n }\n const filters = {\n ...this.getAssetsFilters(columns, pagination, baseQuery),\n withParents: false\n };\n if (this.deviceGroupService.isGroup(parentReference)) {\n return this.assetNodeService.getGroupItems(parentReference.id, filters);\n }\n if (this.deviceGroupService.isDynamicGroup(parentReference)) {\n return this.assetNodeService.getDynamicGroupItems(\n parentReference.c8y_DeviceQueryString,\n filters\n );\n }\n if (this.deviceGroupService.isDevice(parentReference)) {\n return this.assetNodeService.getDeviceChildren(parentReference.id, filters);\n }\n }\n\n async getCount(\n columns: DeviceGridColumn[],\n pagination: Pagination,\n parentReference: IManagedObject,\n baseQuery: any = {}\n ): Promise<number> {\n const defaultFilters = {\n pageSize: 1,\n withChildren: false\n };\n const filters = !parentReference\n ? {\n query: this.buildCombinedRootQueryFilter(columns, pagination),\n ...defaultFilters\n }\n : {\n ...this.getAssetsFilters(columns, pagination, baseQuery),\n ...defaultFilters\n };\n return this.getAssetsStatistics(parentReference, filters);\n }\n\n getTotal(parentReference: IManagedObject, baseQuery: any = {}): Promise<number> {\n const queryFilter = this.assetNodeService.rootQueryFilter();\n const query = !parentReference\n ? this.queriesUtil.addAndFilter(queryFilter, baseQuery)\n : baseQuery;\n const filters = {\n query: this.queriesUtil.buildQuery(query),\n withChildren: false,\n withTotalPages: true,\n pageSize: 1\n };\n return this.getAssetsStatistics(parentReference, filters);\n }\n\n canEditGroup(group: IManagedObject) {\n const currentUser = this.appState.currentUser.value;\n const hasAdminRole = this.user.hasAnyRole(currentUser, ['ROLE_INVENTORY_ADMIN']);\n const isOwner = group.owner === currentUser.userName;\n return hasAdminRole || isOwner;\n }\n\n canEditSmartGroup(): boolean {\n const SMART_GROUPS_ROLES_EDIT = ['ROLE_SMARTGROUP_UPDATE', 'ROLE_SMARTGROUP_ADMIN'];\n return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_EDIT);\n }\n\n canDeleteSmartGroup(): boolean {\n const SMART_GROUPS_ROLES_DELETE = ['ROLE_SMARTGROUP_ADMIN', 'ROLE_INVENTORY_ADMIN'];\n return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_DELETE);\n }\n\n isSmartGroup(group: IManagedObject): boolean {\n return this.smartGroupsService.isSmartGroup(group) || this.smartGroupsService.isSmartGroupV2(group);\n }\n\n isUsingInventoryRoles() {\n const currentUser = this.appState.currentUser.value;\n const hasAnyInventoryRole = this.user.hasAnyRole(currentUser, [\n 'ROLE_INVENTORY_ADMIN',\n 'ROLE_INVENTORY_READ',\n 'ROLE_INVENTORY_CREATE'\n ]);\n return !hasAnyInventoryRole;\n }\n\n protected async getAssetsStatistics(\n parentReference: IManagedObject,\n filters: object\n ): Promise<number> {\n const isRoot = !parentReference;\n if (isRoot) {\n return (await this.assetNodeService.getRootNodes(filters)).paging.totalPages;\n }\n if (this.deviceGroupService.isGroup(parentReference)) {\n return (await this.assetNodeService.getGroupItems(parentReference.id, filters)).paging\n .totalPages;\n }\n if (this.deviceGroupService.isDynamicGroup(parentReference)) {\n return (await this.assetNodeService.getDynamicGroupItems(\n parentReference.c8y_DeviceQueryString,\n filters\n )).paging.totalPages;\n }\n if (this.deviceGroupService.isDevice(parentReference)) {\n return (await this.assetNodeService.getDeviceChildren(parentReference.id, filters)).paging\n .totalPages;\n }\n }\n\n protected buildCombinedRootQueryFilter(columns, pagination) {\n const queryFilter = this.assetNodeService.rootQueryFilter();\n const userQuery = this.getQueryObj(columns, pagination);\n\n const queryPart = this.queriesUtil.addOrderbys(queryFilter, userQuery.__orderby, 'append');\n const fullQuery = this.queriesUtil.addAndFilter(queryPart, userQuery.__filter);\n return this.queriesUtil.buildQuery(fullQuery);\n }\n\n private async deleteGroup(group: IManagedObject, params: any = {}) {\n const { cascade } = params;\n\n try {\n this.smartGroupsService.isSmartGroup(group) || this.smartGroupsService.isSmartGroupV2(group)\n ? await this.smartGroupsService.delete(group, { cascade })\n : await this.inventoryService.delete(group, { cascade });\n\n const alertMessage = this.translateService.instant(gettext('Asset deleted.'));\n this.alertService.success(alertMessage);\n } catch (error) {\n const alertMessage = this.translateService.instant(gettext('Could not delete asset.'));\n this.alertService.danger(alertMessage);\n }\n }\n\n private async deleteDevice(device: IManagedObject, params: any = {}) {\n const { cascade, withDeviceUser } = params;\n try {\n const { owner } = device;\n const shouldRemoveOwner = withDeviceUser && owner && this.isDeviceUser(owner);\n\n shouldRemoveOwner\n ? await this.deleteDeviceWithUser(device, cascade)\n : await this.inventoryService.delete(device, { cascade });\n\n const alertMessage = this.translateService.instant(gettext('Asset deleted.'));\n this.alertService.success(alertMessage);\n } catch (error) {\n const alertMessage = this.translateService.instant(gettext('Could not delete asset.'));\n this.alertService.danger(alertMessage);\n }\n }\n\n private async deactivateSmartrulesForAsset(asset: IManagedObject, parentRef: IManagedObject) {\n const { id: assetId } = asset;\n const { id: parentId } = parentRef;\n const rules: IRule[] = (await this.smartRulesService.listByContext(parentId)).data;\n\n const upateSmartrulesPromises = rules.map(rule =>\n this.smartRulesService.bulkDeactivateEnabledSources(rule, [assetId])\n );\n\n try {\n await Promise.all(upateSmartrulesPromises);\n } catch (error) {\n const alertMessage = this.translateService.instant(\n gettext('Could not deactivate smart rules.')\n );\n this.alertService.danger(alertMessage);\n }\n }\n\n private isDeviceUser(userId: string) {\n return userId.match(/^device_/);\n }\n\n private async deleteDeviceWithUser(device: IManagedObject, cascade: boolean) {\n const params = { cascade, withDeviceUser: true };\n try {\n return await this.inventoryService.delete(device, params);\n } catch (error) {\n return await this.inventoryService.delete(device, { cascade });\n }\n }\n\n private getAssetsFilters(columns: DeviceGridColumn[], pagination: Pagination, baseQuery) {\n const query = this.queriesUtil.addAndFilter(this.getQueryObj(columns), baseQuery);\n return {\n query: this.queriesUtil.buildQuery(query),\n pageSize: pagination.pageSize || this.DEFAULT_PAGE_SIZE,\n currentPage: pagination.currentPage,\n withTotalPages: true\n };\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IManagedObject, InventoryService, SmartGroupsService } from '@c8y/client';\nimport { AlertService, gettext, ModalService, Status } from '@c8y/ngx-components';\nimport { DeviceGroupService } from '@c8y/ngx-components/assets-navigator';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SubAssetsService } from './sub-assets.service';\n\n@Component({\n selector: 'c8y-group-info',\n templateUrl: './group-info.component.html'\n})\nexport class GroupInfoComponent {\n @Input() group: IManagedObject;\n @Output() onGroupChange = new EventEmitter();\n canEdit: boolean;\n groupIcon: string;\n smartGroupFilter: string;\n filterHintMsg: string;\n\n private filterMsg = gettext(\n 'Smart groups are groups dynamically constructed based on filtering criteria.'\n );\n private canEditMsg = gettext('You can edit the filter here.');\n private readonly GROUP_UPDATED_MSG = gettext('Group updated.');\n constructor(\n private inventory: InventoryService,\n private subAssetsService: SubAssetsService,\n private deviceGroupService: DeviceGroupService,\n private smartGroupsService: SmartGroupsService,\n private alertService: AlertService,\n private translate: TranslateService,\n private modalService: ModalService\n ) {}\n\n ngOnInit() {\n this.canEdit = this.smartGroupsService.isSmartGroupV2(this.group)\n ? this.subAssetsService.canEditSmartGroup()\n : this.subAssetsService.canEditGroup(this.group);\n this.groupIcon = this.deviceGroupService.icon(this.group);\n this.smartGroupFilter = this.group.c8y_DeviceQueryString;\n\n this.setHintMsg();\n }\n\n isSmartGroup() {\n return this.subAssetsService.isSmartGroup(this.group);\n }\n\n async update(partialGroup: Partial<IManagedObject>) {\n try {\n const isSmartGroup: boolean = this.subAssetsService.isSmartGroup(this.group);\n isSmartGroup\n ? await this.updateSmartGroup(partialGroup)\n : await this.updateGroup(partialGroup);\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private setHintMsg() {\n const filterMsgTranslated = this.translate.instant(this.filterMsg);\n const canEditMsgTranslated = this.translate.instant(this.canEditMsg);\n this.filterHintMsg = this.canEdit\n ? `${filterMsgTranslated} ${canEditMsgTranslated}`\n : this.filterMsg;\n }\n\n private async updateGroup(partialGroup: Partial<IManagedObject>) {\n const { id } = this.group;\n const group: Partial<IManagedObject> = { id, ...partialGroup };\n\n const updatedGroup = (await this.inventory.update(group)).data;\n this.setGroup(updatedGroup);\n }\n\n private async updateSmartGroup(partialGroup: Partial<IManagedObject>) {\n const { id } = this.group;\n const { c8y_DeviceQueryString } = partialGroup;\n const group: Partial<IManagedObject> = { id, ...partialGroup };\n let updatedGroup: IManagedObject;\n\n if (!c8y_DeviceQueryString) {\n updatedGroup = (await this.smartGroupsService.update(group)).data;\n this.setGroup(updatedGroup);\n return;\n }\n\n try {\n const modalBody = gettext(\n 'You are about to change the smart group filter. Do you want to proceed?'\n );\n const title = gettext('Smart group filter');\n await this.modalService.confirm(title, modalBody, Status.WARNING, {\n ok: gettext('Save'),\n cancel: gettext('Cancel')\n });\n\n if (!(await this.isQueryExecutable(c8y_DeviceQueryString))) {\n return;\n }\n } catch (e) {\n return;\n }\n updatedGroup = (await this.smartGroupsService.update(group)).data;\n this.setGroup(updatedGroup);\n }\n\n private setGroup(group: IManagedObject) {\n this.onGroupChange.emit(group);\n this.alertService.success(this.GROUP_UPDATED_MSG);\n }\n\n private async isQueryExecutable(query: string): Promise<boolean> {\n try {\n const filter = { q: query };\n await this.inventory.list(filter);\n return true;\n } catch (error) {\n this.alertService.addServerFailure(error);\n return false;\n }\n }\n}\n","import { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { IIdentified, IManagedObject } from '@c8y/client';\nimport { AppStateService, DisplayOptions } from '@c8y/ngx-components';\nimport { DeviceGroupService } from '@c8y/ngx-components/assets-navigator';\nimport { Subscription } from 'rxjs';\nimport { SubAssetsService } from './sub-assets.service';\n\n@Component({\n selector: 'c8y-sub-assets',\n templateUrl: './sub-assets.component.html'\n})\nexport class SubAssetsComponent implements OnInit, OnDestroy {\n currentGroupId: IIdentified;\n showChildrenForDevice: IManagedObject;\n title: string;\n toggle: boolean = false;\n showAddGroup: boolean = false;\n showAssignDevices: boolean = false;\n requestInProgress: boolean;\n group: IManagedObject;\n showGroupInfo: boolean = true;\n showAssignChildDevices: boolean = false;\n refresh: EventEmitter<any> = new EventEmitter();\n filterable: boolean = true;\n displayOptions: DisplayOptions;\n private dataSub: Subscription;\n\n constructor(\n private route: ActivatedRoute,\n private appState: AppStateService,\n private deviceGroupService: DeviceGroupService,\n private subAssetsService: SubAssetsService\n ) {\n this.dataSub = this.route.parent.data.subscribe(({ contextData }) => {\n this.title = contextData.name;\n this.currentGroupId = contextData.id;\n this.group = contextData;\n this.filterable = !this.deviceGroupService.isDynamicGroup(contextData);\n });\n }\n\n ngOnInit(): void {\n this.appState.state$.subscribe(state => {\n this.showGroupInfo = state.app.name === 'cockpit' || state.app.name === 'devicemanagement';\n });\n\n this.displayOptions = {\n striped: true,\n bordered: false,\n gridHeader: true,\n filter: !this.isSmartGroup()\n };\n }\n\n groupChange(group: IManagedObject): void {\n /**\n * Group is cached in the context-route guard. To avoid loading old data (when switching tabs) we need to update\n * this object in the cache.\n */\n Object.assign(this.group, group);\n this.title = group.name;\n this.refresh.emit();\n }\n\n isSmartGroup() {\n return this.subAssetsService.isSmartGroup(this.group);\n }\n\n ngOnDestroy(): void {\n if (this.dataSub) {\n this.dataSub.unsubscribe();\n }\n }\n}\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport {\n ConfirmModalComponent,\n gettext,\n ModalLabels,\n Status,\n StatusType\n} from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { DeleteModalCheckboxes } from './delete-assets-modal.model';\n\n@Component({\n selector: 'c8y-delete-assets-modal',\n templateUrl: './delete-assets-modal.component.html'\n})\nexport class DeleteAssetsModalComponent {\n @Input() showWithCascadeCheckbox: boolean = true;\n @Input() showWithDeviceUserCheckbox: boolean = false;\n @Input() asset: IManagedObject;\n @ViewChild('modalRef', { static: false }) modalRef: ConfirmModalComponent;\n closeSubject: Subject<DeleteModalCheckboxes> = new Subject();\n labels: ModalLabels = { ok: gettext('Delete'), cancel: gettext('Cancel') };\n title = gettext('Delete asset');\n status: StatusType = Status.DANGER;\n config: DeleteModalCheckboxes = {\n cascade: false,\n withDeviceUser: false\n };\n message: string;\n\n constructor(private translateService: TranslateService) {}\n\n ngOnInit() {\n this.message = this.translateService.instant(\n gettext(\n 'You are about to delete asset: \"{{name}}\". This operation is irreversible. Do you want to proceed?'\n ),\n { name: this.asset.name }\n );\n }\n\n async ngAfterViewInit() {\n try {\n await this.modalRef.result;\n this.onClose();\n } catch (error) {\n this.onDismiss();\n }\n }\n\n onClose() {\n this.closeSubject.next(this.config);\n this.closeSubject.complete();\n }\n\n onDismiss() {\n this.closeSubject.complete();\n }\n}\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport {\n ConfirmModalComponent,\n gettext,\n ModalLabels,\n Status,\n StatusType\n} from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\n@Component({\n selector: 'c8y-unassign-modal',\n templateUrl: './unassign-modal.component.html'\n})\nexport class UnassignModalComponent {\n @Input() asset: IManagedObject;\n @ViewChild('modalRef', { static: false }) modalRef: ConfirmModalComponent;\n message: string;\n closeSubject: Subject<boolean> = new Subject();\n labels: ModalLabels = { ok: gettext('Unassign'), cancel: gettext('Cancel') };\n title = gettext('Unassign devices');\n status: StatusType = Status.WARNING;\n\n constructor(private translateService: TranslateService) {}\n\n ngOnInit() {\n this.message = this.translateService.instant(\n gettext('You are about to unassign asset: \"{{name}}\" . Do you want to proceed?'),\n { name: this.asset.name }\n );\n }\n\n async ngAfterViewInit() {\n try {\n await this.modalRef.result;\n this.onClose();\n } catch (error) {\n this.onDismiss();\n }\n }\n\n onClose() {\n this.closeSubject.next(true);\n this.closeSubject.complete();\n }\n\n onDismiss() {\n this.closeSubject.complete();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { IManagedObject, SmartGroupsService } from '@c8y/client';\nimport {\n ActionControl,\n BuiltInActionType,\n BulkActionControl,\n DataGridComponent,\n DataSourceModifier,\n DisplayOptions,\n gettext,\n Pagination,\n Row,\n ServerSideDataResult\n} from '@c8y/ngx-components';\nimport { DeviceGridColumn } from '@c8y/ngx-components/device-grid';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { DeleteModalCheckboxes } from './delete-assets-modal';\nimport { DeleteAssetsModalComponent } from './delete-assets-modal/delete-assets-modal.component';\nimport { SubAssetsService } from './sub-assets.service';\nimport { UnassignModalComponent } from './unassign-assets-modal/unassign-modal.component';\n@Component({\n selector: 'c8y-sub-assets-grid',\n templateUrl: './sub-assets-grid.component.html'\n})\nexport class SubAssetsGridComponent implements OnInit {\n @Input('parent-group') parentGroup: IManagedObject;\n @Input() refresh: EventEmitter<any>;\n @Input() title: string = gettext('Subassets');\n @Input() emptyStateText: string = gettext(\n 'Add your first group or assign devices using the buttons on the toolbar.'\n );\n @Input() loadingItemsLabel: string = gettext('Loading assets…');\n\n get columns() {\n return this._columns;\n }\n @Input() set columns(value: DeviceGridColumn[]) {\n if (value) {\n this._columns = this.subAssetsGridService.getUserConfiguredColumns(value);\n } else {\n this._columns = this.subAssetsGridService.getUserConfiguredColumns(\n this.subAssetsGridService.getDefaultColumns()\n );\n }\n }\n @Input('pagination') set _pagination(value: Pagination) {\n if (value) {\n this.pagination = value;\n } else {\n this.pagination = this.subAssetsGridService.getDefaultPagination();\n }\n }\n @Input('actionControls') set _actionControls(value: ActionControl[]) {\n if (value) {\n this.actionControls = value;\n } else {\n this.actionControls = this.subAssetsGridService.getDefaultActionControls();\n }\n }\n @Input() selectable: boolean = false;\n @Input() baseQuery: any = {};\n @Input('bulkActionControls') set _bulkActionControls(value: BulkActionControl[]) {\n if (value) {\n this.bulkActionControls = value;\n } else {\n this.bulkActionControls = this.subAssetsGridService.getDefaultBulkActionControls();\n }\n }\n @Input() filterable: boolean = true;\n @Input() sortable: boolean = true;\n @Output() onColumnsChange: EventEmitter<DeviceGridColumn[]> = new EventEmitter<\n DeviceGridColumn[]\n >();\n @Output() itemsSelect: EventEmitter<string[]> = new EventEmitter<string[]>();\n\n pagination: Pagination = this.subAssetsGridService.getDefaultPagination();\n actionControls: ActionControl[];\n bulkActionControls: BulkActionControl[] = this.subAssetsGridService.getDefaultBulkActionControls();\n serverSideDataCallback: any;\n\n @ViewChild(DataGridComponent, { static: true })\n dataGrid: DataGridComponent;\n\n displayOptions: DisplayOptions = {\n striped: true,\n bordered: false,\n gridHeader: true,\n filter: true\n };\n\n private _columns: DeviceGridColumn[];\n\n get isRootGroup() {\n return !this.parentGroup;\n }\n\n get getInfiniteScrollMode() {\n return this.isRootGroup && this.subAssetsGridService.isUsingInventoryRoles()\n ? 'auto'\n : undefined;\n }\n\n @Input('displayOptions')\n set _displayOptions(displayOptions) {\n this.displayOptions = { ...this.displayOptions, ...displayOptions };\n }\n\n constructor(\n public subAssetsGridService: SubAssetsService,\n private bsModalService: BsModalService,\n private smartGroupsService: SmartGroupsService\n ) {\n this.serverSideDataCallback = this.onDataSourceModifier.bind(this);\n }\n\n ngOnInit() {\n this.columns = this.subAssetsGridService.getDefaultColumns(this.filterable, this.sortable);\n if (!this.filterable || !this.sortable) {\n this.columns.forEach(column => {\n column.filterable = this.filterable;\n column.sortable = this.sortable;\n });\n }\n this.setActionControls();\n }\n\n async setActionControls() {\n const actionControls: ActionControl[] = [];\n const {\n data: isMicroserviceInstalled\n } = await this.smartGroupsService.isSmartGroupsV2MicroserviceInstalled();\n\n const deleteAction: ActionControl = {\n type: BuiltInActionType.Delete,\n callback: (asset: Row) => this.onDeleteAsset(asset as IManagedObject, this.parentGroup),\n showIf: (asset: Row) => {\n if (this.smartGroupsService.isSmartGroupV2(asset as IManagedObject)) {\n return isMicroserviceInstalled ? this.subAssetsGridService.canDeleteSmartGroup() : false;\n }\n\n if (this.smartGroupsService.isSmartGroup(asset as IManagedObject)) {\n return this.subAssetsGridService.canDeleteSmartGroup();\n }\n\n return true;\n }\n };\n\n actionControls.push(deleteAction);\n\n const unassignAction: ActionControl = {\n type: 'UNASSIGN',\n icon: 'unlink',\n text: gettext('Unassign'),\n callback: (asset: Row) => this.onUnassignAsset(asset as IManagedObject, this.parentGroup),\n showIf: (asset: Row) =>\n this.subAssetsGridService.isDevice(asset as IManagedObject) &&\n !this.subAssetsGridService.isSmartGroup(this.parentGroup as IManagedObject)\n };\n\n actionControls.push(unassignAction);\n\n if (!this.actionControls) {\n this.actionControls = actionControls;\n }\n }\n\n onUnassignAsset(asset: IManagedObject, parentRef: IManagedObject) {\n const initialState = {\n asset\n };\n const modalRef = this.bsModalService.show(UnassignModalComponent, { initialState });\n\n modalRef.content.closeSubject.subscribe(async (result: boolean) => {\n if (result) {\n await this.subAssetsGridService.unassignAsset(asset, parentRef);\n this.refresh.emit();\n }\n });\n }\n\n async onDeleteAsset(asset: IManagedObject, parentRef: IManagedObject) {\n const initialState = {\n showWithDeviceUserCheckbox: this.subAssetsGridService.shouldShowWithDeviceUserCheckbox(asset),\n asset,\n showWithCascadeCheckbox:\n !this.smartGroupsService.isSmartGroup(asset) &&\n !this.smartGroupsService.isSmartGroupV2(asset)\n };\n\n const modalRef = this.bsModalService.show(DeleteAssetsModalComponent, { initialState });\n\n modalRef.content.closeSubject.subscribe(async (result: DeleteModalCheckboxes) => {\n if (result) {\n this.subAssetsGridService.uiOnlyCountersUpdate.next('DECREASE');\n await this.subAssetsGridService.deleteAsset(asset, parentRef, result);\n this.refresh.emit();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.parentGroup && !changes.parentGroup.firstChange) {\n this.dataGrid.reload();\n }\n }\n\n trackByName(_index, column: DeviceGridColumn): string {\n return column.name;\n }\n\n async onDataSourceModifier(\n dataSourceModifier: DataSourceModifier\n ): Promise<ServerSideDataResult> {\n const promises = [];\n let counters;\n\n promises.push(\n this.subAssetsGridService.getData(\n dataSourceModifier.columns,\n dataSourceModifier.pagination,\n this.parentGroup,\n this.baseQuery\n )\n );\n\n const action = this.subAssetsGridService.uiOnlyCountersUpdate.value;\n if (action) {\n counters = this.uiOnlyCountersUpdate(action);\n this.subAssetsGridService.uiOnlyCountersUpdate.next(null);\n } else {\n promises.push(this.subAssetsGridService.getTotal(this.parentGroup, this.baseQuery));\n promises.push(\n this.subAssetsGridService.getCount(\n dataSourceModifier.columns,\n dataSourceModifier.pagination,\n this.parentGroup,\n this.baseQuery\n )\n );\n }\n const [dataResponse, size, filteredSize] = await Promise.all(promises);\n if (!counters) {\n counters = {\n size,\n filteredSize\n };\n }\n this.onColumnsChange.emit(dataSourceModifier.columns);\n\n return {\n res: dataResponse.res,\n data: dataResponse.data,\n paging: dataResponse.paging,\n ...counters\n };\n }\n\n configChange(config) {\n this.subAssetsGridService.saveConfig(config);\n }\n\n // workaround since the totalPages value is cached on the BE\n private uiOnlyCountersUpdate(action: 'INCREASE' | 'DECREASE') {\n const currentAllItemsCount = this.dataGrid.filteringLabelsParams.allItemsCount;\n const currentFilteredItemsCount = this.dataGrid.filteringLabelsParams.filteredItemsCount;\n let counters;\n if (action === 'DECREASE') {\n counters = {\n size: currentAllItemsCount - 1,\n filteredSize: currentFilteredItemsCount - 1\n };\n }\n if (action === 'INCREASE') {\n counters = {\n size: currentAllItemsCount + 1,\n filteredSize: currentFilteredItemsCount + 1\n };\n }\n return counters;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { IIdentified, IManagedObject, InventoryService } from '@c8y/client';\nimport { GroupForm } from './add-group.model';\nimport { GroupFragment } from '@c8y/ngx-components/assets-navigator';\n\n@Injectable()\nexport class AddGroupService {\n private GROUP_FRAGMENT_TYPE = 'c8y_IsDeviceGroup';\n\n constructor(private inventoryService: InventoryService) {}\n\n async createGroupAndAssignDevices(\n groupForm: GroupForm,\n groupContextId: string | number,\n selectedDevices: string[]\n ): Promise<IManagedObject | IIdentified> {\n let group: IManagedObject | IIdentified;\n const { name, description } = groupForm;\n const newGroupMO = this.getGroupMO(name, description, groupContextId);\n\n if (groupContextId) {\n group = (await this.inventoryService.childAssetsCreate(newGroupMO, groupContextId)).data;\n } else {\n group = (await this.inventoryService.create(newGroupMO)).data;\n }\n\n if (selectedDevices.length > 0) {\n await this.assignDevices(group.id, selectedDevices);\n }\n\n return group;\n }\n\n private getGroupMO(\n name: string,\n description: string = '',\n groupContextId: string | number\n ): Partial<IManagedObject> {\n const group = {\n type: this.getGroupType(groupContextId),\n [this.GROUP_FRAGMENT_TYPE]: {},\n name,\n description\n };\n\n return group;\n }\n\n private getGroupType(\n groupContextId: string | number\n ): GroupFragment.subGroupType | GroupFragment.groupType {\n return groupContextId ? GroupFragment.subGroupType : GroupFragment.groupType;\n }\n\n private async assignDevices(id: string | number, selectedDevices: string[]) {\n const promises = [];\n\n selectedDevices.forEach(moId => {\n promises.push(this.inventoryService.childAssetsAdd(moId, id));\n });\n\n return await Promise.all(promises);\n }\n}\n","import {\n Component,\n Output,\n EventEmitter,\n ViewChild,\n Input,\n HostListener,\n ElementRef\n} from '@angular/core';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { C8yStepper, Pagination, AlertService, gettext } from '@c8y/ngx-components';\nimport { AddGroupService } from './add-group.service';\nimport { SubAssetsService } from '../sub-assets.service';\n\n@Component({\n selector: 'c8y-add-group',\n templateUrl: './add-group.component.html'\n})\nexport class AddGroupComponent {\n @Input() currentGroupId: string;\n @Input() refresh = new EventEmitter<any>();\n @Output() onDeviceQueryStringChange: EventEmitter<string> = new EventEmitter<string>();\n @Output() onCancel = new EventEmitter<any>();\n @ViewChild(C8yStepper, { static: false })\n stepper: C8yStepper;\n @ViewChild('nameRef', { static: false })\n nameInputRef: ElementRef;\n deviceQueryStringOutput: string;\n formGroupStepOne: FormGroup;\n pendingStatus: boolean = false;\n pagination: Pagination = { pageSize: 20, currentPage: 1 };\n selected: string[] = [];\n subscription: Subscription;\n\n readonly ITEMS_SELECT_LIMIT: number = 15;\n readonly btnLabels = {\n next: gettext('Next'),\n cancel: gettext('Cancel'),\n create: gettext('Create')\n };\n\n private nameInput: HTMLInputElement;\n\n constructor(\n protected deviceGridService: DeviceGridService,\n private fb: FormBuilder,\n private addGroupService: AddGroupService,\n private alert: AlertService,\n private subAssetsService: SubAssetsService\n ) {}\n\n @HostListener('document:keydown.enter', ['$event']) onEnterKeyDown(event: KeyboardEvent) {\n // Order matters! Needs to be placed before this.stepper.next\n if (this.stepper.selectedIndex === 1) {\n this.createGroup();\n }\n this.stepper.next();\n }\n\n @HostListener('document:keydown.escape', ['$event']) onEscapeKeyDown(event: KeyboardEvent) {\n this.onCancel.emit();\n }\n\n @HostListener('document:keydown.backspace', ['$event']) onBackspaceKeyDown(event: KeyboardEvent) {\n this.stepper.previous();\n\n setTimeout(() => {\n this.setFocusOnNameInput();\n });\n }\n\n ngOnInit() {\n this.formGroupStepOne = this.fb.group({\n name: ['', Validators.required],\n description: ['']\n });\n this.subscription = this.onCancel.subscribe(() => this.resetStepper());\n }\n\n ngAfterViewInit() {\n this.nameInput = this.nameInputRef.nativeElement as HTMLInputElement;\n this.setFocusOnNameInput();\n }\n\n async createGroup() {\n this.pendingStatus = true;\n this.subAssetsService.uiOnlyCountersUpdate.next('INCREASE');\n await this.addGroupService.createGroupAndAssignDevices(\n this.formGroupStepOne.value,\n this.currentGroupId,\n this.selected\n );\n\n this.pendingStatus = false;\n this.resetStepper();\n this.alert.success(gettext('Group created.'));\n\n this.refresh.emit();\n this.onCancel.emit();\n }\n\n onSelected(selectedDevicesIDs: string[]) {\n this.selected = selectedDevicesIDs;\n }\n\n resetStepper() {\n this.stepper.reset();\n this.stepper.selectedIndex = 1;\n this.selected = [];\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n private setFocusOnNameInput() {\n if (this.nameInput) {\n this.nameInput.focus();\n this.nameInput.select();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, HOOK_ONCE_ROUTE } from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { AddGroupComponent } from './add-group.component';\nimport { AddGroupService } from './add-group.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [AddGroupComponent],\n imports: [CoreModule, DeviceGridModule, FormsModule, ReactiveFormsModule],\n entryComponents: [AddGroupComponent],\n exports: [AddGroupComponent],\n providers: [\n {\n provide: HOOK_ONCE_ROUTE,\n useValue: [\n {\n path: 'add-group',\n component: AddGroupComponent\n }\n ],\n multi: true\n },\n AddGroupService\n ]\n})\nexport class AddGroupModule {}\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Permissions } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-groups-name',\n templateUrl: './groups.component.html'\n})\nexport class GroupsComponent implements OnInit {\n refresh: EventEmitter<any> = new EventEmitter();\n showAddGroup = false;\n filterable: boolean = false;\n sortable: boolean = true;\n\n constructor(private permissions: Permissions) {}\n\n ngOnInit() {\n if (!this.permissions.hasRole('ROLE_INVENTORY_READ')) {\n this.sortable = false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { InventoryService } from '@c8y/client';\n\n@Injectable()\nexport class AssignDevicesService {\n constructor(private inventoryService: InventoryService) {}\n\n async assignDevices(id: string | number, selectedDevices: string[]) {\n const promises = [];\n\n selectedDevices.forEach(moId => {\n promises.push(this.inventoryService.childAssetsAdd(moId, id));\n });\n\n return await Promise.all(promises);\n }\n}\n","import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';\nimport { Pagination, AlertService, gettext, ActionControl, Row } from '@c8y/ngx-components';\nimport { InventoryService } from '@c8y/client';\nimport { SubAssetsService } from '../sub-assets.service';\nimport { IManagedObject } from '@c8y/client';\nimport { QueriesUtil } from '@c8y/client';\nimport { AssignDevicesService } from './assign-devices.service';\n\n@Component({\n selector: 'c8y-assign-devices',\n templateUrl: './assign-devices.component.html'\n})\nexport class AssignDevicesComponent {\n @Input() currentGroupId: string;\n @Input() refresh = new EventEmitter<any>();\n @Output() onCancel = new EventEmitter<any>();\n @Output() onShowChildDevices = new EventEmitter<boolean>();\n @Output() selectedDevice = new EventEmitter<IManagedObject>();\n\n deviceQueryStringOutput: string;\n pendingStatus: boolean = false;\n pagination: Pagination = { pageSize: 20, currentPage: 1 };\n selected: string[] = [];\n baseQuery: any;\n canAssignDevice: boolean = false;\n actionControls: ActionControl[] = [];\n readonly isSelectable = true;\n readonly itemsSelectLimit = 15;\n private queriesUtil: QueriesUtil;\n\n constructor(private assignDevicesService: AssignDevicesService, private alert: AlertService) {\n this.queriesUtil = new QueriesUtil();\n }\n\n @HostListener('document:keydown.enter', ['$event']) onEnterKeyDown(event: KeyboardEvent) {\n if (this.selected.length > 0) {\n this.assignDevices();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onEscapeKeyDown(event: KeyboardEvent) {\n this.onCancel.emit();\n }\n\n ngOnInit() {\n this.setNotIncludedInGroupQuery();\n }\n\n setNotIncludedInGroupQuery() {\n const notIncludedInGroupQuery = { __not: { __bygroupid: this.currentGroupId } };\n this.baseQuery = notIncludedInGroupQuery;\n }\n\n setActionControls(showChildren: boolean) {\n const actionControls: ActionControl[] = [];\n const selectChildrenAction: ActionControl = {\n type: 'SELECT_CHILDREN',\n icon: 'enter-bottom',\n text: gettext('Select children'),\n callback: (asset: Row) => this.selectChildren(asset as IManagedObject),\n showIf: (asset: Row) =>\n asset.childDevices.references.length > 0\n };\n\n if (showChildren) {\n actionControls.push(selectChildrenAction);\n }\n this.actionControls = actionControls;\n this.refresh.emit();\n }\n\n async assignDevices() {\n this.pendingStatus = true;\n await this.assignDevicesService.assignDevices(this.currentGroupId, this.selected);\n this.pendingStatus = false;\n this.selected = [];\n\n this.onCancel.emit();\n this.refresh.emit();\n\n this.alert.success(gettext('Devices assigned to the group.'));\n }\n\n onSelected(selectedDevicesIDs: string[]) {\n this.selected = selectedDevicesIDs;\n }\n\n selectChildren(asset: IManagedObject) {\n this.onShowChildDevices.emit(true);\n this.selectedDevice.emit(asset);\n }\n}\n","import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { InventoryService } from '@c8y/client';\nimport { SubAssetsService } from '../sub-assets.service';\nimport { IManagedObject } from '@c8y/client';\nimport { AssignDevicesService } from './assign-devices.service';\n\n@Component({\n selector: 'c8y-assign-child-devices',\n templateUrl: './assign-child-devices.component.html'\n})\nexport class AssignChildDevicesComponent {\n @Input() currentGroupId: string;\n @Input() parentDevice: IManagedObject;\n @Output() onCancel = new EventEmitter<any>();\n @Input() refresh = new EventEmitter<any>();\n\n selected: string[] = [];\n baseQuery: any;\n pendingStatus: boolean = false;\n\n constructor(\n private alert: AlertService,\n private subAssetsService: SubAssetsService,\n private inventoryService: InventoryService,\n private assignDevicesService: AssignDevicesService\n ) {}\n\n @HostListener('document:keydown.enter', ['$event']) onEnterKeyDown(event: KeyboardEvent) {\n if (this.selected.length > 0) {\n this.assignDevices();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onEscapeKeyDown(event: KeyboardEvent) {\n this.onCancel.emit();\n }\n\n async ngOnInit() {\n this.setNotIncludedInGroupQuery();\n }\n\n setNotIncludedInGroupQuery() {\n const notIncludedInGroupQuery = { __not: { __bygroupid: this.currentGroupId } };\n this.baseQuery = notIncludedInGroupQuery;\n }\n\n async assignDevices() {\n this.pendingStatus = true;\n\n try {\n await this.assignDevicesService.assignDevices(this.currentGroupId, this.selected);\n this.refresh.emit();\n this.alert.success(gettext('Child devices assigned to the group.'));\n } catch (error) {\n this.alert.danger(gettext('Could not assign child devices to the group'), error);\n }\n this.pendingStatus = false;\n this.selected = [];\n this.onCancel.emit();\n }\n\n onSelected(selectedDevicesIDs: string[]) {\n this.selected = selectedDevicesIDs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, gettext, HOOK_ONCE_ROUTE, ViewContext } from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { AddGroupModule } from './add-group/add-group.module';\nimport { AssetTypeCellRendererComponent } from './columns/asset-type.cell-renderer.component';\nimport { DeleteAssetsModalComponent } from './delete-assets-modal/delete-assets-modal.component';\nimport { GroupInfoComponent } from './group-info.component';\nimport { GroupsComponent } from './groups.component';\nimport { SubAssetsGridComponent } from './sub-assets-grid.component';\nimport { SubAssetsComponent } from './sub-assets.component';\nimport { SubAssetsService } from './sub-assets.service';\nimport { UnassignModalComponent } from './unassign-assets-modal/unassign-modal.component';\nimport { AssignDevicesComponent } from './assign-devices/assign-devices.component';\nimport { AssignChildDevicesComponent } from './assign-devices/assign-child-devices.component';\nimport { AssignDevicesService } from './assign-devices/assign-devices.service';\n\n@NgModule({\n declarations: [\n SubAssetsComponent,\n SubAssetsGridComponent,\n AssetTypeCellRendererComponent,\n GroupsComponent,\n GroupInfoComponent,\n DeleteAssetsModalComponent,\n UnassignModalComponent,\n AssignDevicesComponent,\n AssignChildDevicesComponent\n ],\n imports: [CoreModule, DeviceGridModule, AddGroupModule, PopoverModule],\n entryComponents: [\n SubAssetsComponent,\n AssetTypeCellRendererComponent,\n GroupsComponent,\n DeleteAssetsModalComponent,\n UnassignModalComponent\n ],\n exports: [],\n providers: [\n {\n provide: HOOK_ONCE_ROUTE,\n useValue: [\n {\n context: ViewContext.Group,\n path: 'subassets',\n priority: 1000,\n icon: 'c8y-group-open',\n label: gettext('Subassets'),\n component: SubAssetsComponent\n },\n {\n path: 'group',\n component: GroupsComponent\n }\n ],\n multi: true\n },\n SubAssetsService,\n AssignDevicesService\n ]\n})\nexport class SubAssetsModule {}\n"],"names":["gettext","CellRendererContext","DeviceGroupService","Component","tslib_1.__extends","BaseDeviceGridColumn","BehaviorSubject","NameDeviceGridColumn","ModelDeviceGridColumn","SerialNumberDeviceGridColumn","RegistrationDateDeviceGridColumn","SystemIdDeviceGridColumn","ImeiDeviceGridColumn","AlarmsDeviceGridColumn","TranslateService","InventoryService","AppStateService","UserService","AssetNodeService","SmartGroupsService","SmartRulesService","AlertService","Permissions","Injectable","DeviceGridService","EventEmitter","Status","ModalService","tslib_1.__decorate","Input","Output","ActivatedRoute","Subject","ViewChild","tslib_1.__read","BsModalService","DataGridComponent","GroupFragment","Validators","FormBuilder","C8yStepper","HostListener","NgModule","CoreModule","DeviceGridModule","FormsModule","ReactiveFormsModule","HOOK_ONCE_ROUTE","QueriesUtil","ViewContext","PopoverModule"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-sub-assets.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@c8y/ngx-components/sub-assets/columns/asset-type.cell-renderer.component.ts","ng://@c8y/ngx-components/sub-assets/columns/asset-type-grid-column.ts","ng://@c8y/ngx-components/sub-assets/sub-assets.service.ts","ng://@c8y/ngx-components/sub-assets/group-info.component.ts","ng://@c8y/ngx-components/sub-assets/sub-assets.component.ts","ng://@c8y/ngx-components/sub-assets/delete-assets-modal/delete-assets-modal.component.ts","ng://@c8y/ngx-components/sub-assets/unassign-assets-modal/unassign-modal.component.ts","ng://@c8y/ngx-components/sub-assets/sub-assets-grid.component.ts","ng://@c8y/ngx-components/sub-assets/add-group/add-group.service.ts","ng://@c8y/ngx-components/sub-assets/add-group/add-group.component.ts","ng://@c8y/ngx-components/sub-assets/add-group/add-group.module.ts","ng://@c8y/ngx-components/sub-assets/groups.component.ts","ng://@c8y/ngx-components/sub-assets/assign-devices/assign-devices.service.ts","ng://@c8y/ngx-components/sub-assets/assign-devices/assign-devices.component.ts","ng://@c8y/ngx-components/sub-assets/assign-devices/assign-child-devices.component.ts","ng://@c8y/ngx-components/sub-assets/sub-assets.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { CellRendererContext, gettext } from '@c8y/ngx-components';\nimport { DeviceGroupService } from '@c8y/ngx-components/assets-navigator';\n\n@Component({\n templateUrl: './asset-type.cell-renderer.component.html'\n})\nexport class AssetTypeCellRendererComponent implements OnInit {\n groupIcon: string;\n isAnyGroup: boolean;\n isDevice: boolean;\n iconTitle: string;\n constructor(\n public context: CellRendererContext,\n private deviceGroupService: DeviceGroupService\n ) {}\n\n ngOnInit() {\n this.isAnyGroup = this.deviceGroupService.isAnyGroup(this.context.item);\n this.isDevice = this.deviceGroupService.isDevice(this.context.item);\n this.groupIcon = this.deviceGroupService.icon(this.context.item);\n this.iconTitle = this.getIconTitle(this.groupIcon);\n }\n\n private getIconTitle(icon: string) {\n switch (icon) {\n case 'c8y-group':\n return gettext('Group');\n case 'c8y-group-smart':\n return gettext('Smart group');\n case 'c8y-group-remote-inactive':\n return 'Inactive remote group';\n case 'c8y-group-remote':\n return gettext('Remote group');\n default:\n return gettext('Child device');\n }\n }\n}\n","import { gettext, ColumnDataType, ColumnConfig } from '@c8y/ngx-components';\nimport { AssetTypeCellRendererComponent } from './asset-type.cell-renderer.component';\nimport { BaseDeviceGridColumn } from '@c8y/ngx-components/device-grid';\n\nexport class AssetTypeGridColumn extends BaseDeviceGridColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n this.name = 'type';\n this.header = gettext('Type');\n this.dataType = ColumnDataType.Icon;\n this.cellRendererComponent = AssetTypeCellRendererComponent;\n this.sortable = true;\n this.sortingConfig = {\n pathSortingConfigs: [{ path: `c8y_IsDeviceGroup` }]\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n IManagedObject,\n InventoryService,\n IRule,\n QueriesUtil,\n SmartGroupsService,\n SmartRulesService,\n UserService\n} from '@c8y/client';\nimport {\n ActionControl,\n AlertService,\n AppStateService,\n BulkActionControl,\n gettext,\n Pagination,\n Permissions\n} from '@c8y/ngx-components';\nimport { AssetNodeService, DeviceGroupService } from '@c8y/ngx-components/assets-navigator';\nimport {\n AlarmsDeviceGridColumn,\n DeviceGridColumn,\n DeviceGridService,\n ImeiDeviceGridColumn,\n ModelDeviceGridColumn,\n NameDeviceGridColumn,\n RegistrationDateDeviceGridColumn,\n SerialNumberDeviceGridColumn,\n SystemIdDeviceGridColumn\n} from '@c8y/ngx-components/device-grid';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { AssetTypeGridColumn } from './columns/asset-type-grid-column';\n\n@Injectable()\nexport class SubAssetsService extends DeviceGridService {\n queriesUtil: QueriesUtil;\n uiOnlyCountersUpdate = new BehaviorSubject(null);\n protected GRID_CONFIG_DEFAULT_STORAGE_KEY = 'sub-assets-grid-config';\n private IS_DEVICE_GROUP_FRAGMENT = 'c8y_IsDeviceGroup';\n private IS_DYNAMIC_GROUP_FRAGMENT = 'c8y_IsDynamicGroup';\n\n constructor(\n protected translateService: TranslateService,\n protected inventoryService: InventoryService,\n protected appState: AppStateService,\n protected user: UserService,\n protected assetNodeService: AssetNodeService,\n protected deviceGroupService: DeviceGroupService,\n protected smartGroupsService: SmartGroupsService,\n protected smartRulesService: SmartRulesService,\n protected alertService: AlertService,\n protected permissionsService: Permissions\n ) {\n super(inventoryService, translateService);\n }\n\n getDefaultColumns(filterable: boolean = true, sortable: boolean = true): DeviceGridColumn[] {\n const defaultColumns = [\n new AssetTypeGridColumn({ sortOrder: 'desc' }),\n new NameDeviceGridColumn({ sortOrder: 'asc' }),\n new ModelDeviceGridColumn(),\n new SerialNumberDeviceGridColumn({ visible: false }),\n new RegistrationDateDeviceGridColumn({ visible: false }),\n new SystemIdDeviceGridColumn({ visible: false }),\n new ImeiDeviceGridColumn({ visible: false }),\n new AlarmsDeviceGridColumn()\n ];\n return defaultColumns;\n }\n\n getDefaultPagination(): Pagination {\n const { pagination } = this.getConfig();\n return {\n pageSize: pagination.pageSize,\n currentPage: 1\n };\n }\n\n getDefaultActionControls(): ActionControl[] {\n return [];\n }\n\n async unassignAsset(asset: IManagedObject, parentRef: IManagedObject) {\n const { id: assetId } = asset;\n const { id: parentId } = parentRef;\n\n if (this.isDevice(asset)) {\n try {\n await this.inventoryService.childAssetsRemove(assetId, parentId);\n const alertMessage = this.translateService.instant(gettext('Asset unassigned.'));\n this.alertService.success(alertMessage);\n } catch (error) {\n const alertMessage = this.translateService.instant(gettext('Could not unassign devices.'));\n this.alertService.danger(alertMessage);\n }\n await this.deactivateSmartrulesForAsset(asset, parentRef);\n }\n }\n\n isDevice(asset: IManagedObject): boolean {\n return (\n !asset.hasOwnProperty(this.IS_DEVICE_GROUP_FRAGMENT) &&\n !asset.hasOwnProperty(this.IS_DYNAMIC_GROUP_FRAGMENT)\n );\n }\n\n async deleteAsset(asset: IManagedObject, parentRef: IManagedObject, params = {}) {\n const isGroup =\n asset.hasOwnProperty(this.IS_DEVICE_GROUP_FRAGMENT) ||\n this.smartGroupsService.isSmartGroup(asset);\n\n if (isGroup) {\n await this.deleteGroup(asset, params);\n } else {\n await this.deleteDevice(asset, params);\n }\n\n if (\n parentRef &&\n !this.smartGroupsService.isSmartGroup(asset) &&\n !this.smartGroupsService.isSmartGroupV2(asset)\n ) {\n await this.deactivateSmartrulesForAsset(asset, parentRef);\n }\n }\n\n shouldShowWithDeviceUserCheckbox(asset: IManagedObject): boolean {\n const { owner, c8y_IsDevice: isRootDevice } = asset;\n const hasDeviceUserAsOwner = asset.owner && this.isDeviceUser(owner);\n\n return Boolean(isRootDevice && hasDeviceUserAsOwner);\n }\n\n getDefaultBulkActionControls(): BulkActionControl[] {\n return [];\n }\n\n async getData(\n columns: DeviceGridColumn[],\n pagination: Pagination,\n parentReference: IManagedObject,\n baseQuery: any = {}\n ) {\n const isRoot = !parentReference;\n if (isRoot) {\n const query = this.buildCombinedRootQueryFilter(columns, pagination);\n return this.assetNodeService.getRootNodes({ ...pagination, query });\n }\n const filters = {\n ...this.getAssetsFilters(columns, pagination, baseQuery),\n withParents: false\n };\n if (this.deviceGroupService.isGroup(parentReference)) {\n return this.assetNodeService.getGroupItems(parentReference.id, filters);\n }\n if (this.deviceGroupService.isDynamicGroup(parentReference)) {\n return this.assetNodeService.getDynamicGroupItems(\n parentReference.c8y_DeviceQueryString,\n filters\n );\n }\n if (this.deviceGroupService.isDevice(parentReference)) {\n return this.assetNodeService.getDeviceChildren(parentReference.id, filters);\n }\n }\n\n async getCount(\n columns: DeviceGridColumn[],\n pagination: Pagination,\n parentReference: IManagedObject,\n baseQuery: any = {}\n ): Promise<number> {\n const defaultFilters = {\n pageSize: 1,\n withChildren: false\n };\n const filters = !parentReference\n ? {\n query: this.buildCombinedRootQueryFilter(columns, pagination),\n ...defaultFilters\n }\n : {\n ...this.getAssetsFilters(columns, pagination, baseQuery),\n ...defaultFilters\n };\n return this.getAssetsStatistics(parentReference, filters);\n }\n\n getTotal(parentReference: IManagedObject, baseQuery: any = {}): Promise<number> {\n const queryFilter = this.assetNodeService.rootQueryFilter();\n const query = !parentReference\n ? this.queriesUtil.addAndFilter(queryFilter, baseQuery)\n : baseQuery;\n const filters = {\n query: this.queriesUtil.buildQuery(query),\n withChildren: false,\n withTotalPages: true,\n pageSize: 1\n };\n return this.getAssetsStatistics(parentReference, filters);\n }\n\n canEditGroup(group: IManagedObject) {\n const currentUser = this.appState.currentUser.value;\n const hasAdminRole = this.user.hasAnyRole(currentUser, ['ROLE_INVENTORY_ADMIN']);\n const isOwner = group.owner === currentUser.userName;\n return hasAdminRole || isOwner;\n }\n\n canEditSmartGroup(): boolean {\n const SMART_GROUPS_ROLES_EDIT = ['ROLE_SMARTGROUP_UPDATE', 'ROLE_SMARTGROUP_ADMIN'];\n return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_EDIT);\n }\n\n canDeleteSmartGroup(): boolean {\n const SMART_GROUPS_ROLES_DELETE = ['ROLE_SMARTGROUP_ADMIN', 'ROLE_INVENTORY_ADMIN'];\n return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_DELETE);\n }\n\n isSmartGroup(group: IManagedObject): boolean {\n return this.smartGroupsService.isSmartGroup(group) || this.smartGroupsService.isSmartGroupV2(group);\n }\n\n isUsingInventoryRoles() {\n const currentUser = this.appState.currentUser.value;\n const hasAnyInventoryRole = this.user.hasAnyRole(currentUser, [\n 'ROLE_INVENTORY_ADMIN',\n 'ROLE_INVENTORY_READ',\n 'ROLE_INVENTORY_CREATE'\n ]);\n return !hasAnyInventoryRole;\n }\n\n protected async getAssetsStatistics(\n parentReference: IManagedObject,\n filters: object\n ): Promise<number> {\n const isRoot = !parentReference;\n if (isRoot) {\n return (await this.assetNodeService.getRootNodes(filters)).paging.totalPages;\n }\n if (this.deviceGroupService.isGroup(parentReference)) {\n return (await this.assetNodeService.getGroupItems(parentReference.id, filters)).paging\n .totalPages;\n }\n if (this.deviceGroupService.isDynamicGroup(parentReference)) {\n return (await this.assetNodeService.getDynamicGroupItems(\n parentReference.c8y_DeviceQueryString,\n filters\n )).paging.totalPages;\n }\n if (this.deviceGroupService.isDevice(parentReference)) {\n return (await this.assetNodeService.getDeviceChildren(parentReference.id, filters)).paging\n .totalPages;\n }\n }\n\n protected buildCombinedRootQueryFilter(columns, pagination) {\n const queryFilter = this.assetNodeService.rootQueryFilter();\n const userQuery = this.getQueryObj(columns, pagination);\n\n const queryPart = this.queriesUtil.addOrderbys(queryFilter, userQuery.__orderby, 'append');\n const fullQuery = this.queriesUtil.addAndFilter(queryPart, userQuery.__filter);\n return this.queriesUtil.buildQuery(fullQuery);\n }\n\n private async deleteGroup(group: IManagedObject, params: any = {}) {\n const { cascade } = params;\n\n try {\n this.smartGroupsService.isSmartGroup(group) || this.smartGroupsService.isSmartGroupV2(group)\n ? await this.smartGroupsService.delete(group, { cascade })\n : await this.inventoryService.delete(group, { cascade });\n\n const alertMessage = this.translateService.instant(gettext('Asset deleted.'));\n this.alertService.success(alertMessage);\n } catch (error) {\n const alertMessage = this.translateService.instant(gettext('Could not delete asset.'));\n this.alertService.danger(alertMessage);\n }\n }\n\n private async deleteDevice(device: IManagedObject, params: any = {}) {\n const { cascade, withDeviceUser } = params;\n try {\n const { owner } = device;\n const shouldRemoveOwner = withDeviceUser && owner && this.isDeviceUser(owner);\n\n shouldRemoveOwner\n ? await this.deleteDeviceWithUser(device, cascade)\n : await this.inventoryService.delete(device, { cascade });\n\n const alertMessage = this.translateService.instant(gettext('Asset deleted.'));\n this.alertService.success(alertMessage);\n } catch (error) {\n const alertMessage = this.translateService.instant(gettext('Could not delete asset.'));\n this.alertService.danger(alertMessage);\n }\n }\n\n private async deactivateSmartrulesForAsset(asset: IManagedObject, parentRef: IManagedObject) {\n const { id: assetId } = asset;\n const { id: parentId } = parentRef;\n const rules: IRule[] = (await this.smartRulesService.listByContext(parentId)).data;\n\n const upateSmartrulesPromises = rules.map(rule =>\n this.smartRulesService.bulkDeactivateEnabledSources(rule, [assetId])\n );\n\n try {\n await Promise.all(upateSmartrulesPromises);\n } catch (error) {\n const alertMessage = this.translateService.instant(\n gettext('Could not deactivate smart rules.')\n );\n this.alertService.danger(alertMessage);\n }\n }\n\n private isDeviceUser(userId: string) {\n return userId.match(/^device_/);\n }\n\n private async deleteDeviceWithUser(device: IManagedObject, cascade: boolean) {\n const params = { cascade, withDeviceUser: true };\n try {\n return await this.inventoryService.delete(device, params);\n } catch (error) {\n return await this.inventoryService.delete(device, { cascade });\n }\n }\n\n private getAssetsFilters(columns: DeviceGridColumn[], pagination: Pagination, baseQuery) {\n const query = this.queriesUtil.addAndFilter(this.getQueryObj(columns), baseQuery);\n return {\n query: this.queriesUtil.buildQuery(query),\n pageSize: pagination.pageSize || this.DEFAULT_PAGE_SIZE,\n currentPage: pagination.currentPage,\n withTotalPages: true\n };\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IManagedObject, InventoryService, SmartGroupsService } from '@c8y/client';\nimport { AlertService, gettext, ModalService, Status } from '@c8y/ngx-components';\nimport { DeviceGroupService } from '@c8y/ngx-components/assets-navigator';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SubAssetsService } from './sub-assets.service';\n\n@Component({\n selector: 'c8y-group-info',\n templateUrl: './group-info.component.html'\n})\nexport class GroupInfoComponent {\n @Input() group: IManagedObject;\n @Output() onGroupChange = new EventEmitter();\n canEdit: boolean;\n groupIcon: string;\n smartGroupFilter: string;\n filterHintMsg: string;\n\n private filterMsg = gettext(\n 'Smart groups are groups dynamically constructed based on filtering criteria.'\n );\n private canEditMsg = gettext('You can edit the filter here.');\n private readonly GROUP_UPDATED_MSG = gettext('Group updated.');\n constructor(\n private inventory: InventoryService,\n private subAssetsService: SubAssetsService,\n private deviceGroupService: DeviceGroupService,\n private smartGroupsService: SmartGroupsService,\n private alertService: AlertService,\n private translate: TranslateService,\n private modalService: ModalService\n ) {}\n\n ngOnInit() {\n this.canEdit = this.smartGroupsService.isSmartGroupV2(this.group)\n ? this.subAssetsService.canEditSmartGroup()\n : this.subAssetsService.canEditGroup(this.group);\n this.groupIcon = this.deviceGroupService.icon(this.group);\n this.smartGroupFilter = this.group.c8y_DeviceQueryString;\n\n this.setHintMsg();\n }\n\n isSmartGroup() {\n return this.subAssetsService.isSmartGroup(this.group);\n }\n\n async update(partialGroup: Partial<IManagedObject>) {\n try {\n const isSmartGroup: boolean = this.subAssetsService.isSmartGroup(this.group);\n isSmartGroup\n ? await this.updateSmartGroup(partialGroup)\n : await this.updateGroup(partialGroup);\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private setHintMsg() {\n const filterMsgTranslated = this.translate.instant(this.filterMsg);\n const canEditMsgTranslated = this.translate.instant(this.canEditMsg);\n this.filterHintMsg = this.canEdit\n ? `${filterMsgTranslated} ${canEditMsgTranslated}`\n : this.filterMsg;\n }\n\n private async updateGroup(partialGroup: Partial<IManagedObject>) {\n const { id } = this.group;\n const group: Partial<IManagedObject> = { id, ...partialGroup };\n\n const updatedGroup = (await this.inventory.update(group)).data;\n this.setGroup(updatedGroup);\n }\n\n private async updateSmartGroup(partialGroup: Partial<IManagedObject>) {\n const { id } = this.group;\n const { c8y_DeviceQueryString } = partialGroup;\n const group: Partial<IManagedObject> = { id, ...partialGroup };\n let updatedGroup: IManagedObject;\n\n if (!c8y_DeviceQueryString) {\n updatedGroup = (await this.smartGroupsService.update(group)).data;\n this.setGroup(updatedGroup);\n return;\n }\n\n try {\n const modalBody = gettext(\n 'You are about to change the smart group filter. Do you want to proceed?'\n );\n const title = gettext('Smart group filter');\n await this.modalService.confirm(title, modalBody, Status.WARNING, {\n ok: gettext('Save'),\n cancel: gettext('Cancel')\n });\n\n if (!(await this.isQueryExecutable(c8y_DeviceQueryString))) {\n return;\n }\n } catch (e) {\n return;\n }\n updatedGroup = (await this.smartGroupsService.update(group)).data;\n this.setGroup(updatedGroup);\n }\n\n private setGroup(group: IManagedObject) {\n this.onGroupChange.emit(group);\n this.alertService.success(this.GROUP_UPDATED_MSG);\n }\n\n private async isQueryExecutable(query: string): Promise<boolean> {\n try {\n const filter = { q: query };\n await this.inventory.list(filter);\n return true;\n } catch (error) {\n this.alertService.addServerFailure(error);\n return false;\n }\n }\n}\n","import { Component, EventEmitter, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { IIdentified, IManagedObject } from '@c8y/client';\nimport { DisplayOptions } from '@c8y/ngx-components';\nimport { DeviceGroupService } from '@c8y/ngx-components/assets-navigator';\nimport { Subscription } from 'rxjs';\nimport { SubAssetsService } from './sub-assets.service';\n\n@Component({\n selector: 'c8y-sub-assets',\n templateUrl: './sub-assets.component.html'\n})\nexport class SubAssetsComponent implements OnInit, OnDestroy {\n currentGroupId: IIdentified;\n showChildrenForDevice: IManagedObject;\n title: string;\n toggle: boolean = false;\n showAddGroup: boolean = false;\n showAssignDevices: boolean = false;\n requestInProgress: boolean;\n group: IManagedObject;\n showAssignChildDevices: boolean = false;\n refresh: EventEmitter<any> = new EventEmitter();\n filterable: boolean = true;\n displayOptions: DisplayOptions;\n private dataSub: Subscription;\n\n constructor(\n private route: ActivatedRoute,\n private deviceGroupService: DeviceGroupService,\n private subAssetsService: SubAssetsService\n ) {\n this.dataSub = this.route.parent.data.subscribe(({ contextData }) => {\n this.title = contextData.name;\n this.currentGroupId = contextData.id;\n this.group = contextData;\n this.filterable = !this.deviceGroupService.isDynamicGroup(contextData);\n });\n }\n\n ngOnInit(): void {\n this.displayOptions = {\n striped: true,\n bordered: false,\n gridHeader: true,\n filter: !this.isSmartGroup()\n };\n }\n\n groupChange(group: IManagedObject): void {\n /**\n * Group is cached in the context-route guard. To avoid loading old data (when switching tabs) we need to update\n * this object in the cache.\n */\n Object.assign(this.group, group);\n this.title = group.name;\n this.refresh.emit();\n }\n\n isSmartGroup() {\n return this.subAssetsService.isSmartGroup(this.group);\n }\n\n ngOnDestroy(): void {\n if (this.dataSub) {\n this.dataSub.unsubscribe();\n }\n }\n}\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport {\n ConfirmModalComponent,\n gettext,\n ModalLabels,\n Status,\n StatusType\n} from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { DeleteModalCheckboxes } from './delete-assets-modal.model';\n\n@Component({\n selector: 'c8y-delete-assets-modal',\n templateUrl: './delete-assets-modal.component.html'\n})\nexport class DeleteAssetsModalComponent {\n @Input() showWithCascadeCheckbox: boolean = true;\n @Input() showWithDeviceUserCheckbox: boolean = false;\n @Input() asset: IManagedObject;\n @ViewChild('modalRef', { static: false }) modalRef: ConfirmModalComponent;\n closeSubject: Subject<DeleteModalCheckboxes> = new Subject();\n labels: ModalLabels = { ok: gettext('Delete'), cancel: gettext('Cancel') };\n title = gettext('Delete asset');\n status: StatusType = Status.DANGER;\n config: DeleteModalCheckboxes = {\n cascade: false,\n withDeviceUser: false\n };\n message: string;\n\n constructor(private translateService: TranslateService) {}\n\n ngOnInit() {\n this.message = this.translateService.instant(\n gettext(\n 'You are about to delete asset: \"{{name}}\". This operation is irreversible. Do you want to proceed?'\n ),\n { name: this.asset.name }\n );\n }\n\n async ngAfterViewInit() {\n try {\n await this.modalRef.result;\n this.onClose();\n } catch (error) {\n this.onDismiss();\n }\n }\n\n onClose() {\n this.closeSubject.next(this.config);\n this.closeSubject.complete();\n }\n\n onDismiss() {\n this.closeSubject.complete();\n }\n}\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport {\n ConfirmModalComponent,\n gettext,\n ModalLabels,\n Status,\n StatusType\n} from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\n@Component({\n selector: 'c8y-unassign-modal',\n templateUrl: './unassign-modal.component.html'\n})\nexport class UnassignModalComponent {\n @Input() asset: IManagedObject;\n @ViewChild('modalRef', { static: false }) modalRef: ConfirmModalComponent;\n message: string;\n closeSubject: Subject<boolean> = new Subject();\n labels: ModalLabels = { ok: gettext('Unassign'), cancel: gettext('Cancel') };\n title = gettext('Unassign devices');\n status: StatusType = Status.WARNING;\n\n constructor(private translateService: TranslateService) {}\n\n ngOnInit() {\n this.message = this.translateService.instant(\n gettext('You are about to unassign asset: \"{{name}}\" . Do you want to proceed?'),\n { name: this.asset.name }\n );\n }\n\n async ngAfterViewInit() {\n try {\n await this.modalRef.result;\n this.onClose();\n } catch (error) {\n this.onDismiss();\n }\n }\n\n onClose() {\n this.closeSubject.next(true);\n this.closeSubject.complete();\n }\n\n onDismiss() {\n this.closeSubject.complete();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { IManagedObject, SmartGroupsService } from '@c8y/client';\nimport {\n ActionControl,\n BuiltInActionType,\n BulkActionControl,\n DataGridComponent,\n DataSourceModifier,\n DisplayOptions,\n gettext,\n Pagination,\n Row,\n ServerSideDataResult\n} from '@c8y/ngx-components';\nimport { DeviceGridColumn } from '@c8y/ngx-components/device-grid';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { DeleteModalCheckboxes } from './delete-assets-modal';\nimport { DeleteAssetsModalComponent } from './delete-assets-modal/delete-assets-modal.component';\nimport { SubAssetsService } from './sub-assets.service';\nimport { UnassignModalComponent } from './unassign-assets-modal/unassign-modal.component';\n@Component({\n selector: 'c8y-sub-assets-grid',\n templateUrl: './sub-assets-grid.component.html'\n})\nexport class SubAssetsGridComponent implements OnInit {\n @Input('parent-group') parentGroup: IManagedObject;\n @Input() refresh: EventEmitter<any>;\n @Input() title: string = gettext('Subassets');\n @Input() emptyStateText: string = gettext(\n 'Add your first group or assign devices using the buttons on the toolbar.'\n );\n @Input() loadingItemsLabel: string = gettext('Loading assets…');\n\n get columns() {\n return this._columns;\n }\n @Input() set columns(value: DeviceGridColumn[]) {\n if (value) {\n this._columns = this.subAssetsGridService.getUserConfiguredColumns(value);\n } else {\n this._columns = this.subAssetsGridService.getUserConfiguredColumns(\n this.subAssetsGridService.getDefaultColumns()\n );\n }\n }\n @Input('pagination') set _pagination(value: Pagination) {\n if (value) {\n this.pagination = value;\n } else {\n this.pagination = this.subAssetsGridService.getDefaultPagination();\n }\n }\n @Input('actionControls') set _actionControls(value: ActionControl[]) {\n if (value) {\n this.actionControls = value;\n } else {\n this.actionControls = this.subAssetsGridService.getDefaultActionControls();\n }\n }\n @Input() selectable: boolean = false;\n @Input() baseQuery: any = {};\n @Input('bulkActionControls') set _bulkActionControls(value: BulkActionControl[]) {\n if (value) {\n this.bulkActionControls = value;\n } else {\n this.bulkActionControls = this.subAssetsGridService.getDefaultBulkActionControls();\n }\n }\n @Input() filterable: boolean = true;\n @Input() sortable: boolean = true;\n @Output() onColumnsChange: EventEmitter<DeviceGridColumn[]> = new EventEmitter<\n DeviceGridColumn[]\n >();\n @Output() itemsSelect: EventEmitter<string[]> = new EventEmitter<string[]>();\n\n pagination: Pagination = this.subAssetsGridService.getDefaultPagination();\n actionControls: ActionControl[];\n bulkActionControls: BulkActionControl[] = this.subAssetsGridService.getDefaultBulkActionControls();\n serverSideDataCallback: any;\n\n @ViewChild(DataGridComponent, { static: true })\n dataGrid: DataGridComponent;\n\n displayOptions: DisplayOptions = {\n striped: true,\n bordered: false,\n gridHeader: true,\n filter: true\n };\n\n private _columns: DeviceGridColumn[];\n\n get isRootGroup() {\n return !this.parentGroup;\n }\n\n get getInfiniteScrollMode() {\n return this.isRootGroup && this.subAssetsGridService.isUsingInventoryRoles()\n ? 'auto'\n : undefined;\n }\n\n @Input('displayOptions')\n set _displayOptions(displayOptions) {\n this.displayOptions = { ...this.displayOptions, ...displayOptions };\n }\n\n constructor(\n public subAssetsGridService: SubAssetsService,\n private bsModalService: BsModalService,\n private smartGroupsService: SmartGroupsService\n ) {\n this.serverSideDataCallback = this.onDataSourceModifier.bind(this);\n }\n\n ngOnInit() {\n this.columns = this.subAssetsGridService.getDefaultColumns(this.filterable, this.sortable);\n if (!this.filterable || !this.sortable) {\n this.columns.forEach(column => {\n column.filterable = this.filterable;\n column.sortable = this.sortable;\n });\n }\n this.setActionControls();\n }\n\n async setActionControls() {\n const actionControls: ActionControl[] = [];\n const {\n data: isMicroserviceInstalled\n } = await this.smartGroupsService.isSmartGroupsV2MicroserviceInstalled();\n\n const deleteAction: ActionControl = {\n type: BuiltInActionType.Delete,\n callback: (asset: Row) => this.onDeleteAsset(asset as IManagedObject, this.parentGroup),\n showIf: (asset: Row) => {\n if (this.smartGroupsService.isSmartGroupV2(asset as IManagedObject)) {\n return isMicroserviceInstalled ? this.subAssetsGridService.canDeleteSmartGroup() : false;\n }\n\n if (this.smartGroupsService.isSmartGroup(asset as IManagedObject)) {\n return this.subAssetsGridService.canDeleteSmartGroup();\n }\n\n return true;\n }\n };\n\n actionControls.push(deleteAction);\n\n const unassignAction: ActionControl = {\n type: 'UNASSIGN',\n icon: 'unlink',\n text: gettext('Unassign'),\n callback: (asset: Row) => this.onUnassignAsset(asset as IManagedObject, this.parentGroup),\n showIf: (asset: Row) =>\n this.subAssetsGridService.isDevice(asset as IManagedObject) &&\n !this.subAssetsGridService.isSmartGroup(this.parentGroup as IManagedObject)\n };\n\n actionControls.push(unassignAction);\n\n if (!this.actionControls) {\n this.actionControls = actionControls;\n }\n }\n\n onUnassignAsset(asset: IManagedObject, parentRef: IManagedObject) {\n const initialState = {\n asset\n };\n const modalRef = this.bsModalService.show(UnassignModalComponent, { initialState });\n\n modalRef.content.closeSubject.subscribe(async (result: boolean) => {\n if (result) {\n await this.subAssetsGridService.unassignAsset(asset, parentRef);\n this.refresh.emit();\n }\n });\n }\n\n async onDeleteAsset(asset: IManagedObject, parentRef: IManagedObject) {\n const initialState = {\n showWithDeviceUserCheckbox: this.subAssetsGridService.shouldShowWithDeviceUserCheckbox(asset),\n asset,\n showWithCascadeCheckbox:\n !this.smartGroupsService.isSmartGroup(asset) &&\n !this.smartGroupsService.isSmartGroupV2(asset)\n };\n\n const modalRef = this.bsModalService.show(DeleteAssetsModalComponent, { initialState });\n\n modalRef.content.closeSubject.subscribe(async (result: DeleteModalCheckboxes) => {\n if (result) {\n this.subAssetsGridService.uiOnlyCountersUpdate.next('DECREASE');\n await this.subAssetsGridService.deleteAsset(asset, parentRef, result);\n this.refresh.emit();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.parentGroup && !changes.parentGroup.firstChange) {\n this.dataGrid.reload();\n }\n }\n\n trackByName(_index, column: DeviceGridColumn): string {\n return column.name;\n }\n\n async onDataSourceModifier(\n dataSourceModifier: DataSourceModifier\n ): Promise<ServerSideDataResult> {\n const promises = [];\n let counters;\n\n promises.push(\n this.subAssetsGridService.getData(\n dataSourceModifier.columns,\n dataSourceModifier.pagination,\n this.parentGroup,\n this.baseQuery\n )\n );\n\n const action = this.subAssetsGridService.uiOnlyCountersUpdate.value;\n if (action) {\n counters = this.uiOnlyCountersUpdate(action);\n this.subAssetsGridService.uiOnlyCountersUpdate.next(null);\n } else {\n promises.push(this.subAssetsGridService.getTotal(this.parentGroup, this.baseQuery));\n promises.push(\n this.subAssetsGridService.getCount(\n dataSourceModifier.columns,\n dataSourceModifier.pagination,\n this.parentGroup,\n this.baseQuery\n )\n );\n }\n const [dataResponse, size, filteredSize] = await Promise.all(promises);\n if (!counters) {\n counters = {\n size,\n filteredSize\n };\n }\n this.onColumnsChange.emit(dataSourceModifier.columns);\n\n return {\n res: dataResponse.res,\n data: dataResponse.data,\n paging: dataResponse.paging,\n ...counters\n };\n }\n\n configChange(config) {\n this.subAssetsGridService.saveConfig(config);\n }\n\n // workaround since the totalPages value is cached on the BE\n private uiOnlyCountersUpdate(action: 'INCREASE' | 'DECREASE') {\n const currentAllItemsCount = this.dataGrid.filteringLabelsParams.allItemsCount;\n const currentFilteredItemsCount = this.dataGrid.filteringLabelsParams.filteredItemsCount;\n let counters;\n if (action === 'DECREASE') {\n counters = {\n size: currentAllItemsCount - 1,\n filteredSize: currentFilteredItemsCount - 1\n };\n }\n if (action === 'INCREASE') {\n counters = {\n size: currentAllItemsCount + 1,\n filteredSize: currentFilteredItemsCount + 1\n };\n }\n return counters;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { IIdentified, IManagedObject, InventoryService } from '@c8y/client';\nimport { GroupForm } from './add-group.model';\nimport { GroupFragment } from '@c8y/ngx-components/assets-navigator';\n\n@Injectable()\nexport class AddGroupService {\n private GROUP_FRAGMENT_TYPE = 'c8y_IsDeviceGroup';\n\n constructor(private inventoryService: InventoryService) {}\n\n async createGroupAndAssignDevices(\n groupForm: GroupForm,\n groupContextId: string | number,\n selectedDevices: string[]\n ): Promise<IManagedObject | IIdentified> {\n let group: IManagedObject | IIdentified;\n const { name, description } = groupForm;\n const newGroupMO = this.getGroupMO(name, description, groupContextId);\n\n if (groupContextId) {\n group = (await this.inventoryService.childAssetsCreate(newGroupMO, groupContextId)).data;\n } else {\n group = (await this.inventoryService.create(newGroupMO)).data;\n }\n\n if (selectedDevices.length > 0) {\n await this.assignDevices(group.id, selectedDevices);\n }\n\n return group;\n }\n\n private getGroupMO(\n name: string,\n description: string = '',\n groupContextId: string | number\n ): Partial<IManagedObject> {\n const group = {\n type: this.getGroupType(groupContextId),\n [this.GROUP_FRAGMENT_TYPE]: {},\n name,\n description\n };\n\n return group;\n }\n\n private getGroupType(\n groupContextId: string | number\n ): GroupFragment.subGroupType | GroupFragment.groupType {\n return groupContextId ? GroupFragment.subGroupType : GroupFragment.groupType;\n }\n\n private async assignDevices(id: string | number, selectedDevices: string[]) {\n const promises = [];\n\n selectedDevices.forEach(moId => {\n promises.push(this.inventoryService.childAssetsAdd(moId, id));\n });\n\n return await Promise.all(promises);\n }\n}\n","import {\n Component,\n Output,\n EventEmitter,\n ViewChild,\n Input,\n HostListener,\n ElementRef\n} from '@angular/core';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { C8yStepper, Pagination, AlertService, gettext } from '@c8y/ngx-components';\nimport { AddGroupService } from './add-group.service';\nimport { SubAssetsService } from '../sub-assets.service';\n\n@Component({\n selector: 'c8y-add-group',\n templateUrl: './add-group.component.html'\n})\nexport class AddGroupComponent {\n @Input() currentGroupId: string;\n @Input() refresh = new EventEmitter<any>();\n @Output() onDeviceQueryStringChange: EventEmitter<string> = new EventEmitter<string>();\n @Output() onCancel = new EventEmitter<any>();\n @ViewChild(C8yStepper, { static: false })\n stepper: C8yStepper;\n @ViewChild('nameRef', { static: false })\n nameInputRef: ElementRef;\n deviceQueryStringOutput: string;\n formGroupStepOne: FormGroup;\n pendingStatus: boolean = false;\n pagination: Pagination = { pageSize: 20, currentPage: 1 };\n selected: string[] = [];\n subscription: Subscription;\n\n readonly ITEMS_SELECT_LIMIT: number = 15;\n readonly btnLabels = {\n next: gettext('Next'),\n cancel: gettext('Cancel'),\n create: gettext('Create')\n };\n\n private nameInput: HTMLInputElement;\n\n constructor(\n protected deviceGridService: DeviceGridService,\n private fb: FormBuilder,\n private addGroupService: AddGroupService,\n private alert: AlertService,\n private subAssetsService: SubAssetsService\n ) {}\n\n @HostListener('document:keydown.enter', ['$event']) onEnterKeyDown(event: KeyboardEvent) {\n // Order matters! Needs to be placed before this.stepper.next\n if (this.stepper.selectedIndex === 1) {\n this.createGroup();\n }\n this.stepper.next();\n }\n\n @HostListener('document:keydown.escape', ['$event']) onEscapeKeyDown(event: KeyboardEvent) {\n this.onCancel.emit();\n }\n\n @HostListener('document:keydown.backspace', ['$event']) onBackspaceKeyDown(event: KeyboardEvent) {\n this.stepper.previous();\n\n setTimeout(() => {\n this.setFocusOnNameInput();\n });\n }\n\n ngOnInit() {\n this.formGroupStepOne = this.fb.group({\n name: ['', Validators.required],\n description: ['']\n });\n this.subscription = this.onCancel.subscribe(() => this.resetStepper());\n }\n\n ngAfterViewInit() {\n this.nameInput = this.nameInputRef.nativeElement as HTMLInputElement;\n this.setFocusOnNameInput();\n }\n\n async createGroup() {\n this.pendingStatus = true;\n this.subAssetsService.uiOnlyCountersUpdate.next('INCREASE');\n await this.addGroupService.createGroupAndAssignDevices(\n this.formGroupStepOne.value,\n this.currentGroupId,\n this.selected\n );\n\n this.pendingStatus = false;\n this.resetStepper();\n this.alert.success(gettext('Group created.'));\n\n this.refresh.emit();\n this.onCancel.emit();\n }\n\n onSelected(selectedDevicesIDs: string[]) {\n this.selected = selectedDevicesIDs;\n }\n\n resetStepper() {\n this.stepper.reset();\n this.stepper.selectedIndex = 1;\n this.selected = [];\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n private setFocusOnNameInput() {\n if (this.nameInput) {\n this.nameInput.focus();\n this.nameInput.select();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, HOOK_ONCE_ROUTE } from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { AddGroupComponent } from './add-group.component';\nimport { AddGroupService } from './add-group.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [AddGroupComponent],\n imports: [CoreModule, DeviceGridModule, FormsModule, ReactiveFormsModule],\n entryComponents: [AddGroupComponent],\n exports: [AddGroupComponent],\n providers: [\n {\n provide: HOOK_ONCE_ROUTE,\n useValue: [\n {\n path: 'add-group',\n component: AddGroupComponent\n }\n ],\n multi: true\n },\n AddGroupService\n ]\n})\nexport class AddGroupModule {}\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Permissions } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-groups-name',\n templateUrl: './groups.component.html'\n})\nexport class GroupsComponent implements OnInit {\n refresh: EventEmitter<any> = new EventEmitter();\n showAddGroup = false;\n filterable: boolean = false;\n sortable: boolean = true;\n\n constructor(private permissions: Permissions) {}\n\n ngOnInit() {\n if (!this.permissions.hasRole('ROLE_INVENTORY_READ')) {\n this.sortable = false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { InventoryService } from '@c8y/client';\n\n@Injectable()\nexport class AssignDevicesService {\n constructor(private inventoryService: InventoryService) {}\n\n async assignDevices(id: string | number, selectedDevices: string[]) {\n const promises = [];\n\n selectedDevices.forEach(moId => {\n promises.push(this.inventoryService.childAssetsAdd(moId, id));\n });\n\n return await Promise.all(promises);\n }\n}\n","import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';\nimport { Pagination, AlertService, gettext, ActionControl, Row } from '@c8y/ngx-components';\nimport { InventoryService } from '@c8y/client';\nimport { SubAssetsService } from '../sub-assets.service';\nimport { IManagedObject } from '@c8y/client';\nimport { QueriesUtil } from '@c8y/client';\nimport { AssignDevicesService } from './assign-devices.service';\n\n@Component({\n selector: 'c8y-assign-devices',\n templateUrl: './assign-devices.component.html'\n})\nexport class AssignDevicesComponent {\n @Input() currentGroupId: string;\n @Input() refresh = new EventEmitter<any>();\n @Output() onCancel = new EventEmitter<any>();\n @Output() onShowChildDevices = new EventEmitter<boolean>();\n @Output() selectedDevice = new EventEmitter<IManagedObject>();\n\n deviceQueryStringOutput: string;\n pendingStatus: boolean = false;\n pagination: Pagination = { pageSize: 20, currentPage: 1 };\n selected: string[] = [];\n baseQuery: any;\n canAssignDevice: boolean = false;\n actionControls: ActionControl[] = [];\n readonly isSelectable = true;\n readonly itemsSelectLimit = 15;\n private queriesUtil: QueriesUtil;\n\n constructor(private assignDevicesService: AssignDevicesService, private alert: AlertService) {\n this.queriesUtil = new QueriesUtil();\n }\n\n @HostListener('document:keydown.enter', ['$event']) onEnterKeyDown(event: KeyboardEvent) {\n if (this.selected.length > 0) {\n this.assignDevices();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onEscapeKeyDown(event: KeyboardEvent) {\n this.onCancel.emit();\n }\n\n ngOnInit() {\n this.setNotIncludedInGroupQuery();\n }\n\n setNotIncludedInGroupQuery() {\n const notIncludedInGroupQuery = { __not: { __bygroupid: this.currentGroupId } };\n this.baseQuery = notIncludedInGroupQuery;\n }\n\n setActionControls(showChildren: boolean) {\n const actionControls: ActionControl[] = [];\n const selectChildrenAction: ActionControl = {\n type: 'SELECT_CHILDREN',\n icon: 'enter-bottom',\n text: gettext('Select children'),\n callback: (asset: Row) => this.selectChildren(asset as IManagedObject),\n showIf: (asset: Row) =>\n asset.childDevices.references.length > 0\n };\n\n if (showChildren) {\n actionControls.push(selectChildrenAction);\n }\n this.actionControls = actionControls;\n this.refresh.emit();\n }\n\n async assignDevices() {\n this.pendingStatus = true;\n await this.assignDevicesService.assignDevices(this.currentGroupId, this.selected);\n this.pendingStatus = false;\n this.selected = [];\n\n this.onCancel.emit();\n this.refresh.emit();\n\n this.alert.success(gettext('Devices assigned to the group.'));\n }\n\n onSelected(selectedDevicesIDs: string[]) {\n this.selected = selectedDevicesIDs;\n }\n\n selectChildren(asset: IManagedObject) {\n this.onShowChildDevices.emit(true);\n this.selectedDevice.emit(asset);\n }\n}\n","import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';\nimport { AlertService, gettext } from '@c8y/ngx-components';\nimport { InventoryService } from '@c8y/client';\nimport { SubAssetsService } from '../sub-assets.service';\nimport { IManagedObject } from '@c8y/client';\nimport { AssignDevicesService } from './assign-devices.service';\n\n@Component({\n selector: 'c8y-assign-child-devices',\n templateUrl: './assign-child-devices.component.html'\n})\nexport class AssignChildDevicesComponent {\n @Input() currentGroupId: string;\n @Input() parentDevice: IManagedObject;\n @Output() onCancel = new EventEmitter<any>();\n @Input() refresh = new EventEmitter<any>();\n\n selected: string[] = [];\n baseQuery: any;\n pendingStatus: boolean = false;\n\n constructor(\n private alert: AlertService,\n private subAssetsService: SubAssetsService,\n private inventoryService: InventoryService,\n private assignDevicesService: AssignDevicesService\n ) {}\n\n @HostListener('document:keydown.enter', ['$event']) onEnterKeyDown(event: KeyboardEvent) {\n if (this.selected.length > 0) {\n this.assignDevices();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onEscapeKeyDown(event: KeyboardEvent) {\n this.onCancel.emit();\n }\n\n async ngOnInit() {\n this.setNotIncludedInGroupQuery();\n }\n\n setNotIncludedInGroupQuery() {\n const notIncludedInGroupQuery = { __not: { __bygroupid: this.currentGroupId } };\n this.baseQuery = notIncludedInGroupQuery;\n }\n\n async assignDevices() {\n this.pendingStatus = true;\n\n try {\n await this.assignDevicesService.assignDevices(this.currentGroupId, this.selected);\n this.refresh.emit();\n this.alert.success(gettext('Child devices assigned to the group.'));\n } catch (error) {\n this.alert.danger(gettext('Could not assign child devices to the group'), error);\n }\n this.pendingStatus = false;\n this.selected = [];\n this.onCancel.emit();\n }\n\n onSelected(selectedDevicesIDs: string[]) {\n this.selected = selectedDevicesIDs;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, gettext, HOOK_ONCE_ROUTE, ViewContext } from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { AddGroupModule } from './add-group/add-group.module';\nimport { AssetTypeCellRendererComponent } from './columns/asset-type.cell-renderer.component';\nimport { DeleteAssetsModalComponent } from './delete-assets-modal/delete-assets-modal.component';\nimport { GroupInfoComponent } from './group-info.component';\nimport { GroupsComponent } from './groups.component';\nimport { SubAssetsGridComponent } from './sub-assets-grid.component';\nimport { SubAssetsComponent } from './sub-assets.component';\nimport { SubAssetsService } from './sub-assets.service';\nimport { UnassignModalComponent } from './unassign-assets-modal/unassign-modal.component';\nimport { AssignDevicesComponent } from './assign-devices/assign-devices.component';\nimport { AssignChildDevicesComponent } from './assign-devices/assign-child-devices.component';\nimport { AssignDevicesService } from './assign-devices/assign-devices.service';\n\n@NgModule({\n declarations: [\n SubAssetsComponent,\n SubAssetsGridComponent,\n AssetTypeCellRendererComponent,\n GroupsComponent,\n GroupInfoComponent,\n DeleteAssetsModalComponent,\n UnassignModalComponent,\n AssignDevicesComponent,\n AssignChildDevicesComponent\n ],\n imports: [CoreModule, DeviceGridModule, AddGroupModule, PopoverModule],\n entryComponents: [\n SubAssetsComponent,\n AssetTypeCellRendererComponent,\n GroupsComponent,\n DeleteAssetsModalComponent,\n UnassignModalComponent\n ],\n exports: [],\n providers: [\n {\n provide: HOOK_ONCE_ROUTE,\n useValue: [\n {\n context: ViewContext.Group,\n path: 'subassets',\n priority: 1000,\n icon: 'c8y-group-open',\n label: gettext('Subassets'),\n component: SubAssetsComponent\n },\n {\n path: 'group',\n component: GroupsComponent\n }\n ],\n multi: true\n },\n SubAssetsService,\n AssignDevicesService\n ]\n})\nexport class SubAssetsModule {}\n"],"names":["gettext","CellRendererContext","DeviceGroupService","Component","tslib_1.__extends","BaseDeviceGridColumn","BehaviorSubject","NameDeviceGridColumn","ModelDeviceGridColumn","SerialNumberDeviceGridColumn","RegistrationDateDeviceGridColumn","SystemIdDeviceGridColumn","ImeiDeviceGridColumn","AlarmsDeviceGridColumn","TranslateService","InventoryService","AppStateService","UserService","AssetNodeService","SmartGroupsService","SmartRulesService","AlertService","Permissions","Injectable","DeviceGridService","EventEmitter","Status","ModalService","tslib_1.__decorate","Input","Output","ActivatedRoute","Subject","ViewChild","tslib_1.__read","BsModalService","DataGridComponent","GroupFragment","Validators","FormBuilder","C8yStepper","HostListener","NgModule","CoreModule","DeviceGridModule","FormsModule","ReactiveFormsModule","HOOK_ONCE_ROUTE","QueriesUtil","ViewContext","PopoverModule"],"mappings":"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"}