@wizishop/wizi-block 14.1.18-beta → 14.1.19-beta

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.
@@ -1,4 +1,4 @@
1
- import { Component, ElementRef, EventEmitter, Input, isDevMode, Output, ViewChild } from '@angular/core';
1
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { ContentService } from '../../../services/utils/content.service';
3
3
  import { ConfigService } from '../../../services/utils/config.service';
4
4
  import { WiziBlockService } from '../../../services/wizi-block.service';
@@ -19,6 +19,7 @@ export class StructureToolsComponent {
19
19
  this.isHover = false;
20
20
  this.configIsActivated = new EventEmitter();
21
21
  this.deleteButtonHold = false;
22
+ this.hoverBtnDelete = false;
22
23
  this.hideConfig = false;
23
24
  this.blockIsHidden = false;
24
25
  this.contentEventSubscription = null;
@@ -67,7 +68,7 @@ export class StructureToolsComponent {
67
68
  this.configService.config = this.contentService.getContentByUUID(this.uuid);
68
69
  }
69
70
  removeThis($event) {
70
- if (isDevMode() || $event > 1200) {
71
+ if ($event > 1200) {
71
72
  this.contentService.removeContentByUUID(this.uuid);
72
73
  if (this.configService.config !== null && this.configService.config.block.uuid === this.uuid) {
73
74
  this.configService.config = null;
@@ -93,10 +94,10 @@ export class StructureToolsComponent {
93
94
  }
94
95
  }
95
96
  StructureToolsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: StructureToolsComponent, deps: [{ token: i1.WiziBlockService }, { token: i2.ContentService }, { token: i3.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
96
- StructureToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: StructureToolsComponent, selector: "wb-structure-tools", inputs: { uuid: "uuid", dynamicHiddenStructure: "dynamicHiddenStructure", isHover: "isHover", isAlwaysHover: "isAlwaysHover" }, outputs: { configIsActivated: "configIsActivated" }, viewQueries: [{ propertyName: "deleteButton", first: true, predicate: ["deleteButton"], descendants: true }], ngImport: i0, template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NwbToolTipDirective, selector: "[nwbToolTip]", inputs: ["nwbToolTip", "nwbToolTipPosition", "nwbToolTipIsMultiline"] }, { kind: "directive", type: i6.HoldableDirective, selector: "[wbHoldable]", outputs: ["holdTime"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
97
+ StructureToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: StructureToolsComponent, selector: "wb-structure-tools", inputs: { uuid: "uuid", dynamicHiddenStructure: "dynamicHiddenStructure", isHover: "isHover", isAlwaysHover: "isAlwaysHover" }, outputs: { configIsActivated: "configIsActivated" }, viewQueries: [{ propertyName: "deleteButton", first: true, predicate: ["deleteButton"], descendants: true }], ngImport: i0, template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mouseenter)=\"hoverBtnDelete = true;deleteButtonHold = false\"\n (mouseleave)=\"hoverBtnDelete = false\"\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold, 'is-on-hover': hoverBtnDelete }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NwbToolTipDirective, selector: "[nwbToolTip]", inputs: ["nwbToolTip", "nwbToolTipPosition", "nwbToolTipIsMultiline"] }, { kind: "directive", type: i6.HoldableDirective, selector: "[wbHoldable]", outputs: ["holdTime"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
97
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: StructureToolsComponent, decorators: [{
98
99
  type: Component,
99
- args: [{ selector: 'wb-structure-tools', template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
100
+ args: [{ selector: 'wb-structure-tools', template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mouseenter)=\"hoverBtnDelete = true;deleteButtonHold = false\"\n (mouseleave)=\"hoverBtnDelete = false\"\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold, 'is-on-hover': hoverBtnDelete }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
100
101
  }], ctorParameters: function () { return [{ type: i1.WiziBlockService }, { type: i2.ContentService }, { type: i3.ConfigService }]; }, propDecorators: { uuid: [{
101
102
  type: Input
102
103
  }], dynamicHiddenStructure: [{
@@ -111,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
111
112
  type: ViewChild,
112
113
  args: ['deleteButton']
113
114
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtdG9vbHMvc3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtdG9vbHMvc3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7OztBQU14RSxNQUFNLE9BQU8sdUJBQXVCO0lBMkJoQyxZQUFvQixnQkFBa0MsRUFBVSxjQUE4QixFQUFVLGFBQTRCO1FBQWhILHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXhCM0gsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBRS9CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJZixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSXRELHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBUW5CLGtCQUFhLEdBQUcsS0FBSyxDQUFD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c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgaXNEZXZNb2RlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpemlCbG9ja1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy93aXppLWJsb2NrLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3diLXN0cnVjdHVyZS10b29scycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0cnVjdHVyZS10b29scy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFN0cnVjdHVyZVRvb2xzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHV1aWQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGR5bmFtaWNIaWRkZW5TdHJ1Y3R1cmUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGlzSG92ZXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGlzQWx3YXlzSG92ZXI6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgY29uZmlnSXNBY3RpdmF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2RlbGV0ZUJ1dHRvbicpIGRlbGV0ZUJ1dHRvbjogRWxlbWVudFJlZjtcblxuICAgIGRlbGV0ZUJ1dHRvbkhvbGQgPSBmYWxzZTtcblxuICAgIGhpZGVDb25maWcgPSBmYWxzZTtcblxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIGN1cnJlbnRMZW5ndGg6IG51bWJlcjtcblxuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyO1xuXG4gICAgYmxvY2tJc0hpZGRlbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBjb250ZW50RXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpemlCbG9ja1NlcnZpY2U6IFdpemlCbG9ja1NlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc29sZS5sb2coJy0tLS0tIElTIEFMV0FZUyAtLS0tLS0nKTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5pc0Fsd2F5c0hvdmVyKTtcbiAgICAgICAgY29uc29sZS5sb2coJy0tLS0tIC8gSVMgQUxXQVlTIC0tLS0tLScpO1xuICAgICAgICB0aGlzLmNoZWNrT25Db250ZW50cygpO1xuICAgICAgICB0aGlzLmNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuY29udGVudFNlcnZpY2UuY29udGVudEV2ZW50KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tPbkNvbnRlbnRzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHRoaXNDb250ZW50ID0gdGhpcy5jb250ZW50U2VydmljZS5nZXRDb250ZW50QnlVVUlEKHRoaXMudXVpZCk7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpc0NvbnRlbnQuZm9ybXMgIT09IHR5cGVvZiB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzQ29udGVudC5mb3Jtcykge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSAnaGlkZV9ibG9jaycgJiYgdHlwZW9mIGl0ZW0udmFsdWUgIT09IHR5cGVvZiB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9ja0lzSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oaWRlQ29uZmlnID0gdGhpc0NvbnRlbnQuZm9ybXMubGVuZ3RoID09PSAwO1xuICAgICAgICB0aGlzLndpemlCbG9ja1NlcnZpY2UuZ2V0QmxvY2tzU2VydmljZSgpLmZvckVhY2goKHNlcnZpY2UpID0+IHtcbiAgICAgICAgICAgIGlmIChzZXJ2aWNlLnR5cGUoKSA9PT0gdGhpc0NvbnRlbnQudHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmFtZSA9IHNlcnZpY2UudGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hlY2tPbkNvbnRlbnRzKCkge1xuICAgICAgICBjb25zdCBjb250ZW50cyA9IHRoaXMuY29udGVudFNlcnZpY2UuY29udGVudHM7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50TGVuZ3RoID0gdGhpcy5jb250ZW50U2VydmljZS5jb250ZW50cy5sZW5ndGg7XG5cbiAgICAgICAgY29udGVudHMuZm9yRWFjaCgodiwgaykgPT4ge1xuICAgICAgICAgICAgaWYgKHYuYmxvY2sudXVpZCA9PT0gdGhpcy51dWlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkdXBsaWNhdGVUaGlzKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS5kdXBsaWNhdGVDb250ZW50QnlVVUlEKHRoaXMudXVpZCk7XG4gICAgfVxuXG4gICAgY29uZmlnVGhpcyhlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5jb25maWdJc0FjdGl2YXRlZC5lbWl0KHRydWUpO1xuICAgICAgICB0aGlzLmlzQWx3YXlzSG92ZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gdGhpcy5jb250ZW50U2VydmljZS5nZXRDb250ZW50QnlVVUlEKHRoaXMudXVpZCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVGhpcygkZXZlbnQpIHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpIHx8ICRldmVudCA+IDEyMDApIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UucmVtb3ZlQ29udGVudEJ5VVVJRCh0aGlzLnV1aWQpO1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgIT09IG51bGwgJiYgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5ibG9jay51dWlkID09PSB0aGlzLnV1aWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdvRG93bihlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPT09IHRoaXMuY3VycmVudExlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UucmVvcmRlckNvbnRlbnRzKHRoaXMuY3VycmVudEluZGV4LCB0aGlzLmN1cnJlbnRJbmRleCArIDEpO1xuICAgIH1cblxuICAgIGdvVXAoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLnJlb3JkZXJDb250ZW50cyh0aGlzLmN1cnJlbnRJbmRleCwgdGhpcy5jdXJyZW50SW5kZXggLSAxKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZW50RXZlbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2Itc3RydWN0dXJlLXRvb2xzXCIgW25nQ2xhc3NdPVwieyBoaWRkZW46IGR5bmFtaWNIaWRkZW5TdHJ1Y3R1cmUsIGhvdmVyOiBpc0hvdmVyIHx8IGlzQWx3YXlzSG92ZXIgfVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1zdHJ1Y3R1cmUtdG9vbHNfX21vdmVcIiAqbmdJZj1cImN1cnJlbnRMZW5ndGggPiAxXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5zdHJ1Y3R1cmVUb29scy4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1pbmZvIGlzLXRvb2x0aXAtYm90dG9tLXRvLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhcyBmYS1hcnJvd3NcIj48L2lcbiAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5zdHJ1Y3R1cmVUb29scy4yJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1pbmZvIGJ1dHRvbi1tYXJnaW4tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VycmVudEluZGV4ICsgMSAhPT0gY3VycmVudExlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb0Rvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhcyBmYS1sb25nLWFycm93LWRvd25cIj48L2lcbiAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5zdHJ1Y3R1cmVUb29scy4zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1pbmZvIGJ1dHRvbi1tYXJnaW4tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VycmVudEluZGV4ICE9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48aSBjbGFzcz1cImZhcyBmYS1sb25nLWFycm93LXVwXCI+PC9pXG4gICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLXN0cnVjdHVyZS10b29sc19fZWRpdFwiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1leWUtc2xhc2hcIiAqbmdJZj1cImR5bmFtaWNIaWRkZW5TdHJ1Y3R1cmVcIj48L2k+XG4gICAgICAgICAgICAgICAgPHA+e3sgbmFtZSB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWluZm9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29uZmlnVGhpcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPjwvc3Bhbj48aSBjbGFzcz1cImZhcyBmYS1jb2dcIj48L2lcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtud2JUb29sVGlwXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5zdHJ1Y3R1cmVUb29scy41JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBud2JUb29sVGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImR1cGxpY2F0ZVRoaXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+PC9zcGFuPjxpIGNsYXNzPVwiZmFzIGZhLWNvcHlcIj48L2lcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICNkZWxldGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLXJvdW5kZWQgaXMtdG9vbHRpcC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB3YkhvbGRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cImRlbGV0ZUJ1dHRvbkhvbGQgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImRlbGV0ZUJ1dHRvbkhvbGQgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoaG9sZFRpbWUpPVwicmVtb3ZlVGhpcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW9uLWhvbGQnOiBkZWxldGVCdXR0b25Ib2xkIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPjwvc3Bhbj48aSBjbGFzcz1cImZhcyBmYS10cmFzaFwiPjwvaVxuICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtdG9vbHMvc3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtdG9vbHMvc3RydWN0dXJlLXRvb2xzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBTXhFLE1BQU0sT0FBTyx1QkFBdUI7SUE2QmhDLFlBQW9CLGdCQUFrQyxFQUFVLGNBQThCLEVBQVUsYUFBNEI7UUFBaEgscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBMUIzSCwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFFL0IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUlmLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJdEQscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFRbkIsa0JB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O3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGlzRGV2TW9kZSwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXaXppQmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2l6aS1ibG9jay5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3Yi1zdHJ1Y3R1cmUtdG9vbHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdHJ1Y3R1cmUtdG9vbHMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTdHJ1Y3R1cmVUb29sc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB1dWlkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkeW5hbWljSGlkZGVuU3RydWN0dXJlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBpc0hvdmVyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBpc0Fsd2F5c0hvdmVyOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIGNvbmZpZ0lzQWN0aXZhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdkZWxldGVCdXR0b24nKSBkZWxldGVCdXR0b246IEVsZW1lbnRSZWY7XG5cbiAgICBkZWxldGVCdXR0b25Ib2xkID0gZmFsc2U7XG5cbiAgICBob3ZlckJ0bkRlbGV0ZSA9IGZhbHNlO1xuXG4gICAgaGlkZUNvbmZpZyA9IGZhbHNlO1xuXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgY3VycmVudExlbmd0aDogbnVtYmVyO1xuXG4gICAgY3VycmVudEluZGV4OiBudW1iZXI7XG5cbiAgICBibG9ja0lzSGlkZGVuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgd2l6aUJsb2NrU2VydmljZTogV2l6aUJsb2NrU2VydmljZSwgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2UsIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zb2xlLmxvZygnLS0tLS0gSVMgQUxXQVlTIC0tLS0tLScpO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmlzQWx3YXlzSG92ZXIpO1xuICAgICAgICBjb25zb2xlLmxvZygnLS0tLS0gLyBJUyBBTFdBWVMgLS0tLS0tJyk7XG4gICAgICAgIHRoaXMuY2hlY2tPbkNvbnRlbnRzKCk7XG4gICAgICAgIHRoaXMuY29udGVudEV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5jb250ZW50U2VydmljZS5jb250ZW50RXZlbnQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja09uQ29udGVudHMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdGhpc0NvbnRlbnQgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmdldENvbnRlbnRCeVVVSUQodGhpcy51dWlkKTtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzQ29udGVudC5mb3JtcyAhPT0gdHlwZW9mIHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXNDb250ZW50LmZvcm1zKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT09ICdoaWRlX2Jsb2NrJyAmJiB0eXBlb2YgaXRlbS52YWx1ZSAhPT0gdHlwZW9mIHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2NrSXNIaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhpZGVDb25maWcgPSB0aGlzQ29udGVudC5mb3Jtcy5sZW5ndGggPT09IDA7XG4gICAgICAgIHRoaXMud2l6aUJsb2NrU2VydmljZS5nZXRCbG9ja3NTZXJ2aWNlKCkuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHNlcnZpY2UudHlwZSgpID09PSB0aGlzQ29udGVudC50eXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYW1lID0gc2VydmljZS50ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjaGVja09uQ29udGVudHMoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRzID0gdGhpcy5jb250ZW50U2VydmljZS5jb250ZW50cztcblxuICAgICAgICB0aGlzLmN1cnJlbnRMZW5ndGggPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmNvbnRlbnRzLmxlbmd0aDtcblxuICAgICAgICBjb250ZW50cy5mb3JFYWNoKCh2LCBrKSA9PiB7XG4gICAgICAgICAgICBpZiAodi5ibG9jay51dWlkID09PSB0aGlzLnV1aWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IGs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGR1cGxpY2F0ZVRoaXMoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgPSBudWxsO1xuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLmR1cGxpY2F0ZUNvbnRlbnRCeVVVSUQodGhpcy51dWlkKTtcbiAgICB9XG5cbiAgICBjb25maWdUaGlzKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmNvbmZpZ0lzQWN0aXZhdGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXNBbHdheXNIb3ZlciA9IHRydWU7XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmdldENvbnRlbnRCeVVVSUQodGhpcy51dWlkKTtcbiAgICB9XG5cbiAgICByZW1vdmVUaGlzKCRldmVudCkge1xuICAgICAgICBpZiAoJGV2ZW50ID4gMTIwMCkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS5yZW1vdmVDb250ZW50QnlVVUlEKHRoaXMudXVpZCk7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZyAhPT0gbnVsbCAmJiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmJsb2NrLnV1aWQgPT09IHRoaXMudXVpZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ29Eb3duKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA9PT0gdGhpcy5jdXJyZW50TGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS5yZW9yZGVyQ29udGVudHModGhpcy5jdXJyZW50SW5kZXgsIHRoaXMuY3VycmVudEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgZ29VcChlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UucmVvcmRlckNvbnRlbnRzKHRoaXMuY3VycmVudEluZGV4LCB0aGlzLmN1cnJlbnRJbmRleCAtIDEpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRlbnRFdmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi1zdHJ1Y3R1cmUtdG9vbHNcIiBbbmdDbGFzc109XCJ7IGhpZGRlbjogZHluYW1pY0hpZGRlblN0cnVjdHVyZSwgaG92ZXI6IGlzSG92ZXIgfHwgaXNBbHdheXNIb3ZlciB9XCI+XG4gICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLXN0cnVjdHVyZS10b29sc19fbW92ZVwiICpuZ0lmPVwiY3VycmVudExlbmd0aCA+IDFcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWluZm8gaXMtdG9vbHRpcC1ib3R0b20tdG8tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFzIGZhLWFycm93c1wiPjwvaVxuICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWluZm8gYnV0dG9uLW1hcmdpbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50SW5kZXggKyAxICE9PSBjdXJyZW50TGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvRG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFzIGZhLWxvbmctYXJyb3ctZG93blwiPjwvaVxuICAgICAgICAgICAgICAgID48L2E+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWluZm8gYnV0dG9uLW1hcmdpbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50SW5kZXggIT09IDBcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29VcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjxpIGNsYXNzPVwiZmFzIGZhLWxvbmctYXJyb3ctdXBcIj48L2lcbiAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Itc3RydWN0dXJlLXRvb2xzX19lZGl0XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWV5ZS1zbGFzaFwiICpuZ0lmPVwiZHluYW1pY0hpZGRlblN0cnVjdHVyZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8cD57eyBuYW1lIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBpcy1yb3VuZGVkIGlzLXRvb2x0aXAtaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbndiVG9vbFRpcF09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMuc3RydWN0dXJlVG9vbHMuNCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25maWdUaGlzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaGlkZUNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+PC9zcGFuPjxpIGNsYXNzPVwiZmFzIGZhLWNvZ1wiPjwvaVxuICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW253YlRvb2xUaXBdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnN0cnVjdHVyZVRvb2xzLjUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG53YlRvb2xUaXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHVwbGljYXRlVGhpcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48c3Bhbj48L3NwYW4+PGkgY2xhc3M9XCJmYXMgZmEtY29weVwiPjwvaVxuICAgICAgICAgICAgICAgICAgICA+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgI2RlbGV0ZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24gaXMtcm91bmRlZCBpcy10b29sdGlwLWRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbndiVG9vbFRpcF09XCInd2Iuc2hhcmVkLmNvbXBvbmVudHMuc3RydWN0dXJlVG9vbHMuNicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbndiVG9vbFRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdiSG9sZGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyQnRuRGVsZXRlID0gdHJ1ZTtkZWxldGVCdXR0b25Ib2xkID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaG92ZXJCdG5EZWxldGUgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cImRlbGV0ZUJ1dHRvbkhvbGQgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImRlbGV0ZUJ1dHRvbkhvbGQgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoaG9sZFRpbWUpPVwicmVtb3ZlVGhpcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW9uLWhvbGQnOiBkZWxldGVCdXR0b25Ib2xkLCAnaXMtb24taG92ZXInOiBob3ZlckJ0bkRlbGV0ZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48c3Bhbj48L3NwYW4+PGkgY2xhc3M9XCJmYXMgZmEtdHJhc2hcIj48L2lcbiAgICAgICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, Directive, Output, HostListener, isDevMode, Component, Input, ViewChild, forwardRef, Pipe, NgModule, ANALYZE_FOR_ENTRY_COMPONENTS, ViewContainerRef } from '@angular/core';
2
+ import { Injectable, EventEmitter, Directive, Output, HostListener, Component, Input, ViewChild, forwardRef, Pipe, NgModule, ANALYZE_FOR_ENTRY_COMPONENTS, ViewContainerRef } from '@angular/core';
3
3
  import { Subject, fromEvent, takeUntil, interval } from 'rxjs';
4
4
  import * as i9 from '@ngx-translate/core';
5
5
  import { TranslateModule, TranslateService, MissingTranslationHandler } from '@ngx-translate/core';
@@ -8048,6 +8048,7 @@ class StructureToolsComponent {
8048
8048
  this.isHover = false;
8049
8049
  this.configIsActivated = new EventEmitter();
8050
8050
  this.deleteButtonHold = false;
8051
+ this.hoverBtnDelete = false;
8051
8052
  this.hideConfig = false;
8052
8053
  this.blockIsHidden = false;
8053
8054
  this.contentEventSubscription = null;
@@ -8096,7 +8097,7 @@ class StructureToolsComponent {
8096
8097
  this.configService.config = this.contentService.getContentByUUID(this.uuid);
8097
8098
  }
8098
8099
  removeThis($event) {
8099
- if (isDevMode() || $event > 1200) {
8100
+ if ($event > 1200) {
8100
8101
  this.contentService.removeContentByUUID(this.uuid);
8101
8102
  if (this.configService.config !== null && this.configService.config.block.uuid === this.uuid) {
8102
8103
  this.configService.config = null;
@@ -8122,10 +8123,10 @@ class StructureToolsComponent {
8122
8123
  }
8123
8124
  }
8124
8125
  StructureToolsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: StructureToolsComponent, deps: [{ token: WiziBlockService }, { token: ContentService }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Component });
8125
- StructureToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: StructureToolsComponent, selector: "wb-structure-tools", inputs: { uuid: "uuid", dynamicHiddenStructure: "dynamicHiddenStructure", isHover: "isHover", isAlwaysHover: "isAlwaysHover" }, outputs: { configIsActivated: "configIsActivated" }, viewQueries: [{ propertyName: "deleteButton", first: true, predicate: ["deleteButton"], descendants: true }], ngImport: i0, template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NwbToolTipDirective, selector: "[nwbToolTip]", inputs: ["nwbToolTip", "nwbToolTipPosition", "nwbToolTipIsMultiline"] }, { kind: "directive", type: HoldableDirective, selector: "[wbHoldable]", outputs: ["holdTime"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
8126
+ StructureToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: StructureToolsComponent, selector: "wb-structure-tools", inputs: { uuid: "uuid", dynamicHiddenStructure: "dynamicHiddenStructure", isHover: "isHover", isAlwaysHover: "isAlwaysHover" }, outputs: { configIsActivated: "configIsActivated" }, viewQueries: [{ propertyName: "deleteButton", first: true, predicate: ["deleteButton"], descendants: true }], ngImport: i0, template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mouseenter)=\"hoverBtnDelete = true;deleteButtonHold = false\"\n (mouseleave)=\"hoverBtnDelete = false\"\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold, 'is-on-hover': hoverBtnDelete }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NwbToolTipDirective, selector: "[nwbToolTip]", inputs: ["nwbToolTip", "nwbToolTipPosition", "nwbToolTipIsMultiline"] }, { kind: "directive", type: HoldableDirective, selector: "[wbHoldable]", outputs: ["holdTime"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
8126
8127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: StructureToolsComponent, decorators: [{
8127
8128
  type: Component,
8128
- args: [{ selector: 'wb-structure-tools', template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
8129
+ args: [{ selector: 'wb-structure-tools', template: "<div class=\"wb-structure-tools\" [ngClass]=\"{ hidden: dynamicHiddenStructure, hover: isHover || isAlwaysHover }\">\n <div>\n <div class=\"wb-structure-tools__move\" *ngIf=\"currentLength > 1\">\n <div>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.1' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info is-tooltip-bottom-to-right\"\n (click)=\"$event.stopPropagation()\"\n ><i class=\"fas fa-arrows\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.2' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex + 1 !== currentLength\"\n (click)=\"goDown($event)\"\n ><i class=\"fas fa-long-arrow-down\"></i\n ></a>\n <a\n [nwbToolTip]=\"'wb.shared.components.structureTools.3' | translate\"\n nwbToolTipPosition=\"bottom\"\n class=\"button is-rounded is-tooltip-info button-margin-left\"\n *ngIf=\"currentIndex !== 0\"\n (click)=\"goUp($event)\"\n ><i class=\"fas fa-long-arrow-up\"></i\n ></a>\n </div>\n </div>\n <div class=\"wb-structure-tools__edit\">\n <div>\n <i class=\"fas fa-eye-slash\" *ngIf=\"dynamicHiddenStructure\"></i>\n <p>{{ name | translate }}</p>\n <div>\n <a\n href\n class=\"button is-rounded is-tooltip-info\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.4' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"configThis($event)\"\n *ngIf=\"!hideConfig\"\n ><span></span><i class=\"fas fa-cog\"></i\n ></a>\n <a\n href\n class=\"button is-rounded is-tooltip-link\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.5' | translate\"\n nwbToolTipPosition=\"bottom\"\n (click)=\"duplicateThis($event)\"\n ><span></span><i class=\"fas fa-copy\"></i\n ></a>\n <a\n #deleteButton\n class=\"button is-rounded is-tooltip-danger\"\n [nwbToolTip]=\"'wb.shared.components.structureTools.6' | translate\"\n nwbToolTipPosition=\"bottom\"\n wbHoldable\n (mouseenter)=\"hoverBtnDelete = true;deleteButtonHold = false\"\n (mouseleave)=\"hoverBtnDelete = false\"\n (mousedown)=\"deleteButtonHold = true\"\n (mouseup)=\"deleteButtonHold = false\"\n (holdTime)=\"removeThis($event)\"\n [ngClass]=\"{ 'is-on-hold': deleteButtonHold, 'is-on-hover': hoverBtnDelete }\"\n ><span></span><i class=\"fas fa-trash\"></i\n ></a>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
8129
8130
  }], ctorParameters: function () { return [{ type: WiziBlockService }, { type: ContentService }, { type: ConfigService }]; }, propDecorators: { uuid: [{
8130
8131
  type: Input
8131
8132
  }], dynamicHiddenStructure: [{