@alfresco/adf-core 8.1.0-14711395239 → 8.1.0-14714295171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +3 -3
- package/esm2022/lib/form/components/form-renderer.component.mjs +6 -15
- package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +3 -3
- package/fesm2022/adf-core.mjs +10 -17
- package/fesm2022/adf-core.mjs.map +1 -1
- package/lib/dialogs/edit-json/edit-json.dialog.scss +1 -3
- package/lib/form/components/form-renderer.component.d.ts +1 -3
- package/lib/form/components/form-renderer.component.scss +0 -13
- package/lib/styles/_mat-selectors.scss +0 -106
- package/lib/viewer/components/pdf-viewer/pdf-viewer.component.scss +1 -1
- package/package.json +3 -3
|
@@ -37,15 +37,15 @@ export class EditJsonDialogComponent {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EditJsonDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: EditJsonDialogComponent, selector: "ng-component", inputs: { value: "value" }, host: { classAttribute: "adf-edit-json-dialog" }, ngImport: i0, template: "<h1 mat-dialog-title>{{ title | translate }}</h1>\n<mat-dialog-content>\n <textarea [(ngModel)]=\"value\" [attr.readonly]=\"!editable ? true : null\"></textarea>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close cdkFocusInitial>\n {{ 'CORE.DIALOG.EDIT_JSON.CLOSE' | translate }}\n </button>\n <button *ngIf=\"editable\" mat-button [mat-dialog-close]=\"value\">\n {{ 'CORE.DIALOG.EDIT_JSON.UPDATE' | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-edit-json-dialog .
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: EditJsonDialogComponent, selector: "ng-component", inputs: { value: "value" }, host: { classAttribute: "adf-edit-json-dialog" }, ngImport: i0, template: "<h1 mat-dialog-title>{{ title | translate }}</h1>\n<mat-dialog-content class=\"adf-edit-json-dialog-content\">\n <textarea [(ngModel)]=\"value\" [attr.readonly]=\"!editable ? true : null\"></textarea>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close cdkFocusInitial>\n {{ 'CORE.DIALOG.EDIT_JSON.CLOSE' | translate }}\n </button>\n <button *ngIf=\"editable\" mat-button [mat-dialog-close]=\"value\">\n {{ 'CORE.DIALOG.EDIT_JSON.UPDATE' | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-edit-json-dialog .adf-edit-json-dialog-content{height:300px;overflow:hidden}.adf-edit-json-dialog textarea{resize:none;width:100%;height:100%;margin:0;padding:0;box-sizing:border-box}.adf-edit-json-dialog textarea:focus{outline:none}\n"], dependencies: [{ 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
41
41
|
}
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EditJsonDialogComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
|
-
args: [{ encapsulation: ViewEncapsulation.None, host: { class: 'adf-edit-json-dialog' }, template: "<h1 mat-dialog-title>{{ title | translate }}</h1>\n<mat-dialog-content>\n <textarea [(ngModel)]=\"value\" [attr.readonly]=\"!editable ? true : null\"></textarea>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close cdkFocusInitial>\n {{ 'CORE.DIALOG.EDIT_JSON.CLOSE' | translate }}\n </button>\n <button *ngIf=\"editable\" mat-button [mat-dialog-close]=\"value\">\n {{ 'CORE.DIALOG.EDIT_JSON.UPDATE' | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-edit-json-dialog .
|
|
44
|
+
args: [{ encapsulation: ViewEncapsulation.None, host: { class: 'adf-edit-json-dialog' }, template: "<h1 mat-dialog-title>{{ title | translate }}</h1>\n<mat-dialog-content class=\"adf-edit-json-dialog-content\">\n <textarea [(ngModel)]=\"value\" [attr.readonly]=\"!editable ? true : null\"></textarea>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close cdkFocusInitial>\n {{ 'CORE.DIALOG.EDIT_JSON.CLOSE' | translate }}\n </button>\n <button *ngIf=\"editable\" mat-button [mat-dialog-close]=\"value\">\n {{ 'CORE.DIALOG.EDIT_JSON.UPDATE' | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-edit-json-dialog .adf-edit-json-dialog-content{height:300px;overflow:hidden}.adf-edit-json-dialog textarea{resize:none;width:100%;height:100%;margin:0;padding:0;box-sizing:border-box}.adf-edit-json-dialog textarea:focus{outline:none}\n"] }]
|
|
45
45
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
46
46
|
type: Inject,
|
|
47
47
|
args: [MAT_DIALOG_DATA]
|
|
48
48
|
}] }], propDecorators: { value: [{
|
|
49
49
|
type: Input
|
|
50
50
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1qc29uLmRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZGlhbG9ncy9lZGl0LWpzb24vZWRpdC1qc29uLmRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZGlhbG9ncy9lZGl0LWpzb24vZWRpdC1qc29uLmRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFjM0QsTUFBTSxPQUFPLHVCQUF1QjtJQU9oQyxZQUE2QyxRQUFnQztRQUFoQyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtRQU43RSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFVBQUssR0FBVyxNQUFNLENBQUM7UUFHdkIsVUFBSyxHQUFXLEVBQUUsQ0FBQztJQUU2RCxDQUFDO0lBRWpGLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDO1FBQy9DLENBQUM7SUFDTCxDQUFDOzhHQWZRLHVCQUF1QixrQkFPWixlQUFlO2tHQVAxQix1QkFBdUIsa0lDaENwQyx1akJBYUE7OzJGRG1CYSx1QkFBdUI7a0JBTm5DLFNBQVM7b0NBR1MsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTs7MEJBUzFCLE1BQU07MkJBQUMsZUFBZTt5Q0FGbkMsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEpzb25EaWFsb2dTZXR0aW5ncyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZWRpdGFibGU/OiBib29sZWFuO1xuICAgIHZhbHVlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1qc29uLmRpYWxvZy5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0LWpzb24uZGlhbG9nLnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtZWRpdC1qc29uLWRpYWxvZycgfVxufSlcbmV4cG9ydCBjbGFzcyBFZGl0SnNvbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgZWRpdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICB0aXRsZTogc3RyaW5nID0gJ0pTT04nO1xuXG4gICAgQElucHV0KClcbiAgICB2YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBzZXR0aW5nczogRWRpdEpzb25EaWFsb2dTZXR0aW5ncykge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5zZXR0aW5ncykge1xuICAgICAgICAgICAgdGhpcy5lZGl0YWJsZSA9IHRoaXMuc2V0dGluZ3MuZWRpdGFibGU7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5zZXR0aW5ncy52YWx1ZSB8fCAnJztcbiAgICAgICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLnNldHRpbmdzLnRpdGxlIHx8ICdKU09OJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9oMT5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJhZGYtZWRpdC1qc29uLWRpYWxvZy1jb250ZW50XCI+XG4gICAgPHRleHRhcmVhIFsobmdNb2RlbCldPVwidmFsdWVcIiBbYXR0ci5yZWFkb25seV09XCIhZWRpdGFibGUgPyB0cnVlIDogbnVsbFwiPjwvdGV4dGFyZWE+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlIGNka0ZvY3VzSW5pdGlhbD5cbiAgICAgICAge3sgJ0NPUkUuRElBTE9HLkVESVRfSlNPTi5DTE9TRScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cInZhbHVlXCI+XG4gICAgICAgIHt7ICdDT1JFLkRJQUxPRy5FRElUX0pTT04uVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
|
|
@@ -14,12 +14,11 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { NgClass, NgForOf, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
18
18
|
import { Component, Inject, Injector, Input, Optional, ViewEncapsulation } from '@angular/core';
|
|
19
19
|
import { FormsModule } from '@angular/forms';
|
|
20
20
|
import { MatButtonModule } from '@angular/material/button';
|
|
21
21
|
import { MatIconModule } from '@angular/material/icon';
|
|
22
|
-
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
23
22
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
24
23
|
import { TranslateModule } from '@ngx-translate/core';
|
|
25
24
|
import { FormRulesManager, formRulesManagerFactory } from '../models/form-rules.model';
|
|
@@ -34,15 +33,11 @@ import * as i1 from "../services/form.service";
|
|
|
34
33
|
import * as i2 from "../models/form-rules.model";
|
|
35
34
|
import * as i3 from "@angular/material/tabs";
|
|
36
35
|
import * as i4 from "@ngx-translate/core";
|
|
37
|
-
import * as i5 from "@angular/material/slide-toggle";
|
|
38
|
-
import * as i6 from "@angular/forms";
|
|
39
36
|
export class FormRendererComponent {
|
|
40
37
|
constructor(formService, formRulesManager, middlewareServices) {
|
|
41
38
|
this.formService = formService;
|
|
42
39
|
this.formRulesManager = formRulesManager;
|
|
43
40
|
this.middlewareServices = middlewareServices;
|
|
44
|
-
/** Toggle debug options. */
|
|
45
|
-
this.showDebugButton = false;
|
|
46
41
|
this.readOnly = false;
|
|
47
42
|
}
|
|
48
43
|
ngOnInit() {
|
|
@@ -122,13 +117,13 @@ export class FormRendererComponent {
|
|
|
122
117
|
}
|
|
123
118
|
}
|
|
124
119
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FormRendererComponent, deps: [{ token: i1.FormService }, { token: i2.FormRulesManager }, { token: FORM_FIELD_MODEL_RENDER_MIDDLEWARE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: FormRendererComponent, isStandalone: true, selector: "adf-form-renderer", inputs: {
|
|
120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: FormRendererComponent, isStandalone: true, selector: "adf-form-renderer", inputs: { formDefinition: "formDefinition", readOnly: "readOnly" }, providers: [
|
|
126
121
|
{
|
|
127
122
|
provide: FormRulesManager,
|
|
128
123
|
useFactory: formRulesManagerFactory,
|
|
129
124
|
deps: [Injector]
|
|
130
125
|
}
|
|
131
|
-
], ngImport: i0, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }}\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group>\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\">\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n\n<!--\nFor debugging and data visualisation purposes,\nwill be removed during future revisions\n-->\n<div *ngIf=\"showDebugButton\" class=\"adf-form-debug-container\">\n <mat-slide-toggle [(ngModel)]=\"debugMode\">Debug mode</mat-slide-toggle>\n <div *ngIf=\"debugMode\">\n <h4>Values</h4>\n <pre>{{ formDefinition.values | json }}</pre>\n\n <h4>Form</h4>\n <pre>{{ formDefinition.json | json }}</pre>\n </div>\n</div>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;flex-grow:1;box-sizing:border-box;padding-left:1%;padding-right:1%}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column-xl{display:none}.adf-container-widget .adf-grid-list-single-column-s{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-tab-body-content{overflow:hidden}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-debug-container{padding:10px}.adf-form-debug-container .adf-debug-toggle-text{padding-left:15px;cursor:pointer}.adf-form-debug-container .adf-debug-toggle-text:hover{font-weight:700}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-label{width:32px;height:16px;font-size:var(--theme-caption-font-size);line-height:var(--theme-headline-line-height);text-align:left;white-space:nowrap}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}.adf-error-messages-container{min-height:35px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FormFieldComponent, selector: "adf-form-field", inputs: ["field"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i5.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HeaderWidgetComponent, selector: "adf-header-widget", inputs: ["element"] }, { kind: "component", type: FormSectionComponent, selector: "adf-form-section", inputs: ["field"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
126
|
+
], ngImport: i0, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }}\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group>\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\">\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;flex-grow:1;box-sizing:border-box;padding-left:1%;padding-right:1%}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column-xl{display:none}.adf-container-widget .adf-grid-list-single-column-s{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-tab-body-content{overflow:hidden}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-label{width:32px;height:16px;font-size:var(--theme-caption-font-size);line-height:var(--theme-headline-line-height);text-align:left;white-space:nowrap}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}.adf-error-messages-container{min-height:35px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FormFieldComponent, selector: "adf-form-field", inputs: ["field"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HeaderWidgetComponent, selector: "adf-header-widget", inputs: ["element"] }, { kind: "component", type: FormSectionComponent, selector: "adf-form-section", inputs: ["field"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
132
127
|
}
|
|
133
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FormRendererComponent, decorators: [{
|
|
134
129
|
type: Component,
|
|
@@ -148,24 +143,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
148
143
|
MatIconModule,
|
|
149
144
|
NgStyle,
|
|
150
145
|
FormFieldComponent,
|
|
151
|
-
MatSlideToggleModule,
|
|
152
146
|
FormsModule,
|
|
153
|
-
JsonPipe,
|
|
154
147
|
NgClass,
|
|
155
148
|
HeaderWidgetComponent,
|
|
156
149
|
FormSectionComponent
|
|
157
|
-
], encapsulation: ViewEncapsulation.None, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }}\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group>\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\">\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n
|
|
150
|
+
], encapsulation: ViewEncapsulation.None, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }}\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group>\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\">\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;flex-grow:1;box-sizing:border-box;padding-left:1%;padding-right:1%}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column-xl{display:none}.adf-container-widget .adf-grid-list-single-column-s{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-tab-body-content{overflow:hidden}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-label{width:32px;height:16px;font-size:var(--theme-caption-font-size);line-height:var(--theme-headline-line-height);text-align:left;white-space:nowrap}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}.adf-error-messages-container{min-height:35px}\n"] }]
|
|
158
151
|
}], ctorParameters: () => [{ type: i1.FormService }, { type: i2.FormRulesManager }, { type: undefined, decorators: [{
|
|
159
152
|
type: Optional
|
|
160
153
|
}, {
|
|
161
154
|
type: Inject,
|
|
162
155
|
args: [FORM_FIELD_MODEL_RENDER_MIDDLEWARE]
|
|
163
|
-
}] }], propDecorators: {
|
|
164
|
-
type: Input
|
|
165
|
-
}], formDefinition: [{
|
|
156
|
+
}] }], propDecorators: { formDefinition: [{
|
|
166
157
|
type: Input,
|
|
167
158
|
args: [{ required: true }]
|
|
168
159
|
}], readOnly: [{
|
|
169
160
|
type: Input
|
|
170
161
|
}] } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFF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QkFDYyxpQkFBaUIsQ0FBQyxJQUFJOzswQkFvQmhDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsa0NBQWtDO3lDQWhCOUMsZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSXpCLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSnNvblBpcGUsIE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGb3JtUnVsZXNNYW5hZ2VyLCBmb3JtUnVsZXNNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4uL21vZGVscy9mb3JtLXJ1bGVzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGT1JNX0ZJRUxEX01PREVMX1JFTkRFUl9NSURETEVXQVJFLCBGb3JtRmllbGRNb2RlbFJlbmRlck1pZGRsZXdhcmUgfSBmcm9tICcuL21pZGRsZXdhcmVzL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29udGFpbmVyTW9kZWwsIEZvcm1GaWVsZE1vZGVsLCBGb3JtTW9kZWwsIFRhYk1vZGVsIH0gZnJvbSAnLi93aWRnZXRzJztcbmltcG9ydCB7IEhlYWRlcldpZGdldENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9oZWFkZXIvaGVhZGVyLndpZGdldCc7XG5pbXBvcnQgeyBGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1mb3JtLXJlbmRlcmVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvcm1SdWxlc01hbmFnZXIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBmb3JtUnVsZXNNYW5hZ2VyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl1cbiAgICAgICAgfVxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTmdTdHlsZSxcbiAgICAgICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEpzb25QaXBlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBIZWFkZXJXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIEZvcm1TZWN0aW9uQ29tcG9uZW50XG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1SZW5kZXJlckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogVG9nZ2xlIGRlYnVnIG9wdGlvbnMuICovXG4gICAgQElucHV0KClcbiAgICBzaG93RGVidWdCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgZm9ybURlZmluaXRpb246IEZvcm1Nb2RlbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIGRlYnVnTW9kZTogYm9vbGVhbjtcblxuICAgIGZpZWxkczogRm9ybUZpZWxkTW9kZWxbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvcm1SdWxlc01hbmFnZXI6IEZvcm1SdWxlc01hbmFnZXI8VD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoRk9STV9GSUVMRF9NT0RFTF9SRU5ERVJfTUlERExFV0FSRSlcbiAgICAgICAgcHJpdmF0ZSBtaWRkbGV3YXJlU2VydmljZXM/OiBGb3JtRmllbGRNb2RlbFJlbmRlck1pZGRsZXdhcmVbXVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bk1pZGRsZXdhcmVTZXJ2aWNlcygpO1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVJ1bGVzTWFuYWdlci5pbml0aWFsaXplKHRoaXMuZm9ybURlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZm9ybVJ1bGVzTWFuYWdlci5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgaGFzVGFicygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybURlZmluaXRpb24udGFicyAmJiB0aGlzLmZvcm1EZWZpbml0aW9uLnRhYnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2aXNpYmxlVGFicygpOiBUYWJNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybURlZmluaXRpb24udGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmlzVmlzaWJsZSk7XG4gICAgfVxuXG4gICAgZ2V0TnVtYmVyT2ZDb2x1bW5zKGNvbnRlbnQ6IENvbnRhaW5lck1vZGVsKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChjb250ZW50Lmpzb24/Lm51bWJlck9mQ29sdW1ucyB8fCAxKSA+IChjb250ZW50LmNvbHVtbnM/Lmxlbmd0aCB8fCAxKVxuICAgICAgICAgICAgPyBjb250ZW50Lmpzb24/Lm51bWJlck9mQ29sdW1ucyB8fCAxXG4gICAgICAgICAgICA6IGNvbnRlbnQuY29sdW1ucz8ubGVuZ3RoIHx8IDE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VyaWFsaXplcyBjb2x1bW4gZmllbGRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudCBjb250YWluZXIgbW9kZWxcbiAgICAgKiBAcmV0dXJucyBhIGxpc3Qgb2YgZm9ybSBmaWVsZCBtb2RlbHNcbiAgICAgKi9cbiAgICBnZXRDb250YWluZXJGaWVsZHMoY29udGVudDogQ29udGFpbmVyTW9kZWwpOiBGb3JtRmllbGRNb2RlbFtdIHtcbiAgICAgICAgY29uc3Qgc2VyaWFsaXNlZEZvcm1GaWVsZHM6IEZvcm1GaWVsZE1vZGVsW10gPSBbXTtcbiAgICAgICAgY29uc3QgbWF4Q29sdW1uRmllbGRzU2l6ZSA9IHRoaXMuZ2V0TWF4Q29sdW1uRmllbGRTaXplKGNvbnRlbnQpO1xuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbWF4Q29sdW1uRmllbGRzU2l6ZTsgcm93SW5kZXgrKykge1xuICAgICAgICAgICAgY29udGVudD8uY29sdW1ucy5mbGF0TWFwKChjdXJyZW50Q29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRDb2x1bW4/LmZpZWxkc1tyb3dJbmRleF0pIHtcbiAgICAgICAgICAgICAgICAgICAgc2VyaWFsaXNlZEZvcm1GaWVsZHMucHVzaChjdXJyZW50Q29sdW1uPy5maWVsZHNbcm93SW5kZXhdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdFJvd0VsZW1lbnRDb2xTcGFuID0gY3VycmVudENvbHVtbj8uZmllbGRzWzBdPy5jb2xzcGFuO1xuICAgICAgICAgICAgICAgICAgICBpZiAoISFmaXJzdFJvd0VsZW1lbnRDb2xTcGFuICYmIHJvd0luZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaXJzdFJvd0VsZW1lbnRDb2xTcGFuOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxpc2VkRm9ybUZpZWxkcy5wdXNoKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc2VyaWFsaXNlZEZvcm1GaWVsZHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXhDb2x1bW5GaWVsZFNpemUoY29udGVudDogQ29udGFpbmVyTW9kZWwpOiBudW1iZXIge1xuICAgICAgICBsZXQgbWF4RmllbGRTaXplID0gMDtcbiAgICAgICAgaWYgKGNvbnRlbnQ/LmNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG1heEZpZWxkU2l6ZSA9IGNvbnRlbnQ/LmNvbHVtbnM/LnJlZHVjZSgocHJldkNvbHVtbiwgY3VycmVudENvbHVtbikgPT5cbiAgICAgICAgICAgICAgICBjdXJyZW50Q29sdW1uLmZpZWxkcy5sZW5ndGggPiBwcmV2Q29sdW1uPy5maWVsZHM/Lmxlbmd0aCA/IGN1cnJlbnRDb2x1bW4gOiBwcmV2Q29sdW1uXG4gICAgICAgICAgICApPy5maWVsZHM/Lmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4RmllbGRTaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSB0aGUgY29sdW1uIHdpZHRoIGJhc2VkIG9uIHRoZSBudW1iZXJPZkNvbHVtbnMgYW5kIGN1cnJlbnQgZmllbGQncyBjb2xzcGFuIHByb3BlcnR5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIGNvbnRhaW5lciBtb2RlbFxuICAgICAqIEByZXR1cm5zIHRoZSBjb2x1bW4gd2lkdGggZm9yIHRoZSBnaXZlbiBtb2RlbFxuICAgICAqL1xuICAgIGdldENvbHVtbldpZHRoKGNvbnRhaW5lcjogQ29udGFpbmVyTW9kZWwpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IGZpZWxkIH0gPSBjb250YWluZXI7XG4gICAgICAgIGNvbnN0IGNvbHNwYW4gPSBmaWVsZCA/IGZpZWxkLmNvbHNwYW4gOiAxO1xuICAgICAgICByZXR1cm4gKDEwMCAvIGZpZWxkLm51bWJlck9mQ29sdW1ucykgKiBjb2xzcGFuICsgJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBydW5NaWRkbGV3YXJlU2VydmljZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcyAmJiB0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtRmllbGRzID0gdGhpcy5mb3JtRGVmaW5pdGlvbi5nZXRGb3JtRmllbGRzKCk7XG5cbiAgICAgICAgICAgIGZvcm1GaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcy5mb3JFYWNoKChtaWRkbGV3YXJlU2VydmljZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobWlkZGxld2FyZVNlcnZpY2UudHlwZSA9PT0gZmllbGQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgPSBtaWRkbGV3YXJlU2VydmljZS5nZXRQYXJzZWRGaWVsZChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBpZD1cImFkZi1mb3JtLXJlbmRlcmVyXCIgY2xhc3M9XCJ7eyBmb3JtRGVmaW5pdGlvbi5jbGFzc05hbWUgfX1cIlxuICAgICBbbmdDbGFzc109XCJ7ICdhZGYtcmVhZG9ubHktZm9ybSc6IGZvcm1EZWZpbml0aW9uLnJlYWRPbmx5IH1cIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybURlZmluaXRpb24uaGFzVGFicygpXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNUYWJzKClcIiBjbGFzcz1cImFsZnJlc2NvLXRhYnMtd2lkZ2V0XCI+XG4gICAgICAgICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIHZpc2libGVUYWJzKClcIiBbbGFiZWxdPVwidGFiLnRpdGxlIHwgdHJhbnNsYXRlIFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXI7IGNvbnRleHQ6IHsgZmllbGRUb1JlbmRlcjogdGFiLmZpZWxkcyB9XCIgLz5cbiAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIiFmb3JtRGVmaW5pdGlvbi5oYXNUYWJzKCkgJiYgZm9ybURlZmluaXRpb24uaGFzRmllbGRzKClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyOyBjb250ZXh0OiB7IGZpZWxkVG9SZW5kZXI6IGZvcm1EZWZpbml0aW9uLmZpZWxkcyB9XCIgLz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3JlbmRlciBsZXQtZmllbGRUb1JlbmRlcj1cImZpZWxkVG9SZW5kZXJcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjdXJyZW50Um9vdEVsZW1lbnQgb2YgZmllbGRUb1JlbmRlclwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudFJvb3RFbGVtZW50LnR5cGUgPT09ICdjb250YWluZXInIHx8IGN1cnJlbnRSb290RWxlbWVudC50eXBlID09PSAnZ3JvdXAnXCJcbiAgICAgICAgICAgICBbaWRdPVwiJ2ZpZWxkLScgKyBjdXJyZW50Um9vdEVsZW1lbnQ/LmlkICsgJy1jb250YWluZXInXCJcbiAgICAgICAgICAgICBjbGFzcz1cImFkZi1jb250YWluZXItd2lkZ2V0XCJcbiAgICAgICAgICAgICBbaGlkZGVuXT1cIiFjdXJyZW50Um9vdEVsZW1lbnQ/LmlzVmlzaWJsZVwiPlxuICAgICAgICAgICAgPGFkZi1oZWFkZXItd2lkZ2V0IFtlbGVtZW50XT1cImN1cnJlbnRSb290RWxlbWVudFwiIC8+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudFJvb3RFbGVtZW50Py5mb3JtPy5lbmFibGVGaXhlZFNwYWNlOyBlbHNlIGZpeGluZ1RlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1ncmlkLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJzogJ3JlcGVhdCgnICsgZ2V0TnVtYmVyT2ZDb2x1bW5zKGN1cnJlbnRSb290RWxlbWVudCkgKyAnLCAxZnIpJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VycmVudFJvb3RFbGVtZW50Py5pc0V4cGFuZGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0LWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBnZXRDb250YWluZXJGaWVsZHMoY3VycmVudFJvb3RFbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnZ3JpZC1hcmVhJzogJ2F1dG8gLyBhdXRvIC8gc3BhbiAnICsgKGZpZWxkPy5yb3dzcGFuIHx8IDEpICsgJyAvIHNwYW4gJyArIChmaWVsZD8uY29sc3BhbiB8fCAxKSB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgKm5nSWY9XCJmaWVsZFwiIFtmaWVsZF09XCJmaWVsZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZml4aW5nVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJhZGYtZ3JpZC1saXN0LWNvbHVtbi12aWV3XCIgKm5nSWY9XCJjdXJyZW50Um9vdEVsZW1lbnQ/LmlzRXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1ncmlkLWxpc3Qtc2luZ2xlLWNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjdXJyZW50Um9vdEVsZW1lbnQ/LmNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cImdldENvbHVtbldpZHRoKGN1cnJlbnRSb290RWxlbWVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGNvbHVtbj8uZmllbGRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdzZWN0aW9uJzsgZWxzZSBmb3JtRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFkZi1mb3JtLXNlY3Rpb24gW2ZpZWxkXT1cImZpZWxkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9ybUZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWdyaWQtbGlzdC1jb2x1bW4tdmlldy1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgW2ZpZWxkXT1cImZpZWxkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29sdW1uVmlld0l0ZW0gbGV0LWNvbHVtbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0LWNvbHVtbi12aWV3LWl0ZW1cIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY29sdW1uPy5maWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi1mb3JtLWZpZWxkICpuZ0lmPVwiZmllbGRcIiBbZmllbGRdPVwiZmllbGRcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50Um9vdEVsZW1lbnQudHlwZSA9PT0gJ2R5bmFtaWMtdGFibGUnXCIgY2xhc3M9XCJhZGYtY29udGFpbmVyLXdpZGdldFwiPlxuICAgICAgICAgICAgPGFkZi1mb3JtLWZpZWxkIFtmaWVsZF09XCJjdXJyZW50Um9vdEVsZW1lbnRcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1jb250YWluZXItd2lkZ2V0XCJcbiAgICAgICAgICAgICAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudC50eXBlID09PSAncmVhZG9ubHknICYmIGN1cnJlbnRSb290RWxlbWVudC5maWVsZC5wYXJhbXMuZmllbGQudHlwZSA9PT0gJ2R5bmFtaWMtdGFibGUnXCI+XG4gICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgW2ZpZWxkXT1cImN1cnJlbnRSb290RWxlbWVudC5maWVsZFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tXG5Gb3IgZGVidWdnaW5nIGFuZCBkYXRhIHZpc3VhbGlzYXRpb24gcHVycG9zZXMsXG53aWxsIGJlIHJlbW92ZWQgZHVyaW5nIGZ1dHVyZSByZXZpc2lvbnNcbi0tPlxuPGRpdiAqbmdJZj1cInNob3dEZWJ1Z0J1dHRvblwiIGNsYXNzPVwiYWRmLWZvcm0tZGVidWctY29udGFpbmVyXCI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJkZWJ1Z01vZGVcIj5EZWJ1ZyBtb2RlPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgIDxkaXYgKm5nSWY9XCJkZWJ1Z01vZGVcIj5cbiAgICAgICAgPGg0PlZhbHVlczwvaDQ+XG4gICAgICAgIDxwcmU+e3sgZm9ybURlZmluaXRpb24udmFsdWVzIHwganNvbiB9fTwvcHJlPlxuXG4gICAgICAgIDxoND5Gb3JtPC9oND5cbiAgICAgICAgPHByZT57eyBmb3JtRGVmaW5pdGlvbi5qc29uIHwganNvbiB9fTwvcHJlPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0NBQWtDLEVBQWtDLE1BQU0sMEJBQTBCLENBQUM7QUFDOUcsT0FBTyxFQUFrQyxTQUFTLEVB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dGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGb3JtUnVsZXNNYW5hZ2VyLCBmb3JtUnVsZXNNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4uL21vZGVscy9mb3JtLXJ1bGVzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGT1JNX0ZJRUxEX01PREVMX1JFTkRFUl9NSURETEVXQVJFLCBGb3JtRmllbGRNb2RlbFJlbmRlck1pZGRsZXdhcmUgfSBmcm9tICcuL21pZGRsZXdhcmVzL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29udGFpbmVyTW9kZWwsIEZvcm1GaWVsZE1vZGVsLCBGb3JtTW9kZWwsIFRhYk1vZGVsIH0gZnJvbSAnLi93aWRnZXRzJztcbmltcG9ydCB7IEhlYWRlcldpZGdldENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9oZWFkZXIvaGVhZGVyLndpZGdldCc7XG5pbXBvcnQgeyBGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1mb3JtLXJlbmRlcmVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvcm1SdWxlc01hbmFnZXIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBmb3JtUnVsZXNNYW5hZ2VyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl1cbiAgICAgICAgfVxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTmdTdHlsZSxcbiAgICAgICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgSGVhZGVyV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBGb3JtU2VjdGlvbkNvbXBvbmVudFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtUmVuZGVyZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBmb3JtRGVmaW5pdGlvbjogRm9ybU1vZGVsO1xuXG4gICAgQElucHV0KClcbiAgICByZWFkT25seSA9IGZhbHNlO1xuXG4gICAgZGVidWdNb2RlOiBib29sZWFuO1xuXG4gICAgZmllbGRzOiBGb3JtRmllbGRNb2RlbFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9ybVJ1bGVzTWFuYWdlcjogRm9ybVJ1bGVzTWFuYWdlcjxUPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChGT1JNX0ZJRUxEX01PREVMX1JFTkRFUl9NSURETEVXQVJFKVxuICAgICAgICBwcml2YXRlIG1pZGRsZXdhcmVTZXJ2aWNlcz86IEZvcm1GaWVsZE1vZGVsUmVuZGVyTWlkZGxld2FyZVtdXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVuTWlkZGxld2FyZVNlcnZpY2VzKCk7XG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtUnVsZXNNYW5hZ2VyLmluaXRpYWxpemUodGhpcy5mb3JtRGVmaW5pdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5mb3JtUnVsZXNNYW5hZ2VyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBoYXNUYWJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRGVmaW5pdGlvbi50YWJzICYmIHRoaXMuZm9ybURlZmluaXRpb24udGFicy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHZpc2libGVUYWJzKCk6IFRhYk1vZGVsW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRGVmaW5pdGlvbi50YWJzLmZpbHRlcigodGFiKSA9PiB0YWIuaXNWaXNpYmxlKTtcbiAgICB9XG5cbiAgICBnZXROdW1iZXJPZkNvbHVtbnMoY29udGVudDogQ29udGFpbmVyTW9kZWwpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKGNvbnRlbnQuanNvbj8ubnVtYmVyT2ZDb2x1bW5zIHx8IDEpID4gKGNvbnRlbnQuY29sdW1ucz8ubGVuZ3RoIHx8IDEpXG4gICAgICAgICAgICA/IGNvbnRlbnQuanNvbj8ubnVtYmVyT2ZDb2x1bW5zIHx8IDFcbiAgICAgICAgICAgIDogY29udGVudC5jb2x1bW5zPy5sZW5ndGggfHwgMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXJpYWxpemVzIGNvbHVtbiBmaWVsZHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZW50IGNvbnRhaW5lciBtb2RlbFxuICAgICAqIEByZXR1cm5zIGEgbGlzdCBvZiBmb3JtIGZpZWxkIG1vZGVsc1xuICAgICAqL1xuICAgIGdldENvbnRhaW5lckZpZWxkcyhjb250ZW50OiBDb250YWluZXJNb2RlbCk6IEZvcm1GaWVsZE1vZGVsW10ge1xuICAgICAgICBjb25zdCBzZXJpYWxpc2VkRm9ybUZpZWxkczogRm9ybUZpZWxkTW9kZWxbXSA9IFtdO1xuICAgICAgICBjb25zdCBtYXhDb2x1bW5GaWVsZHNTaXplID0gdGhpcy5nZXRNYXhDb2x1bW5GaWVsZFNpemUoY29udGVudCk7XG4gICAgICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCBtYXhDb2x1bW5GaWVsZHNTaXplOyByb3dJbmRleCsrKSB7XG4gICAgICAgICAgICBjb250ZW50Py5jb2x1bW5zLmZsYXRNYXAoKGN1cnJlbnRDb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudENvbHVtbj8uZmllbGRzW3Jvd0luZGV4XSkge1xuICAgICAgICAgICAgICAgICAgICBzZXJpYWxpc2VkRm9ybUZpZWxkcy5wdXNoKGN1cnJlbnRDb2x1bW4/LmZpZWxkc1tyb3dJbmRleF0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Um93RWxlbWVudENvbFNwYW4gPSBjdXJyZW50Q29sdW1uPy5maWVsZHNbMF0/LmNvbHNwYW47XG4gICAgICAgICAgICAgICAgICAgIGlmICghIWZpcnN0Um93RWxlbWVudENvbFNwYW4gJiYgcm93SW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpcnN0Um93RWxlbWVudENvbFNwYW47IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbGlzZWRGb3JtRmllbGRzLnB1c2gobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZXJpYWxpc2VkRm9ybUZpZWxkcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1heENvbHVtbkZpZWxkU2l6ZShjb250ZW50OiBDb250YWluZXJNb2RlbCk6IG51bWJlciB7XG4gICAgICAgIGxldCBtYXhGaWVsZFNpemUgPSAwO1xuICAgICAgICBpZiAoY29udGVudD8uY29sdW1ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbWF4RmllbGRTaXplID0gY29udGVudD8uY29sdW1ucz8ucmVkdWNlKChwcmV2Q29sdW1uLCBjdXJyZW50Q29sdW1uKSA9PlxuICAgICAgICAgICAgICAgIGN1cnJlbnRDb2x1bW4uZmllbGRzLmxlbmd0aCA+IHByZXZDb2x1bW4/LmZpZWxkcz8ubGVuZ3RoID8gY3VycmVudENvbHVtbiA6IHByZXZDb2x1bW5cbiAgICAgICAgICAgICk/LmZpZWxkcz8ubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXhGaWVsZFNpemU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlIHRoZSBjb2x1bW4gd2lkdGggYmFzZWQgb24gdGhlIG51bWJlck9mQ29sdW1ucyBhbmQgY3VycmVudCBmaWVsZCdzIGNvbHNwYW4gcHJvcGVydHlcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250YWluZXIgY29udGFpbmVyIG1vZGVsXG4gICAgICogQHJldHVybnMgdGhlIGNvbHVtbiB3aWR0aCBmb3IgdGhlIGdpdmVuIG1vZGVsXG4gICAgICovXG4gICAgZ2V0Q29sdW1uV2lkdGgoY29udGFpbmVyOiBDb250YWluZXJNb2RlbCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHsgZmllbGQgfSA9IGNvbnRhaW5lcjtcbiAgICAgICAgY29uc3QgY29sc3BhbiA9IGZpZWxkID8gZmllbGQuY29sc3BhbiA6IDE7XG4gICAgICAgIHJldHVybiAoMTAwIC8gZmllbGQubnVtYmVyT2ZDb2x1bW5zKSAqIGNvbHNwYW4gKyAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJ1bk1pZGRsZXdhcmVTZXJ2aWNlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWlkZGxld2FyZVNlcnZpY2VzICYmIHRoaXMubWlkZGxld2FyZVNlcnZpY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1GaWVsZHMgPSB0aGlzLmZvcm1EZWZpbml0aW9uLmdldEZvcm1GaWVsZHMoKTtcblxuICAgICAgICAgICAgZm9ybUZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubWlkZGxld2FyZVNlcnZpY2VzLmZvckVhY2goKG1pZGRsZXdhcmVTZXJ2aWNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtaWRkbGV3YXJlU2VydmljZS50eXBlID09PSBmaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCA9IG1pZGRsZXdhcmVTZXJ2aWNlLmdldFBhcnNlZEZpZWxkKGZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGlkPVwiYWRmLWZvcm0tcmVuZGVyZXJcIiBjbGFzcz1cInt7IGZvcm1EZWZpbml0aW9uLmNsYXNzTmFtZSB9fVwiXG4gICAgIFtuZ0NsYXNzXT1cInsgJ2FkZi1yZWFkb25seS1mb3JtJzogZm9ybURlZmluaXRpb24ucmVhZE9ubHkgfVwiPlxuICAgIDxkaXYgKm5nSWY9XCJmb3JtRGVmaW5pdGlvbi5oYXNUYWJzKClcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImhhc1RhYnMoKVwiIGNsYXNzPVwiYWxmcmVzY28tdGFicy13aWRnZXRcIj5cbiAgICAgICAgICAgIDxtYXQtdGFiLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxtYXQtdGFiICpuZ0Zvcj1cImxldCB0YWIgb2YgdmlzaWJsZVRhYnMoKVwiIFtsYWJlbF09XCJ0YWIudGl0bGUgfCB0cmFuc2xhdGUgXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlcjsgY29udGV4dDogeyBmaWVsZFRvUmVuZGVyOiB0YWIuZmllbGRzIH1cIiAvPlxuICAgICAgICAgICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIWZvcm1EZWZpbml0aW9uLmhhc1RhYnMoKSAmJiBmb3JtRGVmaW5pdGlvbi5oYXNGaWVsZHMoKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXI7IGNvbnRleHQ6IHsgZmllbGRUb1JlbmRlcjogZm9ybURlZmluaXRpb24uZmllbGRzIH1cIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyIGxldC1maWVsZFRvUmVuZGVyPVwiZmllbGRUb1JlbmRlclwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGN1cnJlbnRSb290RWxlbWVudCBvZiBmaWVsZFRvUmVuZGVyXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50Um9vdEVsZW1lbnQudHlwZSA9PT0gJ2NvbnRhaW5lcicgfHwgY3VycmVudFJvb3RFbGVtZW50LnR5cGUgPT09ICdncm91cCdcIlxuICAgICAgICAgICAgIFtpZF09XCInZmllbGQtJyArIGN1cnJlbnRSb290RWxlbWVudD8uaWQgKyAnLWNvbnRhaW5lcidcIlxuICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWNvbnRhaW5lci13aWRnZXRcIlxuICAgICAgICAgICAgIFtoaWRkZW5dPVwiIWN1cnJlbnRSb290RWxlbWVudD8uaXNWaXNpYmxlXCI+XG4gICAgICAgICAgICA8YWRmLWhlYWRlci13aWRnZXQgW2VsZW1lbnRdPVwiY3VycmVudFJvb3RFbGVtZW50XCIgLz5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50Um9vdEVsZW1lbnQ/LmZvcm0/LmVuYWJsZUZpeGVkU3BhY2U7IGVsc2UgZml4aW5nVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWdyaWQtbGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnOiAncmVwZWF0KCcgKyBnZXROdW1iZXJPZkNvbHVtbnMoY3VycmVudFJvb3RFbGVtZW50KSArICcsIDFmciknIH1cIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50Um9vdEVsZW1lbnQ/LmlzRXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1ncmlkLWxpc3QtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdldENvbnRhaW5lckZpZWxkcyhjdXJyZW50Um9vdEVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdncmlkLWFyZWEnOiAnYXV0byAvIGF1dG8gLyBzcGFuICcgKyAoZmllbGQ/LnJvd3NwYW4gfHwgMSkgKyAnIC8gc3BhbiAnICsgKGZpZWxkPy5jb2xzcGFuIHx8IDEpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtZm9ybS1maWVsZCAqbmdJZj1cImZpZWxkXCIgW2ZpZWxkXT1cImZpZWxkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmaXhpbmdUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImFkZi1ncmlkLWxpc3QtY29sdW1uLXZpZXdcIiAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudD8uaXNFeHBhbmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWdyaWQtbGlzdC1zaW5nbGUtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGN1cnJlbnRSb290RWxlbWVudD8uY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiZ2V0Q29sdW1uV2lkdGgoY3VycmVudFJvb3RFbGVtZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY29sdW1uPy5maWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ3NlY3Rpb24nOyBlbHNlIGZvcm1GaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWZvcm0tc2VjdGlvbiBbZmllbGRdPVwiZmllbGRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmb3JtRmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0LWNvbHVtbi12aWV3LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtZm9ybS1maWVsZCBbZmllbGRdPVwiZmllbGRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb2x1bW5WaWV3SXRlbSBsZXQtY29sdW1uPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1ncmlkLWxpc3QtY29sdW1uLXZpZXctaXRlbVwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb2x1bW4/LmZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgKm5nSWY9XCJmaWVsZFwiIFtmaWVsZF09XCJmaWVsZFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudC50eXBlID09PSAnZHluYW1pYy10YWJsZSdcIiBjbGFzcz1cImFkZi1jb250YWluZXItd2lkZ2V0XCI+XG4gICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgW2ZpZWxkXT1cImN1cnJlbnRSb290RWxlbWVudFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNvbnRhaW5lci13aWRnZXRcIlxuICAgICAgICAgICAgICpuZ0lmPVwiY3VycmVudFJvb3RFbGVtZW50LnR5cGUgPT09ICdyZWFkb25seScgJiYgY3VycmVudFJvb3RFbGVtZW50LmZpZWxkLnBhcmFtcy5maWVsZC50eXBlID09PSAnZHluYW1pYy10YWJsZSdcIj5cbiAgICAgICAgICAgIDxhZGYtZm9ybS1maWVsZCBbZmllbGRdPVwiY3VycmVudFJvb3RFbGVtZW50LmZpZWxkXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|