ng-zorro-antd-extension 16.4.3 → 16.4.5
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/configurable-query/controls/abstract.control.d.ts +2 -1
- package/esm2022/configurable-query/configurable-query-item/configurable-query-item.component.mjs +4 -3
- package/esm2022/configurable-query/controls/abstract.control.mjs +4 -1
- package/esm2022/configurable-query/controls/date-picker.control.mjs +6 -5
- package/esm2022/configurable-query/controls/input.control.mjs +6 -5
- package/esm2022/configurable-query/controls/range-picker.control.mjs +6 -5
- package/esm2022/configurable-query/controls/select.control.mjs +6 -5
- package/esm2022/configurable-query/controls/template.control.mjs +6 -5
- package/esm2022/print/nzx-print-v.component.mjs +21 -10
- package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs +26 -17
- package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-print.mjs +19 -9
- package/fesm2022/ng-zorro-antd-extension-print.mjs.map +1 -1
- package/package.json +7 -7
- package/print/nzx-print-v.component.d.ts +3 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NzxQueryControlOptions } from '../type';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
5
5
|
* 用来动态添加control type类型控件,类型控件需要继承此控件
|
|
@@ -7,6 +7,7 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
export declare abstract class NzxAbstractControl {
|
|
8
8
|
form: FormGroup<any>;
|
|
9
9
|
control: NzxQueryControlOptions;
|
|
10
|
+
get formControl(): FormControl<any>;
|
|
10
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<NzxAbstractControl, never>;
|
|
11
12
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NzxAbstractControl, never, never, { "form": { "alias": "form"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, false, never>;
|
|
12
13
|
}
|
package/esm2022/configurable-query/configurable-query-item/configurable-query-item.component.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
2
|
import { Subject, takeUntil } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../query-config.service";
|
|
@@ -51,7 +51,7 @@ export class NzxConfigurableQueryItemComponent {
|
|
|
51
51
|
<ng-template #controlTemp></ng-template>
|
|
52
52
|
</nz-form-control>
|
|
53
53
|
</nz-form-item>
|
|
54
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i3.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i4.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i4.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i4.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }] }); }
|
|
54
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i3.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i4.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i4.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i4.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
55
55
|
}
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxConfigurableQueryItemComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
@@ -73,6 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
73
73
|
</nz-form-control>
|
|
74
74
|
</nz-form-item>
|
|
75
75
|
`,
|
|
76
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
76
77
|
}]
|
|
77
78
|
}], ctorParameters: function () { return [{ type: i1.NzxQueryConfigService }]; }, propDecorators: { form: [{
|
|
78
79
|
type: Input
|
|
@@ -82,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
82
83
|
type: ViewChild,
|
|
83
84
|
args: ['controlTemp', { static: true, read: ViewContainerRef }]
|
|
84
85
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhYmxlLXF1ZXJ5LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jb25maWd1cmFibGUtcXVlcnkvY29uZmlndXJhYmxlLXF1ZXJ5LWl0ZW0vY29uZmlndXJhYmxlLXF1ZXJ5LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFHTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUF3QjFDLE1BQU0sT0FBTyxpQ0FBaUM7SUFTNUMsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFGeEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFNEIsQ0FBQztJQUVwRSxRQUFRO1FBQ04sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWE7YUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsSUFBMkI7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQzNELE1BQU0sQ0FBQyxTQUFnQixDQUN4QixDQUFDO1lBQ0YsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9DLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsTUFBTSxrQkFBa0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLGlCQUFpQixDQUFDO1NBQ25FO0lBQ0gsQ0FBQzsrR0F0Q1UsaUNBQWlDO21HQUFqQyxpQ0FBaUMsZ05BSUksZ0JBQWdCLDJDQXRCdEQ7Ozs7Ozs7Ozs7Ozs7OztHQWVUOzs0RkFHVSxpQ0FBaUM7a0JBcEI3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzRHQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0UsbUJBQW1CO3NCQUQxQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE56eFF1ZXJ5Q29uZmlnU2VydmljZSB9IGZyb20gJy4uL3F1ZXJ5LWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IE56eFF1ZXJ5Q29udHJvbE9wdGlvbnMsIE56eFF1ZXJ5Q29udHJvbFR5cGUgfSBmcm9tICcuLi90eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnp4LWNvbmZpZ3VyYWJsZS1xdWVyeS1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bnotZm9ybS1pdGVtPlxuICAgICAgPG56LWZvcm0tbGFiZWwgKm5nSWY9XCJjb250cm9sLmxhYmVsXCIgW256U3Bhbl09XCJjb250cm9sLm56eExTcGFuIHx8IDZcIj5cbiAgICAgICAge3sgY29udHJvbC5sYWJlbCB9fVxuICAgICAgPC9uei1mb3JtLWxhYmVsPlxuICAgICAgPG56LWZvcm0tY29udHJvbFxuICAgICAgICBbbnpTcGFuXT1cImNvbnRyb2wubnp4UlNwYW4gfHwgMThcIlxuICAgICAgICBbbnpWYWxpZGF0ZVN0YXR1c109XCJcbiAgICAgICAgICBjb250cm9sPy5jb250cm9sSW5zdGFuY2UgPz8gJGFueShmb3JtLmdldChjb250cm9sLmNvbnRyb2xOYW1lISkpXG4gICAgICAgIFwiXG4gICAgICAgIFtuekVycm9yVGlwXT1cImNvbnRyb2wuZXJyb3JUaXBcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvbnRyb2xUZW1wPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L256LWZvcm0tY29udHJvbD5cbiAgICA8L256LWZvcm0taXRlbT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE56eENvbmZpZ3VyYWJsZVF1ZXJ5SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZm9ybSE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgY29udHJvbCE6IE56eFF1ZXJ5Q29udHJvbE9wdGlvbnM7XG5cbiAgQFZpZXdDaGlsZCgnY29udHJvbFRlbXAnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuICBwcml2YXRlIGNvbnRyb2xUZW1wbGF0ZVZpZXchOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbnp4UXVlcnlDb25maWdTZXJ2aWNlOiBOenhRdWVyeUNvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uenhRdWVyeUNvbmZpZ1NlcnZpY2UuY29udHJvbFR5cGVzJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgobGlzdCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlckNvbnRyb2wobGlzdCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlc3Ryb3kkKSB7XG4gICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckNvbnRyb2wobGlzdDogTnp4UXVlcnlDb250cm9sVHlwZVtdKSB7XG4gICAgdGhpcy5jb250cm9sVGVtcGxhdGVWaWV3LmNsZWFyKCk7XG4gICAgY29uc3QgY29uZmlnID0gbGlzdC5maW5kKChpKSA9PiBpLmtleSA9PT0gdGhpcy5jb250cm9sLmNvbnRyb2xUeXBlKTtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRyb2xUZW1wbGF0ZVZpZXcuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICBjb25maWcuY29tcG9uZW50IGFzIGFueVxuICAgICAgKTtcbiAgICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnY29udHJvbCcsIHRoaXMuY29udHJvbCk7XG4gICAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoJ2Zvcm0nLCB0aGlzLmZvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBgQ29udHJvbFR5cGU6OiAnJHt0aGlzLmNvbnRyb2wuY29udHJvbFR5cGV9JyBpcyBpbnZhbGlkYXRlYDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,6 +4,9 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
* 用来动态添加control type类型控件,类型控件需要继承此控件
|
|
5
5
|
*/
|
|
6
6
|
export class NzxAbstractControl {
|
|
7
|
+
get formControl() {
|
|
8
|
+
return this.form.get(this.control.controlName);
|
|
9
|
+
}
|
|
7
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxAbstractControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
11
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NzxAbstractControl, inputs: { form: "form", control: "control" }, ngImport: i0 }); }
|
|
9
12
|
}
|
|
@@ -14,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14
17
|
}], control: [{
|
|
15
18
|
type: Input
|
|
16
19
|
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29uZmlndXJhYmxlLXF1ZXJ5L2NvbnRyb2xzL2Fic3RyYWN0LmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSWpEOztHQUVHO0FBRUgsTUFBTSxPQUFnQixrQkFBa0I7SUFJdEMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVksQ0FBZ0IsQ0FBQztJQUNqRSxDQUFDOytHQU5tQixrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEdkMsU0FBUzs4QkFFQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnp4UXVlcnlDb250cm9sT3B0aW9ucyB9IGZyb20gJy4uL3R5cGUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiDnlKjmnaXliqjmgIHmt7vliqBjb250cm9sIHR5cGXnsbvlnovmjqfku7bvvIznsbvlnovmjqfku7bpnIDopoHnu6fmib/mraTmjqfku7ZcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTnp4QWJzdHJhY3RDb250cm9sIHtcbiAgQElucHV0KCkgZm9ybSE6IEZvcm1Hcm91cDxhbnk+O1xuICBASW5wdXQoKSBjb250cm9sITogTnp4UXVlcnlDb250cm9sT3B0aW9ucztcblxuICBnZXQgZm9ybUNvbnRyb2woKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQodGhpcy5jb250cm9sLmNvbnRyb2xOYW1lISkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import { NzxAbstractControl } from './abstract.control';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -10,12 +10,12 @@ export class NzxDatePickerControlComponent extends NzxAbstractControl {
|
|
|
10
10
|
<ng-container [formGroup]="form">
|
|
11
11
|
<nz-date-picker
|
|
12
12
|
[ngStyle]="{ width: '100%' }"
|
|
13
|
-
[
|
|
13
|
+
[formControl]="formControl"
|
|
14
14
|
[nzPlaceHolder]="control.placeholder!"
|
|
15
15
|
>
|
|
16
16
|
</nz-date-picker>
|
|
17
17
|
</ng-container>
|
|
18
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.
|
|
18
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19
19
|
}
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxDatePickerControlComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
@@ -24,12 +24,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
24
24
|
<ng-container [formGroup]="form">
|
|
25
25
|
<nz-date-picker
|
|
26
26
|
[ngStyle]="{ width: '100%' }"
|
|
27
|
-
[
|
|
27
|
+
[formControl]="formControl"
|
|
28
28
|
[nzPlaceHolder]="control.placeholder!"
|
|
29
29
|
>
|
|
30
30
|
</nz-date-picker>
|
|
31
31
|
</ng-container>
|
|
32
32
|
`,
|
|
33
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33
34
|
}]
|
|
34
35
|
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29uZmlndXJhYmxlLXF1ZXJ5L2NvbnRyb2xzL2RhdGUtcGlja2VyLmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFleEQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGtCQUFrQjsrR0FBeEQsNkJBQTZCO21HQUE3Qiw2QkFBNkIsMkVBWjlCOzs7Ozs7Ozs7R0FTVDs7NEZBR1UsNkJBQTZCO2tCQWJ6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnp4QWJzdHJhY3RDb250cm9sIH0gZnJvbSAnLi9hYnN0cmFjdC5jb250cm9sJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgIDxuei1kYXRlLXBpY2tlclxuICAgICAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiAnMTAwJScgfVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgIFtuelBsYWNlSG9sZGVyXT1cImNvbnRyb2wucGxhY2Vob2xkZXIhXCJcbiAgICAgID5cbiAgICAgIDwvbnotZGF0ZS1waWNrZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOenhEYXRlUGlja2VyQ29udHJvbENvbXBvbmVudCBleHRlbmRzIE56eEFic3RyYWN0Q29udHJvbCB7fVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import { NzxAbstractControl } from './abstract.control';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/forms";
|
|
@@ -8,13 +8,13 @@ export class NzxInputControlComponent extends NzxAbstractControl {
|
|
|
8
8
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzxInputControlComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
9
9
|
<ng-container [formGroup]="form">
|
|
10
10
|
<input
|
|
11
|
+
[formControl]="formControl"
|
|
11
12
|
nz-input
|
|
12
13
|
type="text"
|
|
13
14
|
[placeholder]="control.placeholder"
|
|
14
|
-
[formControlName]="control.controlName!"
|
|
15
15
|
/>
|
|
16
16
|
</ng-container>
|
|
17
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.
|
|
17
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxInputControlComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
@@ -22,13 +22,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
22
22
|
template: `
|
|
23
23
|
<ng-container [formGroup]="form">
|
|
24
24
|
<input
|
|
25
|
+
[formControl]="formControl"
|
|
25
26
|
nz-input
|
|
26
27
|
type="text"
|
|
27
28
|
[placeholder]="control.placeholder"
|
|
28
|
-
[formControlName]="control.controlName!"
|
|
29
29
|
/>
|
|
30
30
|
</ng-container>
|
|
31
31
|
`,
|
|
32
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
32
33
|
}]
|
|
33
34
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29uZmlndXJhYmxlLXF1ZXJ5L2NvbnRyb2xzL2lucHV0LmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQWV4RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsa0JBQWtCOytHQUFuRCx3QkFBd0I7bUdBQXhCLHdCQUF3QiwyRUFaekI7Ozs7Ozs7OztHQVNUOzs0RkFHVSx3QkFBd0I7a0JBYnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7R0FTVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOenhBYnN0cmFjdENvbnRyb2wgfSBmcm9tICcuL2Fic3RyYWN0LmNvbnRyb2wnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgIG56LWlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbnRyb2wucGxhY2Vob2xkZXJcIlxuICAgICAgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE56eElucHV0Q29udHJvbENvbXBvbmVudCBleHRlbmRzIE56eEFic3RyYWN0Q29udHJvbCB7fVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import { NzxAbstractControl } from './abstract.control';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -9,12 +9,12 @@ export class NzxRangePickerControlComponent extends NzxAbstractControl {
|
|
|
9
9
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzxRangePickerControlComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
10
10
|
<ng-container [formGroup]="form">
|
|
11
11
|
<nz-range-picker
|
|
12
|
+
[formControl]="formControl"
|
|
12
13
|
[ngStyle]="{ width: '100%' }"
|
|
13
|
-
[formControlName]="control.controlName!"
|
|
14
14
|
>
|
|
15
15
|
</nz-range-picker>
|
|
16
16
|
</ng-container>
|
|
17
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.
|
|
17
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "directive", type: i3.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxRangePickerControlComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
@@ -22,12 +22,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
22
22
|
template: `
|
|
23
23
|
<ng-container [formGroup]="form">
|
|
24
24
|
<nz-range-picker
|
|
25
|
+
[formControl]="formControl"
|
|
25
26
|
[ngStyle]="{ width: '100%' }"
|
|
26
|
-
[formControlName]="control.controlName!"
|
|
27
27
|
>
|
|
28
28
|
</nz-range-picker>
|
|
29
29
|
</ng-container>
|
|
30
30
|
`,
|
|
31
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
32
|
}]
|
|
32
33
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtcGlja2VyLmNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvbmZpZ3VyYWJsZS1xdWVyeS9jb250cm9scy9yYW5nZS1waWNrZXIuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQWN4RCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsa0JBQWtCOytHQUF6RCw4QkFBOEI7bUdBQTlCLDhCQUE4QiwyRUFYL0I7Ozs7Ozs7O0dBUVQ7OzRGQUdVLDhCQUE4QjtrQkFaMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7O0dBUVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnp4QWJzdHJhY3RDb250cm9sIH0gZnJvbSAnLi9hYnN0cmFjdC5jb250cm9sJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgIDxuei1yYW5nZS1waWNrZXJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW25nU3R5bGVdPVwieyB3aWR0aDogJzEwMCUnIH1cIlxuICAgICAgPlxuICAgICAgPC9uei1yYW5nZS1waWNrZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOenhSYW5nZVBpY2tlckNvbnRyb2xDb21wb25lbnQgZXh0ZW5kcyBOenhBYnN0cmFjdENvbnRyb2wge31cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import { NzxAbstractControl } from './abstract.control';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -9,7 +9,7 @@ export class NzxSelectControlComponent extends NzxAbstractControl {
|
|
|
9
9
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzxSelectControlComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
10
10
|
<ng-container [formGroup]="form">
|
|
11
11
|
<nz-select
|
|
12
|
-
[
|
|
12
|
+
[formControl]="formControl"
|
|
13
13
|
[nzShowSearch]="control.nzxShowSearch ?? true"
|
|
14
14
|
[nzAllowClear]="control.nzxAllowClear ?? true"
|
|
15
15
|
[nzPlaceHolder]="control.placeholder!"
|
|
@@ -22,7 +22,7 @@ export class NzxSelectControlComponent extends NzxAbstractControl {
|
|
|
22
22
|
</nz-option>
|
|
23
23
|
</nz-select>
|
|
24
24
|
</ng-container>
|
|
25
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.
|
|
25
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i3.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxSelectControlComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
@@ -30,7 +30,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
30
30
|
template: `
|
|
31
31
|
<ng-container [formGroup]="form">
|
|
32
32
|
<nz-select
|
|
33
|
-
[
|
|
33
|
+
[formControl]="formControl"
|
|
34
34
|
[nzShowSearch]="control.nzxShowSearch ?? true"
|
|
35
35
|
[nzAllowClear]="control.nzxAllowClear ?? true"
|
|
36
36
|
[nzPlaceHolder]="control.placeholder!"
|
|
@@ -44,6 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
44
44
|
</nz-select>
|
|
45
45
|
</ng-container>
|
|
46
46
|
`,
|
|
47
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
47
48
|
}]
|
|
48
49
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvbmZpZ3VyYWJsZS1xdWVyeS9jb250cm9scy9zZWxlY3QuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQXNCeEQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGtCQUFrQjsrR0FBcEQseUJBQXlCO21HQUF6Qix5QkFBeUIsMkVBbkIxQjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDs7NEZBR1UseUJBQXlCO2tCQXBCckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnp4QWJzdHJhY3RDb250cm9sIH0gZnJvbSAnLi9hYnN0cmFjdC5jb250cm9sJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgIDxuei1zZWxlY3RcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW256U2hvd1NlYXJjaF09XCJjb250cm9sLm56eFNob3dTZWFyY2ggPz8gdHJ1ZVwiXG4gICAgICAgIFtuekFsbG93Q2xlYXJdPVwiY29udHJvbC5uenhBbGxvd0NsZWFyID8/IHRydWVcIlxuICAgICAgICBbbnpQbGFjZUhvbGRlcl09XCJjb250cm9sLnBsYWNlaG9sZGVyIVwiXG4gICAgICA+XG4gICAgICAgIDxuei1vcHRpb25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb250cm9sLm1lbnVMaXN0XCJcbiAgICAgICAgICBbbnpWYWx1ZV09XCJpdGVtLnZhbHVlXCJcbiAgICAgICAgICBbbnpMYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICA8L256LW9wdGlvbj5cbiAgICAgIDwvbnotc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTnp4U2VsZWN0Q29udHJvbENvbXBvbmVudCBleHRlbmRzIE56eEFic3RyYWN0Q29udHJvbCB7fVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import { NzxAbstractControl } from './abstract.control';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -8,11 +8,11 @@ export class NzxTemplateControlComponent extends NzxAbstractControl {
|
|
|
8
8
|
<ng-container
|
|
9
9
|
*ngTemplateOutlet="
|
|
10
10
|
control.templateRef!;
|
|
11
|
-
context: { $implicit:
|
|
11
|
+
context: { $implicit: formControl, formGroup: form }
|
|
12
12
|
"
|
|
13
13
|
>
|
|
14
14
|
</ng-container>
|
|
15
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
15
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
16
|
}
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxTemplateControlComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
@@ -21,11 +21,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
21
21
|
<ng-container
|
|
22
22
|
*ngTemplateOutlet="
|
|
23
23
|
control.templateRef!;
|
|
24
|
-
context: { $implicit:
|
|
24
|
+
context: { $implicit: formControl, formGroup: form }
|
|
25
25
|
"
|
|
26
26
|
>
|
|
27
27
|
</ng-container>
|
|
28
28
|
`,
|
|
29
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
29
30
|
}]
|
|
30
31
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29uZmlndXJhYmxlLXF1ZXJ5L2NvbnRyb2xzL3RlbXBsYXRlLmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBY3hELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7K0dBQXRELDJCQUEyQjttR0FBM0IsMkJBQTJCLDJFQVg1Qjs7Ozs7Ozs7R0FRVDs7NEZBR1UsMkJBQTJCO2tCQVp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOenhBYnN0cmFjdENvbnRyb2wgfSBmcm9tICcuL2Fic3RyYWN0LmNvbnRyb2wnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBjb250cm9sLnRlbXBsYXRlUmVmITtcbiAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGZvcm1Db250cm9sLCBmb3JtR3JvdXA6IGZvcm0gfVxuICAgICAgXCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOenhUZW1wbGF0ZUNvbnRyb2xDb21wb25lbnQgZXh0ZW5kcyBOenhBYnN0cmFjdENvbnRyb2wge31cbiJdfQ==
|
|
@@ -2,14 +2,16 @@ import { Component, ContentChildren, EventEmitter, Input, Output, ViewChild, } f
|
|
|
2
2
|
import { CoreViewer, Navigation, PageViewMode, } from '@vivliostyle/core';
|
|
3
3
|
import { NzxPrintContentDirective } from './nzx-print-content.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/
|
|
6
|
-
import * as i2 from "
|
|
7
|
-
import * as i3 from "ng-zorro-antd/
|
|
5
|
+
import * as i1 from "@angular/cdk/platform";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "ng-zorro-antd/grid";
|
|
8
|
+
import * as i4 from "ng-zorro-antd/pagination";
|
|
8
9
|
/**
|
|
9
10
|
* Vivliostyle 打印
|
|
10
11
|
*/
|
|
11
12
|
export class NzxPrintVComponent {
|
|
12
|
-
constructor(cd) {
|
|
13
|
+
constructor(platform, cd) {
|
|
14
|
+
this.platform = platform;
|
|
13
15
|
this.cd = cd;
|
|
14
16
|
this.printTitle = 'pdf';
|
|
15
17
|
/**
|
|
@@ -94,6 +96,15 @@ export class NzxPrintVComponent {
|
|
|
94
96
|
createIframeWrapper() {
|
|
95
97
|
if (this.vivViewRef) {
|
|
96
98
|
this.clearView();
|
|
99
|
+
if (!this.enablePreview) {
|
|
100
|
+
this.vivViewRef.nativeElement.style.visibility = 'hidden';
|
|
101
|
+
if (this.platform.FIREFOX) {
|
|
102
|
+
this.vivViewRef.nativeElement.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.vivViewRef.nativeElement.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
97
108
|
this.iframeEl = document.createElement('iframe');
|
|
98
109
|
this.iframeEl.height = this.height + '';
|
|
99
110
|
this.iframeEl.width = this.width + '';
|
|
@@ -236,13 +247,13 @@ export class NzxPrintVComponent {
|
|
|
236
247
|
this.viewer = undefined;
|
|
237
248
|
this._isRenderComplete = false;
|
|
238
249
|
}
|
|
239
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxPrintVComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
250
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxPrintVComponent, deps: [{ token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
240
251
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzxPrintVComponent, selector: "nzx-print-v", inputs: { printTitle: "printTitle", width: "width", height: "height", enablePreview: "enablePreview", pixelRatio: "pixelRatio" }, outputs: { pageRenderComplete: "pageRenderComplete" }, queries: [{ propertyName: "_printElQueryList", predicate: NzxPrintContentDirective }], viewQueries: [{ propertyName: "vivViewRef", first: true, predicate: ["vivView"], descendants: true }], ngImport: i0, template: `
|
|
241
252
|
<ng-content select="[nzxPrintHeader]"></ng-content>
|
|
242
253
|
|
|
243
254
|
<div #vivView [ngStyle]="{ margin: '10px 0' }"></div>
|
|
244
255
|
|
|
245
|
-
<div nz-row nzJustify="end">
|
|
256
|
+
<div nz-row nzJustify="end" *ngIf="enablePreview">
|
|
246
257
|
<ng-template #totalTemplate let-total>共 {{ total }} 页</ng-template>
|
|
247
258
|
<nz-pagination
|
|
248
259
|
[nzPageIndex]="1"
|
|
@@ -254,7 +265,7 @@ export class NzxPrintVComponent {
|
|
|
254
265
|
(nzPageIndexChange)="onPageIndexChange($event)"
|
|
255
266
|
></nz-pagination>
|
|
256
267
|
</div>
|
|
257
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
268
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i4.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }] }); }
|
|
258
269
|
}
|
|
259
270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzxPrintVComponent, decorators: [{
|
|
260
271
|
type: Component,
|
|
@@ -265,7 +276,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
265
276
|
|
|
266
277
|
<div #vivView [ngStyle]="{ margin: '10px 0' }"></div>
|
|
267
278
|
|
|
268
|
-
<div nz-row nzJustify="end">
|
|
279
|
+
<div nz-row nzJustify="end" *ngIf="enablePreview">
|
|
269
280
|
<ng-template #totalTemplate let-total>共 {{ total }} 页</ng-template>
|
|
270
281
|
<nz-pagination
|
|
271
282
|
[nzPageIndex]="1"
|
|
@@ -279,7 +290,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
279
290
|
</div>
|
|
280
291
|
`,
|
|
281
292
|
}]
|
|
282
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { printTitle: [{
|
|
293
|
+
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { printTitle: [{
|
|
283
294
|
type: Input
|
|
284
295
|
}], width: [{
|
|
285
296
|
type: Input
|
|
@@ -298,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
298
309
|
type: ContentChildren,
|
|
299
310
|
args: [NzxPrintContentDirective]
|
|
300
311
|
}] } });
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50LXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9wcmludC9uengtcHJpbnQtdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksR0FHYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7OztBQUV6RTs7R0FFRztBQXNCSCxNQUFNLE9BQU8sa0JBQWtCO0lBdUI3QixZQUFvQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQXRCaEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUM1Qjs7V0FFRztRQUNNLFVBQUssR0FBRyxHQUFHLENBQUM7UUFDWixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2Qsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNkLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHM0QsY0FBUyxHQUFHLENBQUMsQ0FBQztRQU9OLFdBQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBRXhCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQXNIMUIsZ0JBQVcsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUM7UUFFTSwyQkFBc0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FB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QyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7K0dBelFVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhRQWlCWix3QkFBd0Isb0lBcEMvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7OzRGQUVVLGtCQUFrQjtrQkFyQjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7aUJBQ0Y7d0dBRVUsVUFBVTtzQkFBbEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBTUMsVUFBVTtzQkFEakIsU0FBUzt1QkFBQyxTQUFTO2dCQUlaLGlCQUFpQjtzQkFEeEIsZUFBZTt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb3JlVmlld2VyLFxuICBOYXZpZ2F0aW9uLFxuICBQYWdlVmlld01vZGUsXG4gIFBheWxvYWQsXG4gIFNpbmdsZURvY3VtZW50T3B0aW9ucyxcbn0gZnJvbSAnQHZpdmxpb3N0eWxlL2NvcmUnO1xuaW1wb3J0IHsgTnp4UHJpbnRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9uengtcHJpbnQtY29udGVudC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFZpdmxpb3N0eWxlIOaJk+WNsFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduengtcHJpbnQtdicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW256eFByaW50SGVhZGVyXVwiPjwvbmctY29udGVudD5cblxuICAgIDxkaXYgI3ZpdlZpZXcgW25nU3R5bGVdPVwieyBtYXJnaW46ICcxMHB4IDAnIH1cIj48L2Rpdj5cblxuICAgIDxkaXYgbnotcm93IG56SnVzdGlmeT1cImVuZFwiPlxuICAgICAgPG5nLXRlbXBsYXRlICN0b3RhbFRlbXBsYXRlIGxldC10b3RhbD7lhbEge3sgdG90YWwgfX0g6aG1PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuei1wYWdpbmF0aW9uXG4gICAgICAgIFtuelBhZ2VJbmRleF09XCIxXCJcbiAgICAgICAgW256VG90YWxdPVwicGFnZVRvdGFsXCJcbiAgICAgICAgW256UGFnZVNpemVdPVwiMVwiXG4gICAgICAgIFtuelNpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgIFtuelNob3dUb3RhbF09XCJ0b3RhbFRlbXBsYXRlXCJcbiAgICAgICAgbnpTaG93UXVpY2tKdW1wZXJcbiAgICAgICAgKG56UGFnZUluZGV4Q2hhbmdlKT1cIm9uUGFnZUluZGV4Q2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvbnotcGFnaW5hdGlvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTnp4UHJpbnRWQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgcHJpbnRUaXRsZSA9ICdwZGYnO1xuICAvKipcbiAgICogYTQgNzk0cHgxMTIzcHhcbiAgICovXG4gIEBJbnB1dCgpIHdpZHRoID0gODE0O1xuICBASW5wdXQoKSBoZWlnaHQgPSAxMTQzO1xuICBASW5wdXQoKSBlbmFibGVQcmV2aWV3ID0gdHJ1ZTtcbiAgQElucHV0KCkgcGl4ZWxSYXRpbyA9IDg7XG4gIEBPdXRwdXQoKSBwYWdlUmVuZGVyQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgdmlld2VyOiBDb3JlVmlld2VyIHwgdW5kZWZpbmVkO1xuICBwYWdlVG90YWwgPSAwO1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpdlZpZXcnKVxuICBwcml2YXRlIHZpdlZpZXdSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKE56eFByaW50Q29udGVudERpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBfcHJpbnRFbFF1ZXJ5TGlzdCE6IFF1ZXJ5TGlzdDxOenhQcmludENvbnRlbnREaXJlY3RpdmU+O1xuICBwcml2YXRlIF90aXRsZSA9IGRvY3VtZW50LnRpdGxlO1xuICBwcml2YXRlIGlmcmFtZUVsITogSFRNTElGcmFtZUVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUmVuZGVyQ29tcGxldGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNyZWF0ZUlmcmFtZVdyYXBwZXIoKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZpZXdlcikge1xuICAgICAgdGhpcy5jbGVhclZpZXcoKTtcbiAgICB9XG4gIH1cblxuICBvblBhZ2VJbmRleENoYW5nZShudW06IG51bWJlcikge1xuICAgIGlmICh0aGlzLnZpZXdlcikge1xuICAgICAgdGhpcy52aWV3ZXIubmF2aWdhdGVUb1BhZ2UoTmF2aWdhdGlvbi5FUEFHRSwgbnVtIC0gMSk7XG4gICAgfVxuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgaWYgKHRoaXMuX2lzUmVuZGVyQ29tcGxldGUpIHtcbiAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdyEucHJpbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdyZW5kaW5nLi4uJyk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY3JlYXRlSWZyYW1lV3JhcHBlcigpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUlmcmFtZVdyYXBwZXIoKSB7XG4gICAgaWYgKHRoaXMudml2Vmlld1JlZikge1xuICAgICAgdGhpcy5jbGVhclZpZXcoKTtcblxuICAgICAgdGhpcy5pZnJhbWVFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xuICAgICAgdGhpcy5pZnJhbWVFbC5oZWlnaHQgPSB0aGlzLmhlaWdodCArICcnO1xuICAgICAgdGhpcy5pZnJhbWVFbC53aWR0aCA9IHRoaXMud2lkdGggKyAnJztcbiAgICAgIHRoaXMuaWZyYW1lRWwuc3R5bGUuYm9yZGVyID0gJzFweCBzb2xpZCAjY2NjJztcbiAgICAgIHRoaXMuaWZyYW1lRWwuc3R5bGUuYmFja2dyb3VuZCA9ICcjZmZmJztcblxuICAgICAgY29uc3QgdGVtcGxhdGUgPSBgXG4gICAgICAgIDwhRE9DVFlQRSBodG1sPlxuICAgICAgICA8aHRtbCBkYXRhLXZpdmxpb3N0eWxlLXBhZ2luYXRlZD1cInRydWVcIj5cbiAgICAgICAgICA8aGVhZD5cbiAgICAgICAgICAgIDxtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC8+XG4gICAgICAgICAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMFwiIC8+XG4gICAgICAgICAgICA8YmFzZSBocmVmPVwiL1wiIC8+XG4gICAgICAgICAgICA8dGl0bGU+JHt0aGlzLnByaW50VGl0bGV9PC90aXRsZT5cbiAgICAgICAgICAgIDxzdHlsZT5cbiAgICAgICAgICAgICAgaHRtbFtkYXRhLXZpdmxpb3N0eWxlLXBhZ2luYXRlZF0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBodG1sW2RhdGEtdml2bGlvc3R5bGUtcGFnaW5hdGVkXSBib2R5LFxuICAgICAgICAgICAgICBodG1sW2RhdGEtdml2bGlvc3R5bGUtcGFnaW5hdGVkXSBbZGF0YS12aXZsaW9zdHlsZS12aWV3ZXItdmlld3BvcnRdIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaHRtbFtkYXRhLXZpdmxpb3N0eWxlLXBhZ2luYXRlZF0sXG4gICAgICAgICAgICAgIGh0bWxbZGF0YS12aXZsaW9zdHlsZS1wYWdpbmF0ZWRdIGJvZHkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3N0eWxlPlxuICAgICAgICAgICAgPHN0eWxlIGlkPVwidml2bGlvc3R5bGUtcGFnZS1ydWxlc1wiPjwvc3R5bGU+XG4gICAgICAgICAgPC9oZWFkPlxuICAgICAgICAgIDxib2R5PlxuICAgICAgICAgICAgPGRpdiBpZD1cInZpdmxpb3N0eWxlLXZpZXdlci12aWV3cG9ydFwiPjwvZGl2PlxuICAgICAgICAgIDwvYm9keT5cbiAgICAgICAgPC9odG1sPlxuICAgICAgYDtcblxuICAgICAgdGhpcy5pZnJhbWVFbC5zcmNkb2MgPSB0ZW1wbGF0ZTtcbiAgICAgIHRoaXMudml2Vmlld1JlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuaWZyYW1lRWwpO1xuICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93IS5vbmJlZm9yZXByaW50ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3chLnBhcmVudC5kb2N1bWVudC50aXRsZSA9IHRoaXMucHJpbnRUaXRsZTtcbiAgICAgIH07XG4gICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3chLm9uYWZ0ZXJwcmludCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93IS5wYXJlbnQuZG9jdW1lbnQudGl0bGUgPSB0aGlzLl90aXRsZTtcbiAgICAgIH07XG4gICAgICB0aGlzLmNyZWF0ZVZpdlZpZXdlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVml2Vmlld2VyKCkge1xuICAgIHRoaXMuaWZyYW1lRWwub25sb2FkID0gKCkgPT4ge1xuICAgICAgY29uc3QgZWxzOiBOenhQcmludENvbnRlbnREaXJlY3RpdmVbXSA9IHRoaXMuX3ByaW50RWxRdWVyeUxpc3QudG9BcnJheSgpO1xuICAgICAgY29uc3QgdGVtcGxhdGVzID0gdGhpcy5nZXRWaXZUZW1wbGF0ZXMoZWxzKTtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFNpbmdsZURvY3VtZW50T3B0aW9uc1tdID0gW107XG4gICAgICB0ZW1wbGF0ZXMuZm9yRWFjaCgodGVtcGxhdGUpID0+IHtcbiAgICAgICAgY29uc3QgZG9jQmxvYiA9IG5ldyBCbG9iKFt0ZW1wbGF0ZV0sIHtcbiAgICAgICAgICB0eXBlOiAndGV4dC9odG1sJyxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGRvY1VSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZG9jQmxvYik7XG4gICAgICAgIG9wdGlvbnMucHVzaCh7IHVybDogZG9jVVJMIH0pO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnZpZXdlciA9IG5ldyBDb3JlVmlld2VyKFxuICAgICAgICB7XG4gICAgICAgICAgdmlld3BvcnRFbGVtZW50OiB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3c/LmRvY3VtZW50LmJvZHlcbiAgICAgICAgICAgIC5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHBhZ2VWaWV3TW9kZTogUGFnZVZpZXdNb2RlLlNJTkdMRV9QQUdFLFxuICAgICAgICAgIHBpeGVsUmF0aW86IHRoaXMucGl4ZWxSYXRpbyxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHRoaXMudmlld2VyLmxvYWREb2N1bWVudChvcHRpb25zKTtcbiAgICAgIHRoaXMuY3JlYXRlTGlzdGVuZXIodGhpcy52aWV3ZXIpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yID0gKHBheWxvYWQ6IFBheWxvYWQpID0+IHtcbiAgICBjb25zb2xlLmxvZygnZXJyb3I6OicsIHBheWxvYWQpO1xuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlUmVhZHlTdGF0ZUNoYW5nZSA9IChwYXlsb2FkOiBQYXlsb2FkKSA9PiB7XG4gICAgdGhpcy5faXNSZW5kZXJDb21wbGV0ZSA9IGZhbHNlO1xuICAgIHRoaXMucGFnZVJlbmRlckNvbXBsZXRlLmVtaXQoZmFsc2UpO1xuICAgIGlmICh0aGlzLnZpZXdlciAmJiB0aGlzLnZpZXdlci5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICBjb25zdCBpbnRlcnZhbFRhZyA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuaWZyYW1lRWwgJiZcbiAgICAgICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cgJiZcbiAgICAgICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgaW1hZ2VzID1cbiAgICAgICAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJyk7XG5cbiAgICAgICAgICBsZXQgYWxsSW1hZ2VzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGltYWdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKCFpbWFnZXNbaV0uY29tcGxldGUpIHtcbiAgICAgICAgICAgICAgYWxsSW1hZ2VzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYWxsSW1hZ2VzTG9hZGVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQWxsIGltYWdlcyBpbiBpZnJhbWUgbG9hZGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgICAgICAgdGhpcy5wYWdlUmVuZGVyQ29tcGxldGUuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuX2lzUmVuZGVyQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbFRhZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCAxMDAwKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVIeXBlcmxpbmsgPSAocGF5bG9hZDogUGF5bG9hZCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdoYW5kbGVIeXBlcmxpbms6OicsIHBheWxvYWQpO1xuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlTG9hZGVkID0gKHBheWxvYWQ6IFBheWxvYWQpID0+IHtcbiAgICBjb25zb2xlLmxvZygnaGFuZGxlTG9hZGVkOjonLCBwYXlsb2FkKTtcbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZU5hdmlnYXRpb24gPSAocGF5bG9hZDogUGF5bG9hZCkgPT4ge1xuICAgIHRoaXMucGFnZVRvdGFsID0gcGF5bG9hZC5lcGFnZUNvdW50O1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaXN0ZW5lcih2aWV3ZXI6IENvcmVWaWV3ZXIpIHtcbiAgICB2aWV3ZXIuYWRkTGlzdGVuZXIoJ2Vycm9yJywgdGhpcy5oYW5kbGVFcnJvcik7XG4gICAgdmlld2VyLmFkZExpc3RlbmVyKCdyZWFkeXN0YXRlY2hhbmdlJywgdGhpcy5oYW5kbGVSZWFkeVN0YXRlQ2hhbmdlKTtcbiAgICB2aWV3ZXIuYWRkTGlzdGVuZXIoJ2xvYWRlZCcsIHRoaXMuaGFuZGxlTG9hZGVkKTtcbiAgICB2aWV3ZXIuYWRkTGlzdGVuZXIoJ2h5cGVybGluaycsIHRoaXMuaGFuZGxlSHlwZXJsaW5rKTtcbiAgICB2aWV3ZXIuYWRkTGlzdGVuZXIoJ25hdicsIHRoaXMuaGFuZGxlTmF2aWdhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxpc3RlbmVycyh2aWV3ZXI6IENvcmVWaWV3ZXIpIHtcbiAgICB2aWV3ZXIucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgdGhpcy5oYW5kbGVFcnJvcik7XG4gICAgdmlld2VyLnJlbW92ZUxpc3RlbmVyKCdyZWFkeXN0YXRlY2hhbmdlJywgdGhpcy5oYW5kbGVSZWFkeVN0YXRlQ2hhbmdlKTtcbiAgICB2aWV3ZXIucmVtb3ZlTGlzdGVuZXIoJ2xvYWRlZCcsIHRoaXMuaGFuZGxlTG9hZGVkKTtcbiAgICB2aWV3ZXIucmVtb3ZlTGlzdGVuZXIoJ2h5cGVybGluaycsIHRoaXMuaGFuZGxlSHlwZXJsaW5rKTtcbiAgICB2aWV3ZXIucmVtb3ZlTGlzdGVuZXIoJ25hdicsIHRoaXMuaGFuZGxlTmF2aWdhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGdldFN0eWxlcyhpZGVudGlmaWVyU3RyOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3R5bGVzQXJyYXk6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgc3R5bGVFbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzdHlsZScpO1xuICAgIGNvbnN0IGxlbmd0aCA9IHN0eWxlRWxlbWVudHMubGVuZ3RoO1xuICAgIGxldCBpZGVudGlmaWVyczogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpZGVudGlmaWVyU3RyKSkge1xuICAgICAgaWRlbnRpZmllcnMgPSBbLi4uaWRlbnRpZmllclN0cl07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkZW50aWZpZXJzID0gW2lkZW50aWZpZXJTdHJdO1xuICAgIH1cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZGVudGlmaWVycy5mb3JFYWNoKChzKSA9PiB7XG4gICAgICAgIGlmIChzdHlsZUVsZW1lbnRzW2luZGV4XS5vdXRlckhUTUwuaW5jbHVkZXMocykpIHtcbiAgICAgICAgICBjb25zdCBmb3JtYXRlU3RyID0gc3R5bGVFbGVtZW50c1tpbmRleF0ub3V0ZXJIVE1MLnJlcGxhY2UoXG4gICAgICAgICAgICAvXFwvXFwqW1xcc1xcU10qP1xcKlxcLy9nLFxuICAgICAgICAgICAgJydcbiAgICAgICAgICApO1xuICAgICAgICAgIHN0eWxlc0FycmF5LnB1c2goZm9ybWF0ZVN0cik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3R5bGVzQXJyYXkuam9pbignXFxyXFxuJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFZpdlRlbXBsYXRlcyhkaXJlY3RpdmVzOiBOenhQcmludENvbnRlbnREaXJlY3RpdmVbXSkge1xuICAgIGNvbnN0IHRlbXBsYXRlczogc3RyaW5nW10gPSBbXTtcbiAgICBkaXJlY3RpdmVzLmZvckVhY2goKGQpID0+IHtcbiAgICAgIGxldCBzdHlsZXMgPSAnJztcbiAgICAgIGlmIChkLmlkZW50aWZpZXJTdHIgfHwgZC5pZGVudGlmaWVyU3RyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc3R5bGVzID0gdGhpcy5nZXRTdHlsZXMoZC5pZGVudGlmaWVyU3RyKTtcbiAgICAgIH1cblxuICAgICAgbGV0IGh0bWwgPSBgXG4gICAgICAgICAgPCFET0NUWVBFIGh0bWw+XG4gICAgICAgICAgPGh0bWw+XG4gICAgICAgICAgICA8aGVhZD5cbiAgICAgICAgICAgIDxtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC8+XG4gICAgICAgICAgICA8dGl0bGU+JHt0aGlzLnByaW50VGl0bGV9PC90aXRsZT5cbiAgICAgICAgICAgIDxiYXNlIGhyZWY9XCIvXCIgLz5cbiAgICAgICAgICAgIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiIC8+XG4gICAgICAgICAgICAgJHtkLmN1c3RvbVN0eWxlfVxuICAgICAgICAgICAgICR7c3R5bGVzfVxuICAgICAgICAgICAgPC9oZWFkPlxuICAgICAgICAgICAgPGJvZHk+XG4gICAgICAgICAgICAgICR7ZC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub3V0ZXJIVE1MfVxuICAgICAgICAgICAgPC9ib2R5PlxuICAgICAgICAgIDwvaHRtbD5cbiAgICAgICAgYDtcbiAgICAgIGh0bWwgPSBodG1sLnJlcGxhY2UoLzwhLS0tLT4vZywgJyAnKTtcbiAgICAgIHRlbXBsYXRlcy5wdXNoKGh0bWwpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRlbXBsYXRlcztcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJWaWV3KCkge1xuICAgIGlmICh0aGlzLnZpZXdlcikge1xuICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnModGhpcy52aWV3ZXIpO1xuICAgIH1cbiAgICB0aGlzLnZpdlZpZXdSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICB0aGlzLnZpZXdlciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9pc1JlbmRlckNvbXBsZXRlID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50LXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9wcmludC9uengtcHJpbnQtdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksR0FHYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFFekU7O0dBRUc7QUFzQkgsTUFBTSxPQUFPLGtCQUFrQjtJQXVCN0IsWUFBb0IsUUFBa0IsRUFBVSxFQUFxQjtRQUFqRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUF0QjVELGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDNUI7O1dBRUc7UUFDTSxVQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ1osV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzNELGNBQVMsR0FBRyxDQUFDLENBQUM7UUFPTixXQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUV4QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFvSTFCLGdCQUFXLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7WUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDO1FBRU0sMkJBQXNCLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFD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QVU7c0JBQWxCLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQU1DLFVBQVU7c0JBRGpCLFNBQVM7dUJBQUMsU0FBUztnQkFJWixpQkFBaUI7c0JBRHhCLGVBQWU7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtcbiAgQ29yZVZpZXdlcixcbiAgTmF2aWdhdGlvbixcbiAgUGFnZVZpZXdNb2RlLFxuICBQYXlsb2FkLFxuICBTaW5nbGVEb2N1bWVudE9wdGlvbnMsXG59IGZyb20gJ0B2aXZsaW9zdHlsZS9jb3JlJztcbmltcG9ydCB7IE56eFByaW50Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbnp4LXByaW50LWNvbnRlbnQuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBWaXZsaW9zdHlsZSDmiZPljbBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnp4LXByaW50LXYnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltuenhQcmludEhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8ZGl2ICN2aXZWaWV3IFtuZ1N0eWxlXT1cInsgbWFyZ2luOiAnMTBweCAwJyB9XCI+PC9kaXY+XG5cbiAgICA8ZGl2IG56LXJvdyBuekp1c3RpZnk9XCJlbmRcIiAqbmdJZj1cImVuYWJsZVByZXZpZXdcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdG90YWxUZW1wbGF0ZSBsZXQtdG90YWw+5YWxIHt7IHRvdGFsIH19IOmhtTwvbmctdGVtcGxhdGU+XG4gICAgICA8bnotcGFnaW5hdGlvblxuICAgICAgICBbbnpQYWdlSW5kZXhdPVwiMVwiXG4gICAgICAgIFtuelRvdGFsXT1cInBhZ2VUb3RhbFwiXG4gICAgICAgIFtuelBhZ2VTaXplXT1cIjFcIlxuICAgICAgICBbbnpTaXplXT1cIidzbWFsbCdcIlxuICAgICAgICBbbnpTaG93VG90YWxdPVwidG90YWxUZW1wbGF0ZVwiXG4gICAgICAgIG56U2hvd1F1aWNrSnVtcGVyXG4gICAgICAgIChuelBhZ2VJbmRleENoYW5nZSk9XCJvblBhZ2VJbmRleENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L256LXBhZ2luYXRpb24+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE56eFByaW50VkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHByaW50VGl0bGUgPSAncGRmJztcbiAgLyoqXG4gICAqIGE0IDc5NHB4MTEyM3B4XG4gICAqL1xuICBASW5wdXQoKSB3aWR0aCA9IDgxNDtcbiAgQElucHV0KCkgaGVpZ2h0ID0gMTE0MztcbiAgQElucHV0KCkgZW5hYmxlUHJldmlldyA9IHRydWU7XG4gIEBJbnB1dCgpIHBpeGVsUmF0aW8gPSA4O1xuICBAT3V0cHV0KCkgcGFnZVJlbmRlckNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHZpZXdlcjogQ29yZVZpZXdlciB8IHVuZGVmaW5lZDtcbiAgcGFnZVRvdGFsID0gMDtcblxuICBAVmlld0NoaWxkKCd2aXZWaWV3JylcbiAgcHJpdmF0ZSB2aXZWaWV3UmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihOenhQcmludENvbnRlbnREaXJlY3RpdmUpXG4gIHByaXZhdGUgX3ByaW50RWxRdWVyeUxpc3QhOiBRdWVyeUxpc3Q8Tnp4UHJpbnRDb250ZW50RGlyZWN0aXZlPjtcbiAgcHJpdmF0ZSBfdGl0bGUgPSBkb2N1bWVudC50aXRsZTtcbiAgcHJpdmF0ZSBpZnJhbWVFbCE6IEhUTUxJRnJhbWVFbGVtZW50O1xuICBwcml2YXRlIF9pc1JlbmRlckNvbXBsZXRlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY3JlYXRlSWZyYW1lV3JhcHBlcigpO1xuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmlld2VyKSB7XG4gICAgICB0aGlzLmNsZWFyVmlldygpO1xuICAgIH1cbiAgfVxuXG4gIG9uUGFnZUluZGV4Q2hhbmdlKG51bTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMudmlld2VyKSB7XG4gICAgICB0aGlzLnZpZXdlci5uYXZpZ2F0ZVRvUGFnZShOYXZpZ2F0aW9uLkVQQUdFLCBudW0gLSAxKTtcbiAgICB9XG4gIH1cblxuICBwcmludCgpIHtcbiAgICBpZiAodGhpcy5faXNSZW5kZXJDb21wbGV0ZSkge1xuICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93IS5wcmludCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3JlbmRpbmcuLi4nKTtcbiAgICB9XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jcmVhdGVJZnJhbWVXcmFwcGVyKCk7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSWZyYW1lV3JhcHBlcigpIHtcbiAgICBpZiAodGhpcy52aXZWaWV3UmVmKSB7XG4gICAgICB0aGlzLmNsZWFyVmlldygpO1xuICAgICAgaWYgKCF0aGlzLmVuYWJsZVByZXZpZXcpIHtcbiAgICAgICAgdGhpcy52aXZWaWV3UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgICBpZiAodGhpcy5wbGF0Zm9ybS5GSVJFRk9YKSB7XG4gICAgICAgICAgdGhpcy52aXZWaWV3UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAgICd3aWR0aDogMXB4OyBoZWlnaHQ6IDEwMHB4OyBwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDA7IHRvcDogMDsgb3BhY2l0eTogMDsgYm9yZGVyLXdpZHRoOiAwOyBtYXJnaW46IDA7IHBhZGRpbmc6IDAnXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpdlZpZXdSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICAgJ3Zpc2liaWxpdHk6IGhpZGRlbjsgaGVpZ2h0OiAwOyB3aWR0aDogMDsgcG9zaXRpb246IGFic29sdXRlOyBib3JkZXI6IDAnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmlmcmFtZUVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgICB0aGlzLmlmcmFtZUVsLmhlaWdodCA9IHRoaXMuaGVpZ2h0ICsgJyc7XG4gICAgICB0aGlzLmlmcmFtZUVsLndpZHRoID0gdGhpcy53aWR0aCArICcnO1xuICAgICAgdGhpcy5pZnJhbWVFbC5zdHlsZS5ib3JkZXIgPSAnMXB4IHNvbGlkICNjY2MnO1xuICAgICAgdGhpcy5pZnJhbWVFbC5zdHlsZS5iYWNrZ3JvdW5kID0gJyNmZmYnO1xuXG4gICAgICBjb25zdCB0ZW1wbGF0ZSA9IGBcbiAgICAgICAgPCFET0NUWVBFIGh0bWw+XG4gICAgICAgIDxodG1sIGRhdGEtdml2bGlvc3R5bGUtcGFnaW5hdGVkPVwidHJ1ZVwiPlxuICAgICAgICAgIDxoZWFkPlxuICAgICAgICAgICAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCIgLz5cbiAgICAgICAgICAgIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wXCIgLz5cbiAgICAgICAgICAgIDxiYXNlIGhyZWY9XCIvXCIgLz5cbiAgICAgICAgICAgIDx0aXRsZT4ke3RoaXMucHJpbnRUaXRsZX08L3RpdGxlPlxuICAgICAgICAgICAgPHN0eWxlPlxuICAgICAgICAgICAgICBodG1sW2RhdGEtdml2bGlvc3R5bGUtcGFnaW5hdGVkXSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGh0bWxbZGF0YS12aXZsaW9zdHlsZS1wYWdpbmF0ZWRdIGJvZHksXG4gICAgICAgICAgICAgIGh0bWxbZGF0YS12aXZsaW9zdHlsZS1wYWdpbmF0ZWRdIFtkYXRhLXZpdmxpb3N0eWxlLXZpZXdlci12aWV3cG9ydF0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBodG1sW2RhdGEtdml2bGlvc3R5bGUtcGFnaW5hdGVkXSxcbiAgICAgICAgICAgICAgaHRtbFtkYXRhLXZpdmxpb3N0eWxlLXBhZ2luYXRlZF0gYm9keSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc3R5bGU+XG4gICAgICAgICAgICA8c3R5bGUgaWQ9XCJ2aXZsaW9zdHlsZS1wYWdlLXJ1bGVzXCI+PC9zdHlsZT5cbiAgICAgICAgICA8L2hlYWQ+XG4gICAgICAgICAgPGJvZHk+XG4gICAgICAgICAgICA8ZGl2IGlkPVwidml2bGlvc3R5bGUtdmlld2VyLXZpZXdwb3J0XCI+PC9kaXY+XG4gICAgICAgICAgPC9ib2R5PlxuICAgICAgICA8L2h0bWw+XG4gICAgICBgO1xuXG4gICAgICB0aGlzLmlmcmFtZUVsLnNyY2RvYyA9IHRlbXBsYXRlO1xuICAgICAgdGhpcy52aXZWaWV3UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWVFbCk7XG4gICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3chLm9uYmVmb3JlcHJpbnQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdyEucGFyZW50LmRvY3VtZW50LnRpdGxlID0gdGhpcy5wcmludFRpdGxlO1xuICAgICAgfTtcbiAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdyEub25hZnRlcnByaW50ID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3chLnBhcmVudC5kb2N1bWVudC50aXRsZSA9IHRoaXMuX3RpdGxlO1xuICAgICAgfTtcbiAgICAgIHRoaXMuY3JlYXRlVml2Vmlld2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVWaXZWaWV3ZXIoKSB7XG4gICAgdGhpcy5pZnJhbWVFbC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBjb25zdCBlbHM6IE56eFByaW50Q29udGVudERpcmVjdGl2ZVtdID0gdGhpcy5fcHJpbnRFbFF1ZXJ5TGlzdC50b0FycmF5KCk7XG4gICAgICBjb25zdCB0ZW1wbGF0ZXMgPSB0aGlzLmdldFZpdlRlbXBsYXRlcyhlbHMpO1xuICAgICAgY29uc3Qgb3B0aW9uczogU2luZ2xlRG9jdW1lbnRPcHRpb25zW10gPSBbXTtcbiAgICAgIHRlbXBsYXRlcy5mb3JFYWNoKCh0ZW1wbGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCBkb2NCbG9iID0gbmV3IEJsb2IoW3RlbXBsYXRlXSwge1xuICAgICAgICAgIHR5cGU6ICd0ZXh0L2h0bWwnLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZG9jVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTChkb2NCbG9iKTtcbiAgICAgICAgb3B0aW9ucy5wdXNoKHsgdXJsOiBkb2NVUkwgfSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudmlld2VyID0gbmV3IENvcmVWaWV3ZXIoXG4gICAgICAgIHtcbiAgICAgICAgICB2aWV3cG9ydEVsZW1lbnQ6IHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdz8uZG9jdW1lbnQuYm9keVxuICAgICAgICAgICAgLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFnZVZpZXdNb2RlOiBQYWdlVmlld01vZGUuU0lOR0xFX1BBR0UsXG4gICAgICAgICAgcGl4ZWxSYXRpbzogdGhpcy5waXhlbFJhdGlvLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy52aWV3ZXIubG9hZERvY3VtZW50KG9wdGlvbnMpO1xuICAgICAgdGhpcy5jcmVhdGVMaXN0ZW5lcih0aGlzLnZpZXdlcik7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IgPSAocGF5bG9hZDogUGF5bG9hZCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdlcnJvcjo6JywgcGF5bG9hZCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVSZWFkeVN0YXRlQ2hhbmdlID0gKHBheWxvYWQ6IFBheWxvYWQpID0+IHtcbiAgICB0aGlzLl9pc1JlbmRlckNvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy5wYWdlUmVuZGVyQ29tcGxldGUuZW1pdChmYWxzZSk7XG4gICAgaWYgKHRoaXMudmlld2VyICYmIHRoaXMudmlld2VyLnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgIGNvbnN0IGludGVydmFsVGFnID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5pZnJhbWVFbCAmJlxuICAgICAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdyAmJlxuICAgICAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5kb2N1bWVudFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBpbWFnZXMgPVxuICAgICAgICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKTtcblxuICAgICAgICAgIGxldCBhbGxJbWFnZXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW1hZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoIWltYWdlc1tpXS5jb21wbGV0ZSkge1xuICAgICAgICAgICAgICBhbGxJbWFnZXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhbGxJbWFnZXNMb2FkZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdBbGwgaW1hZ2VzIGluIGlmcmFtZSBsb2FkZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICAgICAgICB0aGlzLnBhZ2VSZW5kZXJDb21wbGV0ZS5lbWl0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5faXNSZW5kZXJDb21wbGV0ZSA9IHRydWU7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsVGFnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIDEwMDApO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZUh5cGVybGluayA9IChwYXlsb2FkOiBQYXlsb2FkKSA9PiB7XG4gICAgY29uc29sZS5sb2coJ2hhbmRsZUh5cGVybGluazo6JywgcGF5bG9hZCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVMb2FkZWQgPSAocGF5bG9hZDogUGF5bG9hZCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdoYW5kbGVMb2FkZWQ6OicsIHBheWxvYWQpO1xuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlTmF2aWdhdGlvbiA9IChwYXlsb2FkOiBQYXlsb2FkKSA9PiB7XG4gICAgdGhpcy5wYWdlVG90YWwgPSBwYXlsb2FkLmVwYWdlQ291bnQ7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBwcml2YXRlIGNyZWF0ZUxpc3RlbmVyKHZpZXdlcjogQ29yZVZpZXdlcikge1xuICAgIHZpZXdlci5hZGRMaXN0ZW5lcignZXJyb3InLCB0aGlzLmhhbmRsZUVycm9yKTtcbiAgICB2aWV3ZXIuYWRkTGlzdGVuZXIoJ3JlYWR5c3RhdGVjaGFuZ2UnLCB0aGlzLmhhbmRsZVJlYWR5U3RhdGVDaGFuZ2UpO1xuICAgIHZpZXdlci5hZGRMaXN0ZW5lcignbG9hZGVkJywgdGhpcy5oYW5kbGVMb2FkZWQpO1xuICAgIHZpZXdlci5hZGRMaXN0ZW5lcignaHlwZXJsaW5rJywgdGhpcy5oYW5kbGVIeXBlcmxpbmspO1xuICAgIHZpZXdlci5hZGRMaXN0ZW5lcignbmF2JywgdGhpcy5oYW5kbGVOYXZpZ2F0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzKHZpZXdlcjogQ29yZVZpZXdlcikge1xuICAgIHZpZXdlci5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCB0aGlzLmhhbmRsZUVycm9yKTtcbiAgICB2aWV3ZXIucmVtb3ZlTGlzdGVuZXIoJ3JlYWR5c3RhdGVjaGFuZ2UnLCB0aGlzLmhhbmRsZVJlYWR5U3RhdGVDaGFuZ2UpO1xuICAgIHZpZXdlci5yZW1vdmVMaXN0ZW5lcignbG9hZGVkJywgdGhpcy5oYW5kbGVMb2FkZWQpO1xuICAgIHZpZXdlci5yZW1vdmVMaXN0ZW5lcignaHlwZXJsaW5rJywgdGhpcy5oYW5kbGVIeXBlcmxpbmspO1xuICAgIHZpZXdlci5yZW1vdmVMaXN0ZW5lcignbmF2JywgdGhpcy5oYW5kbGVOYXZpZ2F0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3R5bGVzKGlkZW50aWZpZXJTdHI6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdHlsZXNBcnJheTogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBzdHlsZUVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N0eWxlJyk7XG4gICAgY29uc3QgbGVuZ3RoID0gc3R5bGVFbGVtZW50cy5sZW5ndGg7XG4gICAgbGV0IGlkZW50aWZpZXJzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGlkZW50aWZpZXJTdHIpKSB7XG4gICAgICBpZGVudGlmaWVycyA9IFsuLi5pZGVudGlmaWVyU3RyXTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWRlbnRpZmllcnMgPSBbaWRlbnRpZmllclN0cl07XG4gICAgfVxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlkZW50aWZpZXJzLmZvckVhY2goKHMpID0+IHtcbiAgICAgICAgaWYgKHN0eWxlRWxlbWVudHNbaW5kZXhdLm91dGVySFRNTC5pbmNsdWRlcyhzKSkge1xuICAgICAgICAgIGNvbnN0IGZvcm1hdGVTdHIgPSBzdHlsZUVsZW1lbnRzW2luZGV4XS5vdXRlckhUTUwucmVwbGFjZShcbiAgICAgICAgICAgIC9cXC9cXCpbXFxzXFxTXSo/XFwqXFwvL2csXG4gICAgICAgICAgICAnJ1xuICAgICAgICAgICk7XG4gICAgICAgICAgc3R5bGVzQXJyYXkucHVzaChmb3JtYXRlU3RyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzdHlsZXNBcnJheS5qb2luKCdcXHJcXG4nKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Vml2VGVtcGxhdGVzKGRpcmVjdGl2ZXM6IE56eFByaW50Q29udGVudERpcmVjdGl2ZVtdKSB7XG4gICAgY29uc3QgdGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGRpcmVjdGl2ZXMuZm9yRWFjaCgoZCkgPT4ge1xuICAgICAgbGV0IHN0eWxlcyA9ICcnO1xuICAgICAgaWYgKGQuaWRlbnRpZmllclN0ciB8fCBkLmlkZW50aWZpZXJTdHIubGVuZ3RoID4gMCkge1xuICAgICAgICBzdHlsZXMgPSB0aGlzLmdldFN0eWxlcyhkLmlkZW50aWZpZXJTdHIpO1xuICAgICAgfVxuXG4gICAgICBsZXQgaHRtbCA9IGBcbiAgICAgICAgICA8IURPQ1RZUEUgaHRtbD5cbiAgICAgICAgICA8aHRtbD5cbiAgICAgICAgICAgIDxoZWFkPlxuICAgICAgICAgICAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCIgLz5cbiAgICAgICAgICAgIDx0aXRsZT4ke3RoaXMucHJpbnRUaXRsZX08L3RpdGxlPlxuICAgICAgICAgICAgPGJhc2UgaHJlZj1cIi9cIiAvPlxuICAgICAgICAgICAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIgLz5cbiAgICAgICAgICAgICAke2QuY3VzdG9tU3R5bGV9XG4gICAgICAgICAgICAgJHtzdHlsZXN9XG4gICAgICAgICAgICA8L2hlYWQ+XG4gICAgICAgICAgICA8Ym9keT5cbiAgICAgICAgICAgICAgJHtkLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vdXRlckhUTUx9XG4gICAgICAgICAgICA8L2JvZHk+XG4gICAgICAgICAgPC9odG1sPlxuICAgICAgICBgO1xuICAgICAgaHRtbCA9IGh0bWwucmVwbGFjZSgvPCEtLS0tPi9nLCAnICcpO1xuICAgICAgdGVtcGxhdGVzLnB1c2goaHRtbCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGVtcGxhdGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclZpZXcoKSB7XG4gICAgaWYgKHRoaXMudmlld2VyKSB7XG4gICAgICB0aGlzLnJlbW92ZUxpc3RlbmVycyh0aGlzLnZpZXdlcik7XG4gICAgfVxuICAgIHRoaXMudml2Vmlld1JlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgIHRoaXMudmlld2VyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2lzUmVuZGVyQ29tcGxldGUgPSBmYWxzZTtcbiAgfVxufVxuIl19
|