@c8y/ngx-components 1019.19.2 → 1019.19.4
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/esm2022/protocol-opcua/opcua-address-space-detail.component.mjs +3 -3
- package/esm2022/protocol-opcua/opcua-address-space.component.mjs +3 -3
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +4 -4
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -51,14 +51,14 @@ export class OpcuaAddressSpaceDetailComponent {
|
|
|
51
51
|
this.addressSpaceService.triggerNodeToOpen(nodeNavData);
|
|
52
52
|
}
|
|
53
53
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpcuaAddressSpaceDetailComponent, deps: [{ token: i1.AddressSpaceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OpcuaAddressSpaceDetailComponent, selector: "opcua-address-space-detail", inputs: { node: "node" }, outputs: { toggleAttrDetail: "toggleAttrDetail" }, ngImport: i0, template: "<div\n class=\"card m-b-4 split-row-2 animated fast pointer-all\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OpcuaAddressSpaceDetailComponent, selector: "opcua-address-space-detail", inputs: { node: "node" }, outputs: { toggleAttrDetail: "toggleAttrDetail" }, ngImport: i0, template: "<div\n class=\"card m-b-4 split-row-2 animated fast pointer-all\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n>\n <div class=\"card-header separator\">\n <h4>{{ 'Attributes' | translate }}</h4>\n <button\n class=\"close m-l-auto visible-sm visible-xs\"\n title=\"{{ 'Close' | translate }}\"\n (click)=\"toggleDetail(nodeDataAttr)\"\n >\n ×\n </button>\n </div>\n <div\n class=\"card-inner-scroll\"\n tabindex=\"0\"\n >\n <div\n class=\"card-block\"\n tabindex=\"-1\"\n >\n <table class=\"table table-striped table-condensed\">\n <colgroup>\n <col width=\"50%\" />\n <col width=\"50%\" />\n </colgroup>\n <thead>\n <tr>\n <th>{{ 'Attribute' | translate }}</th>\n <th>{{ 'Value' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of nodeDataAttr | keyvalue\">\n <td>{{ item.key }}</td>\n <td\n class=\"text-break-word\"\n *ngIf=\"item.key === 'absolutePaths'\"\n >\n {{ item.value | json }}\n </td>\n <td\n class=\"text-break-word\"\n *ngIf=\"item.key === 'ancestorNodeIds'\"\n >\n <a\n *ngFor=\"let value of item.value\"\n (click)=\"navigateTo(value)\"\n >\n {{ value | json }}\n </a>\n </td>\n <td *ngIf=\"item.key !== 'absolutePaths' && item.key !== 'ancestorNodeIds'\">\n {{ item.value }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n<div\n class=\"card split-row-2 animated fast pointer-all\"\n style=\"height: calc(50% - 4px)\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n>\n <div class=\"card-header separator\">\n <h4>{{ 'References' | translate }}</h4>\n </div>\n <div\n class=\"card-inner-scroll\"\n tabindex=\"0\"\n >\n <div\n class=\"card-block\"\n tabindex=\"-1\"\n >\n <table class=\"table table-striped table-condensed\">\n <colgroup>\n <col width=\"50%\" />\n <col width=\"50%\" />\n </colgroup>\n <thead>\n <tr>\n <th>{{ 'Attribute' | translate }}</th>\n <th>{{ 'Value' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of nodeDataRef\">\n <td>{{ item.referenceLabel }}</td>\n <td class=\"text-break-word\">{{ item.targetLabel }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.JsonPipe, name: "json" }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }] }); }
|
|
55
55
|
}
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpcuaAddressSpaceDetailComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
|
-
args: [{ selector: 'opcua-address-space-detail', template: "<div\n class=\"card m-b-4 split-row-2 animated fast pointer-all\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n
|
|
58
|
+
args: [{ selector: 'opcua-address-space-detail', template: "<div\n class=\"card m-b-4 split-row-2 animated fast pointer-all\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n>\n <div class=\"card-header separator\">\n <h4>{{ 'Attributes' | translate }}</h4>\n <button\n class=\"close m-l-auto visible-sm visible-xs\"\n title=\"{{ 'Close' | translate }}\"\n (click)=\"toggleDetail(nodeDataAttr)\"\n >\n ×\n </button>\n </div>\n <div\n class=\"card-inner-scroll\"\n tabindex=\"0\"\n >\n <div\n class=\"card-block\"\n tabindex=\"-1\"\n >\n <table class=\"table table-striped table-condensed\">\n <colgroup>\n <col width=\"50%\" />\n <col width=\"50%\" />\n </colgroup>\n <thead>\n <tr>\n <th>{{ 'Attribute' | translate }}</th>\n <th>{{ 'Value' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of nodeDataAttr | keyvalue\">\n <td>{{ item.key }}</td>\n <td\n class=\"text-break-word\"\n *ngIf=\"item.key === 'absolutePaths'\"\n >\n {{ item.value | json }}\n </td>\n <td\n class=\"text-break-word\"\n *ngIf=\"item.key === 'ancestorNodeIds'\"\n >\n <a\n *ngFor=\"let value of item.value\"\n (click)=\"navigateTo(value)\"\n >\n {{ value | json }}\n </a>\n </td>\n <td *ngIf=\"item.key !== 'absolutePaths' && item.key !== 'ancestorNodeIds'\">\n {{ item.value }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n<div\n class=\"card split-row-2 animated fast pointer-all\"\n style=\"height: calc(50% - 4px)\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n>\n <div class=\"card-header separator\">\n <h4>{{ 'References' | translate }}</h4>\n </div>\n <div\n class=\"card-inner-scroll\"\n tabindex=\"0\"\n >\n <div\n class=\"card-block\"\n tabindex=\"-1\"\n >\n <table class=\"table table-striped table-condensed\">\n <colgroup>\n <col width=\"50%\" />\n <col width=\"50%\" />\n </colgroup>\n <thead>\n <tr>\n <th>{{ 'Attribute' | translate }}</th>\n <th>{{ 'Value' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of nodeDataRef\">\n <td>{{ item.referenceLabel }}</td>\n <td class=\"text-break-word\">{{ item.targetLabel }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n" }]
|
|
59
59
|
}], ctorParameters: function () { return [{ type: i1.AddressSpaceService }]; }, propDecorators: { node: [{
|
|
60
60
|
type: Input
|
|
61
61
|
}], toggleAttrDetail: [{
|
|
62
62
|
type: Output
|
|
63
63
|
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BjdWEtYWRkcmVzcy1zcGFjZS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvdG9jb2wtb3BjdWEvb3BjdWEtYWRkcmVzcy1zcGFjZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcHJvdG9jb2wtb3BjdWEvb3BjdWEtYWRkcmVzcy1zcGFjZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQW9CLG1CQUFtQixFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBTWpDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDM0MsSUFBYSxJQUFJLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjthQUFNO1lBQ0wsbUNBQW1DO1lBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQVVELFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBUDVELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFVixxQkFBZ0IsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7SUFJbkMsQ0FBQztJQUNoRSxXQUFXLENBQUMsUUFBUTtRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixNQUFNLFFBQVEsR0FBRztZQUNmLFlBQVk7WUFDWixZQUFZO1lBQ1osVUFBVTtZQUNWLDBCQUEwQjtZQUMxQixVQUFVO1lBQ1YsWUFBWTtZQUNaLGNBQWM7WUFDZCxZQUFZO1NBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBbUI7UUFDNUIsTUFBTSxXQUFXLEdBQXVCO1lBQ3RDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixtQkFBbUIsRUFBRSxTQUFTO1NBQy9CLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQzsrR0FsRFUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsK0lDUjdDLHV1RkFtR0E7OzRGRDNGYSxnQ0FBZ0M7a0JBSjVDLFNBQVM7K0JBQ0UsNEJBQTRCOzBHQUl6QixJQUFJO3NCQUFoQixLQUFLO2dCQWNJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZGRyZXNzU3BhY2VOb2RlLCBBZGRyZXNzU3BhY2VTZXJ2aWNlLCBOb2RlTmF2aWdhdGlvbkRhdGEgfSBmcm9tICcuL2FkZHJlc3Mtc3BhY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBvbWl0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb3BjdWEtYWRkcmVzcy1zcGFjZS1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vb3BjdWEtYWRkcmVzcy1zcGFjZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE9wY3VhQWRkcmVzc1NwYWNlRGV0YWlsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc2V0IG5vZGUobikge1xuICAgIHRoaXMuX25vZGUgPSBuO1xuICAgIGlmIChuKSB7XG4gICAgICB0aGlzLnNldE5vZGVEYXRhKG4pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyByZW1vdmUgZGV0YWlscyBmcm9tIGN1cnJlbnQgdmlld1xuICAgICAgdGhpcy5zaG93RGV0YWlscyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBub2RlRGF0YUF0dHI6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gIG5vZGVEYXRhUmVmOiBvYmplY3RbXTtcbiAgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgc2hvd0RldGFpbHMgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdG9nZ2xlQXR0ckRldGFpbDogRXZlbnRFbWl0dGVyPEFkZHJlc3NTcGFjZU5vZGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRyZXNzU3BhY2VOb2RlPigpO1xuXG4gIHByaXZhdGUgX25vZGU6IEFkZHJlc3NTcGFjZU5vZGU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhZGRyZXNzU3BhY2VTZXJ2aWNlOiBBZGRyZXNzU3BhY2VTZXJ2aWNlKSB7fVxuICBzZXROb2RlRGF0YShub2RlRGF0YSkge1xuICAgIHRoaXMuc2hvd0RldGFpbHMgPSB0cnVlO1xuICAgIGNvbnN0IHsgYXR0cmlidXRlcywgcmVmZXJlbmNlcyB9ID0gbm9kZURhdGE7XG4gICAgdGhpcy5ub2RlRGF0YVJlZiA9IHJlZmVyZW5jZXM7XG4gICAgY29uc3Qgb21pdExpc3QgPSBbXG4gICAgICAnYXR0cmlidXRlcycsXG4gICAgICAncmVmZXJlbmNlcycsXG4gICAgICAnY2hpbGRyZW4nLFxuICAgICAgJ2N1cnJlbnRseUxvYWRpbmdDaGlsZHJlbicsXG4gICAgICAnZXhwYW5kZWQnLFxuICAgICAgJ2Jyb3dzZVBhdGgnLFxuICAgICAgJ3JlbGF0aXZlUGF0aCcsXG4gICAgICAncGFyZW50Tm9kZSdcbiAgICBdO1xuICAgIHRoaXMubm9kZURhdGFBdHRyID0gT2JqZWN0LmFzc2lnbih7fSwgYXR0cmlidXRlcywgb21pdChub2RlRGF0YSwgb21pdExpc3QpKTtcbiAgfVxuXG4gIHRvZ2dsZURldGFpbChub2RlKSB7XG4gICAgdGhpcy5zaG93RGV0YWlscyA9ICF0aGlzLnNob3dEZXRhaWxzO1xuICAgIHRoaXMudG9nZ2xlQXR0ckRldGFpbC5lbWl0KG5vZGUpO1xuICB9XG5cbiAgbmF2aWdhdGVUbyhhbmNlc3RvcnM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3Qgbm9kZU5hdkRhdGE6IE5vZGVOYXZpZ2F0aW9uRGF0YSA9IHtcbiAgICAgIG5vZGU6IHRoaXMuX25vZGUsXG4gICAgICBzZWxlY3RlZEFuY2VzdG9ySWRzOiBhbmNlc3RvcnNcbiAgICB9O1xuXG4gICAgdGhpcy50b2dnbGVEZXRhaWwodGhpcy5fbm9kZSk7XG4gICAgdGhpcy5hZGRyZXNzU3BhY2VTZXJ2aWNlLnRyaWdnZXJOb2RlVG9PcGVuKG5vZGVOYXZEYXRhKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNhcmQgbS1iLTQgc3BsaXQtcm93LTIgYW5pbWF0ZWQgZmFzdCBwb2ludGVyLWFsbFwiXG4gIFtuZ0NsYXNzXT1cInsgZmFkZUluUmlnaHRCaWc6IHNob3dEZXRhaWxzLCBmYWRlT3V0UmlnaHRCaWc6ICFzaG93RGV0YWlscyB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvclwiPlxuICAgIDxoND57eyAnQXR0cmlidXRlcycgfCB0cmFuc2xhdGUgfX08L2g0PlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY2xvc2UgbS1sLWF1dG8gdmlzaWJsZS1zbSB2aXNpYmxlLXhzXCJcbiAgICAgIHRpdGxlPVwie3sgJ0Nsb3NlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRGV0YWlsKG5vZGVEYXRhQXR0cilcIlxuICAgID5cbiAgICAgICZ0aW1lcztcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNhcmQtaW5uZXItc2Nyb2xsXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjYXJkLWJsb2NrXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgID5cbiAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtY29uZGVuc2VkXCI+XG4gICAgICAgIDxjb2xncm91cD5cbiAgICAgICAgICA8Y29sIHdpZHRoPVwiNTAlXCIgLz5cbiAgICAgICAgICA8Y29sIHdpZHRoPVwiNTAlXCIgLz5cbiAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aD57eyAnQXR0cmlidXRlJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGg+e3sgJ1ZhbHVlJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub2RlRGF0YUF0dHIgfCBrZXl2YWx1ZVwiPlxuICAgICAgICAgICAgPHRkPnt7IGl0ZW0ua2V5IH19PC90ZD5cbiAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYnJlYWstd29yZFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5rZXkgPT09ICdhYnNvbHV0ZVBhdGhzJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0udmFsdWUgfCBqc29uIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1icmVhay13b3JkXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmtleSA9PT0gJ2FuY2VzdG9yTm9kZUlkcydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBpdGVtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUbyh2YWx1ZSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdmFsdWUgfCBqc29uIH19XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJpdGVtLmtleSAhPT0gJ2Fic29sdXRlUGF0aHMnICYmIGl0ZW0ua2V5ICE9PSAnYW5jZXN0b3JOb2RlSWRzJ1wiPlxuICAgICAgICAgICAgICB7eyBpdGVtLnZhbHVlIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cImNhcmQgc3BsaXQtcm93LTIgYW5pbWF0ZWQgZmFzdCBwb2ludGVyLWFsbFwiXG4gIHN0eWxlPVwiaGVpZ2h0OiBjYWxjKDUwJSAtIDRweClcIlxuICBbbmdDbGFzc109XCJ7IGZhZGVJblJpZ2h0QmlnOiBzaG93RGV0YWlscywgZmFkZU91dFJpZ2h0QmlnOiAhc2hvd0RldGFpbHMgfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBzZXBhcmF0b3JcIj5cbiAgICA8aDQ+e3sgJ1JlZmVyZW5jZXMnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNhcmQtaW5uZXItc2Nyb2xsXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjYXJkLWJsb2NrXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgID5cbiAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtY29uZGVuc2VkXCI+XG4gICAgICAgIDxjb2xncm91cD5cbiAgICAgICAgICA8Y29sIHdpZHRoPVwiNTAlXCIgLz5cbiAgICAgICAgICA8Y29sIHdpZHRoPVwiNTAlXCIgLz5cbiAgICAgICAgPC9jb2xncm91cD5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aD57eyAnQXR0cmlidXRlJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGg+e3sgJ1ZhbHVlJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub2RlRGF0YVJlZlwiPlxuICAgICAgICAgICAgPHRkPnt7IGl0ZW0ucmVmZXJlbmNlTGFiZWwgfX08L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1icmVhay13b3JkXCI+e3sgaXRlbS50YXJnZXRMYWJlbCB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90Ym9keT5cbiAgICAgIDwvdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -77,12 +77,12 @@ export class OpcuaAddressSpaceComponent {
|
|
|
77
77
|
return false;
|
|
78
78
|
}
|
|
79
79
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpcuaAddressSpaceComponent, deps: [{ token: i1.AddressSpaceService }, { token: i2.OpcuaService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OpcuaAddressSpaceComponent, selector: "opcua-address-space", outputs: { focusStatus: "focusStatus" }, ngImport: i0, template: "<div class=\"row split-scroll\">\n <div class=\"col-md-5 col-xs-12 scroll-column no-gutter-r\">\n <div class=\"card bg-level-2 split-scroll\">\n <div class=\"card-block separator-bottom\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OpcuaAddressSpaceComponent, selector: "opcua-address-space", outputs: { focusStatus: "focusStatus" }, ngImport: i0, template: "<div class=\"row split-scroll\">\n <div class=\"col-md-5 col-xs-12 scroll-column no-gutter-r\">\n <div class=\"card bg-level-2 split-scroll overflow-auto\">\n <div class=\"card-block separator-bottom sticky-top\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n placeholder=\"{{ filterLabel | translate }}\"\n type=\"search\"\n (keydown.enter)=\"searchNodes()\"\n [(ngModel)]=\"searchKey\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Search' | translate }}\"\n type=\"submit\"\n *ngIf=\"!isSearch\"\n (click)=\"searchNodes()\"\n >\n <i c8yIcon=\"search\"></i>\n </button>\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Clear`input`' | translate }}\"\n type=\"button\"\n *ngIf=\"isSearch\"\n (click)=\"clearSearch()\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n </span>\n </div>\n <div\n class=\"p-t-16\"\n *ngIf=\"isSearch && !loading\"\n >\n <p *ngIf=\"!searchInProgress\">\n <em>{{ nodeList.resultLabel | translate }}</em>\n \n <span class=\"badge badge-info\">{{ nodeList?.length }}</span>\n </p>\n </div>\n </div>\n\n <div\n class=\"p-t-8\"\n *ngIf=\"(isSearch && loading) || searchInProgress\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"inner-scroll\"\n *ngIf=\"isSearch && !loading && !searchInProgress\"\n >\n <div\n class=\"list-group list-group-links\"\n *ngIf=\"isSearch && !loading\"\n >\n <button\n *ngFor=\"let nodeItem of nodeList\"\n (click)=\"selectNode(nodeItem)\"\n [ngClass]=\"{ 'list-group-item d-flex': true }\"\n >\n <div class=\"list-group-icon m-r-4\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"getIcon(nodeItem.nodeClassName)\"\n ></i>\n </div>\n <div class=\"list-item-body text-truncate\">\n <span tile=\"nodeId\">{{ nodeItem.nodeId }}</span>\n {{ nodeItem.displayName }}\n </div>\n </button>\n </div>\n </div>\n <div\n class=\"inner-scroll\"\n *ngIf=\"!isSearch\"\n >\n <opcua-address-space-tree\n (selectedNode)=\"toggleCurrentNode($event)\"\n [focusEmitter]=\"focusStatus\"\n ></opcua-address-space-tree>\n </div>\n </div>\n </div>\n <opcua-address-space-detail\n class=\"col-md-7 col-xs-12 scroll-column no-gutter-l no-pointer\"\n [node]=\"currentNode\"\n (toggleAttrDetail)=\"backHandler($event)\"\n ></opcua-address-space-detail>\n</div>\n", dependencies: [{ kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.OpcuaAddressSpaceTreeComponent, selector: "opcua-address-space-tree", inputs: ["moId", "node", "focusEmitter"], outputs: ["selectedNode"] }, { kind: "component", type: i7.OpcuaAddressSpaceDetailComponent, selector: "opcua-address-space-detail", inputs: ["node"], outputs: ["toggleAttrDetail"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] }); }
|
|
81
81
|
}
|
|
82
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpcuaAddressSpaceComponent, decorators: [{
|
|
83
83
|
type: Component,
|
|
84
|
-
args: [{ selector: 'opcua-address-space', template: "<div class=\"row split-scroll\">\n <div class=\"col-md-5 col-xs-12 scroll-column no-gutter-r\">\n <div class=\"card bg-level-2 split-scroll\">\n <div class=\"card-block separator-bottom\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n
|
|
84
|
+
args: [{ selector: 'opcua-address-space', template: "<div class=\"row split-scroll\">\n <div class=\"col-md-5 col-xs-12 scroll-column no-gutter-r\">\n <div class=\"card bg-level-2 split-scroll overflow-auto\">\n <div class=\"card-block separator-bottom sticky-top\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n placeholder=\"{{ filterLabel | translate }}\"\n type=\"search\"\n (keydown.enter)=\"searchNodes()\"\n [(ngModel)]=\"searchKey\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Search' | translate }}\"\n type=\"submit\"\n *ngIf=\"!isSearch\"\n (click)=\"searchNodes()\"\n >\n <i c8yIcon=\"search\"></i>\n </button>\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Clear`input`' | translate }}\"\n type=\"button\"\n *ngIf=\"isSearch\"\n (click)=\"clearSearch()\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n </span>\n </div>\n <div\n class=\"p-t-16\"\n *ngIf=\"isSearch && !loading\"\n >\n <p *ngIf=\"!searchInProgress\">\n <em>{{ nodeList.resultLabel | translate }}</em>\n \n <span class=\"badge badge-info\">{{ nodeList?.length }}</span>\n </p>\n </div>\n </div>\n\n <div\n class=\"p-t-8\"\n *ngIf=\"(isSearch && loading) || searchInProgress\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"inner-scroll\"\n *ngIf=\"isSearch && !loading && !searchInProgress\"\n >\n <div\n class=\"list-group list-group-links\"\n *ngIf=\"isSearch && !loading\"\n >\n <button\n *ngFor=\"let nodeItem of nodeList\"\n (click)=\"selectNode(nodeItem)\"\n [ngClass]=\"{ 'list-group-item d-flex': true }\"\n >\n <div class=\"list-group-icon m-r-4\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"getIcon(nodeItem.nodeClassName)\"\n ></i>\n </div>\n <div class=\"list-item-body text-truncate\">\n <span tile=\"nodeId\">{{ nodeItem.nodeId }}</span>\n {{ nodeItem.displayName }}\n </div>\n </button>\n </div>\n </div>\n <div\n class=\"inner-scroll\"\n *ngIf=\"!isSearch\"\n >\n <opcua-address-space-tree\n (selectedNode)=\"toggleCurrentNode($event)\"\n [focusEmitter]=\"focusStatus\"\n ></opcua-address-space-tree>\n </div>\n </div>\n </div>\n <opcua-address-space-detail\n class=\"col-md-7 col-xs-12 scroll-column no-gutter-l no-pointer\"\n [node]=\"currentNode\"\n (toggleAttrDetail)=\"backHandler($event)\"\n ></opcua-address-space-detail>\n</div>\n" }]
|
|
85
85
|
}], ctorParameters: function () { return [{ type: i1.AddressSpaceService }, { type: i2.OpcuaService }]; }, propDecorators: { focusStatus: [{
|
|
86
86
|
type: Output
|
|
87
87
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BjdWEtYWRkcmVzcy1zcGFjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm90b2NvbC1vcGN1YS9vcGN1YS1hZGRyZXNzLXNwYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3Byb3RvY29sLW9wY3VhL29wY3VhLWFkZHJlc3Mtc3BhY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFNOUMsTUFBTSxPQUFPLDBCQUEwQjtJQWFyQyxZQUNVLG1CQUF3QyxFQUN4QyxZQUEwQjtRQUQxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBYnBDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBS2YsZ0JBQVcsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDckYsU0FBSSxHQUFHLEVBQUUsQ0FBQztJQUlmLENBQUM7SUFFSixLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULDJGQUEyRjtRQUMzRiwrRkFBK0Y7UUFDL0Ysa0dBQWtHO1FBQ2xHLDZGQUE2RjtRQUM3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b25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWRkcmVzc1NwYWNlU2VydmljZSwgQWRkcmVzc1NwYWNlTm9kZSB9IGZyb20gJy4vYWRkcmVzcy1zcGFjZS5zZXJ2aWNlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IER5bmFtaWNEYXRhU291cmNlIH0gZnJvbSAnLi9keW5hbWljLWRhdGEtc291cmNlJztcbmltcG9ydCB7IE9wY3VhU2VydmljZSB9IGZyb20gJy4vb3BjdWFTZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb3BjdWEtYWRkcmVzcy1zcGFjZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcGN1YS1hZGRyZXNzLXNwYWNlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBPcGN1YUFkZHJlc3NTcGFjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY3VycmVudE5vZGU6IEFkZHJlc3NTcGFjZU5vZGU7XG4gIHNlbGVjdGVkbm9kZSA9IGZhbHNlO1xuICBzZWFyY2hLZXk6IHN0cmluZztcbiAgaXNTZWFyY2g6IGJvb2xlYW47XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICBmaWx0ZXJMYWJlbDogc3RyaW5nO1xuICBkYXRhU291cmNlOiBEeW5hbWljRGF0YVNvdXJjZTtcbiAgbm9kZUxpc3Q7XG5cbiAgQE91dHB1dCgpIGZvY3VzU3RhdHVzOiBFdmVudEVtaXR0ZXI8QWRkcmVzc1NwYWNlTm9kZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3NTcGFjZU5vZGU+KCk7XG4gIHByaXZhdGUgbW9JZCA9ICcnO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFkZHJlc3NTcGFjZVNlcnZpY2U6IEFkZHJlc3NTcGFjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcGN1YVNlcnZpY2U6IE9wY3VhU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJMYWJlbCA9IGdldHRleHQoJ0ZpbHRlcuKApicpO1xuICAgIHRoaXMubW9JZCA9IHRoaXMub3BjdWFTZXJ2aWNlLmdldE1vSWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vIFRoZSBCZWhhdmlvdXJTdWJqZWN0IHdpbGwgc3RvcmUgdGhlIGxhc3QgYXJyYXkgb2YgYW5jZXN0b3JOb2RlcyBmcm9tIHRoZSBwcmV2aW91cyBzZWFyY2hcbiAgICAvLyB0aGlzIHdvdWxkIGNhdXNlIHRoZSBjb21wb25lbnQgd2hpbGUgc3Vic2NyaWJpbmcgaW4gdGhlIGluaXQtcGhhc2UgdG8gdGhlIHN1YmplY3QgdG8gdHJhdmVyc1xuICAgIC8vIHRvIHRoZSBsYXN0IHNlYXJjaGVkIG5vZGUgYWdhaW4uIEZyb20gdXNlciBwZXJzcGVjdGl2ZSBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlLCBiZWNhdXNlIHRoZSB1c2VyXG4gICAgLy8gbGVmdCB0aGUgQWRkcmVzcyBzcGFjZSAodGFiKSBhbmQgc2hvdWxkIGxvb3NlIHRoZSBjb250ZXh0IGFuZCBqdXN0IHJlcXVlc3QgYSBuZXcgc2VhcmNoIG9yXG4gICAgLy8gYnJvd3NlIHRoZSB0cmVlIG1hbnVhbGx5LlxuICAgIHRoaXMuYWRkcmVzc1NwYWNlU2VydmljZS5yZXNldFRyZWVUb1Jvb3ROb2RlKCk7XG4gIH1cblxuICBhc3luYyBzZWFyY2hOb2RlcygpIHtcbiAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMuY2xlYXJOb2RlTGlzdEFuZENoZWNrU2VhcmNoU3RyaW5nKCk7XG4gICAgaWYgKHRoaXMuaXNTZWFyY2gpIHtcbiAgICAgIHRoaXMuY3VycmVudE5vZGUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLm5vZGVMaXN0ID0gYXdhaXQgdGhpcy5hZGRyZXNzU3BhY2VTZXJ2aWNlLmdldFNlYXJjaGVkTm9kZXModGhpcy5zZWFyY2hLZXksIHRoaXMubW9JZCk7XG4gICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgIHRoaXMubm9kZUxpc3QucmVzdWx0TGFiZWwgPSBnZXR0ZXh0KCdSZXN1bHRzIGZvdW5kJyk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJOb2RlTGlzdEFuZENoZWNrU2VhcmNoU3RyaW5nKCkge1xuICAgIHRoaXMuaXNTZWFyY2ggPSB0aGlzLnNlYXJjaEtleSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VhcmNoS2V5ICE9PSAnJyA/IHRydWUgOiBmYWxzZTtcbiAgICBpZiAoIXRoaXMuaXNTZWFyY2gpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyU2VhcmNoKCkge1xuICAgIHRoaXMuaXNTZWFyY2ggPSBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaEtleSA9ICcnO1xuICAgIHRoaXMuY3VycmVudE5vZGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRJY29uKG5vZGVDbGFzc05hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFkZHJlc3NTcGFjZVNlcnZpY2UuZ2V0SWNvbihub2RlQ2xhc3NOYW1lKTtcbiAgfVxuXG4gIGFzeW5jIHNlbGVjdE5vZGUobm9kZSkge1xuICAgIGlmIChub2RlICYmIG5vZGUubm9kZUlkICYmIG5vZGUubm9kZUlkLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuYWRkcmVzc1NwYWNlU2VydmljZS5nZXROb2RlQnlJZCh0aGlzLm1vSWQsIG5vZGUubm9kZUlkKTtcbiAgICAgIHRoaXMudG9nZ2xlQ3VycmVudE5vZGUoKGF3YWl0IHJlcy5qc29uKCkpIGFzIEFkZHJlc3NTcGFjZU5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUN1cnJlbnROb2RlKG5vZGU6IEFkZHJlc3NTcGFjZU5vZGUpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gdGhpcy5pc05vZGVTZXQobm9kZSkgPyB1bmRlZmluZWQgOiBub2RlO1xuICB9XG5cbiAgYmFja0hhbmRsZXIobm9kZSkge1xuICAgIHRoaXMuaXNTZWFyY2ggPSBmYWxzZTtcbiAgICB0aGlzLmZvY3VzU3RhdHVzLmVtaXQobm9kZSk7XG4gICAgdGhpcy50b2dnbGVDdXJyZW50Tm9kZShub2RlKTtcbiAgfVxuXG4gIGlzTm9kZVNldChub2RlOiBBZGRyZXNzU3BhY2VOb2RlKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudE5vZGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmN1cnJlbnROb2RlLm5vZGVJZCA9PT0gbm9kZS5ub2RlSWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3cgc3BsaXQtc2Nyb2xsXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBjb2wteHMtMTIgc2Nyb2xsLWNvbHVtbiBuby1ndXR0ZXItclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJnLWxldmVsLTIgc3BsaXQtc2Nyb2xsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBzZXBhcmF0b3ItYm90dG9tXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1zZWFyY2hcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaWx0ZXJMYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzZWFyY2hOb2RlcygpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoS2V5XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWlzU2VhcmNoXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnU2VhcmNoJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZG90XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaE5vZGVzKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjOHlJY29uPVwic2VhcmNoXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNTZWFyY2hcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZG90XCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQ2xlYXJgaW5wdXRgJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGM4eUljb249XCJ0aW1lc1wiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLXQtMTZcIiAqbmdJZj1cImlzU2VhcmNoICYmICFsb2FkaW5nXCI+XG4gICAgICAgICAgPHAgKm5nSWY9XCIhc2VhcmNoSW5Qcm9ncmVzc1wiPlxuICAgICAgICAgICAgPGVtPnt7IG5vZGVMaXN0LnJlc3VsdExhYmVsIHwgdHJhbnNsYXRlIH19PC9lbT5cbiAgICAgICAgICAgICZuYnNwO1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1pbmZvXCI+e3sgbm9kZUxpc3Q/Lmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwLXQtOFwiICpuZ0lmPVwiKGlzU2VhcmNoICYmIGxvYWRpbmcpIHx8IHNlYXJjaEluUHJvZ3Jlc3NcIj5cbiAgICAgICAgPGM4eS1sb2FkaW5nPjwvYzh5LWxvYWRpbmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29udGVudC1zY3JvbGxcIiAqbmdJZj1cImlzU2VhcmNoICYmICFsb2FkaW5nICYmICFzZWFyY2hJblByb2dyZXNzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtbGlua3NcIiAqbmdJZj1cImlzU2VhcmNoICYmICFsb2FkaW5nXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5vZGVJdGVtIG9mIG5vZGVMaXN0XCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3ROb2RlKG5vZGVJdGVtKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdsaXN0LWdyb3VwLWl0ZW0gZC1mbGV4JzogdHJ1ZSB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cC1pY29uIG0tci00XCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwibS1yLTRcIiBbYzh5SWNvbl09XCJnZXRJY29uKG5vZGVJdGVtLm5vZGVDbGFzc05hbWUpXCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtLWJvZHkgdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICA8c3BhbiB0aWxlPVwibm9kZUlkXCI+e3sgbm9kZUl0ZW0ubm9kZUlkIH19PC9zcGFuPlxuICAgICAgICAgICAgICB7eyBub2RlSXRlbS5kaXNwbGF5TmFtZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250ZW50LXNjcm9sbFwiICpuZ0lmPVwiIWlzU2VhcmNoXCI+XG4gICAgICAgIDxvcGN1YS1hZGRyZXNzLXNwYWNlLXRyZWVcbiAgICAgICAgICAoc2VsZWN0ZWROb2RlKT1cInRvZ2dsZUN1cnJlbnROb2RlKCRldmVudClcIlxuICAgICAgICAgIFtmb2N1c0VtaXR0ZXJdPVwiZm9jdXNTdGF0dXNcIlxuICAgICAgICA+PC9vcGN1YS1hZGRyZXNzLXNwYWNlLXRyZWU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxvcGN1YS1hZGRyZXNzLXNwYWNlLWRldGFpbFxuICAgIFtub2RlXT1cImN1cnJlbnROb2RlXCJcbiAgICBjbGFzcz1cImNvbC1tZC03IGNvbC14cy0xMiBzY3JvbGwtY29sdW1uIG5vLWd1dHRlci1sIG5vLXBvaW50ZXJcIlxuICAgICh0b2dnbGVBdHRyRGV0YWlsKT1cImJhY2tIYW5kbGVyKCRldmVudClcIlxuICA+PC9vcGN1YS1hZGRyZXNzLXNwYWNlLWRldGFpbD5cbjwvZGl2PlxuIl19
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BjdWEtYWRkcmVzcy1zcGFjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm90b2NvbC1vcGN1YS9vcGN1YS1hZGRyZXNzLXNwYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3Byb3RvY29sLW9wY3VhL29wY3VhLWFkZHJlc3Mtc3BhY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0IsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFNOUMsTUFBTSxPQUFPLDBCQUEwQjtJQWFyQyxZQUNVLG1CQUF3QyxFQUN4QyxZQUEwQjtRQUQxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBYnBDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBS2YsZ0JBQVcsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDckYsU0FBSSxHQUFHLEVBQUUsQ0FBQztJQUlmLENBQUM7SUFFSixLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULDJGQUEyRjtRQUMzRiwrRkFBK0Y7UUFDL0Ysa0dBQWtHO1FBQ2xHLDZGQUE2RjtRQUM3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b25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWRkcmVzc1NwYWNlU2VydmljZSwgQWRkcmVzc1NwYWNlTm9kZSB9IGZyb20gJy4vYWRkcmVzcy1zcGFjZS5zZXJ2aWNlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IER5bmFtaWNEYXRhU291cmNlIH0gZnJvbSAnLi9keW5hbWljLWRhdGEtc291cmNlJztcbmltcG9ydCB7IE9wY3VhU2VydmljZSB9IGZyb20gJy4vb3BjdWFTZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb3BjdWEtYWRkcmVzcy1zcGFjZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcGN1YS1hZGRyZXNzLXNwYWNlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBPcGN1YUFkZHJlc3NTcGFjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY3VycmVudE5vZGU6IEFkZHJlc3NTcGFjZU5vZGU7XG4gIHNlbGVjdGVkbm9kZSA9IGZhbHNlO1xuICBzZWFyY2hLZXk6IHN0cmluZztcbiAgaXNTZWFyY2g6IGJvb2xlYW47XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICBmaWx0ZXJMYWJlbDogc3RyaW5nO1xuICBkYXRhU291cmNlOiBEeW5hbWljRGF0YVNvdXJjZTtcbiAgbm9kZUxpc3Q7XG5cbiAgQE91dHB1dCgpIGZvY3VzU3RhdHVzOiBFdmVudEVtaXR0ZXI8QWRkcmVzc1NwYWNlTm9kZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3NTcGFjZU5vZGU+KCk7XG4gIHByaXZhdGUgbW9JZCA9ICcnO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFkZHJlc3NTcGFjZVNlcnZpY2U6IEFkZHJlc3NTcGFjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcGN1YVNlcnZpY2U6IE9wY3VhU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJMYWJlbCA9IGdldHRleHQoJ0ZpbHRlcuKApicpO1xuICAgIHRoaXMubW9JZCA9IHRoaXMub3BjdWFTZXJ2aWNlLmdldE1vSWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vIFRoZSBCZWhhdmlvdXJTdWJqZWN0IHdpbGwgc3RvcmUgdGhlIGxhc3QgYXJyYXkgb2YgYW5jZXN0b3JOb2RlcyBmcm9tIHRoZSBwcmV2aW91cyBzZWFyY2hcbiAgICAvLyB0aGlzIHdvdWxkIGNhdXNlIHRoZSBjb21wb25lbnQgd2hpbGUgc3Vic2NyaWJpbmcgaW4gdGhlIGluaXQtcGhhc2UgdG8gdGhlIHN1YmplY3QgdG8gdHJhdmVyc1xuICAgIC8vIHRvIHRoZSBsYXN0IHNlYXJjaGVkIG5vZGUgYWdhaW4uIEZyb20gdXNlciBwZXJzcGVjdGl2ZSBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlLCBiZWNhdXNlIHRoZSB1c2VyXG4gICAgLy8gbGVmdCB0aGUgQWRkcmVzcyBzcGFjZSAodGFiKSBhbmQgc2hvdWxkIGxvb3NlIHRoZSBjb250ZXh0IGFuZCBqdXN0IHJlcXVlc3QgYSBuZXcgc2VhcmNoIG9yXG4gICAgLy8gYnJvd3NlIHRoZSB0cmVlIG1hbnVhbGx5LlxuICAgIHRoaXMuYWRkcmVzc1NwYWNlU2VydmljZS5yZXNldFRyZWVUb1Jvb3ROb2RlKCk7XG4gIH1cblxuICBhc3luYyBzZWFyY2hOb2RlcygpIHtcbiAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMuY2xlYXJOb2RlTGlzdEFuZENoZWNrU2VhcmNoU3RyaW5nKCk7XG4gICAgaWYgKHRoaXMuaXNTZWFyY2gpIHtcbiAgICAgIHRoaXMuY3VycmVudE5vZGUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLm5vZGVMaXN0ID0gYXdhaXQgdGhpcy5hZGRyZXNzU3BhY2VTZXJ2aWNlLmdldFNlYXJjaGVkTm9kZXModGhpcy5zZWFyY2hLZXksIHRoaXMubW9JZCk7XG4gICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgIHRoaXMubm9kZUxpc3QucmVzdWx0TGFiZWwgPSBnZXR0ZXh0KCdSZXN1bHRzIGZvdW5kJyk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJOb2RlTGlzdEFuZENoZWNrU2VhcmNoU3RyaW5nKCkge1xuICAgIHRoaXMuaXNTZWFyY2ggPSB0aGlzLnNlYXJjaEtleSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VhcmNoS2V5ICE9PSAnJyA/IHRydWUgOiBmYWxzZTtcbiAgICBpZiAoIXRoaXMuaXNTZWFyY2gpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyU2VhcmNoKCkge1xuICAgIHRoaXMuaXNTZWFyY2ggPSBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaEtleSA9ICcnO1xuICAgIHRoaXMuY3VycmVudE5vZGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRJY29uKG5vZGVDbGFzc05hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFkZHJlc3NTcGFjZVNlcnZpY2UuZ2V0SWNvbihub2RlQ2xhc3NOYW1lKTtcbiAgfVxuXG4gIGFzeW5jIHNlbGVjdE5vZGUobm9kZSkge1xuICAgIGlmIChub2RlICYmIG5vZGUubm9kZUlkICYmIG5vZGUubm9kZUlkLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuYWRkcmVzc1NwYWNlU2VydmljZS5nZXROb2RlQnlJZCh0aGlzLm1vSWQsIG5vZGUubm9kZUlkKTtcbiAgICAgIHRoaXMudG9nZ2xlQ3VycmVudE5vZGUoKGF3YWl0IHJlcy5qc29uKCkpIGFzIEFkZHJlc3NTcGFjZU5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUN1cnJlbnROb2RlKG5vZGU6IEFkZHJlc3NTcGFjZU5vZGUpIHtcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gdGhpcy5pc05vZGVTZXQobm9kZSkgPyB1bmRlZmluZWQgOiBub2RlO1xuICB9XG5cbiAgYmFja0hhbmRsZXIobm9kZSkge1xuICAgIHRoaXMuaXNTZWFyY2ggPSBmYWxzZTtcbiAgICB0aGlzLmZvY3VzU3RhdHVzLmVtaXQobm9kZSk7XG4gICAgdGhpcy50b2dnbGVDdXJyZW50Tm9kZShub2RlKTtcbiAgfVxuXG4gIGlzTm9kZVNldChub2RlOiBBZGRyZXNzU3BhY2VOb2RlKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudE5vZGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmN1cnJlbnROb2RlLm5vZGVJZCA9PT0gbm9kZS5ub2RlSWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3cgc3BsaXQtc2Nyb2xsXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBjb2wteHMtMTIgc2Nyb2xsLWNvbHVtbiBuby1ndXR0ZXItclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJnLWxldmVsLTIgc3BsaXQtc2Nyb2xsIG92ZXJmbG93LWF1dG9cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHNlcGFyYXRvci1ib3R0b20gc3RpY2t5LXRvcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgaW5wdXQtZ3JvdXAtc2VhcmNoXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGZpbHRlckxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2VhcmNoTm9kZXMoKVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEtleVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZG90XCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnU2VhcmNoJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAqbmdJZj1cIiFpc1NlYXJjaFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWFyY2hOb2RlcygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgYzh5SWNvbj1cInNlYXJjaFwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZG90XCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQ2xlYXJgaW5wdXRgJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cImlzU2VhcmNoXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjOHlJY29uPVwidGltZXNcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJwLXQtMTZcIlxuICAgICAgICAgICpuZ0lmPVwiaXNTZWFyY2ggJiYgIWxvYWRpbmdcIlxuICAgICAgICA+XG4gICAgICAgICAgPHAgKm5nSWY9XCIhc2VhcmNoSW5Qcm9ncmVzc1wiPlxuICAgICAgICAgICAgPGVtPnt7IG5vZGVMaXN0LnJlc3VsdExhYmVsIHwgdHJhbnNsYXRlIH19PC9lbT5cbiAgICAgICAgICAgICZuYnNwO1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1pbmZvXCI+e3sgbm9kZUxpc3Q/Lmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJwLXQtOFwiXG4gICAgICAgICpuZ0lmPVwiKGlzU2VhcmNoICYmIGxvYWRpbmcpIHx8IHNlYXJjaEluUHJvZ3Jlc3NcIlxuICAgICAgPlxuICAgICAgICA8Yzh5LWxvYWRpbmc+PC9jOHktbG9hZGluZz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5uZXItc2Nyb2xsXCJcbiAgICAgICAgKm5nSWY9XCJpc1NlYXJjaCAmJiAhbG9hZGluZyAmJiAhc2VhcmNoSW5Qcm9ncmVzc1wiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1saW5rc1wiXG4gICAgICAgICAgKm5nSWY9XCJpc1NlYXJjaCAmJiAhbG9hZGluZ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgbm9kZUl0ZW0gb2Ygbm9kZUxpc3RcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5vZGUobm9kZUl0ZW0pXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2xpc3QtZ3JvdXAtaXRlbSBkLWZsZXgnOiB0cnVlIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWdyb3VwLWljb24gbS1yLTRcIj5cbiAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm0tci00XCJcbiAgICAgICAgICAgICAgICBbYzh5SWNvbl09XCJnZXRJY29uKG5vZGVJdGVtLm5vZGVDbGFzc05hbWUpXCJcbiAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbS1ib2R5IHRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gdGlsZT1cIm5vZGVJZFwiPnt7IG5vZGVJdGVtLm5vZGVJZCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAge3sgbm9kZUl0ZW0uZGlzcGxheU5hbWUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlubmVyLXNjcm9sbFwiXG4gICAgICAgICpuZ0lmPVwiIWlzU2VhcmNoXCJcbiAgICAgID5cbiAgICAgICAgPG9wY3VhLWFkZHJlc3Mtc3BhY2UtdHJlZVxuICAgICAgICAgIChzZWxlY3RlZE5vZGUpPVwidG9nZ2xlQ3VycmVudE5vZGUoJGV2ZW50KVwiXG4gICAgICAgICAgW2ZvY3VzRW1pdHRlcl09XCJmb2N1c1N0YXR1c1wiXG4gICAgICAgID48L29wY3VhLWFkZHJlc3Mtc3BhY2UtdHJlZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG9wY3VhLWFkZHJlc3Mtc3BhY2UtZGV0YWlsXG4gICAgY2xhc3M9XCJjb2wtbWQtNyBjb2wteHMtMTIgc2Nyb2xsLWNvbHVtbiBuby1ndXR0ZXItbCBuby1wb2ludGVyXCJcbiAgICBbbm9kZV09XCJjdXJyZW50Tm9kZVwiXG4gICAgKHRvZ2dsZUF0dHJEZXRhaWwpPVwiYmFja0hhbmRsZXIoJGV2ZW50KVwiXG4gID48L29wY3VhLWFkZHJlc3Mtc3BhY2UtZGV0YWlsPlxuPC9kaXY+XG4iXX0=
|
|
@@ -210,11 +210,11 @@ class OpcuaAddressSpaceDetailComponent {
|
|
|
210
210
|
this.addressSpaceService.triggerNodeToOpen(nodeNavData);
|
|
211
211
|
}
|
|
212
212
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpcuaAddressSpaceDetailComponent, deps: [{ token: AddressSpaceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
213
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OpcuaAddressSpaceDetailComponent, selector: "opcua-address-space-detail", inputs: { node: "node" }, outputs: { toggleAttrDetail: "toggleAttrDetail" }, ngImport: i0, template: "<div\n class=\"card m-b-4 split-row-2 animated fast pointer-all\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n
|
|
213
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OpcuaAddressSpaceDetailComponent, selector: "opcua-address-space-detail", inputs: { node: "node" }, outputs: { toggleAttrDetail: "toggleAttrDetail" }, ngImport: i0, template: "<div\n class=\"card m-b-4 split-row-2 animated fast pointer-all\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n>\n <div class=\"card-header separator\">\n <h4>{{ 'Attributes' | translate }}</h4>\n <button\n class=\"close m-l-auto visible-sm visible-xs\"\n title=\"{{ 'Close' | translate }}\"\n (click)=\"toggleDetail(nodeDataAttr)\"\n >\n ×\n </button>\n </div>\n <div\n class=\"card-inner-scroll\"\n tabindex=\"0\"\n >\n <div\n class=\"card-block\"\n tabindex=\"-1\"\n >\n <table class=\"table table-striped table-condensed\">\n <colgroup>\n <col width=\"50%\" />\n <col width=\"50%\" />\n </colgroup>\n <thead>\n <tr>\n <th>{{ 'Attribute' | translate }}</th>\n <th>{{ 'Value' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of nodeDataAttr | keyvalue\">\n <td>{{ item.key }}</td>\n <td\n class=\"text-break-word\"\n *ngIf=\"item.key === 'absolutePaths'\"\n >\n {{ item.value | json }}\n </td>\n <td\n class=\"text-break-word\"\n *ngIf=\"item.key === 'ancestorNodeIds'\"\n >\n <a\n *ngFor=\"let value of item.value\"\n (click)=\"navigateTo(value)\"\n >\n {{ value | json }}\n </a>\n </td>\n <td *ngIf=\"item.key !== 'absolutePaths' && item.key !== 'ancestorNodeIds'\">\n {{ item.value }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n<div\n class=\"card split-row-2 animated fast pointer-all\"\n style=\"height: calc(50% - 4px)\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n>\n <div class=\"card-header separator\">\n <h4>{{ 'References' | translate }}</h4>\n </div>\n <div\n class=\"card-inner-scroll\"\n tabindex=\"0\"\n >\n <div\n class=\"card-block\"\n tabindex=\"-1\"\n >\n <table class=\"table table-striped table-condensed\">\n <colgroup>\n <col width=\"50%\" />\n <col width=\"50%\" />\n </colgroup>\n <thead>\n <tr>\n <th>{{ 'Attribute' | translate }}</th>\n <th>{{ 'Value' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of nodeDataRef\">\n <td>{{ item.referenceLabel }}</td>\n <td class=\"text-break-word\">{{ item.targetLabel }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2$1.JsonPipe, name: "json" }, { kind: "pipe", type: i2$1.KeyValuePipe, name: "keyvalue" }] }); }
|
|
214
214
|
}
|
|
215
215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpcuaAddressSpaceDetailComponent, decorators: [{
|
|
216
216
|
type: Component,
|
|
217
|
-
args: [{ selector: 'opcua-address-space-detail', template: "<div\n class=\"card m-b-4 split-row-2 animated fast pointer-all\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n
|
|
217
|
+
args: [{ selector: 'opcua-address-space-detail', template: "<div\n class=\"card m-b-4 split-row-2 animated fast pointer-all\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n>\n <div class=\"card-header separator\">\n <h4>{{ 'Attributes' | translate }}</h4>\n <button\n class=\"close m-l-auto visible-sm visible-xs\"\n title=\"{{ 'Close' | translate }}\"\n (click)=\"toggleDetail(nodeDataAttr)\"\n >\n ×\n </button>\n </div>\n <div\n class=\"card-inner-scroll\"\n tabindex=\"0\"\n >\n <div\n class=\"card-block\"\n tabindex=\"-1\"\n >\n <table class=\"table table-striped table-condensed\">\n <colgroup>\n <col width=\"50%\" />\n <col width=\"50%\" />\n </colgroup>\n <thead>\n <tr>\n <th>{{ 'Attribute' | translate }}</th>\n <th>{{ 'Value' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of nodeDataAttr | keyvalue\">\n <td>{{ item.key }}</td>\n <td\n class=\"text-break-word\"\n *ngIf=\"item.key === 'absolutePaths'\"\n >\n {{ item.value | json }}\n </td>\n <td\n class=\"text-break-word\"\n *ngIf=\"item.key === 'ancestorNodeIds'\"\n >\n <a\n *ngFor=\"let value of item.value\"\n (click)=\"navigateTo(value)\"\n >\n {{ value | json }}\n </a>\n </td>\n <td *ngIf=\"item.key !== 'absolutePaths' && item.key !== 'ancestorNodeIds'\">\n {{ item.value }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n<div\n class=\"card split-row-2 animated fast pointer-all\"\n style=\"height: calc(50% - 4px)\"\n [ngClass]=\"{ fadeInRightBig: showDetails, fadeOutRightBig: !showDetails }\"\n>\n <div class=\"card-header separator\">\n <h4>{{ 'References' | translate }}</h4>\n </div>\n <div\n class=\"card-inner-scroll\"\n tabindex=\"0\"\n >\n <div\n class=\"card-block\"\n tabindex=\"-1\"\n >\n <table class=\"table table-striped table-condensed\">\n <colgroup>\n <col width=\"50%\" />\n <col width=\"50%\" />\n </colgroup>\n <thead>\n <tr>\n <th>{{ 'Attribute' | translate }}</th>\n <th>{{ 'Value' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of nodeDataRef\">\n <td>{{ item.referenceLabel }}</td>\n <td class=\"text-break-word\">{{ item.targetLabel }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n" }]
|
|
218
218
|
}], ctorParameters: function () { return [{ type: AddressSpaceService }]; }, propDecorators: { node: [{
|
|
219
219
|
type: Input
|
|
220
220
|
}], toggleAttrDetail: [{
|
|
@@ -1460,11 +1460,11 @@ class OpcuaAddressSpaceComponent {
|
|
|
1460
1460
|
return false;
|
|
1461
1461
|
}
|
|
1462
1462
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpcuaAddressSpaceComponent, deps: [{ token: AddressSpaceService }, { token: OpcuaService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1463
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OpcuaAddressSpaceComponent, selector: "opcua-address-space", outputs: { focusStatus: "focusStatus" }, ngImport: i0, template: "<div class=\"row split-scroll\">\n <div class=\"col-md-5 col-xs-12 scroll-column no-gutter-r\">\n <div class=\"card bg-level-2 split-scroll\">\n <div class=\"card-block separator-bottom\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n
|
|
1463
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OpcuaAddressSpaceComponent, selector: "opcua-address-space", outputs: { focusStatus: "focusStatus" }, ngImport: i0, template: "<div class=\"row split-scroll\">\n <div class=\"col-md-5 col-xs-12 scroll-column no-gutter-r\">\n <div class=\"card bg-level-2 split-scroll overflow-auto\">\n <div class=\"card-block separator-bottom sticky-top\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n placeholder=\"{{ filterLabel | translate }}\"\n type=\"search\"\n (keydown.enter)=\"searchNodes()\"\n [(ngModel)]=\"searchKey\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Search' | translate }}\"\n type=\"submit\"\n *ngIf=\"!isSearch\"\n (click)=\"searchNodes()\"\n >\n <i c8yIcon=\"search\"></i>\n </button>\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Clear`input`' | translate }}\"\n type=\"button\"\n *ngIf=\"isSearch\"\n (click)=\"clearSearch()\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n </span>\n </div>\n <div\n class=\"p-t-16\"\n *ngIf=\"isSearch && !loading\"\n >\n <p *ngIf=\"!searchInProgress\">\n <em>{{ nodeList.resultLabel | translate }}</em>\n \n <span class=\"badge badge-info\">{{ nodeList?.length }}</span>\n </p>\n </div>\n </div>\n\n <div\n class=\"p-t-8\"\n *ngIf=\"(isSearch && loading) || searchInProgress\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"inner-scroll\"\n *ngIf=\"isSearch && !loading && !searchInProgress\"\n >\n <div\n class=\"list-group list-group-links\"\n *ngIf=\"isSearch && !loading\"\n >\n <button\n *ngFor=\"let nodeItem of nodeList\"\n (click)=\"selectNode(nodeItem)\"\n [ngClass]=\"{ 'list-group-item d-flex': true }\"\n >\n <div class=\"list-group-icon m-r-4\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"getIcon(nodeItem.nodeClassName)\"\n ></i>\n </div>\n <div class=\"list-item-body text-truncate\">\n <span tile=\"nodeId\">{{ nodeItem.nodeId }}</span>\n {{ nodeItem.displayName }}\n </div>\n </button>\n </div>\n </div>\n <div\n class=\"inner-scroll\"\n *ngIf=\"!isSearch\"\n >\n <opcua-address-space-tree\n (selectedNode)=\"toggleCurrentNode($event)\"\n [focusEmitter]=\"focusStatus\"\n ></opcua-address-space-tree>\n </div>\n </div>\n </div>\n <opcua-address-space-detail\n class=\"col-md-7 col-xs-12 scroll-column no-gutter-l no-pointer\"\n [node]=\"currentNode\"\n (toggleAttrDetail)=\"backHandler($event)\"\n ></opcua-address-space-detail>\n</div>\n", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: OpcuaAddressSpaceTreeComponent, selector: "opcua-address-space-tree", inputs: ["moId", "node", "focusEmitter"], outputs: ["selectedNode"] }, { kind: "component", type: OpcuaAddressSpaceDetailComponent, selector: "opcua-address-space-detail", inputs: ["node"], outputs: ["toggleAttrDetail"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
|
|
1464
1464
|
}
|
|
1465
1465
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpcuaAddressSpaceComponent, decorators: [{
|
|
1466
1466
|
type: Component,
|
|
1467
|
-
args: [{ selector: 'opcua-address-space', template: "<div class=\"row split-scroll\">\n <div class=\"col-md-5 col-xs-12 scroll-column no-gutter-r\">\n <div class=\"card bg-level-2 split-scroll\">\n <div class=\"card-block separator-bottom\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n
|
|
1467
|
+
args: [{ selector: 'opcua-address-space', template: "<div class=\"row split-scroll\">\n <div class=\"col-md-5 col-xs-12 scroll-column no-gutter-r\">\n <div class=\"card bg-level-2 split-scroll overflow-auto\">\n <div class=\"card-block separator-bottom sticky-top\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n placeholder=\"{{ filterLabel | translate }}\"\n type=\"search\"\n (keydown.enter)=\"searchNodes()\"\n [(ngModel)]=\"searchKey\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Search' | translate }}\"\n type=\"submit\"\n *ngIf=\"!isSearch\"\n (click)=\"searchNodes()\"\n >\n <i c8yIcon=\"search\"></i>\n </button>\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Clear`input`' | translate }}\"\n type=\"button\"\n *ngIf=\"isSearch\"\n (click)=\"clearSearch()\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n </span>\n </div>\n <div\n class=\"p-t-16\"\n *ngIf=\"isSearch && !loading\"\n >\n <p *ngIf=\"!searchInProgress\">\n <em>{{ nodeList.resultLabel | translate }}</em>\n \n <span class=\"badge badge-info\">{{ nodeList?.length }}</span>\n </p>\n </div>\n </div>\n\n <div\n class=\"p-t-8\"\n *ngIf=\"(isSearch && loading) || searchInProgress\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"inner-scroll\"\n *ngIf=\"isSearch && !loading && !searchInProgress\"\n >\n <div\n class=\"list-group list-group-links\"\n *ngIf=\"isSearch && !loading\"\n >\n <button\n *ngFor=\"let nodeItem of nodeList\"\n (click)=\"selectNode(nodeItem)\"\n [ngClass]=\"{ 'list-group-item d-flex': true }\"\n >\n <div class=\"list-group-icon m-r-4\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"getIcon(nodeItem.nodeClassName)\"\n ></i>\n </div>\n <div class=\"list-item-body text-truncate\">\n <span tile=\"nodeId\">{{ nodeItem.nodeId }}</span>\n {{ nodeItem.displayName }}\n </div>\n </button>\n </div>\n </div>\n <div\n class=\"inner-scroll\"\n *ngIf=\"!isSearch\"\n >\n <opcua-address-space-tree\n (selectedNode)=\"toggleCurrentNode($event)\"\n [focusEmitter]=\"focusStatus\"\n ></opcua-address-space-tree>\n </div>\n </div>\n </div>\n <opcua-address-space-detail\n class=\"col-md-7 col-xs-12 scroll-column no-gutter-l no-pointer\"\n [node]=\"currentNode\"\n (toggleAttrDetail)=\"backHandler($event)\"\n ></opcua-address-space-detail>\n</div>\n" }]
|
|
1468
1468
|
}], ctorParameters: function () { return [{ type: AddressSpaceService }, { type: OpcuaService }]; }, propDecorators: { focusStatus: [{
|
|
1469
1469
|
type: Output
|
|
1470
1470
|
}] } });
|