@c8y/ngx-components 1011.0.17 → 1011.0.20
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/assets-navigator/asset-node.service.d.ts +7 -3
- package/assets-navigator/c8y-ngx-components-assets-navigator.metadata.json +1 -1
- package/bundles/c8y-ngx-components-assets-navigator.umd.js +7 -2
- package/bundles/c8y-ngx-components-assets-navigator.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-assets-navigator.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-assets-navigator.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components-child-devices.umd.js +416 -0
- package/bundles/c8y-ngx-components-child-devices.umd.js.map +1 -0
- package/bundles/c8y-ngx-components-child-devices.umd.min.js +16 -0
- package/bundles/c8y-ngx-components-child-devices.umd.min.js.map +1 -0
- package/bundles/c8y-ngx-components-device-grid.umd.js +169 -36
- package/bundles/c8y-ngx-components-device-grid.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-device-grid.umd.min.js +2 -2
- package/bundles/c8y-ngx-components-device-grid.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components-sub-assets.umd.js +5 -3
- package/bundles/c8y-ngx-components-sub-assets.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-sub-assets.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-sub-assets.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.js +2 -7
- package/bundles/c8y-ngx-components.umd.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.min.js +1 -1
- package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
- package/c8y-ngx-components.metadata.json +1 -1
- package/child-devices/c8y-ngx-components-child-devices.d.ts +5 -0
- package/child-devices/c8y-ngx-components-child-devices.metadata.json +1 -0
- package/child-devices/child-devices.component.d.ts +9 -0
- package/child-devices/child-devices.guard.d.ts +7 -0
- package/child-devices/child-devices.module.d.ts +2 -0
- package/child-devices/index.d.ts +2 -0
- package/child-devices/package.json +11 -0
- package/core/login/totp-auth.component.d.ts +1 -1
- package/device-grid/c8y-ngx-components-device-grid.metadata.json +1 -1
- package/device-grid/device-grid.component.d.ts +18 -4
- package/device-grid/device-grid.service.d.ts +8 -3
- package/esm2015/assets-navigator/asset-node.service.js +8 -3
- package/esm2015/child-devices/c8y-ngx-components-child-devices.js +6 -0
- package/esm2015/child-devices/child-devices.component.js +30 -0
- package/esm2015/child-devices/child-devices.guard.js +30 -0
- package/esm2015/child-devices/child-devices.module.js +36 -0
- package/esm2015/child-devices/index.js +3 -0
- package/esm2015/core/login/totp-auth.component.js +3 -4
- package/esm2015/device-grid/device-grid.component.js +62 -15
- package/esm2015/device-grid/device-grid.service.js +59 -22
- package/esm2015/sub-assets/sub-assets.service.js +7 -5
- package/fesm2015/c8y-ngx-components-assets-navigator.js +7 -2
- package/fesm2015/c8y-ngx-components-assets-navigator.js.map +1 -1
- package/fesm2015/c8y-ngx-components-child-devices.js +96 -0
- package/fesm2015/c8y-ngx-components-child-devices.js.map +1 -0
- package/fesm2015/c8y-ngx-components-device-grid.js +118 -35
- package/fesm2015/c8y-ngx-components-device-grid.js.map +1 -1
- package/fesm2015/c8y-ngx-components-sub-assets.js +6 -4
- package/fesm2015/c8y-ngx-components-sub-assets.js.map +1 -1
- package/fesm2015/c8y-ngx-components.js +2 -3
- package/fesm2015/c8y-ngx-components.js.map +1 -1
- package/locales/locales.pot +6 -0
- package/package.json +2 -2
- package/sub-assets/c8y-ngx-components-sub-assets.metadata.json +1 -1
- package/sub-assets/sub-assets.service.d.ts +3 -2
|
@@ -34,13 +34,17 @@ export declare class AssetNodeService {
|
|
|
34
34
|
getDynamicGroupItems(groupQuery: string, filterObj?: any): Promise<import("@c8y/client").IResultList<IManagedObject>>;
|
|
35
35
|
getDeviceChildren(moId: string, extraFilter?: object): Promise<import("@c8y/client").IResultList<IManagedObject>>;
|
|
36
36
|
groupQueryFilter(moId: string): string;
|
|
37
|
+
navRootQueryFilter(): {
|
|
38
|
+
__filter: {
|
|
39
|
+
type: string;
|
|
40
|
+
};
|
|
41
|
+
__orderby: any[];
|
|
42
|
+
};
|
|
37
43
|
rootQueryFilter(): {
|
|
38
44
|
__filter: {
|
|
39
45
|
type: string;
|
|
40
46
|
};
|
|
41
|
-
__orderby:
|
|
42
|
-
name: number;
|
|
43
|
-
}[];
|
|
47
|
+
__orderby: any[];
|
|
44
48
|
};
|
|
45
49
|
onUpdate({ mo, root }: {
|
|
46
50
|
mo: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"DynamicGroupNode":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AssetNode"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AssetNodeService"},null]}],"fetch":[{"__symbolic":"method"}]}},"LoadMoreNode":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"NavigatorNode","line":2,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Status":{"__symbolic":"interface"},"MaintenanceStatus":{"__symbolic":"interface"},"ASSET_NAVIGATOR_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":1,"character":42},"arguments":["AssetNodeConfig"]},"AssetNavigatorConfig":{"__symbolic":"interface"},"AssetsNavigatorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalModule","line":11,"character":4},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"DeviceStatusModule","line":12,"character":4}],"providers":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalService","line":15,"character":4},{"__symbolic":"reference","name":"AssetNodeService"},{"__symbolic":"reference","name":"DeviceGroupService"},{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_NAVIGATOR_NODES","line":19,"character":15},"useClass":{"__symbolic":"reference","name":"AssetNodeFactory"},"multi":true}],"entryComponents":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"DeviceStatusComponent","line":22,"character":20}]}]}],"members":{},"statics":{"config":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"AssetsNavigatorModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ASSET_NAVIGATOR_CONFIG"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"AssetNodeFactory":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AssetNodeService"}]}],"get":[{"__symbolic":"method"}]}},"AssetNodeMo":{"__symbolic":"interface"},"AssetNodeService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":40,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":17},"arguments":[{"__symbolic":"reference","name":"ASSET_NAVIGATOR_CONFIG"}]}]],"parameters":[{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":32,"character":22},{"__symbolic":"reference","name":"DeviceGroupService"},{"__symbolic":"reference","module":"@c8y/ngx-components/api","name":"ApiService","line":34,"character":23},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalService","line":35,"character":18},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":36,"character":18},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"BreadcrumbService","line":37,"character":33},{"__symbolic":"reference","module":"@c8y/client","name":"UserService","line":38,"character":20},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AppStateService","line":39,"character":24},{"__symbolic":"reference","name":"AssetNavigatorConfig"}]}],"createRootNode":[{"__symbolic":"method"}],"createDynamicGroupNode":[{"__symbolic":"method"}],"createAssetNode":[{"__symbolic":"method"}],"createChildNode":[{"__symbolic":"method"}],"getRootNodes":[{"__symbolic":"method"}],"getGroupItems":[{"__symbolic":"method"}],"getDynamicGroupItems":[{"__symbolic":"method"}],"getDeviceChildren":[{"__symbolic":"method"}],"groupQueryFilter":[{"__symbolic":"method"}],"rootQueryFilter":[{"__symbolic":"method"}],"onUpdate":[{"__symbolic":"method"}],"isNewManagedObjectRoot":[{"__symbolic":"method"}],"preferBreadcrumb":[{"__symbolic":"method"}],"createFilter":[{"__symbolic":"method"}],"buildCombinedQuery":[{"__symbolic":"method"}]}},"AssetNode":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"NavigatorNode","line":9,"character":31},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AssetNodeService"},null]}],"openOnStart":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"setLabel":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"sort":[{"__symbolic":"method"}],"addManagedObject":[{"__symbolic":"method"}],"isChildAddition":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"dragStart":[{"__symbolic":"method"}],"dragEnd":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"hookEvents":[{"__symbolic":"method"}],"fetch":[{"__symbolic":"method"}],"handleEvent":[{"__symbolic":"method"}],"addNodes":[{"__symbolic":"method"}],"toggleLoadMore":[{"__symbolic":"method"}],"moveNode":[{"__symbolic":"method"}],"showDropConfirm":[{"__symbolic":"method"}],"verifyNodeAccess":[{"__symbolic":"method"}],"addMovedNode":[{"__symbolic":"method"}],"removeMovedNode":[{"__symbolic":"method"}],"updateIcon":[{"__symbolic":"method"}]}},"Action":{"FETCH":0,"NEXT":1,"REFRESH":2,"LOADING_DONE":3},"DeviceGroupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"isGroup":[{"__symbolic":"method"}],"isDynamicGroup":[{"__symbolic":"method"}],"isDataBroker":[{"__symbolic":"method"}],"isDataBrokerActive":[{"__symbolic":"method"}],"isDevice":[{"__symbolic":"method"}],"icon":[{"__symbolic":"method"}],"isAnyGroup":[{"__symbolic":"method"}]}},"GroupFragment":{"groupType":"c8y_DeviceGroup","subGroupType":"c8y_DeviceSubgroup","groupFragmentType":"c8y_IsDeviceGroup","dataBrokerSourceFragment":"c8y_BrokerSource","dynamicGroupType":"c8y_DynamicGroup","dynamicGroupFragment":"c8y_IsDynamicGroup","dynamicGroupColumnConfig":"c8y_UIDeviceFilterConfig","dynamicGroupQueryString":"c8y_DeviceQueryString"},"AssetSelectorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CommonModule","line":10,"character":12},{"__symbolic":"reference","module":"ngx-bootstrap/collapse","name":"CollapseModule","line":10,"character":26},{"__symbolic":"reference","module":"ngx-bootstrap/dropdown","name":"BsDropdownModule","line":10,"character":42}],"exports":[{"__symbolic":"reference","name":"AssetSelectorNodeComponent"},{"__symbolic":"reference","name":"AssetSelectorComponent"}],"providers":[{"__symbolic":"reference","name":"GroupNodeService"}],"declarations":[{"__symbolic":"reference","name":"AssetSelectorNodeComponent"},{"__symbolic":"reference","name":"AssetSelectorComponent"}]}]}],"members":{}},"GroupNodeService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AssetNodeService"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"createGroupNode":[{"__symbolic":"method"}],"createChildNode":[{"__symbolic":"method"}],"subAssetsQueryFilter":[{"__symbolic":"method"}],"getGroupItems":[{"__symbolic":"method"}]}},"AssetSelectorNodeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"c8y-asset-selector-node","template":"<div\n class=\"d-flex collapsible\"\n [ngClass]=\"{ 'expanded separator-top': node.open }\"\n title=\"{{ breadcrumb | translate }}\"\n *ngIf=\"!node.root && !node.hidden\"\n>\n <div\n class=\"p-t-8 p-b-8 m-r-8\"\n [ngStyle]=\"{ 'padding-left': level < 6 ? (level - 1) * 8 + 'px' : '24px' }\"\n [style.visibility]=\"node.routerLinkExact ? 'hidden' : 'visible'\"\n >\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" (change)=\"selected(node)\" [checked]=\"checked\" />\n <span></span>\n </label>\n </div>\n <div\n class=\"flex-grow flex-item-middle p-t-8 p-b-8 text-truncate p-r-8\"\n [style.cursor]=\"node.routerLinkExact ? 'pointer' : 'normal'\"\n (click)=\"node.routerLinkExact ? node.click() : ''\"\n >\n <i\n [c8yIcon]=\"node.icon\"\n *ngIf=\"node.icon === 'c8y-group-smart'\"\n [title]=\"'Smart group' | translate\"\n class=\"c8y-icon c8y-icon-duocolor m-r-4 text-16\"\n ></i>\n <i\n [c8yIcon]=\"node.icon\"\n *ngIf=\"node.icon !== 'c8y-group-smart'\"\n [title]=\"'Group' | translate\"\n class=\"c8y-icon c8y-icon-duocolor m-r-4 text-16\"\n ></i>\n <span title=\"{{ breadcrumb }}\">\n {{ node.label | translate }}\n <!-- use just for search results to display the path -->\n <p *ngIf=\"showPath\" class=\"text-truncate\">\n <small class=\"text-muted\" title=\"{{ breadcrumb }}\">\n <em>{{ breadcrumb }}</em>\n </small>\n </p>\n <!-- up to here -->\n </span>\n </div>\n <div>\n <button\n [title]=\"expandTitle\"\n class=\"collapse-btn btn\"\n (click)=\"click()\"\n [attr.aria-expanded]=\"!node.open\"\n >\n <i c8yIcon=\"angle-down\" [ngClass]=\"{ 'text-primary': node.open }\"></i>\n </button>\n </div>\n</div>\n<div class=\"collapse\" [ngClass]=\"{ 'separator-bottom': node.open }\" [collapse]=\"!node.open\">\n <c8y-asset-selector-node\n *ngFor=\"let childNode of node.children\"\n [node]=\"childNode\"\n [preselected]=\"preselected || []\"\n ></c8y-asset-selector-node>\n</div>\n"}]}],"members":{"node":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"preselected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"showPath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":55,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":56,"character":16},{"__symbolic":"reference","name":"AssetSelectorComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"setupBreadcrumbsAndLevel":[{"__symbolic":"method"}],"selected":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"isPreselected":[{"__symbolic":"method"}],"updateSelection":[{"__symbolic":"method"}]}},"AssetSelectorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"c8y-asset-selector","template":"<c8y-asset-selector-node [node]=\"rootNode\" [preselected]=\"selected\"></c8y-asset-selector-node>\n"}]}],"members":{"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"GroupNodeService"}]}],"ngOnInit":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"deselect":[{"__symbolic":"method"}],"getIndexOfSelected":[{"__symbolic":"method"}]}},"GroupNode":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AssetNode"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"GroupNodeService"},null]}]}}},"origins":{"DynamicGroupNode":"./dynamic-group-node","LoadMoreNode":"./load-more-node","Status":"./status.model","MaintenanceStatus":"./status.model","ASSET_NAVIGATOR_CONFIG":"./asset-node-config.model","AssetNavigatorConfig":"./asset-node-config.model","AssetsNavigatorModule":"./assets-navigator.module","AssetNodeFactory":"./asset-node.factory","AssetNodeMo":"./asset-node.service","AssetNodeService":"./asset-node.service","AssetNode":"./asset-node","Action":"./action.enum","DeviceGroupService":"./group.service","GroupFragment":"./group-fragment.model","AssetSelectorModule":"./asset-selector/asset-selector.module","GroupNodeService":"./asset-selector/group-node.service","AssetSelectorNodeComponent":"./asset-selector/asset-selector-node.component","AssetSelectorComponent":"./asset-selector/asset-selector.component","GroupNode":"./asset-selector/group-node"},"importAs":"@c8y/ngx-components/assets-navigator"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"DynamicGroupNode":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AssetNode"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AssetNodeService"},null]}],"fetch":[{"__symbolic":"method"}]}},"LoadMoreNode":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"NavigatorNode","line":2,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Status":{"__symbolic":"interface"},"MaintenanceStatus":{"__symbolic":"interface"},"ASSET_NAVIGATOR_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":1,"character":42},"arguments":["AssetNodeConfig"]},"AssetNavigatorConfig":{"__symbolic":"interface"},"AssetsNavigatorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalModule","line":11,"character":4},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"DeviceStatusModule","line":12,"character":4}],"providers":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalService","line":15,"character":4},{"__symbolic":"reference","name":"AssetNodeService"},{"__symbolic":"reference","name":"DeviceGroupService"},{"provide":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"HOOK_NAVIGATOR_NODES","line":19,"character":15},"useClass":{"__symbolic":"reference","name":"AssetNodeFactory"},"multi":true}],"entryComponents":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"DeviceStatusComponent","line":22,"character":20}]}]}],"members":{},"statics":{"config":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"AssetsNavigatorModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ASSET_NAVIGATOR_CONFIG"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"AssetNodeFactory":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AssetNodeService"}]}],"get":[{"__symbolic":"method"}]}},"AssetNodeMo":{"__symbolic":"interface"},"AssetNodeService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":40,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":17},"arguments":[{"__symbolic":"reference","name":"ASSET_NAVIGATOR_CONFIG"}]}]],"parameters":[{"__symbolic":"reference","module":"@c8y/client","name":"InventoryService","line":32,"character":22},{"__symbolic":"reference","name":"DeviceGroupService"},{"__symbolic":"reference","module":"@c8y/ngx-components/api","name":"ApiService","line":34,"character":23},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"ModalService","line":35,"character":18},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AlertService","line":36,"character":18},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"BreadcrumbService","line":37,"character":33},{"__symbolic":"reference","module":"@c8y/client","name":"UserService","line":38,"character":20},{"__symbolic":"reference","module":"@c8y/ngx-components","name":"AppStateService","line":39,"character":24},{"__symbolic":"reference","name":"AssetNavigatorConfig"}]}],"createRootNode":[{"__symbolic":"method"}],"createDynamicGroupNode":[{"__symbolic":"method"}],"createAssetNode":[{"__symbolic":"method"}],"createChildNode":[{"__symbolic":"method"}],"getRootNodes":[{"__symbolic":"method"}],"getGroupItems":[{"__symbolic":"method"}],"getDynamicGroupItems":[{"__symbolic":"method"}],"getDeviceChildren":[{"__symbolic":"method"}],"groupQueryFilter":[{"__symbolic":"method"}],"navRootQueryFilter":[{"__symbolic":"method"}],"rootQueryFilter":[{"__symbolic":"method"}],"onUpdate":[{"__symbolic":"method"}],"isNewManagedObjectRoot":[{"__symbolic":"method"}],"preferBreadcrumb":[{"__symbolic":"method"}],"createFilter":[{"__symbolic":"method"}],"buildCombinedQuery":[{"__symbolic":"method"}]}},"AssetNode":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@c8y/ngx-components","name":"NavigatorNode","line":9,"character":31},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AssetNodeService"},null]}],"openOnStart":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"setLabel":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"sort":[{"__symbolic":"method"}],"addManagedObject":[{"__symbolic":"method"}],"isChildAddition":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"dragStart":[{"__symbolic":"method"}],"dragEnd":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"hookEvents":[{"__symbolic":"method"}],"fetch":[{"__symbolic":"method"}],"handleEvent":[{"__symbolic":"method"}],"addNodes":[{"__symbolic":"method"}],"toggleLoadMore":[{"__symbolic":"method"}],"moveNode":[{"__symbolic":"method"}],"showDropConfirm":[{"__symbolic":"method"}],"verifyNodeAccess":[{"__symbolic":"method"}],"addMovedNode":[{"__symbolic":"method"}],"removeMovedNode":[{"__symbolic":"method"}],"updateIcon":[{"__symbolic":"method"}]}},"Action":{"FETCH":0,"NEXT":1,"REFRESH":2,"LOADING_DONE":3},"DeviceGroupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"isGroup":[{"__symbolic":"method"}],"isDynamicGroup":[{"__symbolic":"method"}],"isDataBroker":[{"__symbolic":"method"}],"isDataBrokerActive":[{"__symbolic":"method"}],"isDevice":[{"__symbolic":"method"}],"icon":[{"__symbolic":"method"}],"isAnyGroup":[{"__symbolic":"method"}]}},"GroupFragment":{"groupType":"c8y_DeviceGroup","subGroupType":"c8y_DeviceSubgroup","groupFragmentType":"c8y_IsDeviceGroup","dataBrokerSourceFragment":"c8y_BrokerSource","dynamicGroupType":"c8y_DynamicGroup","dynamicGroupFragment":"c8y_IsDynamicGroup","dynamicGroupColumnConfig":"c8y_UIDeviceFilterConfig","dynamicGroupQueryString":"c8y_DeviceQueryString"},"AssetSelectorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@c8y/ngx-components","name":"CommonModule","line":10,"character":12},{"__symbolic":"reference","module":"ngx-bootstrap/collapse","name":"CollapseModule","line":10,"character":26},{"__symbolic":"reference","module":"ngx-bootstrap/dropdown","name":"BsDropdownModule","line":10,"character":42}],"exports":[{"__symbolic":"reference","name":"AssetSelectorNodeComponent"},{"__symbolic":"reference","name":"AssetSelectorComponent"}],"providers":[{"__symbolic":"reference","name":"GroupNodeService"}],"declarations":[{"__symbolic":"reference","name":"AssetSelectorNodeComponent"},{"__symbolic":"reference","name":"AssetSelectorComponent"}]}]}],"members":{}},"GroupNodeService":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AssetNodeService"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"createGroupNode":[{"__symbolic":"method"}],"createChildNode":[{"__symbolic":"method"}],"subAssetsQueryFilter":[{"__symbolic":"method"}],"getGroupItems":[{"__symbolic":"method"}]}},"AssetSelectorNodeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"c8y-asset-selector-node","template":"<div\n class=\"d-flex collapsible\"\n [ngClass]=\"{ 'expanded separator-top': node.open }\"\n title=\"{{ breadcrumb | translate }}\"\n *ngIf=\"!node.root && !node.hidden\"\n>\n <div\n class=\"p-t-8 p-b-8 m-r-8\"\n [ngStyle]=\"{ 'padding-left': level < 6 ? (level - 1) * 8 + 'px' : '24px' }\"\n [style.visibility]=\"node.routerLinkExact ? 'hidden' : 'visible'\"\n >\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" (change)=\"selected(node)\" [checked]=\"checked\" />\n <span></span>\n </label>\n </div>\n <div\n class=\"flex-grow flex-item-middle p-t-8 p-b-8 text-truncate p-r-8\"\n [style.cursor]=\"node.routerLinkExact ? 'pointer' : 'normal'\"\n (click)=\"node.routerLinkExact ? node.click() : ''\"\n >\n <i\n [c8yIcon]=\"node.icon\"\n *ngIf=\"node.icon === 'c8y-group-smart'\"\n [title]=\"'Smart group' | translate\"\n class=\"c8y-icon c8y-icon-duocolor m-r-4 text-16\"\n ></i>\n <i\n [c8yIcon]=\"node.icon\"\n *ngIf=\"node.icon !== 'c8y-group-smart'\"\n [title]=\"'Group' | translate\"\n class=\"c8y-icon c8y-icon-duocolor m-r-4 text-16\"\n ></i>\n <span title=\"{{ breadcrumb }}\">\n {{ node.label | translate }}\n <!-- use just for search results to display the path -->\n <p *ngIf=\"showPath\" class=\"text-truncate\">\n <small class=\"text-muted\" title=\"{{ breadcrumb }}\">\n <em>{{ breadcrumb }}</em>\n </small>\n </p>\n <!-- up to here -->\n </span>\n </div>\n <div>\n <button\n [title]=\"expandTitle\"\n class=\"collapse-btn btn\"\n (click)=\"click()\"\n [attr.aria-expanded]=\"!node.open\"\n >\n <i c8yIcon=\"angle-down\" [ngClass]=\"{ 'text-primary': node.open }\"></i>\n </button>\n </div>\n</div>\n<div class=\"collapse\" [ngClass]=\"{ 'separator-bottom': node.open }\" [collapse]=\"!node.open\">\n <c8y-asset-selector-node\n *ngFor=\"let childNode of node.children\"\n [node]=\"childNode\"\n [preselected]=\"preselected || []\"\n ></c8y-asset-selector-node>\n</div>\n"}]}],"members":{"node":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"preselected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"showPath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":55,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":56,"character":16},{"__symbolic":"reference","name":"AssetSelectorComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"setupBreadcrumbsAndLevel":[{"__symbolic":"method"}],"selected":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"isPreselected":[{"__symbolic":"method"}],"updateSelection":[{"__symbolic":"method"}]}},"AssetSelectorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"c8y-asset-selector","template":"<c8y-asset-selector-node [node]=\"rootNode\" [preselected]=\"selected\"></c8y-asset-selector-node>\n"}]}],"members":{"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"GroupNodeService"}]}],"ngOnInit":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"deselect":[{"__symbolic":"method"}],"getIndexOfSelected":[{"__symbolic":"method"}]}},"GroupNode":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AssetNode"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"GroupNodeService"},null]}]}}},"origins":{"DynamicGroupNode":"./dynamic-group-node","LoadMoreNode":"./load-more-node","Status":"./status.model","MaintenanceStatus":"./status.model","ASSET_NAVIGATOR_CONFIG":"./asset-node-config.model","AssetNavigatorConfig":"./asset-node-config.model","AssetsNavigatorModule":"./assets-navigator.module","AssetNodeFactory":"./asset-node.factory","AssetNodeMo":"./asset-node.service","AssetNodeService":"./asset-node.service","AssetNode":"./asset-node","Action":"./action.enum","DeviceGroupService":"./group.service","GroupFragment":"./group-fragment.model","AssetSelectorModule":"./asset-selector/asset-selector.module","GroupNodeService":"./asset-selector/group-node.service","AssetSelectorNodeComponent":"./asset-selector/asset-selector-node.component","AssetSelectorComponent":"./asset-selector/asset-selector.component","GroupNode":"./asset-selector/group-node"},"importAs":"@c8y/ngx-components/assets-navigator"}
|
|
@@ -895,7 +895,7 @@
|
|
|
895
895
|
var defaultFilter = {
|
|
896
896
|
pageSize: this.PAGE_SIZE,
|
|
897
897
|
withChildren: false,
|
|
898
|
-
query: this.queriesUtil.buildQuery(this.
|
|
898
|
+
query: this.queriesUtil.buildQuery(this.navRootQueryFilter())
|
|
899
899
|
};
|
|
900
900
|
var groupFilter = customFilter ? customFilter : defaultFilter;
|
|
901
901
|
// due to BE performance limitations we do not allow filtering and sorting for a user without inventory roles
|
|
@@ -936,13 +936,18 @@
|
|
|
936
936
|
AssetNodeService.prototype.groupQueryFilter = function (moId) {
|
|
937
937
|
return "$filter=(bygroupid(" + moId + "))$orderby=name";
|
|
938
938
|
};
|
|
939
|
+
AssetNodeService.prototype.navRootQueryFilter = function () {
|
|
940
|
+
var navRootFilter = this.rootQueryFilter();
|
|
941
|
+
navRootFilter.__orderby = [{ name: 1 }];
|
|
942
|
+
return navRootFilter;
|
|
943
|
+
};
|
|
939
944
|
AssetNodeService.prototype.rootQueryFilter = function () {
|
|
940
945
|
var moduleConfig = this.moduleConfig;
|
|
941
946
|
var rootFilter = {
|
|
942
947
|
__filter: {
|
|
943
948
|
type: "" + exports.GroupFragment.groupType
|
|
944
949
|
},
|
|
945
|
-
__orderby: [
|
|
950
|
+
__orderby: []
|
|
946
951
|
};
|
|
947
952
|
if (moduleConfig.smartGroups) {
|
|
948
953
|
var queryFilter = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-assets-navigator.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../assets-navigator/load-more-node.ts","../../assets-navigator/group-fragment.model.ts","../../assets-navigator/action.enum.ts","../../assets-navigator/asset-node.ts","../../assets-navigator/dynamic-group-node.ts","../../assets-navigator/asset-node-config.model.ts","../../assets-navigator/group.service.ts","../../assets-navigator/asset-node.service.ts","../../assets-navigator/asset-node.factory.ts","../../assets-navigator/assets-navigator.module.ts","../../assets-navigator/asset-selector/group-node.ts","../../assets-navigator/asset-selector/group-node.service.ts","../../assets-navigator/asset-selector/asset-selector.component.ts","../../assets-navigator/asset-selector/asset-selector-node.component.ts","../../assets-navigator/asset-selector/asset-selector.module.ts","../../assets-navigator/c8y-ngx-components-assets-navigator.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 { NavigatorNode, gettext } from '@c8y/ngx-components';\n\nexport class LoadMoreNode extends NavigatorNode {\n label = gettext('Load more');\n icon = 'plus';\n droppable = true;\n\n constructor() {\n super();\n this.priority = -Infinity;\n }\n}\n","export enum GroupFragment {\n groupType = 'c8y_DeviceGroup',\n subGroupType = 'c8y_DeviceSubgroup',\n groupFragmentType = 'c8y_IsDeviceGroup',\n dataBrokerSourceFragment = 'c8y_BrokerSource',\n dynamicGroupType = 'c8y_DynamicGroup',\n dynamicGroupFragment = 'c8y_IsDynamicGroup',\n dynamicGroupColumnConfig = 'c8y_UIDeviceFilterConfig',\n dynamicGroupQueryString = 'c8y_DeviceQueryString',\n}\n","export enum Action {\n FETCH,\n NEXT,\n REFRESH,\n LOADING_DONE\n}\n","import { Paging } from '@c8y/client';\nimport { ClickOptions, gettext, NavigatorNode, DeviceStatusComponent } from '@c8y/ngx-components';\nimport { get } from 'lodash-es';\nimport { Subject, Subscription } from 'rxjs';\nimport { AssetNodeMo, AssetNodeService } from './asset-node.service';\nimport { LoadMoreNode } from './load-more-node';\nimport { GroupFragment } from './group-fragment.model';\nimport { Action } from './action.enum';\n\nexport class AssetNode extends NavigatorNode {\n root: boolean;\n mo: any;\n\n get hasChildren() {\n return this.root || this.service.groups.isGroup(this.mo);\n }\n\n get isDevice() {\n return !!this.mo.c8y_IsDevice;\n }\n\n get isDeviceOrProbablyChildDevice() {\n return this.isDevice || this.isNeitherDeviceOrGroup;\n }\n\n get isNeitherDeviceOrGroup() {\n const { isGroup, isDynamicGroup } = this.service.groups;\n return !isGroup(this.mo) && !isDynamicGroup(this.mo) && !this.isDevice && !this.root;\n }\n\n events: Subject<Action>;\n protected paging: Paging<AssetNodeMo>;\n protected loadMoreNode: LoadMoreNode;\n private onUpdateSubscription: Subscription;\n\n constructor(protected service: AssetNodeService, config = {}) {\n super(config);\n this.root = this.root || false;\n this.mo = this.mo || {};\n this.path = this.root\n ? 'group'\n : this.isDeviceOrProbablyChildDevice\n ? `device/${this.mo.id}`\n : `group/${this.mo.id}`;\n this.draggable = !this.service.moduleConfig.disableDragAndDrop && !this.root;\n this.droppable =\n !this.service.moduleConfig.disableDragAndDrop && !this.isDeviceOrProbablyChildDevice;\n this.routerLinkExact = this.root;\n this.updateIcon(false);\n this.onUpdateSubscription = this.service\n .onUpdate(this)\n .subscribe(({ data, method }) => this.refresh(data, method));\n this.setLabel();\n this.iconComponent = this.isDeviceOrProbablyChildDevice ? DeviceStatusComponent : undefined;\n }\n\n openOnStart(url) {\n const urlRegex = /^\\/group\\//;\n if (this.root) {\n if (this.service.moduleConfig.openOnStart || urlRegex.test(url)) {\n return true;\n }\n }\n const matches = url.match(/\\/(group)\\/(\\d+)/);\n let isMatch = false;\n if (matches) {\n const id = matches[2];\n isMatch = []\n .concat(get(this.mo, 'childAssets.references', []))\n .some(({ managedObject }) => managedObject.id === id);\n return isMatch;\n }\n return false;\n }\n\n refresh(mo: any = {}, method = 'GET') {\n if (mo.id === this.mo.id) {\n this.mo = mo;\n this.setLabel();\n } else if (method === 'DELETE') {\n this.parents.forEach((node: AssetNode) => node.refresh());\n return;\n }\n if (this.events) {\n this.events.next(Action.REFRESH);\n }\n }\n\n setLabel() {\n this.label = (this.root && gettext('Groups')) || this.mo.name || '--';\n }\n\n click(options: ClickOptions = {}) {\n if (this.isDeviceOrProbablyChildDevice) {\n this.service.preferBreadcrumb(this.parents);\n return;\n }\n this.hookEvents();\n\n this.updateIcon(options.open);\n if (options.open) {\n this.events.next(Action.FETCH);\n }\n }\n\n sort() {\n this.children.sort((a, b) => {\n if (a.priority > b.priority) {\n return -1;\n } else if (a.priority < b.priority) {\n return 1;\n } else {\n return 0;\n }\n });\n }\n\n addManagedObject(mo) {\n const { childAdditions } = this.mo;\n if (!this.isChildAddition(childAdditions, mo)) {\n this.add(this.service.createChildNode(mo));\n }\n }\n\n isChildAddition(childAdditions, mo) {\n return (\n childAdditions && childAdditions.references.some(({ managedObject: { id } }) => id === mo.id)\n );\n }\n\n destroy() {\n this.onUpdateSubscription.unsubscribe();\n }\n\n get canDrop() {\n const nodeToMove = this.service.draggedData;\n if (nodeToMove) {\n const shouldGetChildOfItsOwn = !!nodeToMove.find(child => child === this);\n const isAlreadyChild = (this.children as AssetNode[]).some(\n child => child.mo && child.mo.id === nodeToMove.mo.id\n );\n const preventMove = this === nodeToMove || shouldGetChildOfItsOwn || isAlreadyChild;\n return this.droppable && !preventMove;\n }\n return this.droppable;\n }\n\n dragStart($event) {\n super.dragStart($event);\n this.service.draggedData = this;\n this.service.rootNode.droppable = !this.isDeviceOrProbablyChildDevice;\n }\n\n dragEnd($event) {\n super.dragEnd($event);\n }\n\n async drop($event) {\n super.drop($event);\n const nodeToMove = this.service.draggedData;\n if (this.canDrop) {\n await this.moveNode(nodeToMove);\n } else {\n this.draggedHover = false;\n this.service.draggedData = undefined;\n }\n }\n\n hookEvents() {\n if (!this.events) {\n this.events = new Subject();\n this.events.subscribe(evt => {\n if (!this.loading) {\n this.handleEvent(evt);\n }\n });\n }\n }\n\n protected fetch() {\n return this.root ? this.service.getRootNodes() : this.service.getGroupItems(this.mo.id);\n }\n\n protected async handleEvent(evt: Action) {\n if (!this.children.length && evt === Action.FETCH) {\n this.loading = true;\n this.addNodes(await this.fetch());\n this.loading = false;\n } else if (evt === Action.NEXT) {\n this.loadMoreNode.loading = true;\n this.addNodes(await this.paging.next());\n this.loadMoreNode.loading = false;\n } else if (evt === Action.REFRESH) {\n this.loading = false;\n this.paging = undefined;\n this.loadMoreNode = undefined;\n this.empty();\n this.events.next(Action.FETCH);\n }\n }\n\n protected addNodes(res) {\n if (res.paging) {\n const { currentPage, nextPage, pageSize } = (this.paging = res.paging);\n if (currentPage === 1) {\n this.empty();\n }\n const itemsCount = res.data.length;\n const moreItemsAvailable = !!nextPage && itemsCount === pageSize;\n this.toggleLoadMore(moreItemsAvailable);\n }\n (res.data || res).map(mo => this.addManagedObject(mo));\n this.events.next(Action.LOADING_DONE);\n }\n\n protected toggleLoadMore(show: boolean) {\n if (!this.loadMoreNode && show) {\n this.loadMoreNode = new LoadMoreNode();\n this.add(this.loadMoreNode);\n this.loadMoreNode.click = () => this.events.next(Action.NEXT);\n }\n\n if (this.loadMoreNode) {\n this.loadMoreNode.hidden = !show;\n }\n }\n\n private async moveNode(nodeToMove: AssetNode) {\n try {\n const isCopy = await this.showDropConfirm(nodeToMove);\n await this.verifyNodeAccess(nodeToMove);\n await this.addMovedNode(nodeToMove);\n if (!isCopy) {\n await this.removeMovedNode(nodeToMove);\n }\n this.expand();\n } catch (ex) {\n if (ex) {\n this.service.alert.addServerFailure(ex);\n }\n } finally {\n this.draggedHover = false;\n this.service.draggedData = undefined;\n }\n }\n\n private async showDropConfirm(nodeToMove: AssetNode) {\n this.confirm.title = gettext('Move');\n this.confirm.message = gettext('Do you want to move the group?');\n const buttons: any = [\n {\n label: gettext('Cancel'),\n action: () => Promise.reject()\n },\n {\n label: gettext('Move'),\n status: 'default',\n action: () => Promise.resolve(false)\n }\n ];\n if (nodeToMove.isDeviceOrProbablyChildDevice) {\n this.confirm.title = gettext('Move or add');\n this.confirm.message = gettext('Do you want to move or add the device?');\n buttons.push({\n label: gettext('Add'),\n status: 'primary',\n action: () => Promise.resolve(true)\n });\n }\n return this.confirm.show(buttons);\n }\n\n private async verifyNodeAccess(nodeToMove: AssetNode) {\n return this.service.inventory.update({ id: nodeToMove.mo.id });\n }\n\n private async addMovedNode(nodeToMove: AssetNode) {\n let mo;\n if (this.root) {\n const { data } = await this.service.inventory.update({\n id: nodeToMove.mo.id,\n type: GroupFragment.groupType\n });\n mo = data;\n } else {\n const { data } = await this.service.inventory.childAssetsAdd(nodeToMove.mo, this.mo);\n mo = data;\n }\n this.addManagedObject(mo);\n }\n\n private async removeMovedNode(nodeToMove: AssetNode) {\n for (const parent of nodeToMove.parents as AssetNode[]) {\n if (parent.mo && parent.mo.type === GroupFragment.dynamicGroupType) {\n break; // smart groups don't need to be changed\n }\n if (parent.root) {\n await this.service.inventory.update({\n id: nodeToMove.mo.id,\n type: GroupFragment.subGroupType\n });\n } else {\n await this.service.inventory.childAssetsRemove(nodeToMove.mo, parent.mo);\n }\n parent.remove(nodeToMove);\n }\n }\n\n private updateIcon(open) {\n this.icon = this.service.groups.icon(\n // if it's root we are going to pass a fake mo to get the same icon as groups\n this.root ? { type: GroupFragment.groupType } : this.mo,\n open\n );\n }\n}\n","\nimport { AssetNode } from './asset-node';\nimport { AssetNodeService } from './asset-node.service';\n\nexport class DynamicGroupNode extends AssetNode {\n constructor(\n protected service: AssetNodeService,\n config = {}\n ) {\n super(service, config);\n this.draggable = false;\n this.droppable = false;\n }\n\n get hasChildren() {\n return true;\n }\n\n get query() {\n return this.mo.c8y_DeviceQueryString;\n }\n\n protected fetch(): any {\n return this.service.getDynamicGroupItems(this.query);\n }\n}\n","import { InjectionToken } from '@angular/core';\r\nexport const ASSET_NAVIGATOR_CONFIG = new InjectionToken<AssetNavigatorConfig>('AssetNodeConfig');\r\n\r\nexport interface AssetNavigatorConfig {\r\n smartGroups?: boolean;\r\n openOnStart?: boolean;\r\n rootNodePriority?: number;\r\n disableDragAndDrop?: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { GroupFragment } from './group-fragment.model';\nimport { IManagedObject } from '@c8y/client';\n\n@Injectable()\nexport class DeviceGroupService {\n icons = {\n brokerSourceInactive: {\n icon: 'c8y-group-remote-inactive'\n },\n brokerSource: {\n icon: 'c8y-group-remote',\n iconOpen: 'c8y-group-remote-open'\n },\n group: {\n icon: 'c8y-group',\n iconOpen: 'c8y-group-open'\n },\n dynamicGroup: {\n icon: 'c8y-group-smart',\n iconOpen: 'c8y-group-smart-open'\n },\n other: {\n icon: 'circle',\n iconClass: 'statusUnknown'\n }\n };\n dataBrokerSourceFragmentInactive = `_${GroupFragment.dataBrokerSourceFragment}`;\n\n isGroup(mo) {\n return (\n !!mo[GroupFragment.groupFragmentType] ||\n mo.type === GroupFragment.groupType ||\n mo.type === GroupFragment.subGroupType\n );\n }\n\n isDynamicGroup(mo) {\n return !!mo[GroupFragment.dynamicGroupFragment] || mo.type === GroupFragment.dynamicGroupType;\n }\n\n isDataBroker(mo) {\n return (\n !!mo[GroupFragment.dataBrokerSourceFragment] || !!mo[this.dataBrokerSourceFragmentInactive]\n );\n }\n\n isDataBrokerActive(mo) {\n return (\n !!mo[GroupFragment.dataBrokerSourceFragment] && !mo[this.dataBrokerSourceFragmentInactive]\n );\n }\n\n isDevice(mo) {\n return !!mo.c8y_IsDevice;\n }\n\n icon(mo, open = false) {\n let type = 'other';\n if (this.isDynamicGroup(mo)) {\n type = 'dynamicGroup';\n } else if (this.isDataBrokerActive(mo)) {\n type = 'brokerSource';\n } else if (this.isDataBroker(mo)) {\n type = 'brokerSourceInactive';\n } else if (this.isGroup(mo)) {\n type = 'group';\n }\n const icon = this.icons[type];\n return (open && icon.iconOpen) || icon.icon;\n }\n\n isAnyGroup(mo: IManagedObject) {\n return (\n this.isGroup(mo) ||\n this.isDynamicGroup(mo) ||\n this.isDataBroker(mo) ||\n this.isDataBrokerActive(mo)\n );\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { InventoryService, QueriesUtil, UserService, IManagedObject, IResult } from '@c8y/client';\nimport {\n AlertService,\n BreadcrumbService,\n ModalService,\n NavigatorNode,\n AppStateService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { empty } from 'rxjs';\nimport { filter, mergeMap } from 'rxjs/operators';\nimport { AssetNode } from './asset-node';\nimport { AssetNavigatorConfig, ASSET_NAVIGATOR_CONFIG } from './asset-node-config.model';\nimport { DynamicGroupNode } from './dynamic-group-node';\nimport { GroupFragment } from './group-fragment.model';\nimport { DeviceGroupService } from './group.service';\n\nexport interface AssetNodeMo {\n id: string;\n type: string;\n}\n\n@Injectable()\nexport class AssetNodeService {\n rootNode: AssetNode;\n firstUrl = true;\n draggedData: AssetNode;\n queriesUtil: QueriesUtil;\n protected PAGE_SIZE = 20;\n\n constructor(\n public inventory: InventoryService,\n public groups: DeviceGroupService,\n public apiService: ApiService,\n public modal: ModalService,\n public alert: AlertService,\n protected breadcrumbService: BreadcrumbService,\n protected user: UserService,\n protected appState: AppStateService,\n @Optional() @Inject(ASSET_NAVIGATOR_CONFIG) public moduleConfig: AssetNavigatorConfig\n ) {\n this.moduleConfig = {\n rootNodePriority: 2000,\n ...(moduleConfig || {})\n };\n this.queriesUtil = new QueriesUtil();\n }\n\n createRootNode() {\n this.rootNode = this.createAssetNode({\n root: true,\n priority: this.moduleConfig.rootNodePriority\n });\n return this.rootNode;\n }\n\n createDynamicGroupNode(config) {\n return new DynamicGroupNode(this, config);\n }\n\n createAssetNode(config) {\n return new AssetNode(this, config);\n }\n\n createChildNode(managedObject) {\n const { type } = managedObject;\n const config: Partial<AssetNode> = { mo: managedObject };\n if (type === GroupFragment.dynamicGroupType) {\n return this.createDynamicGroupNode(config);\n }\n return this.createAssetNode(config);\n }\n\n getRootNodes(customFilter?: any): Promise<any> {\n const defaultFilter = {\n pageSize: this.PAGE_SIZE,\n withChildren: false,\n query: this.queriesUtil.buildQuery(this.rootQueryFilter())\n };\n const groupFilter = customFilter ? customFilter : defaultFilter;\n\n // due to BE performance limitations we do not allow filtering and sorting for a user without inventory roles\n if (!this.user.hasRole(this.appState.currentUser.value, 'ROLE_INVENTORY_READ')) {\n delete groupFilter.query;\n Object.assign(groupFilter, {\n fragmentType: GroupFragment.groupFragmentType,\n onlyRoots: true\n });\n }\n return this.inventory.list(this.createFilter(groupFilter));\n }\n\n getGroupItems(moId: string, extraFilter: object = {}) {\n const queryFilter = {\n withChildren: false,\n pageSize: this.PAGE_SIZE,\n query: this.groupQueryFilter(moId)\n };\n return this.inventory.childAssetsList(moId, { ...queryFilter, ...extraFilter });\n }\n\n getDynamicGroupItems(groupQuery: string, filterObj: any = {}) {\n const { query, ...queryParams } = filterObj;\n const orderByQuery = query;\n const queryFilter = {\n q: this.buildCombinedQuery(groupQuery, orderByQuery),\n ...queryParams\n };\n return this.inventory.list(this.createFilter(queryFilter));\n }\n\n getDeviceChildren(moId: string, extraFilter: object = {}) {\n const queryFilter = {\n withChildren: false,\n pageSize: this.PAGE_SIZE,\n query: this.groupQueryFilter(moId)\n };\n return this.inventory.childDevicesList(moId, { ...queryFilter, ...extraFilter });\n }\n\n groupQueryFilter(moId: string) {\n return `$filter=(bygroupid(${moId}))$orderby=name`;\n }\n\n rootQueryFilter() {\n const { moduleConfig } = this;\n const rootFilter = {\n __filter: {\n type: `${GroupFragment.groupType}`\n },\n __orderby: [{ name: 1 }]\n };\n if (moduleConfig.smartGroups) {\n const queryFilter = {\n __filter: {\n __and: [\n {\n type: `${GroupFragment.dynamicGroupType}`\n },\n {\n __has: `${GroupFragment.dynamicGroupFragment}`\n },\n { __not: { __has: `${GroupFragment.dynamicGroupFragment}.invisible` } }\n ]\n }\n };\n this.queriesUtil.addOrFilter(rootFilter, queryFilter);\n }\n return rootFilter;\n }\n\n onUpdate({ mo, root }) {\n if (mo.id) {\n return this.apiService\n .hookResponse(\n ({ url, method }) =>\n ['PUT', 'DELETE', 'POST'].includes(method) &&\n RegExp(`((inventory/managedObjects)|(service/smartgroup/smartgroups))/${mo.id}`).test(\n url\n )\n )\n .pipe(\n filter(() => !this.draggedData),\n mergeMap(this.apiService.resolveData),\n filter(response => !response.data.c8y_Dashboard)\n );\n } else if (root) {\n return this.apiService\n .hookResponse(\n ({ url, method }) =>\n RegExp('((inventory/managedObjects)|(service/smartgroup/smartgroups))/?$').test(url) &&\n method === 'POST'\n )\n .pipe(\n mergeMap(this.apiService.resolveData),\n filter(response => this.isNewManagedObjectRoot(response))\n );\n } else {\n return empty();\n }\n }\n\n isNewManagedObjectRoot(response: Partial<IResult<IManagedObject>> = {}) {\n const { data } = response;\n let isRootAsset = false;\n\n if (typeof data === 'object') {\n isRootAsset = !!data[GroupFragment.groupFragmentType];\n if (!isRootAsset && this.moduleConfig.smartGroups) {\n isRootAsset = !!data[GroupFragment.dynamicGroupFragment];\n }\n }\n return isRootAsset;\n }\n\n /**\n * There could be multiple breadcrumbs for devices,\n * so we set a preferred one on click on a device.\n * @param parents The parent nodes of the device to select the prefered one.\n */\n preferBreadcrumb(parents: NavigatorNode[]) {\n if (parents.length === 1) {\n this.breadcrumbService.selectPreferredByPath(parents[0].path);\n }\n }\n\n protected createFilter(extraParams: any = {}) {\n const params = {\n currentPage: 1,\n withTotalPages: true,\n pageSize: 10\n };\n return { ...params, ...extraParams };\n }\n\n private buildCombinedQuery(query, orderByQuery) {\n let combinedQuery;\n if (query && orderByQuery) {\n const filterQuery = this.queriesUtil.buildQuery({\n __useFilterQueryString: query\n });\n combinedQuery = `${filterQuery} ${orderByQuery}`;\n } else {\n combinedQuery = query || orderByQuery || '';\n }\n return combinedQuery;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AssetNodeService } from './asset-node.service';\nimport { NavigatorNode } from '@c8y/ngx-components';\n\n@Injectable()\nexport class AssetNodeFactory {\n constructor(private service: AssetNodeService) {}\n\n get(): NavigatorNode {\n if (!this.service.rootNode) {\n this.service.createRootNode();\n }\n return this.service.rootNode;\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { HOOK_NAVIGATOR_NODES, ModalModule, ModalService, DeviceStatusComponent, DeviceStatusModule} from '@c8y/ngx-components';\nimport { ASSET_NAVIGATOR_CONFIG} from './asset-node-config.model';\nimport { AssetNodeFactory } from './asset-node.factory';\nimport { AssetNodeService } from './asset-node.service';\nimport { AssetNavigatorConfig } from './asset-node-config.model';\nimport { DeviceGroupService } from './group.service';\n\n@NgModule({\n declarations: [],\n imports: [\n ModalModule,\n DeviceStatusModule\n ],\n providers: [\n ModalService,\n AssetNodeService,\n DeviceGroupService,\n {\n provide: HOOK_NAVIGATOR_NODES, useClass: AssetNodeFactory, multi: true\n }\n ],\n entryComponents: [DeviceStatusComponent]\n})\nexport class AssetsNavigatorModule {\n static config(config: AssetNavigatorConfig): ModuleWithProviders<AssetsNavigatorModule> {\n return {\n ngModule: AssetsNavigatorModule,\n providers: [\n {\n provide: ASSET_NAVIGATOR_CONFIG, useValue: config\n }\n ],\n };\n }\n\n}\n","import { GroupNodeService } from './group-node.service';\nimport { AssetNode } from '../asset-node';\n\nexport class GroupNode extends AssetNode {\n // FIXME: Currently hasChildren returns true if it is a group,\n // Issue is, that we disable the children in the API\n // getGroupItems service call due to performance. This leads\n // to that the dropdown chevron is shown always. Issue is,\n // that even if we return the chevrons, we have no way to determine\n // if the childAssets contain groups or other assets (like dashboards).\n // get hasChildren() {\n // return this.root || this.service.groups.isGroup(this.mo) && (this.mo as IManagedObject).childAssets.references.length > 0;\n // }\n\n /**\n * Creates a new node which shows only groups.\n *\n * @param service The service to use.\n * @param config The default configuration of the node.\n */\n constructor(protected service: GroupNodeService, config = {}) {\n super(service, config);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AssetNodeService } from '../asset-node.service';\nimport { GroupNode } from './group-node';\nimport { GroupFragment } from '../group-fragment.model';\n\n@Injectable()\nexport class GroupNodeService extends AssetNodeService {\n protected PAGE_SIZE = 5;\n\n createGroupNode(config) {\n return new GroupNode(this, config);\n }\n\n createChildNode(managedObject): GroupNode {\n const config: Partial<GroupNode> = { mo: managedObject };\n return this.createGroupNode(config);\n }\n\n subAssetsQueryFilter() {\n const rootQueryFilter = this.rootQueryFilter();\n const filter = this.queriesUtil.addOrFilter(rootQueryFilter, {\n type: GroupFragment.subGroupType\n });\n return this.queriesUtil.buildQuery(filter);\n }\n\n getGroupItems(moId: string): Promise<any> {\n return this.inventory.childAssetsList(moId, {\n query: this.subAssetsQueryFilter(),\n withChildren: false,\n pageSize: this.PAGE_SIZE,\n withTotalPages: true\n });\n }\n}\n","import { Component, Output, Input, EventEmitter, OnInit } from '@angular/core';\nimport { GroupNodeService } from './group-node.service';\nimport { GroupNode } from './group-node';\nimport { IManagedObject } from '@c8y/client';\n\n/**\n * Displays a hierarchical tree selector for assets.\n */\n@Component({\n selector: 'c8y-asset-selector',\n templateUrl: './asset-selector.component.html'\n})\nexport class AssetSelectorComponent implements OnInit {\n /**\n * An array of predefined nodes.\n */\n @Input() selected: IManagedObject[] = [];\n /**\n * Emits if one item was selected (all currently selected nodes).\n */\n @Output() onChange = new EventEmitter<IManagedObject[]>();\n /**\n * @ignore\n */\n rootNode: GroupNode;\n\n /**\n * @ignore only DI\n */\n constructor(private groupNodeService: GroupNodeService) {}\n\n /**\n * @ignore\n */\n ngOnInit(): void {\n this.rootNode = this.groupNodeService.createGroupNode({ root: true });\n }\n\n /**\n * Adds an managed object to the selected array and emits the change.\n * @param selectedMo The selected asset.\n */\n select(selectedMo: IManagedObject) {\n const index = this.getIndexOfSelected(this.selected, selectedMo);\n if (index === -1) {\n this.selected.push(selectedMo);\n }\n this.onChange.emit(this.selected);\n }\n\n /**\n * Removes a managed object from the selected array and emits the change.\n * @param selectedMo The selected asset.\n */\n deselect(selectedMo: IManagedObject) {\n const index = this.getIndexOfSelected(this.selected, selectedMo);\n if (index > -1) {\n this.selected.splice(index, 1);\n }\n this.onChange.emit(this.selected);\n }\n\n getIndexOfSelected(selected: Array<Partial<IManagedObject>>, selectedMo: IManagedObject) {\n return selected.findIndex(mo => mo.id === selectedMo.id);\n }\n}\n","import { Component, Input, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GroupNode } from './group-node';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { AssetSelectorComponent } from './asset-selector.component';\nimport { IManagedObject } from '@c8y/client';\nimport { Action } from '../action.enum';\n\n@Component({\n selector: 'c8y-asset-selector-node',\n templateUrl: './asset-selector-node.component.html'\n})\nexport class AssetSelectorNodeComponent implements OnInit {\n /**\n * The current node.\n */\n @Input() node: GroupNode;\n /**\n * All preselected items\n */\n @Input() preselected: Array<Partial<IManagedObject>> = [];\n /**\n * Should the path be shown\n */\n @Input() showPath: boolean = false;\n /**\n * The current path to the node\n */\n breadcrumb: string;\n /**\n * @ignore\n */\n level: number = 0;\n /**\n * The selection status of the node\n */\n checked: boolean = false;\n /**\n * @ignore\n */\n unsubscribe$ = new Subject<any>();\n\n /**\n * @ignore\n */\n get expandTitle() {\n return !this.node.open ? gettext('Expand') : gettext('Collapse');\n }\n\n /**\n * @ignore only di\n */\n constructor(\n private translateService: TranslateService,\n private cd: ChangeDetectorRef,\n private parentNode: AssetSelectorComponent\n ) {}\n\n /**\n * @ignore\n */\n async ngOnInit() {\n this.breadcrumb = this.node.label;\n this.setupBreadcrumbsAndLevel(this.node);\n\n if (this.node instanceof GroupNode) {\n this.node.hookEvents();\n }\n\n // open on startup\n if (this.node.root) {\n this.click();\n }\n\n if (this.node.events) {\n this.node.events\n .pipe(\n takeUntil(this.unsubscribe$),\n filter((a: Action) => a === Action.LOADING_DONE)\n )\n .subscribe(() => {\n this.cd.markForCheck();\n });\n }\n\n this.checked = this.isPreselected();\n }\n\n /**\n * Opens a node.\n */\n click() {\n this.node.open = !this.node.open;\n this.node.click({ open: this.node.open });\n }\n\n /**\n * TODO: Only level used. Breadcrumbs needs to be implemented.\n */\n setupBreadcrumbsAndLevel(node: GroupNode) {\n if (node.parents && node.parents.length) {\n const parent = node.parents[0] as GroupNode;\n this.breadcrumb = this.translateService.instant(parent.label) + ' > ' + this.breadcrumb;\n this.level++;\n\n this.setupBreadcrumbsAndLevel(parent);\n }\n }\n\n /**\n * Selects the node and emits a change on the parent component.\n * @param node The node to select.\n */\n selected(node: GroupNode) {\n this.checked = !this.checked;\n this.updateSelection(node.mo);\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this.unsubscribe$.next(true);\n this.unsubscribe$.complete();\n }\n\n private isPreselected() {\n if (this.node.root || !this.node.mo) {\n return false;\n }\n return this.parentNode.getIndexOfSelected(this.preselected, this.node.mo) > -1;\n }\n\n private updateSelection(selectedMo: IManagedObject) {\n if (this.checked) {\n this.parentNode.select(selectedMo);\n return;\n }\n this.parentNode.deselect(selectedMo);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@c8y/ngx-components';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { GroupNodeService } from './group-node.service';\n\nimport { AssetSelectorNodeComponent } from './asset-selector-node.component';\nimport { AssetSelectorComponent } from './asset-selector.component';\n\n@NgModule({\n imports: [CommonModule, CollapseModule, BsDropdownModule ],\n exports: [AssetSelectorNodeComponent, AssetSelectorComponent],\n providers: [GroupNodeService],\n declarations: [AssetSelectorNodeComponent, AssetSelectorComponent]\n})\nexport class AssetSelectorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["gettext","NavigatorNode","GroupFragment","Action","DeviceStatusComponent","get","Subject","InjectionToken","Injectable","QueriesUtil","filter","mergeMap","empty","InventoryService","ApiService","ModalService","AlertService","BreadcrumbService","UserService","AppStateService","Optional","Inject","NgModule","ModalModule","DeviceStatusModule","HOOK_NAVIGATOR_NODES","EventEmitter","Component","Input","Output","takeUntil","TranslateService","ChangeDetectorRef","CommonModule","CollapseModule","BsDropdownModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-assets-navigator.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../assets-navigator/load-more-node.ts","../../assets-navigator/group-fragment.model.ts","../../assets-navigator/action.enum.ts","../../assets-navigator/asset-node.ts","../../assets-navigator/dynamic-group-node.ts","../../assets-navigator/asset-node-config.model.ts","../../assets-navigator/group.service.ts","../../assets-navigator/asset-node.service.ts","../../assets-navigator/asset-node.factory.ts","../../assets-navigator/assets-navigator.module.ts","../../assets-navigator/asset-selector/group-node.ts","../../assets-navigator/asset-selector/group-node.service.ts","../../assets-navigator/asset-selector/asset-selector.component.ts","../../assets-navigator/asset-selector/asset-selector-node.component.ts","../../assets-navigator/asset-selector/asset-selector.module.ts","../../assets-navigator/c8y-ngx-components-assets-navigator.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 { NavigatorNode, gettext } from '@c8y/ngx-components';\n\nexport class LoadMoreNode extends NavigatorNode {\n label = gettext('Load more');\n icon = 'plus';\n droppable = true;\n\n constructor() {\n super();\n this.priority = -Infinity;\n }\n}\n","export enum GroupFragment {\n groupType = 'c8y_DeviceGroup',\n subGroupType = 'c8y_DeviceSubgroup',\n groupFragmentType = 'c8y_IsDeviceGroup',\n dataBrokerSourceFragment = 'c8y_BrokerSource',\n dynamicGroupType = 'c8y_DynamicGroup',\n dynamicGroupFragment = 'c8y_IsDynamicGroup',\n dynamicGroupColumnConfig = 'c8y_UIDeviceFilterConfig',\n dynamicGroupQueryString = 'c8y_DeviceQueryString',\n}\n","export enum Action {\n FETCH,\n NEXT,\n REFRESH,\n LOADING_DONE\n}\n","import { Paging } from '@c8y/client';\nimport { ClickOptions, gettext, NavigatorNode, DeviceStatusComponent } from '@c8y/ngx-components';\nimport { get } from 'lodash-es';\nimport { Subject, Subscription } from 'rxjs';\nimport { AssetNodeMo, AssetNodeService } from './asset-node.service';\nimport { LoadMoreNode } from './load-more-node';\nimport { GroupFragment } from './group-fragment.model';\nimport { Action } from './action.enum';\n\nexport class AssetNode extends NavigatorNode {\n root: boolean;\n mo: any;\n\n get hasChildren() {\n return this.root || this.service.groups.isGroup(this.mo);\n }\n\n get isDevice() {\n return !!this.mo.c8y_IsDevice;\n }\n\n get isDeviceOrProbablyChildDevice() {\n return this.isDevice || this.isNeitherDeviceOrGroup;\n }\n\n get isNeitherDeviceOrGroup() {\n const { isGroup, isDynamicGroup } = this.service.groups;\n return !isGroup(this.mo) && !isDynamicGroup(this.mo) && !this.isDevice && !this.root;\n }\n\n events: Subject<Action>;\n protected paging: Paging<AssetNodeMo>;\n protected loadMoreNode: LoadMoreNode;\n private onUpdateSubscription: Subscription;\n\n constructor(protected service: AssetNodeService, config = {}) {\n super(config);\n this.root = this.root || false;\n this.mo = this.mo || {};\n this.path = this.root\n ? 'group'\n : this.isDeviceOrProbablyChildDevice\n ? `device/${this.mo.id}`\n : `group/${this.mo.id}`;\n this.draggable = !this.service.moduleConfig.disableDragAndDrop && !this.root;\n this.droppable =\n !this.service.moduleConfig.disableDragAndDrop && !this.isDeviceOrProbablyChildDevice;\n this.routerLinkExact = this.root;\n this.updateIcon(false);\n this.onUpdateSubscription = this.service\n .onUpdate(this)\n .subscribe(({ data, method }) => this.refresh(data, method));\n this.setLabel();\n this.iconComponent = this.isDeviceOrProbablyChildDevice ? DeviceStatusComponent : undefined;\n }\n\n openOnStart(url) {\n const urlRegex = /^\\/group\\//;\n if (this.root) {\n if (this.service.moduleConfig.openOnStart || urlRegex.test(url)) {\n return true;\n }\n }\n const matches = url.match(/\\/(group)\\/(\\d+)/);\n let isMatch = false;\n if (matches) {\n const id = matches[2];\n isMatch = []\n .concat(get(this.mo, 'childAssets.references', []))\n .some(({ managedObject }) => managedObject.id === id);\n return isMatch;\n }\n return false;\n }\n\n refresh(mo: any = {}, method = 'GET') {\n if (mo.id === this.mo.id) {\n this.mo = mo;\n this.setLabel();\n } else if (method === 'DELETE') {\n this.parents.forEach((node: AssetNode) => node.refresh());\n return;\n }\n if (this.events) {\n this.events.next(Action.REFRESH);\n }\n }\n\n setLabel() {\n this.label = (this.root && gettext('Groups')) || this.mo.name || '--';\n }\n\n click(options: ClickOptions = {}) {\n if (this.isDeviceOrProbablyChildDevice) {\n this.service.preferBreadcrumb(this.parents);\n return;\n }\n this.hookEvents();\n\n this.updateIcon(options.open);\n if (options.open) {\n this.events.next(Action.FETCH);\n }\n }\n\n sort() {\n this.children.sort((a, b) => {\n if (a.priority > b.priority) {\n return -1;\n } else if (a.priority < b.priority) {\n return 1;\n } else {\n return 0;\n }\n });\n }\n\n addManagedObject(mo) {\n const { childAdditions } = this.mo;\n if (!this.isChildAddition(childAdditions, mo)) {\n this.add(this.service.createChildNode(mo));\n }\n }\n\n isChildAddition(childAdditions, mo) {\n return (\n childAdditions && childAdditions.references.some(({ managedObject: { id } }) => id === mo.id)\n );\n }\n\n destroy() {\n this.onUpdateSubscription.unsubscribe();\n }\n\n get canDrop() {\n const nodeToMove = this.service.draggedData;\n if (nodeToMove) {\n const shouldGetChildOfItsOwn = !!nodeToMove.find(child => child === this);\n const isAlreadyChild = (this.children as AssetNode[]).some(\n child => child.mo && child.mo.id === nodeToMove.mo.id\n );\n const preventMove = this === nodeToMove || shouldGetChildOfItsOwn || isAlreadyChild;\n return this.droppable && !preventMove;\n }\n return this.droppable;\n }\n\n dragStart($event) {\n super.dragStart($event);\n this.service.draggedData = this;\n this.service.rootNode.droppable = !this.isDeviceOrProbablyChildDevice;\n }\n\n dragEnd($event) {\n super.dragEnd($event);\n }\n\n async drop($event) {\n super.drop($event);\n const nodeToMove = this.service.draggedData;\n if (this.canDrop) {\n await this.moveNode(nodeToMove);\n } else {\n this.draggedHover = false;\n this.service.draggedData = undefined;\n }\n }\n\n hookEvents() {\n if (!this.events) {\n this.events = new Subject();\n this.events.subscribe(evt => {\n if (!this.loading) {\n this.handleEvent(evt);\n }\n });\n }\n }\n\n protected fetch() {\n return this.root ? this.service.getRootNodes() : this.service.getGroupItems(this.mo.id);\n }\n\n protected async handleEvent(evt: Action) {\n if (!this.children.length && evt === Action.FETCH) {\n this.loading = true;\n this.addNodes(await this.fetch());\n this.loading = false;\n } else if (evt === Action.NEXT) {\n this.loadMoreNode.loading = true;\n this.addNodes(await this.paging.next());\n this.loadMoreNode.loading = false;\n } else if (evt === Action.REFRESH) {\n this.loading = false;\n this.paging = undefined;\n this.loadMoreNode = undefined;\n this.empty();\n this.events.next(Action.FETCH);\n }\n }\n\n protected addNodes(res) {\n if (res.paging) {\n const { currentPage, nextPage, pageSize } = (this.paging = res.paging);\n if (currentPage === 1) {\n this.empty();\n }\n const itemsCount = res.data.length;\n const moreItemsAvailable = !!nextPage && itemsCount === pageSize;\n this.toggleLoadMore(moreItemsAvailable);\n }\n (res.data || res).map(mo => this.addManagedObject(mo));\n this.events.next(Action.LOADING_DONE);\n }\n\n protected toggleLoadMore(show: boolean) {\n if (!this.loadMoreNode && show) {\n this.loadMoreNode = new LoadMoreNode();\n this.add(this.loadMoreNode);\n this.loadMoreNode.click = () => this.events.next(Action.NEXT);\n }\n\n if (this.loadMoreNode) {\n this.loadMoreNode.hidden = !show;\n }\n }\n\n private async moveNode(nodeToMove: AssetNode) {\n try {\n const isCopy = await this.showDropConfirm(nodeToMove);\n await this.verifyNodeAccess(nodeToMove);\n await this.addMovedNode(nodeToMove);\n if (!isCopy) {\n await this.removeMovedNode(nodeToMove);\n }\n this.expand();\n } catch (ex) {\n if (ex) {\n this.service.alert.addServerFailure(ex);\n }\n } finally {\n this.draggedHover = false;\n this.service.draggedData = undefined;\n }\n }\n\n private async showDropConfirm(nodeToMove: AssetNode) {\n this.confirm.title = gettext('Move');\n this.confirm.message = gettext('Do you want to move the group?');\n const buttons: any = [\n {\n label: gettext('Cancel'),\n action: () => Promise.reject()\n },\n {\n label: gettext('Move'),\n status: 'default',\n action: () => Promise.resolve(false)\n }\n ];\n if (nodeToMove.isDeviceOrProbablyChildDevice) {\n this.confirm.title = gettext('Move or add');\n this.confirm.message = gettext('Do you want to move or add the device?');\n buttons.push({\n label: gettext('Add'),\n status: 'primary',\n action: () => Promise.resolve(true)\n });\n }\n return this.confirm.show(buttons);\n }\n\n private async verifyNodeAccess(nodeToMove: AssetNode) {\n return this.service.inventory.update({ id: nodeToMove.mo.id });\n }\n\n private async addMovedNode(nodeToMove: AssetNode) {\n let mo;\n if (this.root) {\n const { data } = await this.service.inventory.update({\n id: nodeToMove.mo.id,\n type: GroupFragment.groupType\n });\n mo = data;\n } else {\n const { data } = await this.service.inventory.childAssetsAdd(nodeToMove.mo, this.mo);\n mo = data;\n }\n this.addManagedObject(mo);\n }\n\n private async removeMovedNode(nodeToMove: AssetNode) {\n for (const parent of nodeToMove.parents as AssetNode[]) {\n if (parent.mo && parent.mo.type === GroupFragment.dynamicGroupType) {\n break; // smart groups don't need to be changed\n }\n if (parent.root) {\n await this.service.inventory.update({\n id: nodeToMove.mo.id,\n type: GroupFragment.subGroupType\n });\n } else {\n await this.service.inventory.childAssetsRemove(nodeToMove.mo, parent.mo);\n }\n parent.remove(nodeToMove);\n }\n }\n\n private updateIcon(open) {\n this.icon = this.service.groups.icon(\n // if it's root we are going to pass a fake mo to get the same icon as groups\n this.root ? { type: GroupFragment.groupType } : this.mo,\n open\n );\n }\n}\n","\nimport { AssetNode } from './asset-node';\nimport { AssetNodeService } from './asset-node.service';\n\nexport class DynamicGroupNode extends AssetNode {\n constructor(\n protected service: AssetNodeService,\n config = {}\n ) {\n super(service, config);\n this.draggable = false;\n this.droppable = false;\n }\n\n get hasChildren() {\n return true;\n }\n\n get query() {\n return this.mo.c8y_DeviceQueryString;\n }\n\n protected fetch(): any {\n return this.service.getDynamicGroupItems(this.query);\n }\n}\n","import { InjectionToken } from '@angular/core';\r\nexport const ASSET_NAVIGATOR_CONFIG = new InjectionToken<AssetNavigatorConfig>('AssetNodeConfig');\r\n\r\nexport interface AssetNavigatorConfig {\r\n smartGroups?: boolean;\r\n openOnStart?: boolean;\r\n rootNodePriority?: number;\r\n disableDragAndDrop?: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { GroupFragment } from './group-fragment.model';\nimport { IManagedObject } from '@c8y/client';\n\n@Injectable()\nexport class DeviceGroupService {\n icons = {\n brokerSourceInactive: {\n icon: 'c8y-group-remote-inactive'\n },\n brokerSource: {\n icon: 'c8y-group-remote',\n iconOpen: 'c8y-group-remote-open'\n },\n group: {\n icon: 'c8y-group',\n iconOpen: 'c8y-group-open'\n },\n dynamicGroup: {\n icon: 'c8y-group-smart',\n iconOpen: 'c8y-group-smart-open'\n },\n other: {\n icon: 'circle',\n iconClass: 'statusUnknown'\n }\n };\n dataBrokerSourceFragmentInactive = `_${GroupFragment.dataBrokerSourceFragment}`;\n\n isGroup(mo) {\n return (\n !!mo[GroupFragment.groupFragmentType] ||\n mo.type === GroupFragment.groupType ||\n mo.type === GroupFragment.subGroupType\n );\n }\n\n isDynamicGroup(mo) {\n return !!mo[GroupFragment.dynamicGroupFragment] || mo.type === GroupFragment.dynamicGroupType;\n }\n\n isDataBroker(mo) {\n return (\n !!mo[GroupFragment.dataBrokerSourceFragment] || !!mo[this.dataBrokerSourceFragmentInactive]\n );\n }\n\n isDataBrokerActive(mo) {\n return (\n !!mo[GroupFragment.dataBrokerSourceFragment] && !mo[this.dataBrokerSourceFragmentInactive]\n );\n }\n\n isDevice(mo) {\n return !!mo.c8y_IsDevice;\n }\n\n icon(mo, open = false) {\n let type = 'other';\n if (this.isDynamicGroup(mo)) {\n type = 'dynamicGroup';\n } else if (this.isDataBrokerActive(mo)) {\n type = 'brokerSource';\n } else if (this.isDataBroker(mo)) {\n type = 'brokerSourceInactive';\n } else if (this.isGroup(mo)) {\n type = 'group';\n }\n const icon = this.icons[type];\n return (open && icon.iconOpen) || icon.icon;\n }\n\n isAnyGroup(mo: IManagedObject) {\n return (\n this.isGroup(mo) ||\n this.isDynamicGroup(mo) ||\n this.isDataBroker(mo) ||\n this.isDataBrokerActive(mo)\n );\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { InventoryService, QueriesUtil, UserService, IManagedObject, IResult } from '@c8y/client';\nimport {\n AlertService,\n BreadcrumbService,\n ModalService,\n NavigatorNode,\n AppStateService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { empty } from 'rxjs';\nimport { filter, mergeMap } from 'rxjs/operators';\nimport { AssetNode } from './asset-node';\nimport { AssetNavigatorConfig, ASSET_NAVIGATOR_CONFIG } from './asset-node-config.model';\nimport { DynamicGroupNode } from './dynamic-group-node';\nimport { GroupFragment } from './group-fragment.model';\nimport { DeviceGroupService } from './group.service';\n\nexport interface AssetNodeMo {\n id: string;\n type: string;\n}\n\n@Injectable()\nexport class AssetNodeService {\n rootNode: AssetNode;\n firstUrl = true;\n draggedData: AssetNode;\n queriesUtil: QueriesUtil;\n protected PAGE_SIZE = 20;\n\n constructor(\n public inventory: InventoryService,\n public groups: DeviceGroupService,\n public apiService: ApiService,\n public modal: ModalService,\n public alert: AlertService,\n protected breadcrumbService: BreadcrumbService,\n protected user: UserService,\n protected appState: AppStateService,\n @Optional() @Inject(ASSET_NAVIGATOR_CONFIG) public moduleConfig: AssetNavigatorConfig\n ) {\n this.moduleConfig = {\n rootNodePriority: 2000,\n ...(moduleConfig || {})\n };\n this.queriesUtil = new QueriesUtil();\n }\n\n createRootNode() {\n this.rootNode = this.createAssetNode({\n root: true,\n priority: this.moduleConfig.rootNodePriority\n });\n return this.rootNode;\n }\n\n createDynamicGroupNode(config) {\n return new DynamicGroupNode(this, config);\n }\n\n createAssetNode(config) {\n return new AssetNode(this, config);\n }\n\n createChildNode(managedObject) {\n const { type } = managedObject;\n const config: Partial<AssetNode> = { mo: managedObject };\n if (type === GroupFragment.dynamicGroupType) {\n return this.createDynamicGroupNode(config);\n }\n return this.createAssetNode(config);\n }\n\n getRootNodes(customFilter?: any): Promise<any> {\n const defaultFilter = {\n pageSize: this.PAGE_SIZE,\n withChildren: false,\n query: this.queriesUtil.buildQuery(this.navRootQueryFilter())\n };\n const groupFilter = customFilter ? customFilter : defaultFilter;\n\n // due to BE performance limitations we do not allow filtering and sorting for a user without inventory roles\n if (!this.user.hasRole(this.appState.currentUser.value, 'ROLE_INVENTORY_READ')) {\n delete groupFilter.query;\n Object.assign(groupFilter, {\n fragmentType: GroupFragment.groupFragmentType,\n onlyRoots: true\n });\n }\n return this.inventory.list(this.createFilter(groupFilter));\n }\n\n getGroupItems(moId: string, extraFilter: object = {}) {\n const queryFilter = {\n withChildren: false,\n pageSize: this.PAGE_SIZE,\n query: this.groupQueryFilter(moId)\n };\n return this.inventory.childAssetsList(moId, { ...queryFilter, ...extraFilter });\n }\n\n getDynamicGroupItems(groupQuery: string, filterObj: any = {}) {\n const { query, ...queryParams } = filterObj;\n const orderByQuery = query;\n const queryFilter = {\n q: this.buildCombinedQuery(groupQuery, orderByQuery),\n ...queryParams\n };\n return this.inventory.list(this.createFilter(queryFilter));\n }\n\n getDeviceChildren(moId: string, extraFilter: object = {}) {\n const queryFilter = {\n withChildren: false,\n pageSize: this.PAGE_SIZE,\n query: this.groupQueryFilter(moId)\n };\n return this.inventory.childDevicesList(moId, { ...queryFilter, ...extraFilter });\n }\n\n groupQueryFilter(moId: string) {\n return `$filter=(bygroupid(${moId}))$orderby=name`;\n }\n\n navRootQueryFilter() {\n const navRootFilter = this.rootQueryFilter();\n navRootFilter.__orderby = [{ name: 1 }];\n return navRootFilter;\n }\n\n rootQueryFilter() {\n const { moduleConfig } = this;\n const rootFilter = {\n __filter: {\n type: `${GroupFragment.groupType}`\n },\n __orderby: []\n };\n if (moduleConfig.smartGroups) {\n const queryFilter = {\n __filter: {\n __and: [\n {\n type: `${GroupFragment.dynamicGroupType}`\n },\n {\n __has: `${GroupFragment.dynamicGroupFragment}`\n },\n { __not: { __has: `${GroupFragment.dynamicGroupFragment}.invisible` } }\n ]\n }\n };\n this.queriesUtil.addOrFilter(rootFilter, queryFilter);\n }\n return rootFilter;\n }\n\n onUpdate({ mo, root }) {\n if (mo.id) {\n return this.apiService\n .hookResponse(\n ({ url, method }) =>\n ['PUT', 'DELETE', 'POST'].includes(method) &&\n RegExp(`((inventory/managedObjects)|(service/smartgroup/smartgroups))/${mo.id}`).test(\n url\n )\n )\n .pipe(\n filter(() => !this.draggedData),\n mergeMap(this.apiService.resolveData),\n filter(response => !response.data.c8y_Dashboard)\n );\n } else if (root) {\n return this.apiService\n .hookResponse(\n ({ url, method }) =>\n RegExp('((inventory/managedObjects)|(service/smartgroup/smartgroups))/?$').test(url) &&\n method === 'POST'\n )\n .pipe(\n mergeMap(this.apiService.resolveData),\n filter(response => this.isNewManagedObjectRoot(response))\n );\n } else {\n return empty();\n }\n }\n\n isNewManagedObjectRoot(response: Partial<IResult<IManagedObject>> = {}) {\n const { data } = response;\n let isRootAsset = false;\n\n if (typeof data === 'object') {\n isRootAsset = !!data[GroupFragment.groupFragmentType];\n if (!isRootAsset && this.moduleConfig.smartGroups) {\n isRootAsset = !!data[GroupFragment.dynamicGroupFragment];\n }\n }\n return isRootAsset;\n }\n\n /**\n * There could be multiple breadcrumbs for devices,\n * so we set a preferred one on click on a device.\n * @param parents The parent nodes of the device to select the prefered one.\n */\n preferBreadcrumb(parents: NavigatorNode[]) {\n if (parents.length === 1) {\n this.breadcrumbService.selectPreferredByPath(parents[0].path);\n }\n }\n\n protected createFilter(extraParams: any = {}) {\n const params = {\n currentPage: 1,\n withTotalPages: true,\n pageSize: 10\n };\n return { ...params, ...extraParams };\n }\n\n private buildCombinedQuery(query, orderByQuery) {\n let combinedQuery;\n if (query && orderByQuery) {\n const filterQuery = this.queriesUtil.buildQuery({\n __useFilterQueryString: query\n });\n combinedQuery = `${filterQuery} ${orderByQuery}`;\n } else {\n combinedQuery = query || orderByQuery || '';\n }\n return combinedQuery;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AssetNodeService } from './asset-node.service';\nimport { NavigatorNode } from '@c8y/ngx-components';\n\n@Injectable()\nexport class AssetNodeFactory {\n constructor(private service: AssetNodeService) {}\n\n get(): NavigatorNode {\n if (!this.service.rootNode) {\n this.service.createRootNode();\n }\n return this.service.rootNode;\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { HOOK_NAVIGATOR_NODES, ModalModule, ModalService, DeviceStatusComponent, DeviceStatusModule} from '@c8y/ngx-components';\nimport { ASSET_NAVIGATOR_CONFIG} from './asset-node-config.model';\nimport { AssetNodeFactory } from './asset-node.factory';\nimport { AssetNodeService } from './asset-node.service';\nimport { AssetNavigatorConfig } from './asset-node-config.model';\nimport { DeviceGroupService } from './group.service';\n\n@NgModule({\n declarations: [],\n imports: [\n ModalModule,\n DeviceStatusModule\n ],\n providers: [\n ModalService,\n AssetNodeService,\n DeviceGroupService,\n {\n provide: HOOK_NAVIGATOR_NODES, useClass: AssetNodeFactory, multi: true\n }\n ],\n entryComponents: [DeviceStatusComponent]\n})\nexport class AssetsNavigatorModule {\n static config(config: AssetNavigatorConfig): ModuleWithProviders<AssetsNavigatorModule> {\n return {\n ngModule: AssetsNavigatorModule,\n providers: [\n {\n provide: ASSET_NAVIGATOR_CONFIG, useValue: config\n }\n ],\n };\n }\n\n}\n","import { GroupNodeService } from './group-node.service';\nimport { AssetNode } from '../asset-node';\n\nexport class GroupNode extends AssetNode {\n // FIXME: Currently hasChildren returns true if it is a group,\n // Issue is, that we disable the children in the API\n // getGroupItems service call due to performance. This leads\n // to that the dropdown chevron is shown always. Issue is,\n // that even if we return the chevrons, we have no way to determine\n // if the childAssets contain groups or other assets (like dashboards).\n // get hasChildren() {\n // return this.root || this.service.groups.isGroup(this.mo) && (this.mo as IManagedObject).childAssets.references.length > 0;\n // }\n\n /**\n * Creates a new node which shows only groups.\n *\n * @param service The service to use.\n * @param config The default configuration of the node.\n */\n constructor(protected service: GroupNodeService, config = {}) {\n super(service, config);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AssetNodeService } from '../asset-node.service';\nimport { GroupNode } from './group-node';\nimport { GroupFragment } from '../group-fragment.model';\n\n@Injectable()\nexport class GroupNodeService extends AssetNodeService {\n protected PAGE_SIZE = 5;\n\n createGroupNode(config) {\n return new GroupNode(this, config);\n }\n\n createChildNode(managedObject): GroupNode {\n const config: Partial<GroupNode> = { mo: managedObject };\n return this.createGroupNode(config);\n }\n\n subAssetsQueryFilter() {\n const rootQueryFilter = this.rootQueryFilter();\n const filter = this.queriesUtil.addOrFilter(rootQueryFilter, {\n type: GroupFragment.subGroupType\n });\n return this.queriesUtil.buildQuery(filter);\n }\n\n getGroupItems(moId: string): Promise<any> {\n return this.inventory.childAssetsList(moId, {\n query: this.subAssetsQueryFilter(),\n withChildren: false,\n pageSize: this.PAGE_SIZE,\n withTotalPages: true\n });\n }\n}\n","import { Component, Output, Input, EventEmitter, OnInit } from '@angular/core';\nimport { GroupNodeService } from './group-node.service';\nimport { GroupNode } from './group-node';\nimport { IManagedObject } from '@c8y/client';\n\n/**\n * Displays a hierarchical tree selector for assets.\n */\n@Component({\n selector: 'c8y-asset-selector',\n templateUrl: './asset-selector.component.html'\n})\nexport class AssetSelectorComponent implements OnInit {\n /**\n * An array of predefined nodes.\n */\n @Input() selected: IManagedObject[] = [];\n /**\n * Emits if one item was selected (all currently selected nodes).\n */\n @Output() onChange = new EventEmitter<IManagedObject[]>();\n /**\n * @ignore\n */\n rootNode: GroupNode;\n\n /**\n * @ignore only DI\n */\n constructor(private groupNodeService: GroupNodeService) {}\n\n /**\n * @ignore\n */\n ngOnInit(): void {\n this.rootNode = this.groupNodeService.createGroupNode({ root: true });\n }\n\n /**\n * Adds an managed object to the selected array and emits the change.\n * @param selectedMo The selected asset.\n */\n select(selectedMo: IManagedObject) {\n const index = this.getIndexOfSelected(this.selected, selectedMo);\n if (index === -1) {\n this.selected.push(selectedMo);\n }\n this.onChange.emit(this.selected);\n }\n\n /**\n * Removes a managed object from the selected array and emits the change.\n * @param selectedMo The selected asset.\n */\n deselect(selectedMo: IManagedObject) {\n const index = this.getIndexOfSelected(this.selected, selectedMo);\n if (index > -1) {\n this.selected.splice(index, 1);\n }\n this.onChange.emit(this.selected);\n }\n\n getIndexOfSelected(selected: Array<Partial<IManagedObject>>, selectedMo: IManagedObject) {\n return selected.findIndex(mo => mo.id === selectedMo.id);\n }\n}\n","import { Component, Input, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GroupNode } from './group-node';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { AssetSelectorComponent } from './asset-selector.component';\nimport { IManagedObject } from '@c8y/client';\nimport { Action } from '../action.enum';\n\n@Component({\n selector: 'c8y-asset-selector-node',\n templateUrl: './asset-selector-node.component.html'\n})\nexport class AssetSelectorNodeComponent implements OnInit {\n /**\n * The current node.\n */\n @Input() node: GroupNode;\n /**\n * All preselected items\n */\n @Input() preselected: Array<Partial<IManagedObject>> = [];\n /**\n * Should the path be shown\n */\n @Input() showPath: boolean = false;\n /**\n * The current path to the node\n */\n breadcrumb: string;\n /**\n * @ignore\n */\n level: number = 0;\n /**\n * The selection status of the node\n */\n checked: boolean = false;\n /**\n * @ignore\n */\n unsubscribe$ = new Subject<any>();\n\n /**\n * @ignore\n */\n get expandTitle() {\n return !this.node.open ? gettext('Expand') : gettext('Collapse');\n }\n\n /**\n * @ignore only di\n */\n constructor(\n private translateService: TranslateService,\n private cd: ChangeDetectorRef,\n private parentNode: AssetSelectorComponent\n ) {}\n\n /**\n * @ignore\n */\n async ngOnInit() {\n this.breadcrumb = this.node.label;\n this.setupBreadcrumbsAndLevel(this.node);\n\n if (this.node instanceof GroupNode) {\n this.node.hookEvents();\n }\n\n // open on startup\n if (this.node.root) {\n this.click();\n }\n\n if (this.node.events) {\n this.node.events\n .pipe(\n takeUntil(this.unsubscribe$),\n filter((a: Action) => a === Action.LOADING_DONE)\n )\n .subscribe(() => {\n this.cd.markForCheck();\n });\n }\n\n this.checked = this.isPreselected();\n }\n\n /**\n * Opens a node.\n */\n click() {\n this.node.open = !this.node.open;\n this.node.click({ open: this.node.open });\n }\n\n /**\n * TODO: Only level used. Breadcrumbs needs to be implemented.\n */\n setupBreadcrumbsAndLevel(node: GroupNode) {\n if (node.parents && node.parents.length) {\n const parent = node.parents[0] as GroupNode;\n this.breadcrumb = this.translateService.instant(parent.label) + ' > ' + this.breadcrumb;\n this.level++;\n\n this.setupBreadcrumbsAndLevel(parent);\n }\n }\n\n /**\n * Selects the node and emits a change on the parent component.\n * @param node The node to select.\n */\n selected(node: GroupNode) {\n this.checked = !this.checked;\n this.updateSelection(node.mo);\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this.unsubscribe$.next(true);\n this.unsubscribe$.complete();\n }\n\n private isPreselected() {\n if (this.node.root || !this.node.mo) {\n return false;\n }\n return this.parentNode.getIndexOfSelected(this.preselected, this.node.mo) > -1;\n }\n\n private updateSelection(selectedMo: IManagedObject) {\n if (this.checked) {\n this.parentNode.select(selectedMo);\n return;\n }\n this.parentNode.deselect(selectedMo);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@c8y/ngx-components';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { GroupNodeService } from './group-node.service';\n\nimport { AssetSelectorNodeComponent } from './asset-selector-node.component';\nimport { AssetSelectorComponent } from './asset-selector.component';\n\n@NgModule({\n imports: [CommonModule, CollapseModule, BsDropdownModule ],\n exports: [AssetSelectorNodeComponent, AssetSelectorComponent],\n providers: [GroupNodeService],\n declarations: [AssetSelectorNodeComponent, AssetSelectorComponent]\n})\nexport class AssetSelectorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["gettext","NavigatorNode","GroupFragment","Action","DeviceStatusComponent","get","Subject","InjectionToken","Injectable","QueriesUtil","filter","mergeMap","empty","InventoryService","ApiService","ModalService","AlertService","BreadcrumbService","UserService","AppStateService","Optional","Inject","NgModule","ModalModule","DeviceStatusModule","HOOK_NAVIGATOR_NODES","EventEmitter","Component","Input","Output","takeUntil","TranslateService","ChangeDetectorRef","CommonModule","CollapseModule","BsDropdownModule"],"mappings":"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"}
|