@c8y/ngx-components 1011.0.34 → 1011.0.36

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ngx-components",
3
- "version": "1011.0.34",
3
+ "version": "1011.0.36",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "Angular modules for Cumulocity IoT applications",
@@ -23,7 +23,7 @@
23
23
  "rxjs": "~6.6.3"
24
24
  },
25
25
  "dependencies": {
26
- "@c8y/client": "1011.0.34",
26
+ "@c8y/client": "1011.0.36",
27
27
  "@ngx-translate/core": "13.0.0",
28
28
  "@ngx-translate/http-loader": "4.0.0",
29
29
  "@ngx-formly/core": "5.10.6",
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"exports":[{"from":"./unassign-modal.component"},{"from":"./delete-assets-modal.model"},{"from":"./add-group.service"},{"from":"./add-group.model"}],"metadata":{"GroupInfoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"c8y-group-info","template":"<div class=\"bg-gray-white\">\n <div class=\"card-block p-t-24 p-b-24 large-padding\">\n <div class=\"content-flex-70\">\n <div class=\"text-center\">\n <i class=\"c8y-icon-duocolor icon-48\" [c8yIcon]=\"groupIcon + '-open'\"></i>\n <p>\n <small class=\"label label-info\" *ngIf=\"group.c8y_IsDynamicGroup\">\n {{ 'Smart group' | translate }}\n </small>\n <small\n class=\"label label-info\"\n *ngIf=\"!group.c8y_IsDynamicGroup && !group.com_cumulocity_model_Agent\"\n >\n {{ 'Group' | translate }}\n </small>\n <small class=\"label label-info\" *ngIf=\"group.com_cumulocity_model_Agent\">\n {{ 'Remote group' | translate }}\n </small>\n </p>\n </div>\n\n <div class=\"flex-grow col-10\">\n <div class=\"content-flex-80\">\n <div class=\"col-9\">\n <form #groupNameForm=\"ngForm\">\n <c8y-form-group class=\"form-group-lg m-b-0\">\n <label class=\"sr-only\" translate>\n Name\n </label>\n\n <p *ngIf=\"!canEdit\" class=\"form-control-static\">{{ group.name }}</p>\n <div *ngIf=\"canEdit\" class=\"input-group input-group-editable\">\n <input\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"group.name\"\n name=\"name\"\n title=\"{{ 'Name' | translate }}\"\n size=\"{{ group.name.length + 2 }}\"\n placeholder=\"{{ 'e.g. My group' | translate }}\"\n maxlength=\"254\"\n required\n />\n <span></span>\n <div class=\"input-group-btn\">\n <button\n (click)=\"update({ name: group.name }); groupNameForm.form.markAsPristine()\"\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n [disabled]=\"groupNameForm.form.invalid\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </c8y-form-group>\n </form>\n <form #groupDescriptionForm=\"ngForm\">\n <label class=\"sr-only\" translate>\n Description\n </label>\n <p *ngIf=\"!canEdit\" class=\"form-control-static\">{{ group.c8y_Notes }}</p>\n <div *ngIf=\"canEdit\" class=\"input-group input-group-editable\">\n <textarea\n class=\"form-control\"\n [(ngModel)]=\"group.c8y_Notes\"\n name=\"description\"\n title=\"{{ 'Description' | translate }}\"\n cols=\"{{ group.c8y_Notes ? group.c8y_Notes.length : 25 }}\"\n placeholder=\"{{ 'e.g. My description' | translate }}\"\n ></textarea>\n <span></span>\n <div class=\"input-group-btn\">\n <button\n (click)=\"\n update({ c8y_Notes: group.c8y_Notes });\n groupDescriptionForm.form.markAsPristine()\n \"\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n [disabled]=\"groupDescriptionForm.form.invalid\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </form>\n\n <form #smartGroupFilterForm=\"ngForm\" *ngIf=\"isSmartGroup()\">\n <c8y-form-group class=\"m-b-0 m-t-8\">\n <label class=\"m-b-0 text-nowrap\">\n {{ 'Smart group filter' | translate }}\n <button\n class=\"btn-clean text-primary m-r-4\"\n type=\"button\"\n popover=\"{{ filterHintMsg | translate }}\"\n triggers=\"focus\"\n >\n <i c8yIcon=\"question-circle-o\"></i>\n </button>\n </label>\n\n <p *ngIf=\"!canEdit\" class=\"form-control-static\">\n {{ smartGroupFilter }}\n </p>\n <div *ngIf=\"canEdit\" class=\"input-group input-group-editable\">\n <input\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"smartGroupFilter\"\n name=\"filter\"\n size=\"{{ smartGroupFilter.length + 2 }}\"\n placeholder=\"{{ 'e.g.' | translate }} $filter=(id eq '12*')\"\n maxlength=\"254\"\n title=\"{{ 'Smart group filter' | translate }}\"\n />\n <span></span>\n <div class=\"input-group-btn\">\n <button\n (click)=\"\n update({ c8y_DeviceQueryString: smartGroupFilter });\n smartGroupFilterForm.form.markAsPristine()\n \"\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n [disabled]=\"smartGroupFilterForm.form.invalid\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </c8y-form-group>\n </form>\n </div>\n <div class=\"flex-grow\">\n <p class=\"m-b-8\">\n <i c8yIcon=\"info-circle\" class=\"text-info m-r-8\"></i>\n <span class=\"text-label-small\">{{ 'Group info' | translate }}</span>\n </p>\n <ul class=\"list-unstyled small\">\n <li class=\"p-t-4 p-b-4 flex-row separator-top-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Created' | translate }}</label>\n <span class=\"flex-item-right\">{{ group.creationTime | c8yDate }}</span>\n </li>\n <li class=\"p-t-4 p-b-4 flex-row separator-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Last updated' | translate }}</label>\n <span class=\"flex-item-right\">{{ group.lastUpdated | c8yDate }}</span>\n </li>\n\n <li\n *ngIf=\"group.com_cumulocity_model_Agent\"\n class=\"p-t-4 p-b-4 flex-row separator-bottom text-nowrap\"\n >\n <label class=\"small m-b-0 m-r-8\">{{ 'Status' | translate }}</label>\n <span class=\"flex-item-right\" *ngIf=\"group.c8y_BrokerSource\">\n {{ group.c8y_BrokerSource.status }}\n </span>\n <span class=\"flex-item-right\" *ngIf=\"!group.c8y_BrokerSource\">\n {{ 'Offline' | translate }}\n </span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n"}]}],"members":{"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"onGroupChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":25,"character":23},{"__symbolic":"reference","name":"SubAssetsService"},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"DeviceGroupService","line":27,"character":32},{"__symbolic":"reference","module":"@c8y/client","name":"SmartGroupsService","line":28,"character":32},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":29,"character":26},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":30,"character":23},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalService","line":31,"character":26}]}],"ngOnInit":[{"__symbolic":"method"}],"isSmartGroup":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"setHintMsg":[{"__symbolic":"method"}],"updateGroup":[{"__symbolic":"method"}],"updateSmartGroup":[{"__symbolic":"method"}],"setGroup":[{"__symbolic":"method"}],"isQueryExecutable":[{"__symbolic":"method"}]}},"SubAssetsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"c8y-sub-assets","template":"<c8y-title>\n {{ title }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"!isSmartGroup()\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add group' | translate }}\"\n (click)=\"showAddGroup = !showAddGroup\"\n [disabled]=\"shouldDisableAddGroup\"\n >\n <i c8yIcon=\"plus-circle\" class=\"m-r-4\"></i><span translate>Add group</span>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"!isSmartGroup()\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Assign devices' | translate }}\"\n (click)=\"showAssignDevices = !showAssignDevices\"\n [disabled]=\"shouldDisableAssignDevices\"\n >\n <i c8yIcon=\"plus-circle\" class=\"m-r-4\"></i><span translate>Assign devices</span>\n </button>\n</c8y-action-bar-item>\n\n<div class=\"card content-fullpage d-flex d-col\">\n <c8y-group-info\n *ngIf=\"showGroupInfo\"\n [group]=\"group\"\n (onGroupChange)=\"groupChange($event)\"\n ></c8y-group-info>\n <c8y-sub-assets-grid\n [refresh]=\"refresh\"\n [parent-group]=\"group\"\n [filterable]=\"filterable\"\n [displayOptions]=\"displayOptions\"\n class=\"d-contents\"\n ></c8y-sub-assets-grid>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAddGroup }\">\n <div class=\"bottom-drawer\">\n <c8y-add-group\n [currentGroupId]=\"currentGroupId\"\n [refresh]=\"refresh\"\n (onCancel)=\"showAddGroup = false\"\n *ngIf=\"showAddGroup\"\n ></c8y-add-group>\n </div>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAssignDevices }\">\n <div class=\"bottom-drawer\">\n <div class=\"d-flex d-col no-align-items fit-h\">\n <c8y-assign-devices\n class=\"d-contents\"\n (onCancel)=\"showAssignDevices = false\"\n [refresh]=\"refresh\"\n [currentGroupId]=\"currentGroupId\"\n (onShowChildDevices)=\"showAssignChildDevices=$event\"\n (selectedDevice)=\"showChildrenForDevice=$event\"\n *ngIf=\"showAssignDevices\"\n ></c8y-assign-devices>\n </div>\n </div>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAssignChildDevices }\" >\n <div class=\"bottom-drawer m-t-40\">\n <div class=\"d-flex d-col no-align-items fit-h\">\n <c8y-assign-child-devices\n *ngIf=\"showAssignChildDevices\"\n class=\"d-contents\"\n (onCancel)=\"showAssignChildDevices = false\"\n [refresh]=\"refresh\"\n [currentGroupId]=\"currentGroupId\"\n [parentDevice]=\"showChildrenForDevice\"\n ></c8y-assign-child-devices>\n </div>\n </div>\n</div>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":31,"character":19},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AppStateService","line":32,"character":22},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"DeviceGroupService","line":33,"character":32},{"__symbolic":"reference","name":"SubAssetsService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupChange":[{"__symbolic":"method"}],"isSmartGroup":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"SubAssetsGridComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"c8y-sub-assets-grid","template":"<c8y-data-grid\n [title]=\"title\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"getInfiniteScrollMode\"\n [refresh]=\"refresh\"\n [displayOptions]=\"displayOptions\"\n (onConfigChange)=\"configChange($event)\"\n (itemsSelect)=\"itemsSelect.emit($event)\"\n class=\"d-contents\"\n>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n <div class=\"c8y-empty-state\">\n <h1 c8yIcon=\"c8y-group-add\" class=\"c8y-icon-duocolor\"></h1>\n <div>\n <p>\n <strong>{{ 'No items to display.' | translate }}</strong>\n </p>\n <small>{{ emptyStateText | translate }}</small>\n </div>\n </div>\n</c8y-data-grid>\n"}]}],"members":{"parentGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3},"arguments":["parent-group"]}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"emptyStateText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"loadingItemsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"_pagination":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3},"arguments":["pagination"]}]}],"_actionControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3},"arguments":["actionControls"]}]}],"selectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"baseQuery":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"_bulkActionControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3},"arguments":["bulkActionControls"]}]}],"filterable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"sortable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"onColumnsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":79,"character":3}}]}],"itemsSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":82,"character":3}}]}],"dataGrid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":90,"character":3},"arguments":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"DataGridComponent","line":90,"character":13},{"static":true}]}]}],"_displayOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":112,"character":3},"arguments":["displayOptions"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SubAssetsService"},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":119,"character":19},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":120,"character":28},{"__symbolic":"reference","module":"@c8y/client","name":"SmartGroupsService","line":121,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"setActionControls":[{"__symbolic":"method"}],"onUnassignAsset":[{"__symbolic":"method"}],"onDeleteAsset":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"trackByName":[{"__symbolic":"method"}],"onDataSourceModifier":[{"__symbolic":"method"}],"configChange":[{"__symbolic":"method"}]}},"SubAssetsService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridService","line":36,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":35,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":43,"character":32},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":44,"character":32},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AppStateService","line":45,"character":24},{"__symbolic":"reference","module":"@c8y/client","name":"UserService","line":46,"character":20},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"AssetNodeService","line":47,"character":32},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"DeviceGroupService","line":48,"character":34},{"__symbolic":"reference","module":"@c8y/client","name":"SmartGroupsService","line":49,"character":34},{"__symbolic":"reference","module":"@c8y/client","name":"SmartRulesService","line":50,"character":33},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":51,"character":28},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"Permissions","line":52,"character":34},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalService","line":53,"character":21}]}],"getDefaultColumns":[{"__symbolic":"method"}],"getDefaultPagination":[{"__symbolic":"method"}],"getDefaultActionControls":[{"__symbolic":"method"}],"unassignAsset":[{"__symbolic":"method"}],"isDevice":[{"__symbolic":"method"}],"deleteAsset":[{"__symbolic":"method"}],"shouldShowWithDeviceUserCheckbox":[{"__symbolic":"method"}],"getDefaultBulkActionControls":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"getCount":[{"__symbolic":"method"}],"getTotal":[{"__symbolic":"method"}],"canEditGroup":[{"__symbolic":"method"}],"canCreateGroup":[{"__symbolic":"method"}],"canAssignDevice":[{"__symbolic":"method"}],"canEditSmartGroup":[{"__symbolic":"method"}],"canDeleteSmartGroup":[{"__symbolic":"method"}],"isSmartGroup":[{"__symbolic":"method"}],"isUsingInventoryRoles":[{"__symbolic":"method"}],"getAssetsStatistics":[{"__symbolic":"method"}],"buildCombinedRootQueryFilter":[{"__symbolic":"method"}],"deleteGroup":[{"__symbolic":"method"}],"deleteDevice":[{"__symbolic":"method"}],"deactivateSmartrulesForAsset":[{"__symbolic":"method"}],"isDeviceUser":[{"__symbolic":"method"}],"deleteDeviceWithUser":[{"__symbolic":"method"}],"getAssetsFilters":[{"__symbolic":"method"}]}},"SubAssetsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SubAssetsComponent"},{"__symbolic":"reference","name":"SubAssetsGridComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"GroupsComponent"},{"__symbolic":"reference","name":"GroupInfoComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"AssignDevicesComponent"},{"__symbolic":"reference","name":"AssignChildDevicesComponent"}],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CoreModule","line":28,"character":12},{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridModule","line":28,"character":24},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"ngx-bootstrap/popover","name":"PopoverModule","line":28,"character":58}],"entryComponents":[{"__symbolic":"reference","name":"SubAssetsComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"GroupsComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"}],"exports":[],"providers":[{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_ONCE_ROUTE","line":39,"character":15},"useValue":[{"context":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ViewContext","line":42,"character":19},"member":"Group"},"path":"subassets","priority":1000,"icon":"c8y-group-open","label":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"gettext","line":46,"character":17},"arguments":["Subassets"]},"component":{"__symbolic":"reference","name":"SubAssetsComponent"}},{"path":"group","component":{"__symbolic":"reference","name":"GroupsComponent"}}],"multi":true},{"__symbolic":"reference","name":"SubAssetsService"}]}]}],"members":{}},"GroupsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"c8y-groups-name","template":"<c8y-title>\n {{ 'Groups' | translate }}\n</c8y-title>\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add group' | translate }}\"\n (click)=\"showAddGroup = !showAddGroup\"\n [disabled]=\"shouldDisableAddGroup\"\n >\n <i c8yIcon=\"plus-circle\" class=\"m-r-4\"></i><span translate>Add group</span>\n </button>\n</c8y-action-bar-item>\n <!-- TODO: uncomment when help is available \n <c8y-help src=\"/users-guide/device-management/#grouping-devices\"></c8y-help> \n-->\n\n<div [ngClass]=\"{ drawerOpen: showAddGroup }\">\n <div class=\"bottom-drawer\">\n <c8y-add-group\n [refresh]=\"refresh\"\n (onCancel)=\"showAddGroup = false\"\n *ngIf=\"showAddGroup\"\n ></c8y-add-group>\n </div>\n</div>\n<c8y-sub-assets-grid\n [refresh]=\"refresh\"\n [filterable]=\"filterable\"\n [sortable]=\"sortable\"\n class=\"content-fullpage d-flex d-col\"\n></c8y-sub-assets-grid>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"Permissions","line":14,"character":35},{"__symbolic":"reference","name":"SubAssetsService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"AssignDevicesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"c8y-assign-devices","template":"<div class=\"card-block flex-no-shrink separator-bottom col-xs-12 large-padding p-t-24 p-b-24\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <h4 class=\"text-center text-medium\">\n {{ 'Assign devices' | translate }}\n </h4>\n </div>\n </div>\n</div>\n<c8y-device-grid\n [title]=\"'Select target devices' | translate\"\n [actionControls]=\"actionControls\"\n [infiniteScroll]=\"'auto'\"\n [selectable]=\"isSelectable\"\n [pagination]=\"pagination\"\n (itemsSelect)=\"onSelected($event)\"\n [refresh]=\"refresh\"\n [baseQuery]=\"baseQuery\"\n (onChildDevices)=\"setActionControls($event)\"\n [showChildDevices]=\"{ show: true, value: false }\"\n class=\"flex-grow col-xs-12 no-gutter\"\n>\n <div class=\"c8y-empty-state\">\n <h1 c8yIcon=\"search\"></h1>\n <div>\n <p>\n <strong>{{ 'No matching devices.' | translate }}</strong>\n </p>\n <small>{{ 'Refine your search terms' | translate }}</small>\n </div>\n </div>\n</c8y-device-grid>\n\n<div class=\"text-center card-footer p-24 separator\">\n <button\n (click)=\"onCancel.emit()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n >\n <span>{{ 'Cancel' | translate }}</span>\n </button>\n <button\n (click)=\"assignDevices()\"\n type=\"button\"\n class=\"btn btn-primary\"\n [ngClass]=\"{ 'btn-pending': pendingStatus }\"\n title=\"{{ 'Assign' | translate }}\"\n [disabled]=\"selected.length === 0 || !canAssignDevice\"\n >\n <span>{{ 'Assign' | translate }}</span>\n </button>\n</div>\n"}]}],"members":{"currentGroupId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"onShowChildDevices":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"selectedDevice":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":27,"character":19},{"__symbolic":"reference","name":"SubAssetsService"},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":29,"character":30}]}],"onEnterKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":32,"character":3},"arguments":["document:keydown.enter",["$event"]]}]}],"onEscapeKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":38,"character":3},"arguments":["document:keydown.escape",["$event"]]}]}],"ngOnInit":[{"__symbolic":"method"}],"setNotIncludedInGroupQuery":[{"__symbolic":"method"}],"setActionControls":[{"__symbolic":"method"}],"assignDevices":[{"__symbolic":"method"}],"onSelected":[{"__symbolic":"method"}],"selectChildren":[{"__symbolic":"method"}]}},"AssignChildDevicesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"c8y-assign-child-devices","template":"<div class=\"card-block flex-no-shrink separator-bottom col-xs-12 large-padding p-t-24 p-b-24\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <h4 class=\"text-center text-medium\">\n {{ 'Assign child devices' | translate }}\n </h4>\n </div>\n </div>\n</div>\n\n<div class=\"d-flex d-col no-align-items fit-h\">\n <c8y-sub-assets-grid\n [title]=\"'Select target child devices' | translate\"\n [emptyStateText]=\"'All child devices are already assigned to the group' | translate\"\n [refresh]=\"refresh\"\n [actionControls]=\"[]\"\n [selectable]=\"true\"\n [parent-group]=\"parentDevice\"\n [baseQuery]=\"baseQuery\"\n (itemsSelect)=\"onSelected($event)\"\n class=\"d-contents\"\n >\n </c8y-sub-assets-grid>\n</div>\n\n<div class=\"text-center card-footer p-24 separator\">\n <button\n (click)=\"onCancel.emit()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n >\n <span>{{ 'Cancel' | translate }}</span>\n </button>\n <button\n (click)=\"assignDevices()\"\n type=\"button\"\n class=\"btn btn-primary\"\n [ngClass]=\"{ 'btn-pending': pendingStatus }\"\n title=\"{{ 'Assign' | translate }}\"\n [disabled]=\"selected.length === 0 || !canAssignDevice\"\n >\n <span>{{ 'Assign' | translate }}</span>\n </button>\n</div>\n"}]}],"members":{"currentGroupId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"parentDevice":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":22,"character":19},{"__symbolic":"reference","name":"SubAssetsService"},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":24,"character":30}]}],"onEnterKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":27,"character":3},"arguments":["document:keydown.enter",["$event"]]}]}],"onEscapeKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":33,"character":3},"arguments":["document:keydown.escape",["$event"]]}]}],"ngOnInit":[{"__symbolic":"method"}],"setNotIncludedInGroupQuery":[{"__symbolic":"method"}],"assignDevices":[{"__symbolic":"method"}],"onSelected":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"template":"<device-status class=\"m-l-8\" [mo]=\"context.item\" *ngIf=\"isDevice\"></device-status>\n<i\n [c8yIcon]=\"groupIcon\"\n title=\"{{ iconTitle | translate }}\"\n class=\"m-l-8 c8y-icon-duocolor\"\n *ngIf=\"isAnyGroup || !isDevice\"\n></i>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CellRendererContext","line":13,"character":20},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"DeviceGroupService","line":14,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"getIconTitle":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"c8y-delete-assets-modal","template":"<c8y-confirm-modal [title]=\"title\" [status]=\"status\" [labels]=\"labels\" #modalRef>\n <form #assetsForm=\"ngForm\">\n <p class=\"text-wrap m-b-16\">\n {{ message | translate }}\n </p>\n <c8y-form-group *ngIf=\"showWithCascadeCheckbox\" class=\"m-b-0\">\n <label title=\"{{ 'Delete devices' | translate }}\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"cascade\" [(ngModel)]=\"config.cascade\" />\n <span></span>\n <span>\n {{ 'Also delete all devices inside selected asset and its subassets.' | translate }}\n </span>\n </label>\n </c8y-form-group>\n <c8y-form-group *ngIf=\"showWithDeviceUserCheckbox\" class=\"m-b-0\">\n <label title=\"{{ 'Delete associated device owner' | translate }}\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"withDeviceUser\" [(ngModel)]=\"config.withDeviceUser\" />\n <span></span>\n <span>\n {{ 'Also delete associated device owner.' | translate }}\n </span>\n </label>\n </c8y-form-group>\n </form>\n</c8y-confirm-modal>\n"}]}],"members":{"showWithCascadeCheckbox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"showWithDeviceUserCheckbox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"asset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"modalRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":21,"character":3},"arguments":["modalRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":32,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onClose":[{"__symbolic":"method"}],"onDismiss":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"c8y-unassign-modal","template":"<c8y-confirm-modal [title]=\"title\" [status]=\"status\" [labels]=\"labels\" #modalRef>\n <span>{{ message | translate }}</span>\n</c8y-confirm-modal>\n"}]}],"members":{"asset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"modalRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":["modalRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":24,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onClose":[{"__symbolic":"method"}],"onDismiss":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CoreModule","line":9,"character":12},{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridModule","line":9,"character":24},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":9,"character":42},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":9,"character":55}],"entryComponents":[{"__symbolic":"reference","name":"ɵe"}],"exports":[{"__symbolic":"reference","name":"ɵe"}],"providers":[{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_ONCE_ROUTE","line":14,"character":15},"useValue":[{"path":"add-group","component":{"__symbolic":"reference","name":"ɵe"}}],"multi":true},{"__symbolic":"reference","name":"ɵf"}]}]}],"members":{}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"c8y-add-group","template":"<c8y-title *ngIf=\"!currentGroupId\">\n {{ 'Add group' | translate }}\n</c8y-title>\n\n<div class=\"d-contents\" *ngIf=\"!currentGroupId; else stepper\">\n <ng-container [ngTemplateOutlet]=\"stepper\"></ng-container>\n</div>\n\n<ng-template #stepper>\n <c8y-stepper\n class=\"flex-col flex-nowrap no-align-items fit-h c8y-stepper--no-btns\"\n [disableDefaultIcons]=\"{ edit: true, done: false }\"\n [customClasses]=\"['col-md-6', 'col-md-offset-3', 'p-t-16', 'p-b-32', 'flex-no-shrink']\"\n linear\n >\n <cdk-step [stepControl]=\"formGroupStepOne\" [label]=\"'New group' | translate\">\n <div class=\"p-16 p-t-0 flex-no-shrink separator-bottom col-xs-12\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <h4 class=\"text-center text-medium\">\n {{ 'New group' | translate }}\n </h4>\n </div>\n </div>\n </div>\n <div class=\"col-xs-12 flex-grow no-gutter\">\n <div class=\"card-inner-scroll fit-h\">\n <div class=\"card-block p-b-0\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <c8y-form-group>\n <div [formGroup]=\"formGroupStepOne\">\n <c8y-form-group>\n <label translate>Name</label>\n <input\n class=\"form-control\"\n type=\"text\"\n formControlName=\"name\"\n placeholder=\"{{ 'e.g. First floor' | translate }} \"\n #nameRef\n required\n />\n <c8y-messages>\n <c8y-message *ngIf=\"!formGroupStepOne.untouched && !nameRef.value\" translate\n >This field is required.</c8y-message\n >\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Description</label>\n <input\n class=\"form-control\"\n type=\"text\"\n formControlName=\"description\"\n placeholder=\"{{ 'e.g. first floor devices' | translate }}\"\n />\n </c8y-form-group>\n </div>\n </c8y-form-group>\n <c8y-form-group>\n <div [formGroup]=\"formGroupStepOne\"></div>\n </c8y-form-group>\n <div class=\"alert alert-info max-width-100\" translate *ngIf=\"!canAssignDevice\">\n You don't have permission to assign devices.\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <c8y-stepper-buttons\n class=\"d-block card-footer p-24 separator\"\n (onCancel)=\"onCancel.emit()\"\n (onCustom)=\"createGroup()\"\n [disabled]=\"!canCreateGroup\"\n [labels]=\"\n canAssignDevice\n ? { next: btnLabels.next, cancel: btnLabels.cancel }\n : { custom: btnLabels.create, cancel: btnLabels.cancel }\n \"\n [showButtons]=\"\n canAssignDevice ? { next: true, cancel: true } : { custom: true, cancel: true }\n \"\n ></c8y-stepper-buttons>\n </cdk-step>\n <cdk-step [label]=\"'Assign devices' | translate\">\n <div class=\"p-16 p-t-0 flex-no-shrink separator-bottom col-xs-12\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <h4 class=\"text-center text-medium\">\n {{ 'Assign devices' | translate }}\n </h4>\n </div>\n </div>\n </div>\n <div class=\"col-xs-12 no-gutter flex-grow\">\n <c8y-device-grid\n [title]=\"'Select target devices' | translate\"\n [actionControls]=\"[]\"\n [infiniteScroll]=\"'auto'\"\n [selectable]=\"'true'\"\n [pagination]=\"pagination\"\n (itemsSelect)=\"onSelected($event)\"\n [refresh]=\"refresh\"\n class=\"d-contents\"\n >\n <div class=\"c8y-empty-state\">\n <h1 c8yIcon=\"search\"></h1>\n <div>\n <p>\n <strong>{{ 'No matching devices.' | translate }}</strong>\n </p>\n <small>{{ 'Refine your search terms' | translate }}</small>\n </div>\n </div>\n </c8y-device-grid>\n </div>\n <c8y-stepper-buttons\n class=\"d-block card-footer p-24 separator\"\n (onCancel)=\"onCancel.emit()\"\n (onCustom)=\"createGroup()\"\n [labels]=\"{ custom: btnLabels.create }\"\n [disabled]=\"!canAssignDevice\"\n [pending]=\"pendingStatus\"\n ></c8y-stepper-buttons>\n </cdk-step>\n </c8y-stepper>\n</ng-template>\n"}]}],"members":{"currentGroupId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"onDeviceQueryStringChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"stepper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":26,"character":3},"arguments":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"C8yStepper","line":26,"character":13},{"static":false}]}]}],"nameInputRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":28,"character":3},"arguments":["nameRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridService","line":49,"character":33},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":50,"character":16},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":52,"character":19},{"__symbolic":"reference","name":"SubAssetsService"}]}],"onEnterKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":56,"character":3},"arguments":["document:keydown.enter",["$event"]]}]}],"onEscapeKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":65,"character":3},"arguments":["document:keydown.escape",["$event"]]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"createGroup":[{"__symbolic":"method"}],"onSelected":[{"__symbolic":"method"}],"resetStepper":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"isGroupDetailsStep":[{"__symbolic":"method"}],"isAssignDeviceStep":[{"__symbolic":"method"}],"setFocusOnNameInput":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":9,"character":40}]}],"createGroupAndAssignDevices":[{"__symbolic":"method"}],"getGroupMO":[{"__symbolic":"method"}],"getGroupType":[{"__symbolic":"method"}],"assignDevices":[{"__symbolic":"method"}]}}},"origins":{"GroupInfoComponent":"./group-info.component","SubAssetsComponent":"./sub-assets.component","SubAssetsGridComponent":"./sub-assets-grid.component","SubAssetsService":"./sub-assets.service","SubAssetsModule":"./sub-assets.module","GroupsComponent":"./groups.component","AssignDevicesComponent":"./assign-devices/assign-devices.component","AssignChildDevicesComponent":"./assign-devices/assign-child-devices.component","ɵa":"./columns/asset-type.cell-renderer.component","ɵb":"./delete-assets-modal/delete-assets-modal.component","ɵc":"./unassign-assets-modal/unassign-modal.component","ɵd":"./add-group/add-group.module","ɵe":"./add-group/add-group.component","ɵf":"./add-group/add-group.service"},"importAs":"@c8y/ngx-components/sub-assets"}
1
+ {"__symbolic":"module","version":4,"exports":[{"from":"./unassign-modal.component"},{"from":"./delete-assets-modal.model"},{"from":"./add-group.service"},{"from":"./add-group.model"}],"metadata":{"GroupInfoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"c8y-group-info","template":"<div class=\"bg-gray-white\">\n <div class=\"card-block p-t-24 p-b-24 large-padding\">\n <div class=\"content-flex-70\">\n <div class=\"text-center\">\n <i class=\"c8y-icon-duocolor icon-48\" [c8yIcon]=\"groupIcon + '-open'\"></i>\n <p>\n <small class=\"label label-info\" *ngIf=\"group.c8y_IsDynamicGroup\">\n {{ 'Smart group' | translate }}\n </small>\n <small\n class=\"label label-info\"\n *ngIf=\"!group.c8y_IsDynamicGroup && !group.com_cumulocity_model_Agent\"\n >\n {{ 'Group' | translate }}\n </small>\n <small class=\"label label-info\" *ngIf=\"group.com_cumulocity_model_Agent\">\n {{ 'Remote group' | translate }}\n </small>\n </p>\n </div>\n\n <div class=\"flex-grow col-10\">\n <div class=\"content-flex-80\">\n <div class=\"col-9\">\n <form #groupNameForm=\"ngForm\">\n <c8y-form-group class=\"form-group-lg m-b-0\">\n <label class=\"sr-only\" translate>\n Name\n </label>\n\n <p *ngIf=\"!canEdit\" class=\"form-control-static\">{{ group.name }}</p>\n <div *ngIf=\"canEdit\" class=\"input-group input-group-editable\">\n <input\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"group.name\"\n name=\"name\"\n title=\"{{ 'Name' | translate }}\"\n size=\"{{ group.name.length + 2 }}\"\n placeholder=\"{{ 'e.g. My group' | translate }}\"\n maxlength=\"254\"\n required\n />\n <span></span>\n <div class=\"input-group-btn\">\n <button\n (click)=\"update({ name: group.name }); groupNameForm.form.markAsPristine()\"\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n [disabled]=\"groupNameForm.form.invalid\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </c8y-form-group>\n </form>\n <form #groupDescriptionForm=\"ngForm\">\n <label class=\"sr-only\" translate>\n Description\n </label>\n <p *ngIf=\"!canEdit\" class=\"form-control-static\">{{ group.c8y_Notes }}</p>\n <div *ngIf=\"canEdit\" class=\"input-group input-group-editable\">\n <textarea\n class=\"form-control\"\n [(ngModel)]=\"group.c8y_Notes\"\n name=\"description\"\n title=\"{{ 'Description' | translate }}\"\n cols=\"{{ group.c8y_Notes ? group.c8y_Notes.length : 25 }}\"\n placeholder=\"{{ 'e.g. My description' | translate }}\"\n ></textarea>\n <span></span>\n <div class=\"input-group-btn\">\n <button\n (click)=\"\n update({ c8y_Notes: group.c8y_Notes });\n groupDescriptionForm.form.markAsPristine()\n \"\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n [disabled]=\"groupDescriptionForm.form.invalid\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </form>\n\n <form #smartGroupFilterForm=\"ngForm\" *ngIf=\"isSmartGroup()\">\n <c8y-form-group class=\"m-b-0 m-t-8\">\n <label class=\"m-b-0 text-nowrap\">\n {{ 'Smart group filter' | translate }}\n <button\n class=\"btn-clean text-primary m-r-4\"\n type=\"button\"\n popover=\"{{ filterHintMsg | translate }}\"\n triggers=\"focus\"\n >\n <i c8yIcon=\"question-circle-o\"></i>\n </button>\n </label>\n\n <p *ngIf=\"!canEdit\" class=\"form-control-static\">\n {{ smartGroupFilter }}\n </p>\n <div *ngIf=\"canEdit\" class=\"input-group input-group-editable\">\n <input\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"smartGroupFilter\"\n name=\"filter\"\n size=\"{{ smartGroupFilter.length + 2 }}\"\n placeholder=\"{{ 'e.g.' | translate }} $filter=(id eq '12*')\"\n maxlength=\"254\"\n title=\"{{ 'Smart group filter' | translate }}\"\n />\n <span></span>\n <div class=\"input-group-btn\">\n <button\n (click)=\"\n update({ c8y_DeviceQueryString: smartGroupFilter });\n smartGroupFilterForm.form.markAsPristine()\n \"\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n [disabled]=\"smartGroupFilterForm.form.invalid\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </c8y-form-group>\n </form>\n </div>\n <div class=\"flex-grow\">\n <p class=\"m-b-8\">\n <i c8yIcon=\"info-circle\" class=\"text-info m-r-8\"></i>\n <span class=\"text-label-small\">{{ 'Group info' | translate }}</span>\n </p>\n <ul class=\"list-unstyled small\">\n <li class=\"p-t-4 p-b-4 flex-row separator-top-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Created' | translate }}</label>\n <span class=\"flex-item-right\">{{ group.creationTime | c8yDate }}</span>\n </li>\n <li class=\"p-t-4 p-b-4 flex-row separator-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Last updated' | translate }}</label>\n <span class=\"flex-item-right\">{{ group.lastUpdated | c8yDate }}</span>\n </li>\n\n <li\n *ngIf=\"group.com_cumulocity_model_Agent\"\n class=\"p-t-4 p-b-4 flex-row separator-bottom text-nowrap\"\n >\n <label class=\"small m-b-0 m-r-8\">{{ 'Status' | translate }}</label>\n <span class=\"flex-item-right\" *ngIf=\"group.c8y_BrokerSource\">\n {{ group.c8y_BrokerSource.status }}\n </span>\n <span class=\"flex-item-right\" *ngIf=\"!group.c8y_BrokerSource\">\n {{ 'Offline' | translate }}\n </span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n"}]}],"members":{"group":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"onGroupChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":25,"character":23},{"__symbolic":"reference","name":"SubAssetsService"},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"DeviceGroupService","line":27,"character":32},{"__symbolic":"reference","module":"@c8y/client","name":"SmartGroupsService","line":28,"character":32},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":29,"character":26},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":30,"character":23},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalService","line":31,"character":26}]}],"ngOnInit":[{"__symbolic":"method"}],"isSmartGroup":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"setHintMsg":[{"__symbolic":"method"}],"updateGroup":[{"__symbolic":"method"}],"updateSmartGroup":[{"__symbolic":"method"}],"setGroup":[{"__symbolic":"method"}],"isQueryExecutable":[{"__symbolic":"method"}]}},"SubAssetsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"c8y-sub-assets","template":"<c8y-title>\n {{ title }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"!isSmartGroup()\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add group' | translate }}\"\n (click)=\"showAddGroup = !showAddGroup\"\n [disabled]=\"shouldDisableAddGroup\"\n >\n <i c8yIcon=\"plus-circle\" class=\"m-r-4\"></i><span translate>Add group</span>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"!isSmartGroup()\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Assign devices' | translate }}\"\n (click)=\"showAssignDevices = !showAssignDevices\"\n [disabled]=\"shouldDisableAssignDevices\"\n >\n <i c8yIcon=\"plus-circle\" class=\"m-r-4\"></i><span translate>Assign devices</span>\n </button>\n</c8y-action-bar-item>\n\n<div class=\"card content-fullpage d-flex d-col\">\n <c8y-group-info\n *ngIf=\"showGroupInfo\"\n [group]=\"group\"\n (onGroupChange)=\"groupChange($event)\"\n ></c8y-group-info>\n <c8y-sub-assets-grid\n [refresh]=\"refresh\"\n [parent-group]=\"group\"\n [filterable]=\"filterable\"\n [displayOptions]=\"displayOptions\"\n class=\"d-contents\"\n ></c8y-sub-assets-grid>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAddGroup }\">\n <div class=\"bottom-drawer\">\n <c8y-add-group\n [currentGroupId]=\"currentGroupId\"\n [refresh]=\"refresh\"\n (onCancel)=\"showAddGroup = false\"\n *ngIf=\"showAddGroup\"\n ></c8y-add-group>\n </div>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAssignDevices }\">\n <div class=\"bottom-drawer\">\n <div class=\"d-flex d-col no-align-items fit-h\">\n <c8y-assign-devices\n class=\"d-contents\"\n (onCancel)=\"showAssignDevices = false\"\n [refresh]=\"refresh\"\n [currentGroupId]=\"currentGroupId\"\n (onShowChildDevices)=\"showAssignChildDevices=$event\"\n (selectedDevice)=\"showChildrenForDevice=$event\"\n *ngIf=\"showAssignDevices\"\n ></c8y-assign-devices>\n </div>\n </div>\n</div>\n\n<div [ngClass]=\"{ drawerOpen: showAssignChildDevices }\" >\n <div class=\"bottom-drawer m-t-40\">\n <div class=\"d-flex d-col no-align-items fit-h\">\n <c8y-assign-child-devices\n *ngIf=\"showAssignChildDevices\"\n class=\"d-contents\"\n (onCancel)=\"showAssignChildDevices = false\"\n [refresh]=\"refresh\"\n [currentGroupId]=\"currentGroupId\"\n [parentDevice]=\"showChildrenForDevice\"\n ></c8y-assign-child-devices>\n </div>\n </div>\n</div>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":31,"character":19},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AppStateService","line":32,"character":22},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"DeviceGroupService","line":33,"character":32},{"__symbolic":"reference","name":"SubAssetsService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupChange":[{"__symbolic":"method"}],"isSmartGroup":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"SubAssetsGridComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"c8y-sub-assets-grid","template":"<c8y-data-grid\n [title]=\"title\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"getInfiniteScrollMode\"\n [showCounterWarning]=\"showCounterWarning\"\n [refresh]=\"refresh\"\n [displayOptions]=\"displayOptions\"\n (onConfigChange)=\"configChange($event)\"\n (itemsSelect)=\"itemsSelect.emit($event)\"\n class=\"d-contents\"\n>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n <div class=\"c8y-empty-state\">\n <h1 c8yIcon=\"c8y-group-add\" class=\"c8y-icon-duocolor\"></h1>\n <div>\n <p>\n <strong>{{ 'No items to display.' | translate }}</strong>\n </p>\n <small>{{ emptyStateText | translate }}</small>\n </div>\n </div>\n</c8y-data-grid>\n"}]}],"members":{"parentGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3},"arguments":["parent-group"]}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"emptyStateText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"loadingItemsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"_pagination":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3},"arguments":["pagination"]}]}],"_actionControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3},"arguments":["actionControls"]}]}],"selectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"baseQuery":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"_bulkActionControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3},"arguments":["bulkActionControls"]}]}],"filterable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"sortable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"onColumnsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":78,"character":3}}]}],"itemsSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":81,"character":3}}]}],"dataGrid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":90,"character":3},"arguments":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"DataGridComponent","line":90,"character":13},{"static":true}]}]}],"_displayOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":112,"character":3},"arguments":["displayOptions"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SubAssetsService"},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":119,"character":28},{"__symbolic":"reference","module":"@c8y/client","name":"SmartGroupsService","line":120,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"setActionControls":[{"__symbolic":"method"}],"onUnassignAsset":[{"__symbolic":"method"}],"onDeleteAsset":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"trackByName":[{"__symbolic":"method"}],"onDataSourceModifier":[{"__symbolic":"method"}],"configChange":[{"__symbolic":"method"}]}},"SubAssetsService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridService","line":36,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":35,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":43,"character":32},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":44,"character":32},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AppStateService","line":45,"character":24},{"__symbolic":"reference","module":"@c8y/client","name":"UserService","line":46,"character":20},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"AssetNodeService","line":47,"character":32},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"DeviceGroupService","line":48,"character":34},{"__symbolic":"reference","module":"@c8y/client","name":"SmartGroupsService","line":49,"character":34},{"__symbolic":"reference","module":"@c8y/client","name":"SmartRulesService","line":50,"character":33},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":51,"character":28},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"Permissions","line":52,"character":34},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalService","line":53,"character":21}]}],"getDefaultColumns":[{"__symbolic":"method"}],"getDefaultPagination":[{"__symbolic":"method"}],"getDefaultActionControls":[{"__symbolic":"method"}],"unassignAsset":[{"__symbolic":"method"}],"isDevice":[{"__symbolic":"method"}],"deleteAsset":[{"__symbolic":"method"}],"shouldShowWithDeviceUserCheckbox":[{"__symbolic":"method"}],"getDefaultBulkActionControls":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"getCount":[{"__symbolic":"method"}],"getTotal":[{"__symbolic":"method"}],"canEditGroup":[{"__symbolic":"method"}],"canCreateGroup":[{"__symbolic":"method"}],"canAssignDevice":[{"__symbolic":"method"}],"canEditSmartGroup":[{"__symbolic":"method"}],"canDeleteSmartGroup":[{"__symbolic":"method"}],"isSmartGroup":[{"__symbolic":"method"}],"isUsingInventoryRoles":[{"__symbolic":"method"}],"getAssetsStatistics":[{"__symbolic":"method"}],"buildCombinedRootQueryFilter":[{"__symbolic":"method"}],"deleteGroup":[{"__symbolic":"method"}],"deleteDevice":[{"__symbolic":"method"}],"deactivateSmartrulesForAsset":[{"__symbolic":"method"}],"isDeviceUser":[{"__symbolic":"method"}],"deleteDeviceWithUser":[{"__symbolic":"method"}],"getAssetsFilters":[{"__symbolic":"method"}]}},"SubAssetsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SubAssetsComponent"},{"__symbolic":"reference","name":"SubAssetsGridComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"GroupsComponent"},{"__symbolic":"reference","name":"GroupInfoComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"AssignDevicesComponent"},{"__symbolic":"reference","name":"AssignChildDevicesComponent"}],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CoreModule","line":28,"character":12},{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridModule","line":28,"character":24},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"ngx-bootstrap/popover","name":"PopoverModule","line":28,"character":58}],"entryComponents":[{"__symbolic":"reference","name":"SubAssetsComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"GroupsComponent"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"}],"exports":[],"providers":[{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_ONCE_ROUTE","line":39,"character":15},"useValue":[{"context":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ViewContext","line":42,"character":19},"member":"Group"},"path":"subassets","priority":1000,"icon":"c8y-group-open","label":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"gettext","line":46,"character":17},"arguments":["Subassets"]},"component":{"__symbolic":"reference","name":"SubAssetsComponent"}},{"path":"group","component":{"__symbolic":"reference","name":"GroupsComponent"}}],"multi":true},{"__symbolic":"reference","name":"SubAssetsService"}]}]}],"members":{}},"GroupsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"c8y-groups-name","template":"<c8y-title>\n {{ 'Groups' | translate }}\n</c8y-title>\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add group' | translate }}\"\n (click)=\"showAddGroup = !showAddGroup\"\n [disabled]=\"shouldDisableAddGroup\"\n >\n <i c8yIcon=\"plus-circle\" class=\"m-r-4\"></i><span translate>Add group</span>\n </button>\n</c8y-action-bar-item>\n <!-- TODO: uncomment when help is available \n <c8y-help src=\"/users-guide/device-management/#grouping-devices\"></c8y-help> \n-->\n\n<div [ngClass]=\"{ drawerOpen: showAddGroup }\">\n <div class=\"bottom-drawer\">\n <c8y-add-group\n [refresh]=\"refresh\"\n (onCancel)=\"showAddGroup = false\"\n *ngIf=\"showAddGroup\"\n ></c8y-add-group>\n </div>\n</div>\n<c8y-sub-assets-grid\n [refresh]=\"refresh\"\n [filterable]=\"filterable\"\n [sortable]=\"sortable\"\n class=\"content-fullpage d-flex d-col\"\n></c8y-sub-assets-grid>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"Permissions","line":14,"character":35},{"__symbolic":"reference","name":"SubAssetsService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"AssignDevicesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"c8y-assign-devices","template":"<div class=\"card-block flex-no-shrink separator-bottom col-xs-12 large-padding p-t-24 p-b-24\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <h4 class=\"text-center text-medium\">\n {{ 'Assign devices' | translate }}\n </h4>\n </div>\n </div>\n</div>\n<c8y-device-grid\n [title]=\"'Select target devices' | translate\"\n [actionControls]=\"actionControls\"\n [infiniteScroll]=\"'auto'\"\n [selectable]=\"isSelectable\"\n [pagination]=\"pagination\"\n (itemsSelect)=\"onSelected($event)\"\n [refresh]=\"refresh\"\n [baseQuery]=\"baseQuery\"\n (onChildDevices)=\"setActionControls($event)\"\n [showChildDevices]=\"{ show: true, value: false }\"\n class=\"flex-grow col-xs-12 no-gutter\"\n>\n <div class=\"c8y-empty-state\">\n <h1 c8yIcon=\"search\"></h1>\n <div>\n <p>\n <strong>{{ 'No matching devices.' | translate }}</strong>\n </p>\n <small>{{ 'Refine your search terms' | translate }}</small>\n </div>\n </div>\n</c8y-device-grid>\n\n<div class=\"text-center card-footer p-24 separator\">\n <button\n (click)=\"onCancel.emit()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n >\n <span>{{ 'Cancel' | translate }}</span>\n </button>\n <button\n (click)=\"assignDevices()\"\n type=\"button\"\n class=\"btn btn-primary\"\n [ngClass]=\"{ 'btn-pending': pendingStatus }\"\n title=\"{{ 'Assign' | translate }}\"\n [disabled]=\"selected.length === 0 || !canAssignDevice\"\n >\n <span>{{ 'Assign' | translate }}</span>\n </button>\n</div>\n"}]}],"members":{"currentGroupId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"onShowChildDevices":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"selectedDevice":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":27,"character":19},{"__symbolic":"reference","name":"SubAssetsService"},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":29,"character":30}]}],"onEnterKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":32,"character":3},"arguments":["document:keydown.enter",["$event"]]}]}],"onEscapeKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":38,"character":3},"arguments":["document:keydown.escape",["$event"]]}]}],"ngOnInit":[{"__symbolic":"method"}],"setNotIncludedInGroupQuery":[{"__symbolic":"method"}],"setActionControls":[{"__symbolic":"method"}],"assignDevices":[{"__symbolic":"method"}],"onSelected":[{"__symbolic":"method"}],"selectChildren":[{"__symbolic":"method"}]}},"AssignChildDevicesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"c8y-assign-child-devices","template":"<div class=\"card-block flex-no-shrink separator-bottom col-xs-12 large-padding p-t-24 p-b-24\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <h4 class=\"text-center text-medium\">\n {{ 'Assign child devices' | translate }}\n </h4>\n </div>\n </div>\n</div>\n\n<div class=\"d-flex d-col no-align-items fit-h\">\n <c8y-sub-assets-grid\n [title]=\"'Select target child devices' | translate\"\n [emptyStateText]=\"'All child devices are already assigned to the group' | translate\"\n [refresh]=\"refresh\"\n [actionControls]=\"[]\"\n [selectable]=\"true\"\n [parent-group]=\"parentDevice\"\n [baseQuery]=\"baseQuery\"\n (itemsSelect)=\"onSelected($event)\"\n class=\"d-contents\"\n >\n </c8y-sub-assets-grid>\n</div>\n\n<div class=\"text-center card-footer p-24 separator\">\n <button\n (click)=\"onCancel.emit()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n >\n <span>{{ 'Cancel' | translate }}</span>\n </button>\n <button\n (click)=\"assignDevices()\"\n type=\"button\"\n class=\"btn btn-primary\"\n [ngClass]=\"{ 'btn-pending': pendingStatus }\"\n title=\"{{ 'Assign' | translate }}\"\n [disabled]=\"selected.length === 0 || !canAssignDevice\"\n >\n <span>{{ 'Assign' | translate }}</span>\n </button>\n</div>\n"}]}],"members":{"currentGroupId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"parentDevice":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":22,"character":19},{"__symbolic":"reference","name":"SubAssetsService"},{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":24,"character":30}]}],"onEnterKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":27,"character":3},"arguments":["document:keydown.enter",["$event"]]}]}],"onEscapeKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":33,"character":3},"arguments":["document:keydown.escape",["$event"]]}]}],"ngOnInit":[{"__symbolic":"method"}],"setNotIncludedInGroupQuery":[{"__symbolic":"method"}],"assignDevices":[{"__symbolic":"method"}],"onSelected":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"template":"<device-status class=\"m-l-8\" [mo]=\"context.item\" *ngIf=\"isDevice\"></device-status>\n<i\n [c8yIcon]=\"groupIcon\"\n title=\"{{ iconTitle | translate }}\"\n class=\"m-l-8 c8y-icon-duocolor\"\n *ngIf=\"isAnyGroup || !isDevice\"\n></i>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CellRendererContext","line":13,"character":20},{"__symbolic":"reference","module":"@c8y/ngx-components/assets-navigator","name":"DeviceGroupService","line":14,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"getIconTitle":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"c8y-delete-assets-modal","template":"<c8y-confirm-modal [title]=\"title\" [status]=\"status\" [labels]=\"labels\" #modalRef>\n <form #assetsForm=\"ngForm\">\n <p class=\"text-wrap m-b-16\">\n {{ message | translate }}\n </p>\n <c8y-form-group *ngIf=\"showWithCascadeCheckbox\" class=\"m-b-0\">\n <label title=\"{{ 'Delete devices' | translate }}\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"cascade\" [(ngModel)]=\"config.cascade\" />\n <span></span>\n <span>\n {{ 'Also delete all devices inside selected asset and its subassets.' | translate }}\n </span>\n </label>\n </c8y-form-group>\n <c8y-form-group *ngIf=\"showWithDeviceUserCheckbox\" class=\"m-b-0\">\n <label title=\"{{ 'Delete associated device owner' | translate }}\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"withDeviceUser\" [(ngModel)]=\"config.withDeviceUser\" />\n <span></span>\n <span>\n {{ 'Also delete associated device owner.' | translate }}\n </span>\n </label>\n </c8y-form-group>\n </form>\n</c8y-confirm-modal>\n"}]}],"members":{"showWithCascadeCheckbox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"showWithDeviceUserCheckbox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"asset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"modalRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":21,"character":3},"arguments":["modalRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":32,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onClose":[{"__symbolic":"method"}],"onDismiss":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"c8y-unassign-modal","template":"<c8y-confirm-modal [title]=\"title\" [status]=\"status\" [labels]=\"labels\" #modalRef>\n <span>{{ message | translate }}</span>\n</c8y-confirm-modal>\n"}]}],"members":{"asset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"modalRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":["modalRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":24,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onClose":[{"__symbolic":"method"}],"onDismiss":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CoreModule","line":9,"character":12},{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridModule","line":9,"character":24},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":9,"character":42},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":9,"character":55}],"entryComponents":[{"__symbolic":"reference","name":"ɵe"}],"exports":[{"__symbolic":"reference","name":"ɵe"}],"providers":[{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_ONCE_ROUTE","line":14,"character":15},"useValue":[{"path":"add-group","component":{"__symbolic":"reference","name":"ɵe"}}],"multi":true},{"__symbolic":"reference","name":"ɵf"}]}]}],"members":{}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"c8y-add-group","template":"<c8y-title *ngIf=\"!currentGroupId\">\n {{ 'Add group' | translate }}\n</c8y-title>\n\n<div class=\"d-contents\" *ngIf=\"!currentGroupId; else stepper\">\n <ng-container [ngTemplateOutlet]=\"stepper\"></ng-container>\n</div>\n\n<ng-template #stepper>\n <c8y-stepper\n class=\"flex-col flex-nowrap no-align-items fit-h c8y-stepper--no-btns\"\n [disableDefaultIcons]=\"{ edit: true, done: false }\"\n [customClasses]=\"['col-md-6', 'col-md-offset-3', 'p-t-16', 'p-b-32', 'flex-no-shrink']\"\n linear\n >\n <cdk-step [stepControl]=\"formGroupStepOne\" [label]=\"'New group' | translate\">\n <div class=\"p-16 p-t-0 flex-no-shrink separator-bottom col-xs-12\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <h4 class=\"text-center text-medium\">\n {{ 'New group' | translate }}\n </h4>\n </div>\n </div>\n </div>\n <div class=\"col-xs-12 flex-grow no-gutter\">\n <div class=\"card-inner-scroll fit-h\">\n <div class=\"card-block p-b-0\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <c8y-form-group>\n <div [formGroup]=\"formGroupStepOne\">\n <c8y-form-group>\n <label translate>Name</label>\n <input\n class=\"form-control\"\n type=\"text\"\n formControlName=\"name\"\n placeholder=\"{{ 'e.g. First floor' | translate }} \"\n #nameRef\n required\n />\n <c8y-messages>\n <c8y-message *ngIf=\"!formGroupStepOne.untouched && !nameRef.value\" translate\n >This field is required.</c8y-message\n >\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Description</label>\n <input\n class=\"form-control\"\n type=\"text\"\n formControlName=\"description\"\n placeholder=\"{{ 'e.g. first floor devices' | translate }}\"\n />\n </c8y-form-group>\n </div>\n </c8y-form-group>\n <c8y-form-group>\n <div [formGroup]=\"formGroupStepOne\"></div>\n </c8y-form-group>\n <div class=\"alert alert-info max-width-100\" translate *ngIf=\"!canAssignDevice\">\n You don't have permission to assign devices.\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <c8y-stepper-buttons\n class=\"d-block card-footer p-24 separator\"\n (onCancel)=\"onCancel.emit()\"\n (onCustom)=\"createGroup()\"\n [disabled]=\"!canCreateGroup\"\n [labels]=\"\n canAssignDevice\n ? { next: btnLabels.next, cancel: btnLabels.cancel }\n : { custom: btnLabels.create, cancel: btnLabels.cancel }\n \"\n [showButtons]=\"\n canAssignDevice ? { next: true, cancel: true } : { custom: true, cancel: true }\n \"\n ></c8y-stepper-buttons>\n </cdk-step>\n <cdk-step [label]=\"'Assign devices' | translate\">\n <div class=\"p-16 p-t-0 flex-no-shrink separator-bottom col-xs-12\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <h4 class=\"text-center text-medium\">\n {{ 'Assign devices' | translate }}\n </h4>\n </div>\n </div>\n </div>\n <div class=\"col-xs-12 no-gutter flex-grow\">\n <c8y-device-grid\n [title]=\"'Select target devices' | translate\"\n [actionControls]=\"[]\"\n [infiniteScroll]=\"'auto'\"\n [selectable]=\"'true'\"\n [pagination]=\"pagination\"\n (itemsSelect)=\"onSelected($event)\"\n [refresh]=\"refresh\"\n class=\"d-contents\"\n >\n <div class=\"c8y-empty-state\">\n <h1 c8yIcon=\"search\"></h1>\n <div>\n <p>\n <strong>{{ 'No matching devices.' | translate }}</strong>\n </p>\n <small>{{ 'Refine your search terms' | translate }}</small>\n </div>\n </div>\n </c8y-device-grid>\n </div>\n <c8y-stepper-buttons\n class=\"d-block card-footer p-24 separator\"\n (onCancel)=\"onCancel.emit()\"\n (onCustom)=\"createGroup()\"\n [labels]=\"{ custom: btnLabels.create }\"\n [disabled]=\"!canAssignDevice\"\n [pending]=\"pendingStatus\"\n ></c8y-stepper-buttons>\n </cdk-step>\n </c8y-stepper>\n</ng-template>\n"}]}],"members":{"currentGroupId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"onDeviceQueryStringChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"stepper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":26,"character":3},"arguments":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"C8yStepper","line":26,"character":13},{"static":false}]}]}],"nameInputRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":28,"character":3},"arguments":["nameRef",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/ngx-components/device-grid","name":"DeviceGridService","line":49,"character":33},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":50,"character":16},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":52,"character":19},{"__symbolic":"reference","name":"SubAssetsService"}]}],"onEnterKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":56,"character":3},"arguments":["document:keydown.enter",["$event"]]}]}],"onEscapeKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":65,"character":3},"arguments":["document:keydown.escape",["$event"]]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"createGroup":[{"__symbolic":"method"}],"onSelected":[{"__symbolic":"method"}],"resetStepper":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"isGroupDetailsStep":[{"__symbolic":"method"}],"isAssignDeviceStep":[{"__symbolic":"method"}],"setFocusOnNameInput":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":9,"character":40}]}],"createGroupAndAssignDevices":[{"__symbolic":"method"}],"getGroupMO":[{"__symbolic":"method"}],"getGroupType":[{"__symbolic":"method"}],"assignDevices":[{"__symbolic":"method"}]}}},"origins":{"GroupInfoComponent":"./group-info.component","SubAssetsComponent":"./sub-assets.component","SubAssetsGridComponent":"./sub-assets-grid.component","SubAssetsService":"./sub-assets.service","SubAssetsModule":"./sub-assets.module","GroupsComponent":"./groups.component","AssignDevicesComponent":"./assign-devices/assign-devices.component","AssignChildDevicesComponent":"./assign-devices/assign-child-devices.component","ɵa":"./columns/asset-type.cell-renderer.component","ɵb":"./delete-assets-modal/delete-assets-modal.component","ɵc":"./unassign-assets-modal/unassign-modal.component","ɵd":"./add-group/add-group.module","ɵe":"./add-group/add-group.component","ɵf":"./add-group/add-group.service"},"importAs":"@c8y/ngx-components/sub-assets"}
@@ -1,12 +1,11 @@
1
1
  import { EventEmitter, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { IManagedObject, SmartGroupsService } from '@c8y/client';
3
- import { ActionControl, AlertService, BulkActionControl, DataGridComponent, DataSourceModifier, DisplayOptions, Pagination, ServerSideDataResult } from '@c8y/ngx-components';
3
+ import { ActionControl, BulkActionControl, DataGridComponent, DataSourceModifier, DisplayOptions, Pagination, ServerSideDataResult } from '@c8y/ngx-components';
4
4
  import { DeviceGridColumn } from '@c8y/ngx-components/device-grid';
5
5
  import { BsModalService } from 'ngx-bootstrap/modal';
6
6
  import { SubAssetsService } from './sub-assets.service';
7
7
  export declare class SubAssetsGridComponent implements OnInit {
8
8
  subAssetsGridService: SubAssetsService;
9
- private alert;
10
9
  private bsModalService;
11
10
  private smartGroupsService;
12
11
  parentGroup: IManagedObject;
@@ -26,6 +25,7 @@ export declare class SubAssetsGridComponent implements OnInit {
26
25
  onColumnsChange: EventEmitter<DeviceGridColumn[]>;
27
26
  itemsSelect: EventEmitter<string[]>;
28
27
  pagination: Pagination;
28
+ showCounterWarning: boolean;
29
29
  actionControls: ActionControl[];
30
30
  bulkActionControls: BulkActionControl[];
31
31
  serverSideDataCallback: any;
@@ -35,7 +35,7 @@ export declare class SubAssetsGridComponent implements OnInit {
35
35
  get isRootGroup(): boolean;
36
36
  get getInfiniteScrollMode(): string;
37
37
  set _displayOptions(displayOptions: any);
38
- constructor(subAssetsGridService: SubAssetsService, alert: AlertService, bsModalService: BsModalService, smartGroupsService: SmartGroupsService);
38
+ constructor(subAssetsGridService: SubAssetsService, bsModalService: BsModalService, smartGroupsService: SmartGroupsService);
39
39
  ngOnInit(): void;
40
40
  setActionControls(): Promise<void>;
41
41
  onUnassignAsset(asset: IManagedObject, parentRef: IManagedObject): void;