@wizishop/wizi-block 15.0.11-beta → 15.0.13-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.
- package/esm2020/lib/components/configs/configs.component.mjs +19 -6
- package/esm2020/lib/services/blocks/separator/separator-simple.service.mjs +2 -2
- package/fesm2015/wizishop-wizi-block.mjs +19 -6
- package/fesm2015/wizishop-wizi-block.mjs.map +1 -1
- package/fesm2020/wizishop-wizi-block.mjs +19 -6
- package/fesm2020/wizishop-wizi-block.mjs.map +1 -1
- package/lib/components/configs/configs.component.d.ts +3 -2
- package/package.json +1 -1
|
@@ -27,7 +27,7 @@ export class ConfigsComponent {
|
|
|
27
27
|
this.FORM_TYPE_TAG = FORM_TYPE_TAG;
|
|
28
28
|
this.FORM_TYPE_COLOR = FORM_TYPE_COLOR;
|
|
29
29
|
this.temporizeConfig = 0;
|
|
30
|
-
this.isColorPickerOpen =
|
|
30
|
+
this.isColorPickerOpen = [];
|
|
31
31
|
}
|
|
32
32
|
ngOnInit() {
|
|
33
33
|
this.translation = this.wiziBlockService.getTranslation();
|
|
@@ -49,6 +49,11 @@ export class ConfigsComponent {
|
|
|
49
49
|
this.configs.forms[0]['value'] = '1';
|
|
50
50
|
this.updateContent();
|
|
51
51
|
}
|
|
52
|
+
for (let color of this.configs.forms) {
|
|
53
|
+
if (color.type === 'color') {
|
|
54
|
+
this.isColorPickerOpen.push(false);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
52
57
|
}
|
|
53
58
|
updateChanges($event = null, key) {
|
|
54
59
|
if ($event !== null) {
|
|
@@ -103,22 +108,30 @@ export class ConfigsComponent {
|
|
|
103
108
|
}
|
|
104
109
|
this.contentService.updateByUUID(this.configs.block.uuid, this.configs);
|
|
105
110
|
}
|
|
106
|
-
onToggleColorPicker($event) {
|
|
111
|
+
onToggleColorPicker($event, index) {
|
|
112
|
+
console.log('----------');
|
|
113
|
+
console.log($event, index);
|
|
114
|
+
console.log('----------');
|
|
107
115
|
setTimeout(() => {
|
|
108
|
-
this.isColorPickerOpen = !this.isColorPickerOpen;
|
|
116
|
+
this.isColorPickerOpen[index] = !this.isColorPickerOpen[index];
|
|
109
117
|
}, 0);
|
|
110
118
|
$event.stopPropagation(); // Avoid wbAutoHide conflict
|
|
111
119
|
$event.preventDefault();
|
|
112
120
|
}
|
|
121
|
+
onCloseColorPicjer(value, index) {
|
|
122
|
+
setTimeout(() => {
|
|
123
|
+
this.isColorPickerOpen[index] = value;
|
|
124
|
+
}, 0);
|
|
125
|
+
}
|
|
113
126
|
ngOnDestroy() {
|
|
114
127
|
this.temporizeConfig = 0;
|
|
115
128
|
}
|
|
116
129
|
}
|
|
117
130
|
ConfigsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsComponent, deps: [{ token: i1.WiziBlockService }, { token: i2.ContentService }, { token: i3.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
-
ConfigsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ConfigsComponent, selector: "wb-configs", inputs: { configs: "configs", isFirst: "isFirst" }, outputs: { changeConfig: "changeConfig" }, ngImport: i0, template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"
|
|
131
|
+
ConfigsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ConfigsComponent, selector: "wb-configs", inputs: { configs: "configs", isFirst: "isFirst" }, outputs: { changeConfig: "changeConfig" }, ngImport: i0, template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event, i)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"onCloseColorPicjer(false, i)\"\n [ngClass]=\"{ 'is-active': isColorPickerOpen[i] }\"\n #colorPicker\n >\n <div\n [(colorPicker)]=\"form.value\"\n [style.background]=\"form.value\"\n [cpPosition]=\"'top'\"\n [cpWidth]=\"'auto'\"\n [cpToggle]=\"true\"\n [cpDialogDisplay]=\"'inline'\"\n (colorPickerChange)=\"updateContent()\"\n ></div>\n </div>\n </div>\n <p *ngIf=\"!form.iconHelp\" class=\"help\" [innerHTML]=\"form.help | helpMessageHandler: form | translate\"></p>\n </div>\n</div>\n", dependencies: [{ 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: "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.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.AutoHideDirective, selector: "[wbAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i7.ColorPickerDirective, selector: "[colorPicker]", inputs: ["colorPicker", "cpWidth", "cpHeight", "cpToggle", "cpDisabled", "cpIgnoredElements", "cpFallbackColor", "cpColorMode", "cpCmykEnabled", "cpOutputFormat", "cpAlphaChannel", "cpDisableInput", "cpDialogDisplay", "cpSaveClickOutside", "cpCloseClickOutside", "cpUseRootViewContainer", "cpPosition", "cpPositionOffset", "cpPositionRelativeToArrow", "cpOKButton", "cpOKButtonText", "cpOKButtonClass", "cpCancelButton", "cpCancelButtonText", "cpCancelButtonClass", "cpEyeDropper", "cpPresetLabel", "cpPresetColors", "cpPresetColorsClass", "cpMaxPresetColorsLength", "cpPresetEmptyMessage", "cpPresetEmptyMessageClass", "cpAddColorButton", "cpAddColorButtonText", "cpAddColorButtonClass", "cpRemoveColorButtonClass", "cpExtraTemplate"], outputs: ["cpInputChange", "cpToggleChange", "cpSliderChange", "cpSliderDragEnd", "cpSliderDragStart", "colorPickerOpen", "colorPickerClose", "colorPickerCancel", "colorPickerSelect", "colorPickerChange", "cpCmykColorChange", "cpPresetColorsChange"], exportAs: ["ngxColorPicker"] }, { kind: "pipe", type: i8.HelpMessageHandlerPipe, name: "helpMessageHandler" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], animations: [animateListFromLeft('200ms ease-in-out')] });
|
|
119
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsComponent, decorators: [{
|
|
120
133
|
type: Component,
|
|
121
|
-
args: [{ selector: 'wb-configs', animations: [animateListFromLeft('200ms ease-in-out')], template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"
|
|
134
|
+
args: [{ selector: 'wb-configs', animations: [animateListFromLeft('200ms ease-in-out')], template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event, i)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"onCloseColorPicjer(false, i)\"\n [ngClass]=\"{ 'is-active': isColorPickerOpen[i] }\"\n #colorPicker\n >\n <div\n [(colorPicker)]=\"form.value\"\n [style.background]=\"form.value\"\n [cpPosition]=\"'top'\"\n [cpWidth]=\"'auto'\"\n [cpToggle]=\"true\"\n [cpDialogDisplay]=\"'inline'\"\n (colorPickerChange)=\"updateContent()\"\n ></div>\n </div>\n </div>\n <p *ngIf=\"!form.iconHelp\" class=\"help\" [innerHTML]=\"form.help | helpMessageHandler: form | translate\"></p>\n </div>\n</div>\n" }]
|
|
122
135
|
}], ctorParameters: function () { return [{ type: i1.WiziBlockService }, { type: i2.ContentService }, { type: i3.ConfigService }]; }, propDecorators: { configs: [{
|
|
123
136
|
type: Input
|
|
124
137
|
}], isFirst: [{
|
|
@@ -126,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
126
139
|
}], changeConfig: [{
|
|
127
140
|
type: Output
|
|
128
141
|
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvY29tcG9uZW50cy9jb25maWdzL2NvbmZpZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlncy9jb25maWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7OztBQU9wRSxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0J6QixZQUFvQixnQkFBa0MsRUFBVSxjQUE4QixFQUFVLGFBQTRCO1FBQWhILHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWQzSCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2YsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFD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T0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQU07UUFDdEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNyRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDTixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyw0QkFBNEI7UUFDdEQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7NkdBL0dRLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGlKQ2Q3Qix3Z0lBa0ZBLHM3RUR0RWdCLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQzsyRkFFN0MsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNJLFlBQVksY0FFVixDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0tBRzdDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2l6aUJsb2NrU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpemktYmxvY2suc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbnNEdG8gfSBmcm9tICcuLi8uLi9kdG9zL2NvbmZpZ3MvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5kdG8nO1xuaW1wb3J0IHsgYW5pbWF0ZUxpc3RGcm9tTGVmdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hbmltYXRpb25zL2xpc3QvYW5pbWF0ZS1saXN0LWZyb20tbGVmdC5hbmltYXRpb24nO1xuaW1wb3J0IHsgQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRk9STV9UWVBFX0NIRUNLQk9YLCBGT1JNX1RZUEVfQ09MT1IsIEZPUk1fVFlQRV9UQUcsIEZPUk1fVFlQRV9URVhULCBGT1JNX1RZUEVfTlVNQkVSLCBGb3Jtc0R0byB9IGZyb20gJy4uLy4uL2R0b3MvZm9ybXMvZm9ybXMuZHRvJztcbmltcG9ydCB7IFBhcmVudEJsb2NrRHRvIH0gZnJvbSAnLi4vLi4vZHRvcy9ibG9ja3MvcGFyZW50LWJsb2NrLmR0byc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMvY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3diLWNvbmZpZ3MnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25maWdzLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbYW5pbWF0ZUxpc3RGcm9tTGVmdCgnMjAwbXMgZWFzZS1pbi1vdXQnKV0sXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgY29uZmlnczogRm9ybXNEdG88UGFyZW50QmxvY2tEdG8+O1xuICAgIEBJbnB1dCgpIGlzRmlyc3QgPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgY2hhbmdlQ29uZmlnID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICByZWFkb25seSBGT1JNX1RZUEVfVEVYVCA9IEZPUk1fVFlQRV9URVhUO1xuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9OVU1CRVIgPSBGT1JNX1RZUEVfTlVNQkVSO1xuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9DSEVDS0JPWCA9IEZPUk1fVFlQRV9DSEVDS0JPWDtcbiAgICByZWFkb25seSBGT1JNX1RZUEVfVEFHID0gRk9STV9UWVBFX1RBRztcbiAgICByZWFkb25seSBGT1JNX1RZUEVfQ09MT1IgPSBGT1JNX1RZUEVfQ09MT1I7XG5cbiAgICB0ZW1wb3JpemVDb25maWcgPSAwO1xuICAgIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbnNEdG87XG5cbiAgICBpc0NvbG9yUGlja2VyT3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB3aXppQmxvY2tTZXJ2aWNlOiBXaXppQmxvY2tTZXJ2aWNlLCBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlOiBDb250ZW50U2VydmljZSwgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRpb24gPSB0aGlzLndpemlCbG9ja1NlcnZpY2UuZ2V0VHJhbnNsYXRpb24oKTtcblxuICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50ZW1wb3JpemVDb25maWcgPSB0aGlzLmNvbmZpZ3MuZm9ybXMubGVuZ3RoO1xuICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWdFdmVudCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IHRoaXMuY29uZmlncy5mb3Jtcy5sZW5ndGg7XG4gICAgICAgICAgICB9LCAyMDApO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ3ZhbHVlJ10gJiYgdGhpcy5jb25maWdzLmZvcm1zWzBdWydpZCddID09PSAnaGlkZV9ibG9jaycpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1swXVsndmFsdWUnXSA9ICcwJztcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlncy5mb3Jtc1swXVsndmFsdWUnXSAmJiB0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ2lkJ10gPT09ICdoaWRlX2Jsb2NrJyAmJiAodGhpcy5jb25maWdzLmZvcm1zWzBdWyd2YWx1ZSddICE9PSAnMCcgJiYgdGhpcy5jb25maWdzLmZvcm1zWzBdWyd2YWx1ZSddICE9PSAnMScpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ3ZhbHVlJ10gPSAnMSc7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgdXBkYXRlQ2hhbmdlcygkZXZlbnQgPSBudWxsLCBrZXkpIHtcbiAgICAgICAgaWYgKCRldmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbGV0IG9uVmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBvblZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBvZmZWYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzFdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9mZlZhbHVlID0gdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS52YWx1ZSA9ICRldmVudC50YXJnZXQuY2hlY2tlZCA/IG9uVmFsdWUgOiBvZmZWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoYW5nZXNSZXZlcnNlKCRldmVudCA9IG51bGwsIGtleSkge1xuICAgICAgICBpZiAoJGV2ZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXQgb25WYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzBdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9uVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG9mZlZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgb2ZmVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVsxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnZhbHVlID0gJGV2ZW50LnRhcmdldC5jaGVja2VkID8gb2ZmVmFsdWUgOiBvblZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ29udGVudCgpIHtcbiAgICAgICAgdGhpcy5jb250ZW50U2VydmljZS51cGRhdGVCeVVVSUQodGhpcy5jb25maWdzLmJsb2NrLnV1aWQsIHRoaXMuY29uZmlncyk7XG4gICAgICAgIHRoaXMuY2hhbmdlQ29uZmlnLmVtaXQoe1xuICAgICAgICAgICAgdXVpZDogdGhpcy5jb25maWdzLmJsb2NrLnV1aWQsXG4gICAgICAgICAgICBjb25maWc6IHRoaXMuY29uZmlncyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlTnVtYmVyKGV2ZW50LCBpbmRleCkge1xuICAgICAgICBsZXQgU3BsaXRWYWx1ZSA9IFtdO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlLmluZGV4T2YoJy4nKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIFNwbGl0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUuc3BsaXQoJy4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFNwbGl0VmFsdWVbMF0gPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZVZhbHVlID0gU3BsaXRWYWx1ZVswXTtcbiAgICAgICAgY29uc3QgdGVtcFZhbHVlID0gbmFtZVZhbHVlLnN1YnN0cmluZygwLCA3KTtcbiAgICAgICAgaWYgKHRlbXBWYWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1tpbmRleF0udmFsdWUgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS52YWx1ZSA9IHRlbXBWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLnVwZGF0ZUJ5VVVJRCh0aGlzLmNvbmZpZ3MuYmxvY2sudXVpZCwgdGhpcy5jb25maWdzKTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZUNvbG9yUGlja2VyKCRldmVudCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gUHJldmVudCBpbnN0YW50IGNsb3NlIGR1ZSB0byB3YkF1dG9IaWRlIGRpcmVjdGl2ZVxuICAgICAgICAgICAgdGhpcy5pc0NvbG9yUGlja2VyT3BlbiA9ICF0aGlzLmlzQ29sb3JQaWNrZXJPcGVuO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBBdm9pZCB3YkF1dG9IaWRlIGNvbmZsaWN0XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndiLWNvbmZpZ3NcIiBbbmdDbGFzc109XCJ7ICdpcy1ub3QtZmlyc3QnOiAhaXNGaXJzdCB9XCIgW0BhbmltYXRlTGlzdEZyb21MZWZ0XT1cInRlbXBvcml6ZUNvbmZpZ1wiICpuZ0lmPVwidGVtcG9yaXplQ29uZmlnXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nRm9yPVwibGV0IGZvcm0gb2YgY29uZmlncy5mb3JtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiICpuZ0lmPVwiZm9ybS50eXBlICE9PSBGT1JNX1RZUEVfQ0hFQ0tCT1hcIiBbbmdDbGFzc109XCJ7ICdpY29uLWhlbHAnOiBmb3JtLmljb25IZWxwIH1cIlxuICAgICAgICAgICAgPnt7IGZvcm0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiZm9ybS5pY29uSGVscFwiIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4+e3sgZm9ybS5oZWxwfCBoZWxwTWVzc2FnZUhhbmRsZXI6IGZvcm0gfCB0cmFuc2xhdGUgfX08L3NwYW4+PC9pXG4gICAgICAgICAgICA+PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWlucHV0XCIgKm5nSWY9XCJmb3JtLnR5cGUgPT09IEZPUk1fVFlQRV9URVhUXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmb3JtLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJmb3JtLnZhbHVlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJmb3JtLnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlQ29udGVudCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbCBjb250cm9sLS1pbnB1dFwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfTlVNQkVSXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiOTk5OTk5OTk5XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybS5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlTnVtYmVyKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWZsZXhcIiBbbmdDbGFzc109XCJ7ICdkeW5hbWljLWxhYmVsJzogZm9ybS5sYWJlbEVuYWJsZSB9XCIgKm5nSWY9XCJmb3JtLnR5cGUgPT09IEZPUk1fVFlQRV9DSEVDS0JPWFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgW2lkXT1cIidzd2l0Y2hSb3VuZGVkRGVmYXVsdCcgKyBpXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIidzd2l0Y2hSb3VuZGVkRGVmYXVsdCcgKyBpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInN3aXRjaCBpcy1yb3VuZGVkIGlzLWluZm9cIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImZvcm0udmFsdWUgPT09IChmb3JtLnN0YXRlWzBdID8gZm9ybS5zdGF0ZVswXSA6IHRydWUpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZUNoYW5nZXMoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiJ3N3aXRjaFJvdW5kZWREZWZhdWx0JyArIGlcIj48L2xhYmVsPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJmb3JtLmxhYmVsIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJmb3JtLmxhYmVsRW5hYmxlIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2wgY29udHJvbC0tYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAnbWF4LXdpZHRoJzogZm9ybS5zdGVwLmxlbmd0aCA8IDQgfVwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfVEFHXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLWluZm9cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW91dGxpbmVkJzogc3RlcCAhPT0gZm9ybS52YWx1ZSAmJiAoIWZvcm0uc3RlcEtleS5sZW5ndGggfHwgZm9ybS5zdGVwS2V5W2ldICE9PSBmb3JtLnZhbHVlKSB9XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBmb3JtLnN0ZXA7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJmb3JtLnZhbHVlID0gZm9ybS5zdGVwS2V5Lmxlbmd0aCAmJiBmb3JtLnN0ZXBLZXlbaV0gPyBmb3JtLnN0ZXBLZXlbaV0gOiBzdGVwOyB1cGRhdGVDb250ZW50KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHN0ZXAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWZsZXhTdGFydFwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfQ09MT1I7XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sb3Itd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIid3Yi1jb25maWdzX19jb2xvciB3Yi1jb25maWdzX19jb2xvcmpzJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ29sb3JQaWNrZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZm9ybS52YWx1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItY29uZmlnc19fcGlja2VyXCJcbiAgICAgICAgICAgICAgICB3YkF1dG9IaWRlXG4gICAgICAgICAgICAgICAgW3RyaWdnZXJFbGVtZW50XT1cIid3Yi1jb25maWdzX19jb2xvcmpzJyArIGlcIlxuICAgICAgICAgICAgICAgIChjbGlja091dHNpZGUpPVwiaXNDb2xvclBpY2tlck9wZW4gPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtYWN0aXZlJzogaXNDb2xvclBpY2tlck9wZW4gfVwiXG4gICAgICAgICAgICAgICAgI2NvbG9yUGlja2VyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbKGNvbG9yUGlja2VyKV09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZm9ybS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjcFBvc2l0aW9uXT1cIid0b3AnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NwV2lkdGhdPVwiJ2F1dG8nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbY3BEaWFsb2dEaXNwbGF5XT1cIidpbmxpbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNvbG9yUGlja2VyQ2hhbmdlKT1cInVwZGF0ZUNvbnRlbnQoKVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cCAqbmdJZj1cIiFmb3JtLmljb25IZWxwXCIgY2xhc3M9XCJoZWxwXCIgW2lubmVySFRNTF09XCJmb3JtLmhlbHAgfCBoZWxwTWVzc2FnZUhhbmRsZXI6IGZvcm0gfCB0cmFuc2xhdGVcIj48L3A+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvY29tcG9uZW50cy9jb25maWdzL2NvbmZpZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlncy9jb25maWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7OztBQU9wRSxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0J6QixZQUFvQixnQkFBa0MsRUFBVSxjQUE4QixFQUFVLGFBQTRCO1FBQWhILHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWQzSCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2YsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFD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Q0ksWUFBWSxjQUVWLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnS0FHN0MsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaXppQmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2l6aS1ibG9jay5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uc0R0byB9IGZyb20gJy4uLy4uL2R0b3MvY29uZmlncy90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb25zLmR0byc7XG5pbXBvcnQgeyBhbmltYXRlTGlzdEZyb21MZWZ0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FuaW1hdGlvbnMvbGlzdC9hbmltYXRlLWxpc3QtZnJvbS1sZWZ0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGT1JNX1RZUEVfQ0hFQ0tCT1gsIEZPUk1fVFlQRV9DT0xPUiwgRk9STV9UWVBFX1RBRywgRk9STV9UWVBFX1RFWFQsIEZPUk1fVFlQRV9OVU1CRVIsIEZvcm1zRHRvIH0gZnJvbSAnLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgUGFyZW50QmxvY2tEdG8gfSBmcm9tICcuLi8uLi9kdG9zL2Jsb2Nrcy9wYXJlbnQtYmxvY2suZHRvJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlscy9jb25maWcuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd2ItY29uZmlncycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3MuY29tcG9uZW50Lmh0bWwnLFxuICAgIGFuaW1hdGlvbnM6IFthbmltYXRlTGlzdEZyb21MZWZ0KCcyMDBtcyBlYXNlLWluLW91dCcpXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBjb25maWdzOiBGb3Jtc0R0bzxQYXJlbnRCbG9ja0R0bz47XG4gICAgQElucHV0KCkgaXNGaXJzdCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2VDb25maWcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9URVhUID0gRk9STV9UWVBFX1RFWFQ7XG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX05VTUJFUiA9IEZPUk1fVFlQRV9OVU1CRVI7XG4gICAgcmVhZG9ubHkgRk9STV9UWVBFX0NIRUNLQk9YID0gRk9STV9UWVBFX0NIRUNLQk9YO1xuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9UQUcgPSBGT1JNX1RZUEVfVEFHO1xuICAgIHJlYWRvbmx5IEZPUk1fVFlQRV9DT0xPUiA9IEZPUk1fVFlQRV9DT0xPUjtcblxuICAgIHRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uc0R0bztcblxuICAgIGlzQ29sb3JQaWNrZXJPcGVuID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpemlCbG9ja1NlcnZpY2U6IFdpemlCbG9ja1NlcnZpY2UsIHByaXZhdGUgY29udGVudFNlcnZpY2U6IENvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbiA9IHRoaXMud2l6aUJsb2NrU2VydmljZS5nZXRUcmFuc2xhdGlvbigpO1xuXG4gICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IHRoaXMuY29uZmlncy5mb3Jtcy5sZW5ndGg7XG4gICAgICAgIH0sIDIwMCk7XG5cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZ0V2ZW50KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gMDtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGVtcG9yaXplQ29uZmlnID0gdGhpcy5jb25maWdzLmZvcm1zLmxlbmd0aDtcbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlncy5mb3Jtc1swXVsndmFsdWUnXSAmJiB0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ2lkJ10gPT09ICdoaWRlX2Jsb2NrJykge1xuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zWzBdWyd2YWx1ZSddID0gJzAnO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWdzLmZvcm1zWzBdWyd2YWx1ZSddICYmIHRoaXMuY29uZmlncy5mb3Jtc1swXVsnaWQnXSA9PT0gJ2hpZGVfYmxvY2snICYmICh0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ3ZhbHVlJ10gIT09ICcwJyAmJiB0aGlzLmNvbmZpZ3MuZm9ybXNbMF1bJ3ZhbHVlJ10gIT09ICcxJykpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1swXVsndmFsdWUnXSA9ICcxJztcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGNvbG9yIG9mIHRoaXMuY29uZmlncy5mb3Jtcykge1xuICAgICAgICAgICAgaWYgKGNvbG9yLnR5cGUgPT09ICdjb2xvcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29sb3JQaWNrZXJPcGVuLnB1c2goZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICB1cGRhdGVDaGFuZ2VzKCRldmVudCA9IG51bGwsIGtleSkge1xuICAgICAgICBpZiAoJGV2ZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXQgb25WYWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciA9IHRydWU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzBdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIG9uVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG9mZlZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgb2ZmVmFsdWUgPSB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVsxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnZhbHVlID0gJGV2ZW50LnRhcmdldC5jaGVja2VkID8gb25WYWx1ZSA6IG9mZlZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hhbmdlc1JldmVyc2UoJGV2ZW50ID0gbnVsbCwga2V5KSB7XG4gICAgICAgIGlmICgkZXZlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGxldCBvblZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdzLmZvcm1zW2tleV0uc3RhdGVbMF0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgb25WYWx1ZSA9IHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgb2ZmVmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3MuZm9ybXNba2V5XS5zdGF0ZVsxXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBvZmZWYWx1ZSA9IHRoaXMuY29uZmlncy5mb3Jtc1trZXldLnN0YXRlWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zW2tleV0udmFsdWUgPSAkZXZlbnQudGFyZ2V0LmNoZWNrZWQgPyBvZmZWYWx1ZSA6IG9uVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDb250ZW50KCkge1xuICAgICAgICB0aGlzLmNvbnRlbnRTZXJ2aWNlLnVwZGF0ZUJ5VVVJRCh0aGlzLmNvbmZpZ3MuYmxvY2sudXVpZCwgdGhpcy5jb25maWdzKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VDb25maWcuZW1pdCh7XG4gICAgICAgICAgICB1dWlkOiB0aGlzLmNvbmZpZ3MuYmxvY2sudXVpZCxcbiAgICAgICAgICAgIGNvbmZpZzogdGhpcy5jb25maWdzLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVOdW1iZXIoZXZlbnQsIGluZGV4KSB7XG4gICAgICAgIGxldCBTcGxpdFZhbHVlID0gW107XG4gICAgICAgIGlmIChldmVudC50YXJnZXQudmFsdWUuaW5kZXhPZignLicpICE9PSAtMSkge1xuICAgICAgICAgICAgU3BsaXRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZS5zcGxpdCgnLicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgU3BsaXRWYWx1ZVswXSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuYW1lVmFsdWUgPSBTcGxpdFZhbHVlWzBdO1xuICAgICAgICBjb25zdCB0ZW1wVmFsdWUgPSBuYW1lVmFsdWUuc3Vic3RyaW5nKDAsIDcpO1xuICAgICAgICBpZiAodGVtcFZhbHVlIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5jb25maWdzLmZvcm1zW2luZGV4XS52YWx1ZSA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3MuZm9ybXNbaW5kZXhdLnZhbHVlID0gdGVtcFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UudXBkYXRlQnlVVUlEKHRoaXMuY29uZmlncy5ibG9jay51dWlkLCB0aGlzLmNvbmZpZ3MpO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlQ29sb3JQaWNrZXIoJGV2ZW50LCBpbmRleCkge1xuICAgICAgICBjb25zb2xlLmxvZygnLS0tLS0tLS0tLScpO1xuICAgICAgICBjb25zb2xlLmxvZygkZXZlbnQsIGluZGV4KTtcbiAgICAgICAgY29uc29sZS5sb2coJy0tLS0tLS0tLS0nKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IC8vIFByZXZlbnQgaW5zdGFudCBjbG9zZSBkdWUgdG8gd2JBdXRvSGlkZSBkaXJlY3RpdmVcbiAgICAgICAgICAgIHRoaXMuaXNDb2xvclBpY2tlck9wZW5baW5kZXhdID0gIXRoaXMuaXNDb2xvclBpY2tlck9wZW5baW5kZXhdO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBBdm9pZCB3YkF1dG9IaWRlIGNvbmZsaWN0XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uQ2xvc2VDb2xvclBpY2plcih2YWx1ZSwgaW5kZXgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IC8vIFByZXZlbnQgaW5zdGFudCBjbG9zZSBkdWUgdG8gd2JBdXRvSGlkZSBkaXJlY3RpdmVcbiAgICAgICAgICAgIHRoaXMuaXNDb2xvclBpY2tlck9wZW5baW5kZXhdID0gdmFsdWU7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRlbXBvcml6ZUNvbmZpZyA9IDA7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndiLWNvbmZpZ3NcIiBbbmdDbGFzc109XCJ7ICdpcy1ub3QtZmlyc3QnOiAhaXNGaXJzdCB9XCIgW0BhbmltYXRlTGlzdEZyb21MZWZ0XT1cInRlbXBvcml6ZUNvbmZpZ1wiICpuZ0lmPVwidGVtcG9yaXplQ29uZmlnXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nRm9yPVwibGV0IGZvcm0gb2YgY29uZmlncy5mb3JtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiICpuZ0lmPVwiZm9ybS50eXBlICE9PSBGT1JNX1RZUEVfQ0hFQ0tCT1hcIiBbbmdDbGFzc109XCJ7ICdpY29uLWhlbHAnOiBmb3JtLmljb25IZWxwIH1cIlxuICAgICAgICAgICAgPnt7IGZvcm0ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiZm9ybS5pY29uSGVscFwiIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4+e3sgZm9ybS5oZWxwfCBoZWxwTWVzc2FnZUhhbmRsZXI6IGZvcm0gfCB0cmFuc2xhdGUgfX08L3NwYW4+PC9pXG4gICAgICAgICAgICA+PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWlucHV0XCIgKm5nSWY9XCJmb3JtLnR5cGUgPT09IEZPUk1fVFlQRV9URVhUXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmb3JtLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJmb3JtLnZhbHVlIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJmb3JtLnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlQ29udGVudCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbCBjb250cm9sLS1pbnB1dFwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfTlVNQkVSXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiOTk5OTk5OTk5XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybS5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlTnVtYmVyKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWZsZXhcIiBbbmdDbGFzc109XCJ7ICdkeW5hbWljLWxhYmVsJzogZm9ybS5sYWJlbEVuYWJsZSB9XCIgKm5nSWY9XCJmb3JtLnR5cGUgPT09IEZPUk1fVFlQRV9DSEVDS0JPWFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgW2lkXT1cIidzd2l0Y2hSb3VuZGVkRGVmYXVsdCcgKyBpXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJmb3JtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIidzd2l0Y2hSb3VuZGVkRGVmYXVsdCcgKyBpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInN3aXRjaCBpcy1yb3VuZGVkIGlzLWluZm9cIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImZvcm0udmFsdWUgPT09IChmb3JtLnN0YXRlWzBdID8gZm9ybS5zdGF0ZVswXSA6IHRydWUpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZUNoYW5nZXMoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiJ3N3aXRjaFJvdW5kZWREZWZhdWx0JyArIGlcIj48L2xhYmVsPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJmb3JtLmxhYmVsIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJmb3JtLmxhYmVsRW5hYmxlIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2wgY29udHJvbC0tYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAnbWF4LXdpZHRoJzogZm9ybS5zdGVwLmxlbmd0aCA8IDQgfVwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfVEFHXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGlzLWluZm9cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW91dGxpbmVkJzogc3RlcCAhPT0gZm9ybS52YWx1ZSAmJiAoIWZvcm0uc3RlcEtleS5sZW5ndGggfHwgZm9ybS5zdGVwS2V5W2ldICE9PSBmb3JtLnZhbHVlKSB9XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBmb3JtLnN0ZXA7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJmb3JtLnZhbHVlID0gZm9ybS5zdGVwS2V5Lmxlbmd0aCAmJiBmb3JtLnN0ZXBLZXlbaV0gPyBmb3JtLnN0ZXBLZXlbaV0gOiBzdGVwOyB1cGRhdGVDb250ZW50KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHN0ZXAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtLWZsZXhTdGFydFwiICpuZ0lmPVwiZm9ybS50eXBlID09PSBGT1JNX1RZUEVfQ09MT1I7XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sb3Itd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIid3Yi1jb25maWdzX19jb2xvciB3Yi1jb25maWdzX19jb2xvcmpzJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlQ29sb3JQaWNrZXIoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZm9ybS52YWx1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwid2ItY29uZmlnc19fcGlja2VyXCJcbiAgICAgICAgICAgICAgICB3YkF1dG9IaWRlXG4gICAgICAgICAgICAgICAgW3RyaWdnZXJFbGVtZW50XT1cIid3Yi1jb25maWdzX19jb2xvcmpzJyArIGlcIlxuICAgICAgICAgICAgICAgIChjbGlja091dHNpZGUpPVwib25DbG9zZUNvbG9yUGljamVyKGZhbHNlLCBpKVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtYWN0aXZlJzogaXNDb2xvclBpY2tlck9wZW5baV0gfVwiXG4gICAgICAgICAgICAgICAgI2NvbG9yUGlja2VyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbKGNvbG9yUGlja2VyKV09XCJmb3JtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiZm9ybS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjcFBvc2l0aW9uXT1cIid0b3AnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NwV2lkdGhdPVwiJ2F1dG8nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbY3BEaWFsb2dEaXNwbGF5XT1cIidpbmxpbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNvbG9yUGlja2VyQ2hhbmdlKT1cInVwZGF0ZUNvbnRlbnQoKVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cCAqbmdJZj1cIiFmb3JtLmljb25IZWxwXCIgY2xhc3M9XCJoZWxwXCIgW2lubmVySFRNTF09XCJmb3JtLmhlbHAgfCBoZWxwTWVzc2FnZUhhbmRsZXI6IGZvcm0gfCB0cmFuc2xhdGVcIj48L3A+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -27,7 +27,7 @@ export class SeparatorSimpleService {
|
|
|
27
27
|
const separatorSimpleContentColorDto = new FormsContentDto(FORM_NAME_COLOR, 'wb.blocks.FormContentDto.54', FORM_TYPE_COLOR, content[FORM_NAME_COLOR], '#000000', '');
|
|
28
28
|
const separatorSimpleStyleHeightDto = new FormsContentDto(FORM_NAME_BORDER_STYLE, 'wb.blocks.FormContentDto.55', FORM_TYPE_TAG, content[FORM_NAME_BORDER_STYLE], '1', '', ['wb.blocks.FormContentDto.97', 'wb.blocks.FormContentDto.98', 'wb.blocks.FormContentDto.99', 'wb.blocks.FormContentDto.100'], ['solid', 'dotted', 'dashed', 'double']);
|
|
29
29
|
const separatorSimpleContentHeightDto = new FormsContentDto(FORM_NAME_HEIGHT, 'wb.blocks.FormContentDto.57', FORM_TYPE_TAG, content[FORM_NAME_HEIGHT], '1', '', ['1px', '2px', '5px', '8px']);
|
|
30
|
-
const separatorSimpleContentWidthDto = new FormsContentDto(FORM_NAME_WIDTH, 'wb.blocks.FormContentDto.58', FORM_TYPE_TAG, content[FORM_NAME_WIDTH], '400', '', ['20%', '40%', '60%', '80%']);
|
|
30
|
+
const separatorSimpleContentWidthDto = new FormsContentDto(FORM_NAME_WIDTH, 'wb.blocks.FormContentDto.58', FORM_TYPE_TAG, content[FORM_NAME_WIDTH], '400', '', ['20%', '40%', '60%', '80%', '100%']);
|
|
31
31
|
separatorSimpleFormDto.forms.push(separatorSimpleContentColorDto);
|
|
32
32
|
separatorSimpleFormDto.forms.push(separatorSimpleStyleHeightDto);
|
|
33
33
|
separatorSimpleFormDto.forms.push(separatorSimpleContentHeightDto);
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
46
46
|
providedIn: 'root',
|
|
47
47
|
}]
|
|
48
48
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLXNpbXBsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3NlcnZpY2VzL2Jsb2Nrcy9zZXBhcmF0b3Ivc2VwYXJhdG9yLXNpbXBsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDMUYsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFFBQVEsRUFDUixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsRUFDZixzQkFBc0IsR0FFekIsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFdkMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsa0JBQWtCLENBQUM7QUFLeEQsTUFBTSxPQUFPLHNCQUFzQjtJQUhuQztRQUlZLFVBQUssR0FBRyxpQ0FBaUMsQ0FBQztLQXVFckQ7SUFyRUcsTUFBTSxDQUFDLFFBQVE7UUFDWCxPQUFPLEtBQUssR0FBRyxxQkFBcUIsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJO1FBQ0EsT0FBTyxxQkFBcUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNELE9BQU8sd0JBQXdCLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxVQUE4QixJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2xELE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGVBQWUsQ0FDdEQsZUFBZSxFQUNmLDZCQUE2QixFQUM3QixlQUFlLEVBQ2YsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUN4QixTQUFTLEVBQ1QsRUFBRSxDQUNMLENBQUM7UUFDRixNQUFNLDZCQUE2QixHQUFHLElBQUksZUFBZSxDQUNyRCxzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLGFBQWEsRUFDYixPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFDL0IsR0FBRyxFQUNILEVBQUUsRUFDRixDQUFDLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLDhCQUE4QixDQUFDLEVBQzdILENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQzFDLENBQUM7UUFDRixNQUFNLCtCQUErQixHQUFHLElBQUksZUFBZSxDQUN2RCxnQkFBZ0IsRUFDaEIsNkJBQTZCLEVBQzdCLGFBQWEsRUFDYixPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFDekIsR0FBRyxFQUNILEVBQUUsRUFDRixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUMvQixDQUFDO1FBQ0YsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGVBQWUsQ0FDdEQsZUFBZSxFQUNmLDZCQUE2QixFQUM3QixhQUFhLEVBQ2IsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUN4QixLQUFLLEVBQ0wsRUFBRSxFQUNGLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUN2QyxDQUFDO1FBQ0Ysc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2xFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDbkUsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sc0JBQXNCLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7bUhBdkVRLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlcGFyYXRvclNpbXBsZUR0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL3NlcGFyYXRvcnMvc2VwYXJhdG9yLXNpbXBsZS5kdG8nO1xuaW1wb3J0IHtcbiAgICBGT1JNX05BTUVfQ09MT1IsXG4gICAgRk9STV9OQU1FX0hFSUdIVCxcbiAgICBGT1JNX05BTUVfV0lEVEgsXG4gICAgRm9ybXNEdG8sXG4gICAgRm9ybXNDb250ZW50RHRvLFxuICAgIEZPUk1fVFlQRV9UQUcsXG4gICAgRk9STV9UWVBFX0NPTE9SLFxuICAgIEZPUk1fTkFNRV9CT1JERVJfU1RZTEUsXG4gICAgRk9STV9UWVBFX0NIRUNLQk9YLFxufSBmcm9tICcuLi8uLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5cbmV4cG9ydCBjb25zdCBUWVBFX1NFUEFSQVRPUl9TSU1QTEUgPSAnc2VwYXJhdG9yLXNpbXBsZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNlcGFyYXRvclNpbXBsZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX3RleHQgPSAnd2IuYmxvY2tzLnNlcGFyYXRvci1zaW1wbGUudGV4dCc7XG5cbiAgICBzdGF0aWMgc2VsZWN0b3IoKSB7XG4gICAgICAgIHJldHVybiAnd2ItJyArIFRZUEVfU0VQQVJBVE9SX1NJTVBMRTtcbiAgICB9XG5cbiAgICBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dDtcbiAgICB9XG5cbiAgICBzZXQgdGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3RleHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICB0eXBlKCkge1xuICAgICAgICByZXR1cm4gVFlQRV9TRVBBUkFUT1JfU0lNUExFO1xuICAgIH1cblxuICAgIGltYWdlKCkge1xuICAgICAgICByZXR1cm4gJ1NlcGFyYXRldXJfQ2xhc3NpYy5wbmcnO1xuICAgIH1cblxuICAgIGdldEZvcm0oY29udGVudDogU2VwYXJhdG9yU2ltcGxlRHRvID0gdGhpcy5nZXRDb25maWcoKSkge1xuICAgICAgICBjb25zdCBzZXBhcmF0b3JTaW1wbGVGb3JtRHRvID0gbmV3IEZvcm1zRHRvKGNvbnRlbnQpO1xuICAgICAgICBjb25zdCBzZXBhcmF0b3JTaW1wbGVDb250ZW50Q29sb3JEdG8gPSBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgRk9STV9OQU1FX0NPTE9SLFxuICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by41NCcsXG4gICAgICAgICAgICBGT1JNX1RZUEVfQ09MT1IsXG4gICAgICAgICAgICBjb250ZW50W0ZPUk1fTkFNRV9DT0xPUl0sXG4gICAgICAgICAgICAnIzAwMDAwMCcsXG4gICAgICAgICAgICAnJ1xuICAgICAgICApO1xuICAgICAgICBjb25zdCBzZXBhcmF0b3JTaW1wbGVTdHlsZUhlaWdodER0byA9IG5ldyBGb3Jtc0NvbnRlbnREdG8oXG4gICAgICAgICAgICBGT1JNX05BTUVfQk9SREVSX1NUWUxFLFxuICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by41NScsXG4gICAgICAgICAgICBGT1JNX1RZUEVfVEFHLFxuICAgICAgICAgICAgY29udGVudFtGT1JNX05BTUVfQk9SREVSX1NUWUxFXSxcbiAgICAgICAgICAgICcxJyxcbiAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgWyd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uOTcnLCAnd2IuYmxvY2tzLkZvcm1Db250ZW50RHRvLjk4JywgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by45OScsICd3Yi5ibG9ja3MuRm9ybUNvbnRlbnREdG8uMTAwJ10sXG4gICAgICAgICAgICBbJ3NvbGlkJywgJ2RvdHRlZCcsICdkYXNoZWQnLCAnZG91YmxlJ11cbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgc2VwYXJhdG9yU2ltcGxlQ29udGVudEhlaWdodER0byA9IG5ldyBGb3Jtc0NvbnRlbnREdG8oXG4gICAgICAgICAgICBGT1JNX05BTUVfSEVJR0hULFxuICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by41NycsXG4gICAgICAgICAgICBGT1JNX1RZUEVfVEFHLFxuICAgICAgICAgICAgY29udGVudFtGT1JNX05BTUVfSEVJR0hUXSxcbiAgICAgICAgICAgICcxJyxcbiAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgWycxcHgnLCAnMnB4JywgJzVweCcsICc4cHgnXVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzZXBhcmF0b3JTaW1wbGVDb250ZW50V2lkdGhEdG8gPSBuZXcgRm9ybXNDb250ZW50RHRvKFxuICAgICAgICAgICAgRk9STV9OQU1FX1dJRFRILFxuICAgICAgICAgICAgJ3diLmJsb2Nrcy5Gb3JtQ29udGVudER0by41OCcsXG4gICAgICAgICAgICBGT1JNX1RZUEVfVEFHLFxuICAgICAgICAgICAgY29udGVudFtGT1JNX05BTUVfV0lEVEhdLFxuICAgICAgICAgICAgJzQwMCcsXG4gICAgICAgICAgICAnJyxcbiAgICAgICAgICAgIFsnMjAlJywgJzQwJScsICc2MCUnLCAnODAlJywgJzEwMCUnXVxuICAgICAgICApO1xuICAgICAgICBzZXBhcmF0b3JTaW1wbGVGb3JtRHRvLmZvcm1zLnB1c2goc2VwYXJhdG9yU2ltcGxlQ29udGVudENvbG9yRHRvKTtcbiAgICAgICAgc2VwYXJhdG9yU2ltcGxlRm9ybUR0by5mb3Jtcy5wdXNoKHNlcGFyYXRvclNpbXBsZVN0eWxlSGVpZ2h0RHRvKTtcbiAgICAgICAgc2VwYXJhdG9yU2ltcGxlRm9ybUR0by5mb3Jtcy5wdXNoKHNlcGFyYXRvclNpbXBsZUNvbnRlbnRIZWlnaHREdG8pO1xuICAgICAgICBzZXBhcmF0b3JTaW1wbGVGb3JtRHRvLmZvcm1zLnB1c2goc2VwYXJhdG9yU2ltcGxlQ29udGVudFdpZHRoRHRvKTtcblxuICAgICAgICByZXR1cm4gc2VwYXJhdG9yU2ltcGxlRm9ybUR0bztcbiAgICB9XG5cbiAgICBnZXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiBuZXcgU2VwYXJhdG9yU2ltcGxlRHRvKHRoaXMudHlwZSgpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -667,7 +667,7 @@ class SeparatorSimpleService {
|
|
|
667
667
|
const separatorSimpleContentColorDto = new FormsContentDto(FORM_NAME_COLOR, 'wb.blocks.FormContentDto.54', FORM_TYPE_COLOR, content[FORM_NAME_COLOR], '#000000', '');
|
|
668
668
|
const separatorSimpleStyleHeightDto = new FormsContentDto(FORM_NAME_BORDER_STYLE, 'wb.blocks.FormContentDto.55', FORM_TYPE_TAG, content[FORM_NAME_BORDER_STYLE], '1', '', ['wb.blocks.FormContentDto.97', 'wb.blocks.FormContentDto.98', 'wb.blocks.FormContentDto.99', 'wb.blocks.FormContentDto.100'], ['solid', 'dotted', 'dashed', 'double']);
|
|
669
669
|
const separatorSimpleContentHeightDto = new FormsContentDto(FORM_NAME_HEIGHT, 'wb.blocks.FormContentDto.57', FORM_TYPE_TAG, content[FORM_NAME_HEIGHT], '1', '', ['1px', '2px', '5px', '8px']);
|
|
670
|
-
const separatorSimpleContentWidthDto = new FormsContentDto(FORM_NAME_WIDTH, 'wb.blocks.FormContentDto.58', FORM_TYPE_TAG, content[FORM_NAME_WIDTH], '400', '', ['20%', '40%', '60%', '80%']);
|
|
670
|
+
const separatorSimpleContentWidthDto = new FormsContentDto(FORM_NAME_WIDTH, 'wb.blocks.FormContentDto.58', FORM_TYPE_TAG, content[FORM_NAME_WIDTH], '400', '', ['20%', '40%', '60%', '80%', '100%']);
|
|
671
671
|
separatorSimpleFormDto.forms.push(separatorSimpleContentColorDto);
|
|
672
672
|
separatorSimpleFormDto.forms.push(separatorSimpleStyleHeightDto);
|
|
673
673
|
separatorSimpleFormDto.forms.push(separatorSimpleContentHeightDto);
|
|
@@ -25145,7 +25145,7 @@ class ConfigsComponent {
|
|
|
25145
25145
|
this.FORM_TYPE_TAG = FORM_TYPE_TAG;
|
|
25146
25146
|
this.FORM_TYPE_COLOR = FORM_TYPE_COLOR;
|
|
25147
25147
|
this.temporizeConfig = 0;
|
|
25148
|
-
this.isColorPickerOpen =
|
|
25148
|
+
this.isColorPickerOpen = [];
|
|
25149
25149
|
}
|
|
25150
25150
|
ngOnInit() {
|
|
25151
25151
|
this.translation = this.wiziBlockService.getTranslation();
|
|
@@ -25167,6 +25167,11 @@ class ConfigsComponent {
|
|
|
25167
25167
|
this.configs.forms[0]['value'] = '1';
|
|
25168
25168
|
this.updateContent();
|
|
25169
25169
|
}
|
|
25170
|
+
for (let color of this.configs.forms) {
|
|
25171
|
+
if (color.type === 'color') {
|
|
25172
|
+
this.isColorPickerOpen.push(false);
|
|
25173
|
+
}
|
|
25174
|
+
}
|
|
25170
25175
|
}
|
|
25171
25176
|
updateChanges($event = null, key) {
|
|
25172
25177
|
if ($event !== null) {
|
|
@@ -25221,22 +25226,30 @@ class ConfigsComponent {
|
|
|
25221
25226
|
}
|
|
25222
25227
|
this.contentService.updateByUUID(this.configs.block.uuid, this.configs);
|
|
25223
25228
|
}
|
|
25224
|
-
onToggleColorPicker($event) {
|
|
25229
|
+
onToggleColorPicker($event, index) {
|
|
25230
|
+
console.log('----------');
|
|
25231
|
+
console.log($event, index);
|
|
25232
|
+
console.log('----------');
|
|
25225
25233
|
setTimeout(() => {
|
|
25226
|
-
this.isColorPickerOpen = !this.isColorPickerOpen;
|
|
25234
|
+
this.isColorPickerOpen[index] = !this.isColorPickerOpen[index];
|
|
25227
25235
|
}, 0);
|
|
25228
25236
|
$event.stopPropagation(); // Avoid wbAutoHide conflict
|
|
25229
25237
|
$event.preventDefault();
|
|
25230
25238
|
}
|
|
25239
|
+
onCloseColorPicjer(value, index) {
|
|
25240
|
+
setTimeout(() => {
|
|
25241
|
+
this.isColorPickerOpen[index] = value;
|
|
25242
|
+
}, 0);
|
|
25243
|
+
}
|
|
25231
25244
|
ngOnDestroy() {
|
|
25232
25245
|
this.temporizeConfig = 0;
|
|
25233
25246
|
}
|
|
25234
25247
|
}
|
|
25235
25248
|
ConfigsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsComponent, deps: [{ token: WiziBlockService }, { token: ContentService }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25236
|
-
ConfigsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ConfigsComponent, selector: "wb-configs", inputs: { configs: "configs", isFirst: "isFirst" }, outputs: { changeConfig: "changeConfig" }, ngImport: i0, template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"
|
|
25249
|
+
ConfigsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ConfigsComponent, selector: "wb-configs", inputs: { configs: "configs", isFirst: "isFirst" }, outputs: { changeConfig: "changeConfig" }, ngImport: i0, template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event, i)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"onCloseColorPicjer(false, i)\"\n [ngClass]=\"{ 'is-active': isColorPickerOpen[i] }\"\n #colorPicker\n >\n <div\n [(colorPicker)]=\"form.value\"\n [style.background]=\"form.value\"\n [cpPosition]=\"'top'\"\n [cpWidth]=\"'auto'\"\n [cpToggle]=\"true\"\n [cpDialogDisplay]=\"'inline'\"\n (colorPickerChange)=\"updateContent()\"\n ></div>\n </div>\n </div>\n <p *ngIf=\"!form.iconHelp\" class=\"help\" [innerHTML]=\"form.help | helpMessageHandler: form | translate\"></p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AutoHideDirective, selector: "[wbAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i7$1.ColorPickerDirective, selector: "[colorPicker]", inputs: ["colorPicker", "cpWidth", "cpHeight", "cpToggle", "cpDisabled", "cpIgnoredElements", "cpFallbackColor", "cpColorMode", "cpCmykEnabled", "cpOutputFormat", "cpAlphaChannel", "cpDisableInput", "cpDialogDisplay", "cpSaveClickOutside", "cpCloseClickOutside", "cpUseRootViewContainer", "cpPosition", "cpPositionOffset", "cpPositionRelativeToArrow", "cpOKButton", "cpOKButtonText", "cpOKButtonClass", "cpCancelButton", "cpCancelButtonText", "cpCancelButtonClass", "cpEyeDropper", "cpPresetLabel", "cpPresetColors", "cpPresetColorsClass", "cpMaxPresetColorsLength", "cpPresetEmptyMessage", "cpPresetEmptyMessageClass", "cpAddColorButton", "cpAddColorButtonText", "cpAddColorButtonClass", "cpRemoveColorButtonClass", "cpExtraTemplate"], outputs: ["cpInputChange", "cpToggleChange", "cpSliderChange", "cpSliderDragEnd", "cpSliderDragStart", "colorPickerOpen", "colorPickerClose", "colorPickerCancel", "colorPickerSelect", "colorPickerChange", "cpCmykColorChange", "cpPresetColorsChange"], exportAs: ["ngxColorPicker"] }, { kind: "pipe", type: HelpMessageHandlerPipe, name: "helpMessageHandler" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], animations: [animateListFromLeft('200ms ease-in-out')] });
|
|
25237
25250
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsComponent, decorators: [{
|
|
25238
25251
|
type: Component,
|
|
25239
|
-
args: [{ selector: 'wb-configs', animations: [animateListFromLeft('200ms ease-in-out')], template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"
|
|
25252
|
+
args: [{ selector: 'wb-configs', animations: [animateListFromLeft('200ms ease-in-out')], template: "<div class=\"wb-configs\" [ngClass]=\"{ 'is-not-first': !isFirst }\" [@animateListFromLeft]=\"temporizeConfig\" *ngIf=\"temporizeConfig\">\n <div class=\"field\" *ngFor=\"let form of configs.forms; let i = index\">\n <label class=\"label\" *ngIf=\"form.type !== FORM_TYPE_CHECKBOX\" [ngClass]=\"{ 'icon-help': form.iconHelp }\"\n >{{ form.label | translate }}\n <i *ngIf=\"form.iconHelp\" class=\"fas fa-info-circle\"\n ><span>{{ form.help| helpMessageHandler: form | translate }}</span></i\n ></label\n >\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_TEXT\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [placeholder]=\"form.placeholder | translate\"\n [ngModel]=\"form.value | translate\"\n (ngModelChange)=\"form.value = $event\"\n (keyup)=\"updateContent()\"\n />\n </div>\n <div class=\"control control--input\" *ngIf=\"form.type === FORM_TYPE_NUMBER\">\n <input\n class=\"input\"\n [type]=\"form.type\"\n [maxlength]=\"999999999\"\n [placeholder]=\"form.placeholder | translate\"\n [(ngModel)]=\"form.value\"\n (keyup)=\"updateNumber($event, i)\"\n />\n </div>\n <div class=\"control control--flex\" [ngClass]=\"{ 'dynamic-label': form.labelEnable }\" *ngIf=\"form.type === FORM_TYPE_CHECKBOX\">\n <input\n [id]=\"'switchRoundedDefault' + i\"\n [type]=\"form.type\"\n [name]=\"'switchRoundedDefault' + i\"\n class=\"switch is-rounded is-info\"\n [checked]=\"form.value === (form.state[0] ? form.state[0] : true)\"\n (change)=\"updateChanges($event, i)\"\n />\n <label [for]=\"'switchRoundedDefault' + i\"></label>\n <p [innerHTML]=\"form.label | translate\"></p>\n <p [innerHTML]=\"form.labelEnable | translate\"></p>\n </div>\n <div class=\"control control--button\" [ngClass]=\"{ 'max-width': form.step.length < 4 }\" *ngIf=\"form.type === FORM_TYPE_TAG\">\n <a\n class=\"button is-info\"\n [ngClass]=\"{ 'is-outlined': step !== form.value && (!form.stepKey.length || form.stepKey[i] !== form.value) }\"\n *ngFor=\"let step of form.step; let i = index\"\n (click)=\"form.value = form.stepKey.length && form.stepKey[i] ? form.stepKey[i] : step; updateContent()\"\n >\n {{ step | translate }}\n </a>\n </div>\n <div class=\"control control--flexStart\" *ngIf=\"form.type === FORM_TYPE_COLOR;\">\n <div class=\"color-wrapper\">\n <div\n [class]=\"'wb-configs__color wb-configs__colorjs' + i\"\n [style.background]=\"form.value\"\n (click)=\"onToggleColorPicker($event, i)\"\n ></div>\n <span [innerHTML]=\"form.value\"></span>\n </div>\n <div\n class=\"wb-configs__picker\"\n wbAutoHide\n [triggerElement]=\"'wb-configs__colorjs' + i\"\n (clickOutside)=\"onCloseColorPicjer(false, i)\"\n [ngClass]=\"{ 'is-active': isColorPickerOpen[i] }\"\n #colorPicker\n >\n <div\n [(colorPicker)]=\"form.value\"\n [style.background]=\"form.value\"\n [cpPosition]=\"'top'\"\n [cpWidth]=\"'auto'\"\n [cpToggle]=\"true\"\n [cpDialogDisplay]=\"'inline'\"\n (colorPickerChange)=\"updateContent()\"\n ></div>\n </div>\n </div>\n <p *ngIf=\"!form.iconHelp\" class=\"help\" [innerHTML]=\"form.help | helpMessageHandler: form | translate\"></p>\n </div>\n</div>\n" }]
|
|
25240
25253
|
}], ctorParameters: function () { return [{ type: WiziBlockService }, { type: ContentService }, { type: ConfigService }]; }, propDecorators: { configs: [{
|
|
25241
25254
|
type: Input
|
|
25242
25255
|
}], isFirst: [{
|