@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
98 lines • 13.7 kB
JavaScript
import { Injectable } from '@angular/core';
import { FetchClient } from '@c8y/client';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/client";
export class AddressSpaceService {
constructor(fetchClient) {
this.client = fetchClient;
this.microserviceUrl = '/service/opcua-mgmt-service/address-space';
this.header = { 'Content-Type': 'application/json' };
this.nodeNavigationData$ = new BehaviorSubject({
node: undefined,
selectedAncestorIds: []
});
}
resetTreeToRootNode() {
this.triggerNodeToOpen({ node: undefined, selectedAncestorIds: [] });
}
triggerNodeToOpen(nodeNavigationData) {
this.nodeNavigationData$.next(nodeNavigationData);
}
getNodeNavData$() {
return this.nodeNavigationData$.asObservable();
}
getNode(serverId, nodeId) {
if (serverId && serverId.length > 0) {
if (nodeId && nodeId.length > 0) {
return this.getNodeById(serverId, nodeId);
}
return this.getRootNode(serverId);
}
}
getRootNode(serverId) {
if (serverId && serverId.length > 0) {
const options = {
method: 'GET',
headers: this.header
};
return this.client.fetch(`${this.microserviceUrl}/${serverId}`, options);
}
}
getNodeById(serverId, nodeId) {
if (serverId && nodeId && serverId.length > 0 && nodeId.length > 0) {
const options = {
method: 'GET',
headers: this.header
};
const param = encodeURIComponent(nodeId);
return this.client.fetch(`${this.microserviceUrl}/${serverId}?nodeId=${param}`, options);
}
}
getChildrenOf(node, serverId) {
if (serverId && node.nodeId && serverId.length > 0 && node.nodeId.length > 0) {
const options = {
method: 'GET',
headers: this.header
};
const param = encodeURIComponent(node.nodeId);
return this.client.fetch(`${this.microserviceUrl}/${serverId}/children?nodeId=${param}`, options);
}
}
childrenAvailable(nodeReferences) {
if (!nodeReferences || nodeReferences.length === 0) {
return false;
}
return nodeReferences.some(ref => !ref.inverse && ref.hierarchical);
}
async getSearchedNodes(searchKey, serverId) {
const url = `service/opcua-mgmt-service/search/${serverId}/`;
const options = {
headers: this.header,
params: {
searchString: '*' + searchKey + '*'
}
};
const res = await this.client.fetch(url, options);
return res.json();
}
getIcon(nodeClassName) {
const iconList = {
Object: 'cube',
Variable: 'th-list',
Method: 'random',
View: 'window-maximize',
ObjectType: 'c8y-group',
VariableType: 'c8y-group',
ReferenceType: 'c8y-group',
DataType: 'c8y-group'
};
return iconList[nodeClassName] || 'circle';
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddressSpaceService, deps: [{ token: i1.FetchClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddressSpaceService }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddressSpaceService, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.FetchClient }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1zcGFjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvdG9jb2wtb3BjdWEvYWRkcmVzcy1zcGFjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7O0FBR25ELE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFBWSxXQUF3QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLDJDQUEyQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxlQUFlLENBQXFCO1lBQ2pFLElBQUksRUFBRSxTQUFTO1lBQ2YsbUJBQW1CLEVBQUUsRUFBRTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsa0JBQXNDO1FBQ3RELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxPQUFPLENBQUMsUUFBZ0IsRUFBRSxNQUFlO1FBQ3ZDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FB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QUMsQ0FBQztRQUNsRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTyxDQUFDLGFBQXFCO1FBQzNCLE1BQU0sUUFBUSxHQUFHO1lBQ2YsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsU0FBUztZQUNuQixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFlBQVksRUFBRSxXQUFXO1lBQ3pCLGFBQWEsRUFBRSxXQUFXO1lBQzFCLFFBQVEsRUFBRSxXQUFXO1NBQ3RCLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxRQUFRLENBQUM7SUFDN0MsQ0FBQzsrR0F2R1UsbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZXRjaENsaWVudCwgSUZldGNoT3B0aW9ucyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWRkcmVzc1NwYWNlU2VydmljZSB7XG4gIHByaXZhdGUgbm9kZU5hdmlnYXRpb25EYXRhJDogQmVoYXZpb3JTdWJqZWN0PE5vZGVOYXZpZ2F0aW9uRGF0YT47XG4gIHByaXZhdGUgY2xpZW50OiBGZXRjaENsaWVudDtcbiAgcHJpdmF0ZSBtaWNyb3NlcnZpY2VVcmw6IHN0cmluZztcbiAgcHJpdmF0ZSBoZWFkZXI6IGFueTtcblxuICBjb25zdHJ1Y3RvcihmZXRjaENsaWVudDogRmV0Y2hDbGllbnQpIHtcbiAgICB0aGlzLmNsaWVudCA9IGZldGNoQ2xpZW50O1xuICAgIHRoaXMubWljcm9zZXJ2aWNlVXJsID0gJy9zZXJ2aWNlL29wY3VhLW1nbXQtc2VydmljZS9hZGRyZXNzLXNwYWNlJztcbiAgICB0aGlzLmhlYWRlciA9IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9O1xuICAgIHRoaXMubm9kZU5hdmlnYXRpb25EYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm9kZU5hdmlnYXRpb25EYXRhPih7XG4gICAgICBub2RlOiB1bmRlZmluZWQsXG4gICAgICBzZWxlY3RlZEFuY2VzdG9ySWRzOiBbXVxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRUcmVlVG9Sb290Tm9kZSgpIHtcbiAgICB0aGlzLnRyaWdnZXJOb2RlVG9PcGVuKHsgbm9kZTogdW5kZWZpbmVkLCBzZWxlY3RlZEFuY2VzdG9ySWRzOiBbXSB9KTtcbiAgfVxuXG4gIHRyaWdnZXJOb2RlVG9PcGVuKG5vZGVOYXZpZ2F0aW9uRGF0YTogTm9kZU5hdmlnYXRpb25EYXRhKSB7XG4gICAgdGhpcy5ub2RlTmF2aWdhdGlvbkRhdGEkLm5leHQobm9kZU5hdmlnYXRpb25EYXRhKTtcbiAgfVxuXG4gIGdldE5vZGVOYXZEYXRhJCgpOiBPYnNlcnZhYmxlPE5vZGVOYXZpZ2F0aW9uRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLm5vZGVOYXZpZ2F0aW9uRGF0YSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXROb2RlKHNlcnZlcklkOiBzdHJpbmcsIG5vZGVJZD86IHN0cmluZykge1xuICAgIGlmIChzZXJ2ZXJJZCAmJiBzZXJ2ZXJJZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAobm9kZUlkICYmIG5vZGVJZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE5vZGVCeUlkKHNlcnZlcklkLCBub2RlSWQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0Um9vdE5vZGUoc2VydmVySWQpO1xuICAgIH1cbiAgfVxuXG4gIGdldFJvb3ROb2RlKHNlcnZlcklkOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VydmVySWQgJiYgc2VydmVySWQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgb3B0aW9uczogSUZldGNoT3B0aW9ucyA9IHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJcbiAgICAgIH07XG4gICAgICByZXR1cm4gdGhpcy5jbGllbnQuZmV0Y2goYCR7dGhpcy5taWNyb3NlcnZpY2VVcmx9LyR7c2VydmVySWR9YCwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Tm9kZUJ5SWQoc2VydmVySWQ6IHN0cmluZywgbm9kZUlkOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VydmVySWQgJiYgbm9kZUlkICYmIHNlcnZlcklkLmxlbmd0aCA+IDAgJiYgbm9kZUlkLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IElGZXRjaE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVyXG4gICAgICB9O1xuICAgICAgY29uc3QgcGFyYW0gPSBlbmNvZGVVUklDb21wb25lbnQobm9kZUlkKTtcbiAgICAgIHJldHVybiB0aGlzLmNsaWVudC5mZXRjaChgJHt0aGlzLm1pY3Jvc2VydmljZVVybH0vJHtzZXJ2ZXJJZH0/bm9kZUlkPSR7cGFyYW19YCwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2hpbGRyZW5PZihub2RlOiBBZGRyZXNzU3BhY2VOb2RlLCBzZXJ2ZXJJZDogc3RyaW5nKSB7XG4gICAgaWYgKHNlcnZlcklkICYmIG5vZGUubm9kZUlkICYmIHNlcnZlcklkLmxlbmd0aCA+IDAgJiYgbm9kZS5ub2RlSWQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgb3B0aW9uczogSUZldGNoT3B0aW9ucyA9IHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJcbiAgICAgIH07XG4gICAgICBjb25zdCBwYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChub2RlLm5vZGVJZCk7XG4gICAgICByZXR1cm4gdGhpcy5jbGllbnQuZmV0Y2goXG4gICAgICAgIGAke3RoaXMubWljcm9zZXJ2aWNlVXJsfS8ke3NlcnZlcklkfS9jaGlsZHJlbj9ub2RlSWQ9JHtwYXJhbX1gLFxuICAgICAgICBvcHRpb25zXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGNoaWxkcmVuQXZhaWxhYmxlKG5vZGVSZWZlcmVuY2VzOiBBZHJlc3NTcGFjZU5vZGVSZWZlcmVuY2VbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghbm9kZVJlZmVyZW5jZXMgfHwgbm9kZVJlZmVyZW5jZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBub2RlUmVmZXJlbmNlcy5zb21lKHJlZiA9PiAhcmVmLmludmVyc2UgJiYgcmVmLmhpZXJhcmNoaWNhbCk7XG4gIH1cblxuICBhc3luYyBnZXRTZWFyY2hlZE5vZGVzKHNlYXJjaEtleTogc3RyaW5nLCBzZXJ2ZXJJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJsID0gYHNlcnZpY2Uvb3BjdWEtbWdtdC1zZXJ2aWNlL3NlYXJjaC8ke3NlcnZlcklkfS9gO1xuICAgIGNvbnN0IG9wdGlvbnM6IElGZXRjaE9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcixcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBzZWFyY2hTdHJpbmc6ICcqJyArIHNlYXJjaEtleSArICcqJ1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5jbGllbnQuZmV0Y2godXJsLCBvcHRpb25zKTtcbiAgICByZXR1cm4gcmVzLmpzb24oKTtcbiAgfVxuXG4gIGdldEljb24obm9kZUNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaWNvbkxpc3QgPSB7XG4gICAgICBPYmplY3Q6ICdjdWJlJyxcbiAgICAgIFZhcmlhYmxlOiAndGgtbGlzdCcsXG4gICAgICBNZXRob2Q6ICdyYW5kb20nLFxuICAgICAgVmlldzogJ3dpbmRvdy1tYXhpbWl6ZScsXG4gICAgICBPYmplY3RUeXBlOiAnYzh5LWdyb3VwJyxcbiAgICAgIFZhcmlhYmxlVHlwZTogJ2M4eS1ncm91cCcsXG4gICAgICBSZWZlcmVuY2VUeXBlOiAnYzh5LWdyb3VwJyxcbiAgICAgIERhdGFUeXBlOiAnYzh5LWdyb3VwJ1xuICAgIH07XG4gICAgcmV0dXJuIGljb25MaXN0W25vZGVDbGFzc05hbWVdIHx8ICdjaXJjbGUnO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc1NwYWNlTm9kZSB7XG4gIG5vZGVJZDogc3RyaW5nO1xuICBjdXJyZW50bHlMb2FkaW5nQ2hpbGRyZW4/OiBib29sZWFuO1xuICBub2RlQ2xhc3M/OiBudW1iZXI7XG4gIG5vZGVDbGFzc05hbWU/OiBzdHJpbmc7XG4gIGJyb3dzZU5hbWU/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IGFueTtcbiAgcmVmZXJlbmNlcz86IEFkcmVzc1NwYWNlTm9kZVJlZmVyZW5jZVtdO1xuICBhbmNlc3Rvck5vZGVJZHM/OiBbc3RyaW5nW11dO1xuICBjaGlsZHJlbjogQWRkcmVzc1NwYWNlTm9kZVtdO1xuICBleHBhbmRlZDogYm9vbGVhbjtcbiAgYWJzb2x1dGVQYXRoczogW3N0cmluZ1tdXTtcbiAgcmVsYXRpdmVQYXRoPzogc3RyaW5nW107XG4gIHBhcmVudE5vZGU/OiBBZGRyZXNzU3BhY2VOb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkcmVzc1NwYWNlTm9kZVJlZmVyZW5jZSB7XG4gIHJlZmVyZW5jZUlkOiBzdHJpbmc7XG4gIHRhcmdldElkOiBzdHJpbmc7XG4gIGludmVyc2U6IGJvb2xlYW47XG4gIGhpZXJhcmNoaWNhbDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hlZE5vZGUge1xuICBhYnNvbHV0ZVBhdGg6IHN0cmluZ1tdO1xuICBhbmNlc3Rvck5vZGVJZHM6IFtzdHJpbmdbXV07XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIG5vZGVDbGFzc05hbWU6IHN0cmluZztcbiAgbm9kZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZU5hdmlnYXRpb25EYXRhIHtcbiAgbm9kZTogQWRkcmVzc1NwYWNlTm9kZTtcbiAgc2VsZWN0ZWRBbmNlc3Rvcklkczogc3RyaW5nW107XG59XG4iXX0=