@theseam/ui-common 0.4.12 → 0.4.14
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/buttons/public-api.d.ts +1 -0
- package/buttons/testing/anchor-badge-button.harness.d.ts +16 -0
- package/buttons/testing/anchor-button.harness.d.ts +16 -0
- package/buttons/testing/badge-button.harness.d.ts +15 -0
- package/buttons/testing/base-badge-button.harness.d.ts +15 -0
- package/buttons/testing/base-button.harness.d.ts +19 -0
- package/buttons/testing/button.harness.d.ts +15 -0
- package/buttons/testing/index.d.ts +5 -0
- package/buttons/testing/toggle-button.harness.d.ts +21 -0
- package/checkbox/checkbox.component.d.ts +1 -1
- package/checkbox/checkbox.module.d.ts +2 -3
- package/datatable/datatable.module.d.ts +1 -1
- package/esm2020/buttons/button/button.component.mjs +2 -1
- package/esm2020/buttons/public-api.mjs +2 -1
- package/esm2020/buttons/testing/anchor-badge-button.harness.mjs +18 -0
- package/esm2020/buttons/testing/anchor-button.harness.mjs +18 -0
- package/esm2020/buttons/testing/badge-button.harness.mjs +14 -0
- package/esm2020/buttons/testing/base-badge-button.harness.mjs +29 -0
- package/esm2020/buttons/testing/base-button.harness.mjs +41 -0
- package/esm2020/buttons/testing/button.harness.mjs +16 -0
- package/esm2020/buttons/testing/index.mjs +6 -0
- package/esm2020/buttons/testing/toggle-button.harness.mjs +25 -0
- package/esm2020/checkbox/checkbox.component.mjs +8 -3
- package/esm2020/checkbox/checkbox.module.mjs +5 -12
- package/esm2020/datatable/datatable.module.mjs +5 -5
- package/esm2020/form-field/form-field.component.mjs +4 -4
- package/esm2020/framework/schema-form/index.mjs +2 -1
- package/esm2020/framework/schema-form/schema-form-framework.component.mjs +6 -3
- package/esm2020/framework/schema-form/schema-form-framework.mjs +62 -7
- package/esm2020/framework/schema-form/schema-form-widget.mjs +2 -0
- package/esm2020/framework/schema-form/schema-form.module.mjs +1 -8
- package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +21 -11
- package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +20 -0
- package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +17 -8
- package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +14 -5
- package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +19 -9
- package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +21 -13
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +30 -18
- package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +48 -0
- package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +57 -0
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
- package/esm2020/menu/menu-item.component.mjs +3 -3
- package/esm2020/menu/public-api.mjs +5 -1
- package/esm2020/menu/testing/menu-footer.harness.mjs +28 -0
- package/esm2020/menu/testing/menu-header.harness.mjs +23 -0
- package/esm2020/menu/testing/menu-item.harness.mjs +59 -0
- package/esm2020/menu/testing/menu.harness.mjs +163 -0
- package/esm2020/menu/testing/utils.mjs +13 -0
- package/esm2020/services/preferences/preferences-accessor.mjs +1 -1
- package/esm2020/services/preferences/preferences-manager.service.mjs +1 -1
- package/esm2020/services/preferences/preferences-record.mjs +1 -1
- package/esm2020/services/preferences/preferences.models.mjs +1 -1
- package/esm2020/story-helpers/args-to-tpl.mjs +83 -0
- package/esm2020/story-helpers/public-api.mjs +2 -2
- package/esm2020/story-helpers/story-preferences-accessor.service.mjs +1 -1
- package/esm2020/tel-input/public-api.mjs +2 -1
- package/esm2020/tel-input/tel-input/tel-input.component.mjs +22 -10
- package/esm2020/tel-input/tel-input.directive.mjs +12 -13
- package/esm2020/tel-input/tel-input.module.mjs +10 -9
- package/esm2020/tel-input/testing/tel-input.harness.mjs +49 -0
- package/esm2020/testing/harnesses/ng-select-dropdown.harness.mjs +39 -0
- package/esm2020/testing/harnesses/ng-select-option.harness.mjs +26 -0
- package/esm2020/testing/harnesses/ng-select.harness.mjs +104 -0
- package/esm2020/testing/public-api.mjs +4 -1
- package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +1 -1
- package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
- package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
- package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
- package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
- package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
- package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
- package/esm2020/widget/preferences/widget-preferences.models.mjs +1 -1
- package/esm2020/widget/preferences/widget-preferences.service.mjs +1 -1
- package/esm2020/widget/preferences/widget-preferences.token.mjs +1 -1
- package/esm2020/widget/widget.models.mjs +1 -1
- package/fesm2015/theseam-ui-common-buttons.mjs +181 -3
- package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-checkbox.mjs +12 -14
- package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +4 -4
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-form-field.mjs +3 -3
- package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +248 -164
- package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
- package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +331 -5
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-story-helpers.mjs +86 -1
- package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tel-input.mjs +105 -29
- package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-testing.mjs +197 -1
- package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-buttons.mjs +154 -2
- package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-checkbox.mjs +12 -14
- package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +4 -4
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-form-field.mjs +3 -3
- package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +236 -162
- package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
- package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +277 -4
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-story-helpers.mjs +84 -1
- package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tel-input.mjs +89 -29
- package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-testing.mjs +165 -1
- package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/schema-form/index.d.ts +1 -0
- package/framework/schema-form/schema-form-framework.d.ts +12 -1
- package/framework/schema-form/schema-form-widget.d.ts +61 -0
- package/framework/schema-form/schema-form.module.d.ts +1 -2
- package/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.d.ts +12 -11
- package/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.d.ts +12 -0
- package/framework/schema-form-controls/schema-form-input/schema-form-input.component.d.ts +10 -9
- package/framework/schema-form-controls/schema-form-number/schema-form-number.component.d.ts +8 -7
- package/framework/schema-form-controls/schema-form-select/schema-form-select.component.d.ts +10 -9
- package/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.d.ts +10 -9
- package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +10 -9
- package/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.d.ts +23 -0
- package/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.d.ts +32 -0
- package/menu/menu-footer-action/menu-footer-action.component.d.ts +1 -1
- package/menu/public-api.d.ts +4 -0
- package/menu/testing/menu-footer.harness.d.ts +22 -0
- package/menu/testing/menu-header.harness.d.ts +18 -0
- package/menu/testing/menu-item.harness.d.ts +37 -0
- package/menu/testing/menu.harness.d.ts +74 -0
- package/menu/testing/utils.d.ts +5 -0
- package/package.json +1 -1
- package/story-helpers/args-to-tpl.d.ts +25 -0
- package/story-helpers/public-api.d.ts +1 -0
- package/tel-input/public-api.d.ts +1 -0
- package/tel-input/tel-input/tel-input.component.d.ts +2 -2
- package/tel-input/tel-input.directive.d.ts +1 -1
- package/tel-input/tel-input.module.d.ts +7 -7
- package/tel-input/testing/tel-input.harness.d.ts +19 -0
- package/testing/harnesses/ng-select-dropdown.harness.d.ts +23 -0
- package/testing/harnesses/ng-select-option.harness.d.ts +18 -0
- package/testing/harnesses/ng-select.harness.d.ts +50 -0
- package/testing/public-api.d.ts +3 -0
- package/tiled-select/components/tiled-select/tiled-select.component.d.ts +10 -10
- package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +0 -79
- package/framework/schema-form-controls/schema-form-controls.module.d.ts +0 -20
package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs
CHANGED
|
@@ -1,41 +1,49 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { hasOwn, JsonSchemaFormModule } from '@ajsf/core';
|
|
5
|
+
import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
|
|
3
6
|
import * as i0 from "@angular/core";
|
|
4
7
|
import * as i1 from "@ajsf/core";
|
|
5
8
|
export class TheSeamSchemaFormSubmitComponent {
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
9
|
+
constructor(_jsf) {
|
|
10
|
+
this._jsf = _jsf;
|
|
8
11
|
this.controlDisabled = false;
|
|
9
12
|
this.boundControl = false;
|
|
10
13
|
}
|
|
11
14
|
ngOnInit() {
|
|
12
|
-
this.options = this.layoutNode
|
|
13
|
-
this.
|
|
15
|
+
this.options = this.layoutNode?.options || {};
|
|
16
|
+
this._jsf.initializeControl(this);
|
|
14
17
|
if (hasOwn(this.options, 'disabled')) {
|
|
15
18
|
this.controlDisabled = this.options.disabled;
|
|
16
19
|
}
|
|
17
|
-
else if (this.
|
|
18
|
-
this.controlDisabled = !this.
|
|
19
|
-
this.
|
|
20
|
+
else if (this._jsf.formOptions.disableInvalidSubmit) {
|
|
21
|
+
this.controlDisabled = !this._jsf.isValid;
|
|
22
|
+
this._jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid);
|
|
20
23
|
}
|
|
21
24
|
if (this.controlValue === null || this.controlValue === undefined) {
|
|
22
25
|
this.controlValue = this.options.title;
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
28
|
updateValue(event) {
|
|
26
|
-
if (typeof this.options
|
|
29
|
+
if (typeof this.options?.onClick === 'function') {
|
|
27
30
|
this.options.onClick(event);
|
|
28
31
|
}
|
|
29
32
|
else {
|
|
30
|
-
this.
|
|
33
|
+
this._jsf.updateValue(this, event.target.value);
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
37
|
TheSeamSchemaFormSubmitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormSubmitComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
TheSeamSchemaFormSubmitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormSubmitComponent, selector: "seam-schema-form-submit", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <input\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [type]=\"layoutNode?.type\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n</div>\n" });
|
|
38
|
+
TheSeamSchemaFormSubmitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormSubmitComponent, isStandalone: true, selector: "seam-schema-form-submit", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <input\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [type]=\"layoutNode?.type\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }] });
|
|
36
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormSubmitComponent, decorators: [{
|
|
37
40
|
type: Component,
|
|
38
|
-
args: [{ selector: 'seam-schema-form-submit',
|
|
41
|
+
args: [{ selector: 'seam-schema-form-submit', standalone: true, imports: [
|
|
42
|
+
CommonModule,
|
|
43
|
+
ReactiveFormsModule,
|
|
44
|
+
JsonSchemaFormModule,
|
|
45
|
+
TheSeamFormFieldModule,
|
|
46
|
+
], template: "<div\n [class]=\"options?.htmlClass || ''\">\n <input\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [type]=\"layoutNode?.type\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n</div>\n" }]
|
|
39
47
|
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
40
48
|
type: Input
|
|
41
49
|
}], layoutIndex: [{
|
|
@@ -43,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
43
51
|
}], dataIndex: [{
|
|
44
52
|
type: Input
|
|
45
53
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tc3VibWl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tc3VibWl0L3NjaGVtYS1mb3JtLXN1Ym1pdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXN1Ym1pdC9zY2hlbWEtZm9ybS1zdWJtaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUF5QixNQUFNLFlBQVksQ0FBQTtBQUVoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTs7O0FBY3RFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFhM0MsWUFDbUIsSUFBMkI7UUFBM0IsU0FBSSxHQUFKLElBQUksQ0FBdUI7UUFUOUMsb0JBQWUsR0FBRyxLQUFLLENBQUE7UUFDdkIsaUJBQVksR0FBRyxLQUFLLENBQUE7SUFTaEIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxJQUFJLEVBQThDLENBQUE7UUFDekYsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUE7U0FDN0M7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtZQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDL0U7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUE7U0FDdkM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDaEQ7SUFDSCxDQUFDOzs2SEFyQ1UsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0MsNktDcEI3QywwZ0JBY0EsMkNEQUksWUFBWSw4QkFDWixtQkFBbUIsOEJBQ25CLG9CQUFvQiw4QkFDcEIsc0JBQXNCOzJGQUdiLGdDQUFnQztrQkFaNUMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjtxQkFDdkI7NEdBV1EsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5cbmltcG9ydCB7IGhhc093biwgSnNvblNjaGVtYUZvcm1Nb2R1bGUsIEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BhanNmL2NvcmUnXG5pbXBvcnQgeyBUaGVTZWFtU2NoZW1hRm9ybUNvbnRyb2xXaWRnZXQsIFRoZVNlYW1TY2hlbWFGb3JtV2lkZ2V0TGF5b3V0Tm9kZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9zY2hlbWEtZm9ybSdcbmltcG9ydCB7IFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZm9ybS1maWVsZCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1zY2hlbWEtZm9ybS1zdWJtaXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZW1hLWZvcm0tc3VibWl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEpzb25TY2hlbWFGb3JtTW9kdWxlLFxuICAgIFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1TY2hlbWFGb3JtU3VibWl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBUaGVTZWFtU2NoZW1hRm9ybUNvbnRyb2xXaWRnZXQge1xuXG4gIGZvcm1Db250cm9sPzogQWJzdHJhY3RDb250cm9sXG4gIGNvbnRyb2xOYW1lPzogc3RyaW5nXG4gIGNvbnRyb2xWYWx1ZT86IGFueVxuICBjb250cm9sRGlzYWJsZWQgPSBmYWxzZVxuICBib3VuZENvbnRyb2wgPSBmYWxzZVxuICBvcHRpb25zPzogVGhlU2VhbVNjaGVtYUZvcm1XaWRnZXRMYXlvdXROb2RlT3B0aW9uc1xuXG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldFsnbGF5b3V0Tm9kZSddXG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBUaGVTZWFtU2NoZW1hRm9ybUNvbnRyb2xXaWRnZXRbJ2xheW91dEluZGV4J11cbiAgQElucHV0KCkgZGF0YUluZGV4OiBUaGVTZWFtU2NoZW1hRm9ybUNvbnRyb2xXaWRnZXRbJ2RhdGFJbmRleCddXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfanNmOiBKc29uU2NoZW1hRm9ybVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGU/Lm9wdGlvbnMgfHwge30gYXMgVGhlU2VhbVNjaGVtYUZvcm1XaWRnZXRMYXlvdXROb2RlT3B0aW9uc1xuICAgIHRoaXMuX2pzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKVxuICAgIGlmIChoYXNPd24odGhpcy5vcHRpb25zLCAnZGlzYWJsZWQnKSkge1xuICAgICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWRcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2pzZi5mb3JtT3B0aW9ucy5kaXNhYmxlSW52YWxpZFN1Ym1pdCkge1xuICAgICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSAhdGhpcy5fanNmLmlzVmFsaWRcbiAgICAgIHRoaXMuX2pzZi5pc1ZhbGlkQ2hhbmdlcy5zdWJzY3JpYmUoaXNWYWxpZCA9PiB0aGlzLmNvbnRyb2xEaXNhYmxlZCA9ICFpc1ZhbGlkKVxuICAgIH1cbiAgICBpZiAodGhpcy5jb250cm9sVmFsdWUgPT09IG51bGwgfHwgdGhpcy5jb250cm9sVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb250cm9sVmFsdWUgPSB0aGlzLm9wdGlvbnMudGl0bGVcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudDogYW55KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnM/Lm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5vbkNsaWNrKGV2ZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwib3B0aW9ucz8uaHRtbENsYXNzIHx8ICcnXCI+XG4gIDxpbnB1dFxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkICsgJ1N0YXR1cydcIlxuICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxuICAgIFthdHRyLnJlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcbiAgICBbY2xhc3NdPVwiJ2J0biBidG4tcHJpbWFyeSAnICsgKG9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnKVwiXG4gICAgW2Rpc2FibGVkXT1cImNvbnRyb2xEaXNhYmxlZFwiXG4gICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgIFt0eXBlXT1cImxheW91dE5vZGU/LnR5cGVcIlxuICAgIFt2YWx1ZV09XCJjb250cm9sVmFsdWVcIlxuICAgIChjbGljayk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { Component, Input, isDevMode } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
2
4
|
import { Subject } from 'rxjs';
|
|
3
|
-
import { buildTitleMap, hasOwn } from '@ajsf/core';
|
|
4
|
-
import { observeControlStatus, observeControlValue } from '@theseam/ui-common/utils';
|
|
5
5
|
import { takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { buildTitleMap, hasOwn, JsonSchemaFormModule } from '@ajsf/core';
|
|
7
|
+
import { observeControlStatus, observeControlValue } from '@theseam/ui-common/utils';
|
|
8
|
+
import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
|
|
9
|
+
import { TheSeamMenuModule } from '@theseam/ui-common/menu';
|
|
10
|
+
import { TheSeamButtonsModule } from '@theseam/ui-common/buttons';
|
|
6
11
|
import * as i0 from "@angular/core";
|
|
7
12
|
import * as i1 from "@ajsf/core";
|
|
8
13
|
import * as i2 from "@angular/common";
|
|
@@ -15,8 +20,8 @@ import * as i4 from "@theseam/ui-common/buttons";
|
|
|
15
20
|
// from a schema definition. The library may need to me forked to actually
|
|
16
21
|
// support this in the way I expect, but maybe there is another way.
|
|
17
22
|
export class TheSeamSchemaFormSubmitSplitComponent {
|
|
18
|
-
constructor(
|
|
19
|
-
this.
|
|
23
|
+
constructor(_jsf) {
|
|
24
|
+
this._jsf = _jsf;
|
|
20
25
|
/** @ignore */
|
|
21
26
|
this._ngUnsubscribe = new Subject();
|
|
22
27
|
this.controlDisabled = false;
|
|
@@ -27,8 +32,8 @@ export class TheSeamSchemaFormSubmitSplitComponent {
|
|
|
27
32
|
}
|
|
28
33
|
/** @ignore */
|
|
29
34
|
ngOnInit() {
|
|
30
|
-
this.options = this.layoutNode
|
|
31
|
-
this.
|
|
35
|
+
this.options = this.layoutNode?.options || {};
|
|
36
|
+
this._jsf.initializeControl(this);
|
|
32
37
|
// NOTE: This is commented out, because there is a bug with submit widgets
|
|
33
38
|
// manually defined in layout. All nodes initialized from the provided
|
|
34
39
|
// layout have their options populated from the defaults and 'disabled' is
|
|
@@ -45,9 +50,9 @@ export class TheSeamSchemaFormSubmitSplitComponent {
|
|
|
45
50
|
// console.log('[TheSeamSchemaFormSubmitSplitComponent] hasDisabled', this.options.disabled)
|
|
46
51
|
// this.controlDisabled = this.options.disabled
|
|
47
52
|
// } else
|
|
48
|
-
if (this.
|
|
49
|
-
this.controlDisabled = !this.
|
|
50
|
-
this.
|
|
53
|
+
if (this._jsf.formOptions.disableInvalidSubmit) {
|
|
54
|
+
this.controlDisabled = !this._jsf.isValid;
|
|
55
|
+
this._jsf.isValidChanges.subscribe(isValid => this.controlDisabled = !isValid);
|
|
51
56
|
}
|
|
52
57
|
if (this.controlValue === null || this.controlValue === undefined) {
|
|
53
58
|
this.controlValue = this.options.title;
|
|
@@ -64,33 +69,33 @@ export class TheSeamSchemaFormSubmitSplitComponent {
|
|
|
64
69
|
this._ngUnsubscribe.complete();
|
|
65
70
|
}
|
|
66
71
|
updateValue(event) {
|
|
67
|
-
if (typeof this.options
|
|
72
|
+
if (typeof this.options?.onClick === 'function') {
|
|
68
73
|
this.options.onClick(event);
|
|
69
74
|
}
|
|
70
75
|
else {
|
|
71
|
-
this.
|
|
76
|
+
this._jsf.updateValue(this, event.target.value);
|
|
72
77
|
}
|
|
73
78
|
}
|
|
74
79
|
_initDropdown() {
|
|
75
|
-
if (!hasOwn(this.layoutNode, 'items') || !(this.layoutNode
|
|
80
|
+
if (!hasOwn(this.layoutNode, 'items') || !(this.layoutNode?.items || []).length) {
|
|
76
81
|
return;
|
|
77
82
|
}
|
|
78
83
|
if (isDevMode()) {
|
|
79
|
-
if (this.layoutNode.items.length > 1) {
|
|
84
|
+
if (this.layoutNode?.items && this.layoutNode?.items.length > 1) {
|
|
80
85
|
// eslint-disable-next-line no-console
|
|
81
86
|
console.warn(`TheSeamSchemaFormSubmitSplitComponent only supports one item.` +
|
|
82
87
|
` items after index 0 will be ignored.`);
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
90
|
const idx = 0;
|
|
86
|
-
const item = this.layoutNode
|
|
91
|
+
const item = (this.layoutNode?.items)[idx] || {};
|
|
87
92
|
this._dropdownObj = {
|
|
88
93
|
layoutNode: item,
|
|
89
94
|
layoutIndex: (this.layoutIndex || []).concat(idx),
|
|
90
95
|
dataIndex: this.layoutNode?.dataType === 'array' ? (this.dataIndex || []).concat(idx) : this.dataIndex,
|
|
91
96
|
options: item.options || {}
|
|
92
97
|
};
|
|
93
|
-
this.
|
|
98
|
+
this._jsf.initializeControl(this._dropdownObj);
|
|
94
99
|
const items = buildTitleMap(this._dropdownObj.options.titleMap || this._dropdownObj.options.enumNames, this._dropdownObj.options.enum, !!this._dropdownObj.options.required, !!this._dropdownObj.options.flatList);
|
|
95
100
|
this._selectList = items;
|
|
96
101
|
// TODO: Should this be checking if the control is bound?
|
|
@@ -130,10 +135,17 @@ export class TheSeamSchemaFormSubmitSplitComponent {
|
|
|
130
135
|
}
|
|
131
136
|
}
|
|
132
137
|
TheSeamSchemaFormSubmitSplitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormSubmitSplitComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
-
TheSeamSchemaFormSubmitSplitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormSubmitSplitComponent, selector: "seam-schema-form-submit-split", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <div [class.btn-group]=\"_dropdownObj\">\n <button seamButton theme=\"primary\" type=\"submit\"\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n {{ _buttonLabel }}\n <span *ngIf=\"_selectedItem\">\n [{{ _selectedItem.name }}]\n </span>\n </button>\n <ng-container *ngIf=\"_dropdownObj\">\n <button\n [seamMenuToggle]=\"menu\" seamButton theme=\"primary\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [disabled]=\"_dropdownDisabled\">\n <span class=\"sr-only\">Toggle Dropdown</span>\n </button>\n <seam-menu #menu>\n <ng-container *ngFor=\"let item of _selectList\">\n <button seamMenuItem\n [class.active]=\"item.checked\"\n (click)=\"_setDropdownValue(item.value)\">\n {{ item.name }}\n </button>\n </ng-container>\n </seam-menu>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i3.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i3.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i4.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }] });
|
|
138
|
+
TheSeamSchemaFormSubmitSplitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormSubmitSplitComponent, isStandalone: true, selector: "seam-schema-form-submit-split", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<div\n [class]=\"options?.htmlClass || ''\">\n <div [class.btn-group]=\"_dropdownObj\">\n <button seamButton theme=\"primary\" type=\"submit\"\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n {{ _buttonLabel }}\n <span *ngIf=\"_selectedItem\">\n [{{ _selectedItem.name }}]\n </span>\n </button>\n <ng-container *ngIf=\"_dropdownObj\">\n <button\n [seamMenuToggle]=\"menu\" seamButton theme=\"primary\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [disabled]=\"_dropdownDisabled\">\n <span class=\"sr-only\">Toggle Dropdown</span>\n </button>\n <seam-menu #menu>\n <ng-container *ngFor=\"let item of _selectList\">\n <button seamMenuItem\n [class.active]=\"item.checked\"\n (click)=\"_setDropdownValue(item.value)\">\n {{ item.name }}\n </button>\n </ng-container>\n </seam-menu>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "ngmodule", type: TheSeamMenuModule }, { kind: "component", type: i3.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i3.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i3.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i4.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }] });
|
|
134
139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormSubmitSplitComponent, decorators: [{
|
|
135
140
|
type: Component,
|
|
136
|
-
args: [{ selector: 'seam-schema-form-submit-split',
|
|
141
|
+
args: [{ selector: 'seam-schema-form-submit-split', standalone: true, imports: [
|
|
142
|
+
CommonModule,
|
|
143
|
+
ReactiveFormsModule,
|
|
144
|
+
JsonSchemaFormModule,
|
|
145
|
+
TheSeamFormFieldModule,
|
|
146
|
+
TheSeamMenuModule,
|
|
147
|
+
TheSeamButtonsModule,
|
|
148
|
+
], template: "<div\n [class]=\"options?.htmlClass || ''\">\n <div [class.btn-group]=\"_dropdownObj\">\n <button seamButton theme=\"primary\" type=\"submit\"\n [attr.aria-describedby]=\"'control' + layoutNode?._id + 'Status'\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [attr.required]=\"options?.required\"\n [class]=\"'btn btn-primary ' + (options?.fieldHtmlClass || '')\"\n [disabled]=\"controlDisabled\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [value]=\"controlValue\"\n (click)=\"updateValue($event)\">\n {{ _buttonLabel }}\n <span *ngIf=\"_selectedItem\">\n [{{ _selectedItem.name }}]\n </span>\n </button>\n <ng-container *ngIf=\"_dropdownObj\">\n <button\n [seamMenuToggle]=\"menu\" seamButton theme=\"primary\"\n class=\"dropdown-toggle dropdown-toggle-split\"\n [disabled]=\"_dropdownDisabled\">\n <span class=\"sr-only\">Toggle Dropdown</span>\n </button>\n <seam-menu #menu>\n <ng-container *ngFor=\"let item of _selectList\">\n <button seamMenuItem\n [class.active]=\"item.checked\"\n (click)=\"_setDropdownValue(item.value)\">\n {{ item.name }}\n </button>\n </ng-container>\n </seam-menu>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
137
149
|
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
138
150
|
type: Input
|
|
139
151
|
}], layoutIndex: [{
|
|
@@ -141,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
141
153
|
}], dataIndex: [{
|
|
142
154
|
type: Input
|
|
143
155
|
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0L3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUF1QyxNQUFNLFlBQVksQ0FBQTtBQUV2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7OztBQU0xQyw0RUFBNEU7QUFDNUUsMEVBQTBFO0FBQzFFLEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsMEVBQTBFO0FBQzFFLG9FQUFvRTtBQU9wRSxNQUFNLE9BQU8scUNBQXFDO0lBdUJoRCxZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBdEJwQyxjQUFjO1FBQ0csbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBS3JELG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBT3BCLGlCQUFZLEdBQUcsRUFBRSxDQUFBO1FBR2pCLHNCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUN6QixnQkFBVyxHQUF1QyxFQUFFLENBQUE7SUFLaEQsQ0FBQztJQUVMLGNBQWM7SUFDZCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUE7UUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVoQywwRUFBMEU7UUFDMUUsc0VBQXNFO1FBQ3RFLDBFQUEwRTtRQUMxRSx3RUFBd0U7UUFDeEUsc0JBQXNCO1FBQ3RCLEVBQUU7UUFDRix3RUFBd0U7UUFDeEUsd0VBQXdFO1FBQ3hFLHdFQUF3RTtRQUN4RSwwRUFBMEU7UUFDMUUsT0FBTztRQUNQLEVBQUU7UUFDRiwwQ0FBMEM7UUFDMUMsOEZBQThGO1FBQzlGLGlEQUFpRDtRQUNqRCxTQUFTO1FBQ1QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUE7WUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQzlFO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFBO1NBQ3ZDO1FBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFBO1NBQ3ZDO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBRXBCLDRCQUE0QjtJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQzVCO2FBQU07WUFDTCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUMvQztJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQzlFLE9BQU07U0FDUDtRQUVELElBQUksU0FBUyxFQUFFLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLHNDQUFzQztnQkFDdEMsT0FBTyxDQUFDLElBQUksQ0FDViwrREFBK0Q7b0JBQy9ELHVDQUF1QyxDQUN4QyxDQUFBO2FBQ0Y7U0FDRjtRQUVELE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQTtRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDbEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ2pELFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBRXRHLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUU7U0FDNUIsQ0FBQTtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRTdDLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFDekUsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUNyQyxDQUFBO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFFeEIseURBQXlEO1FBQ3pELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO1FBQ2xELElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTTtTQUNQO1FBRUQsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUN2QyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUMvQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUM5QyxDQUFDLENBQUMsQ0FBQTtRQUVGLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDL0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUE7UUFDbkQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFpQyxDQUFBO0lBQzVELENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxLQUFVO1FBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUE7UUFDOUIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtnQkFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7YUFDcEI7aUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTthQUNyQjtTQUNGO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFFLEdBQUcsS0FBSyxDQUFFLENBQUE7SUFDakMsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO1FBQzlDLFdBQVcsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsQ0FBQzs7a0lBOUpVLHFDQUFxQztzSEFBckMscUNBQXFDLCtKQ3pCbEQsdTFDQXFDQTsyRkRaYSxxQ0FBcUM7a0JBTmpELFNBQVM7K0JBQ0UsK0JBQStCOzRHQWlCaEMsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpc0Rldk1vZGUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgYnVpbGRUaXRsZU1hcCwgaGFzT3duLCBKc29uU2NoZW1hRm9ybVNlcnZpY2UsIFRpdGxlTWFwSXRlbSB9IGZyb20gJ0BhanNmL2NvcmUnXG5cbmltcG9ydCB7IG9ic2VydmVDb250cm9sU3RhdHVzLCBvYnNlcnZlQ29udHJvbFZhbHVlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbi8vIE5PVEU6IFRoaXMgaXMgYWxpYXNpbmcgVGl0bGVNYXBJdGVtLCBiZWNhdXNlIHdlIG1heSB3YW50IHRvIGV4dGVuZCBpdCdzXG4vLyBvcHRpb25zLiBGb3Igc2ltcGxpY2l0eSwgSSBhbSBsZXR0aW5nIHRoaXMgd29yayBzaW1pbGFyIHRvIGEgJ3NlbGVjdCcgd2lkZ2V0LlxuZXhwb3J0IHR5cGUgVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdEl0ZW0gPSBUaXRsZU1hcEl0ZW1cblxuLy8gTk9URTogVGhpcyBjb21wb25lbnQgaXMgYSBsaXR0bGUgaGFja3ksIGJlY2F1c2UgSSBhbSBiYXNpY2FsbHkgY3JlYXRpbmcgYVxuLy8gZGF0YSB3aWRnZXQgdGhhdCBhY3RzIGxpa2UgYSBkYXRhIGFuZCAnc3VibWl0JyB3aWRnZXQgYXQgdGhlIHNhbWUgdGltZS5cbi8vXG4vLyBUT0RPOiBUcnkgYW5kIHRoaW5rIG9mIGEgbmljZXIgd2F5IHRvIGltcGxlbWVudCB0aGlzLCBidXQgc3RpbGwgbWFrZSBzZW5zZVxuLy8gZnJvbSBhIHNjaGVtYSBkZWZpbml0aW9uLiBUaGUgbGlicmFyeSBtYXkgbmVlZCB0byBtZSBmb3JrZWQgdG8gYWN0dWFsbHlcbi8vIHN1cHBvcnQgdGhpcyBpbiB0aGUgd2F5IEkgZXhwZWN0LCBidXQgbWF5YmUgdGhlcmUgaXMgYW5vdGhlciB3YXkuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXNjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIGZvcm1Db250cm9sPzogQWJzdHJhY3RDb250cm9sXG4gIGNvbnRyb2xOYW1lPzogc3RyaW5nXG4gIGNvbnRyb2xWYWx1ZTogYW55XG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlXG4gIG9wdGlvbnM6IGFueVxuXG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueVxuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW10gfCB1bmRlZmluZWQgfCBudWxsXG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW10gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgX2J1dHRvbkxhYmVsID0gJydcblxuICBfZHJvcGRvd25PYmo6IGFueVxuICBfZHJvcGRvd25EaXNhYmxlZCA9IGZhbHNlXG4gIF9zZWxlY3RMaXN0OiBUaGVTZWFtU2NoZW1hRm9ybVN1Ym1pdFNwbGl0SXRlbVtdID0gW11cbiAgX3NlbGVjdGVkSXRlbT86IFRoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRJdGVtXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9XG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcylcblxuICAgIC8vIE5PVEU6IFRoaXMgaXMgY29tbWVudGVkIG91dCwgYmVjYXVzZSB0aGVyZSBpcyBhIGJ1ZyB3aXRoIHN1Ym1pdCB3aWRnZXRzXG4gICAgLy8gbWFudWFsbHkgZGVmaW5lZCBpbiBsYXlvdXQuIEFsbCBub2RlcyBpbml0aWFsaXplZCBmcm9tIHRoZSBwcm92aWRlZFxuICAgIC8vIGxheW91dCBoYXZlIHRoZWlyIG9wdGlvbnMgcG9wdWxhdGVkIGZyb20gdGhlIGRlZmF1bHRzIGFuZCAnZGlzYWJsZWQnIGlzXG4gICAgLy8gb24gb2YgdGhlIGRlZmF1bHQgcHJvcGVydGllcywgc28gdGhlICdkaXNhYmxlSW52YWxpZFN1Ym1pdCcgY29uZGl0aW9uXG4gICAgLy8gbmV2ZXIgZ2V0cyByZWFjaGVkLlxuICAgIC8vXG4gICAgLy8gTXkgaW5pdGlhbCBpZGVhIGZvciBmaXhpbmcgd291bGQgYmUgdG8gY2hlY2sgaWYgdGhlIGRpc2FibGVkIHByb3BlcnR5XG4gICAgLy8gZXhpc3RzIGFuZCBpcyBhIGJvb2xlYW4sIG9yIHBvc3NpYmx5IGFueXRoaW5nIGRlZmluZWQgdGhhdCBjYW4gY29lcmNlXG4gICAgLy8gaW50byBhIGJvb2xlYW4uIEkgY2FuJ3QgdGhpbmsgb2YgYSByZWFzb24gZGlzYWJsZWQgc2hvdWxkIGJlIGFueXRoaW5nXG4gICAgLy8gZWxzZSwgc28gdGhhdCBtYXkgYmUgYW4gYWNjZXB0YWJsZSBmaXgsIGJ1dCBJIGRvbid0IHdhbnQgdG8gZW5hYmxlIHRoYXRcbiAgICAvLyB5ZXQuXG4gICAgLy9cbiAgICAvLyBpZiAoaGFzT3duKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVkJykpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdbVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdENvbXBvbmVudF0gaGFzRGlzYWJsZWQnLCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQpXG4gICAgLy8gICB0aGlzLmNvbnRyb2xEaXNhYmxlZCA9IHRoaXMub3B0aW9ucy5kaXNhYmxlZFxuICAgIC8vIH0gZWxzZVxuICAgIGlmICh0aGlzLmpzZi5mb3JtT3B0aW9ucy5kaXNhYmxlSW52YWxpZFN1Ym1pdCkge1xuICAgICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSAhdGhpcy5qc2YuaXNWYWxpZFxuICAgICAgdGhpcy5qc2YuaXNWYWxpZENoYW5nZXMuc3Vic2NyaWJlKGlzVmFsaWQgPT4gdGhpcy5jb250cm9sRGlzYWJsZWQgPSAhaXNWYWxpZClcbiAgICB9XG4gICAgaWYgKHRoaXMuY29udHJvbFZhbHVlID09PSBudWxsIHx8IHRoaXMuY29udHJvbFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29udHJvbFZhbHVlID0gdGhpcy5vcHRpb25zLnRpdGxlXG4gICAgfVxuXG4gICAgaWYgKGhhc093bih0aGlzLm9wdGlvbnMsICd0aXRsZScpKSB7XG4gICAgICB0aGlzLl9idXR0b25MYWJlbCA9IHRoaXMub3B0aW9ucy50aXRsZVxuICAgIH1cblxuICAgIHRoaXMuX2luaXREcm9wZG93bigpXG5cbiAgICAvLyBjb25zb2xlLmxvZygndGhpcycsIHRoaXMpXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQodW5kZWZpbmVkKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbiAgdXBkYXRlVmFsdWUoZXZlbnQ6IGFueSkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5vbkNsaWNrKGV2ZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdERyb3Bkb3duKCk6IHZvaWQge1xuICAgIGlmICghaGFzT3duKHRoaXMubGF5b3V0Tm9kZSwgJ2l0ZW1zJykgfHwgISh0aGlzLmxheW91dE5vZGUuaXRlbXMgfHwgW10pLmxlbmd0aCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICBpZiAodGhpcy5sYXlvdXROb2RlLml0ZW1zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBUaGVTZWFtU2NoZW1hRm9ybVN1Ym1pdFNwbGl0Q29tcG9uZW50IG9ubHkgc3VwcG9ydHMgb25lIGl0ZW0uYCArXG4gICAgICAgICAgYCBpdGVtcyBhZnRlciBpbmRleCAwIHdpbGwgYmUgaWdub3JlZC5gXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpZHggPSAwXG4gICAgY29uc3QgaXRlbSA9IHRoaXMubGF5b3V0Tm9kZS5pdGVtc1tpZHhdXG4gICAgdGhpcy5fZHJvcGRvd25PYmogPSB7XG4gICAgICBsYXlvdXROb2RlOiBpdGVtLFxuICAgICAgbGF5b3V0SW5kZXg6ICh0aGlzLmxheW91dEluZGV4IHx8IFtdKS5jb25jYXQoaWR4KSxcbiAgICAgIGRhdGFJbmRleDogdGhpcy5sYXlvdXROb2RlPy5kYXRhVHlwZSA9PT0gJ2FycmF5JyA/ICh0aGlzLmRhdGFJbmRleCB8fCBbXSkuY29uY2F0KGlkeCkgOiB0aGlzLmRhdGFJbmRleCxcblxuICAgICAgb3B0aW9uczogaXRlbS5vcHRpb25zIHx8IHt9XG4gICAgfVxuXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcy5fZHJvcGRvd25PYmopXG5cbiAgICBjb25zdCBpdGVtcyA9IGJ1aWxkVGl0bGVNYXAoXG4gICAgICB0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLnRpdGxlTWFwIHx8IHRoaXMuX2Ryb3Bkb3duT2JqLm9wdGlvbnMuZW51bU5hbWVzLFxuICAgICAgdGhpcy5fZHJvcGRvd25PYmoub3B0aW9ucy5lbnVtLFxuICAgICAgISF0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLnJlcXVpcmVkLFxuICAgICAgISF0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLmZsYXRMaXN0XG4gICAgKVxuXG4gICAgdGhpcy5fc2VsZWN0TGlzdCA9IGl0ZW1zXG5cbiAgICAvLyBUT0RPOiBTaG91bGQgdGhpcyBiZSBjaGVja2luZyBpZiB0aGUgY29udHJvbCBpcyBib3VuZD9cbiAgICBjb25zdCBkcm9wZG93bkNvbnRyb2wgPSB0aGlzLl9nZXREcm9wZG93bkNvbnRyb2woKVxuICAgIGlmICghZHJvcGRvd25Db250cm9sKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBvYnNlcnZlQ29udHJvbFZhbHVlKGRyb3Bkb3duQ29udHJvbCkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuX3NldFNlbGVjdExpc3RDaGVja2VkUHJvcCh2YWx1ZSlcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IHRoaXMuX2dldFNlbGVjdGVkSXRlbSgpXG4gICAgfSlcblxuICAgIG9ic2VydmVDb250cm9sU3RhdHVzKGRyb3Bkb3duQ29udHJvbCkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuX2Ryb3Bkb3duRGlzYWJsZWQgPSBkcm9wZG93bkNvbnRyb2wuZGlzYWJsZWRcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RHJvcGRvd25Db250cm9sKCk6IFVudHlwZWRGb3JtQ29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duT2JqLmZvcm1Db250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbFxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U2VsZWN0TGlzdENoZWNrZWRQcm9wKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuX3NlbGVjdExpc3RcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgIGlmIChpdGVtLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICBpdGVtLmNoZWNrZWQgPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hlY2tlZCkge1xuICAgICAgICBpdGVtLmNoZWNrZWQgPSBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9zZWxlY3RMaXN0ID0gWyAuLi5pdGVtcyBdXG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3RlZEl0ZW0oKTogVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdEl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodGhpcy5fc2VsZWN0TGlzdCB8fCBbXSkuZmluZCh4ID0+IHguY2hlY2tlZCA9PT0gdHJ1ZSlcbiAgfVxuXG4gIF9zZXREcm9wZG93blZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuX2dldERyb3Bkb3duQ29udHJvbCgpXG4gICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKVxuICB9XG5cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiPlxuICA8ZGl2IFtjbGFzcy5idG4tZ3JvdXBdPVwiX2Ryb3Bkb3duT2JqXCI+XG4gICAgPGJ1dHRvbiBzZWFtQnV0dG9uIHRoZW1lPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICBbYXR0ci5yZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgIFthdHRyLnJlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcbiAgICAgIFtjbGFzc109XCInYnRuIGJ0bi1wcmltYXJ5ICcgKyAob3B0aW9ucz8uZmllbGRIdG1sQ2xhc3MgfHwgJycpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxuICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcbiAgICAgIChjbGljayk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICB7eyBfYnV0dG9uTGFiZWwgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwiX3NlbGVjdGVkSXRlbVwiPlxuICAgICAgICBbe3sgX3NlbGVjdGVkSXRlbS5uYW1lIH19XVxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZHJvcGRvd25PYmpcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW3NlYW1NZW51VG9nZ2xlXT1cIm1lbnVcIiBzZWFtQnV0dG9uIHRoZW1lPVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIGRyb3Bkb3duLXRvZ2dsZS1zcGxpdFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJfZHJvcGRvd25EaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Ub2dnbGUgRHJvcGRvd248L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxzZWFtLW1lbnUgI21lbnU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlbGVjdExpc3RcIj5cbiAgICAgICAgICA8YnV0dG9uIHNlYW1NZW51SXRlbVxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmNoZWNrZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIl9zZXREcm9wZG93blZhbHVlKGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NlYW0tbWVudT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0L3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXN1Ym1pdC1zcGxpdC9zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFtQixtQkFBbUIsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBdUMsTUFBTSxZQUFZLENBQUE7QUFDN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7OztBQU1qRSw0RUFBNEU7QUFDNUUsMEVBQTBF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Z0JBQWdCO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVU7UUFDMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7UUFDOUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM5QixDQUFDOztrSUE5SlUscUNBQXFDO3NIQUFyQyxxQ0FBcUMsbUxDdENsRCx1MUNBcUNBLCtFRFBJLFlBQVksK1BBQ1osbUJBQW1CLDhCQUNuQixvQkFBb0IsOEJBQ3BCLHNCQUFzQiw4QkFDdEIsaUJBQWlCLHVvQkFDakIsb0JBQW9COzJGQUdYLHFDQUFxQztrQkFmakQsU0FBUzsrQkFDRSwrQkFBK0IsY0FJN0IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixvQkFBb0I7cUJBQ3JCOzRHQWNRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgaXNEZXZNb2RlLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgYnVpbGRUaXRsZU1hcCwgaGFzT3duLCBKc29uU2NoZW1hRm9ybU1vZHVsZSwgSnNvblNjaGVtYUZvcm1TZXJ2aWNlLCBUaXRsZU1hcEl0ZW0gfSBmcm9tICdAYWpzZi9jb3JlJ1xuaW1wb3J0IHsgb2JzZXJ2ZUNvbnRyb2xTdGF0dXMsIG9ic2VydmVDb250cm9sVmFsdWUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5pbXBvcnQgeyBUaGVTZWFtU2NoZW1hRm9ybUNvbnRyb2xXaWRnZXQsIFRoZVNlYW1TY2hlbWFGb3JtV2lkZ2V0TGF5b3V0Tm9kZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9zY2hlbWEtZm9ybSdcbmltcG9ydCB7IFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZm9ybS1maWVsZCdcbmltcG9ydCB7IFRoZVNlYW1NZW51TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21lbnUnXG5pbXBvcnQgeyBUaGVTZWFtQnV0dG9uc01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9idXR0b25zJ1xuXG4vLyBOT1RFOiBUaGlzIGlzIGFsaWFzaW5nIFRpdGxlTWFwSXRlbSwgYmVjYXVzZSB3ZSBtYXkgd2FudCB0byBleHRlbmQgaXQnc1xuLy8gb3B0aW9ucy4gRm9yIHNpbXBsaWNpdHksIEkgYW0gbGV0dGluZyB0aGlzIHdvcmsgc2ltaWxhciB0byBhICdzZWxlY3QnIHdpZGdldC5cbmV4cG9ydCB0eXBlIFRoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRJdGVtID0gVGl0bGVNYXBJdGVtXG5cbi8vIE5PVEU6IFRoaXMgY29tcG9uZW50IGlzIGEgbGl0dGxlIGhhY2t5LCBiZWNhdXNlIEkgYW0gYmFzaWNhbGx5IGNyZWF0aW5nIGFcbi8vIGRhdGEgd2lkZ2V0IHRoYXQgYWN0cyBsaWtlIGEgZGF0YSBhbmQgJ3N1Ym1pdCcgd2lkZ2V0IGF0IHRoZSBzYW1lIHRpbWUuXG4vL1xuLy8gVE9ETzogVHJ5IGFuZCB0aGluayBvZiBhIG5pY2VyIHdheSB0byBpbXBsZW1lbnQgdGhpcywgYnV0IHN0aWxsIG1ha2Ugc2Vuc2Vcbi8vIGZyb20gYSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhlIGxpYnJhcnkgbWF5IG5lZWQgdG8gbWUgZm9ya2VkIHRvIGFjdHVhbGx5XG4vLyBzdXBwb3J0IHRoaXMgaW4gdGhlIHdheSBJIGV4cGVjdCwgYnV0IG1heWJlIHRoZXJlIGlzIGFub3RoZXIgd2F5LlxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1zY2hlbWEtZm9ybS1zdWJtaXQtc3BsaXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NoZW1hLWZvcm0tc3VibWl0LXNwbGl0LmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSnNvblNjaGVtYUZvcm1Nb2R1bGUsXG4gICAgVGhlU2VhbUZvcm1GaWVsZE1vZHVsZSxcbiAgICBUaGVTZWFtTWVudU1vZHVsZSxcbiAgICBUaGVTZWFtQnV0dG9uc01vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBUaGVTZWFtU2NoZW1hRm9ybUNvbnRyb2xXaWRnZXQge1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgZm9ybUNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2xcbiAgY29udHJvbE5hbWU/OiBzdHJpbmdcbiAgY29udHJvbFZhbHVlPzogYW55XG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlXG4gIG9wdGlvbnM/OiBUaGVTZWFtU2NoZW1hRm9ybVdpZGdldExheW91dE5vZGVPcHRpb25zXG5cbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogVGhlU2VhbVNjaGVtYUZvcm1Db250cm9sV2lkZ2V0WydsYXlvdXROb2RlJ11cbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldFsnbGF5b3V0SW5kZXgnXVxuICBASW5wdXQoKSBkYXRhSW5kZXg6IFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldFsnZGF0YUluZGV4J11cblxuICBfYnV0dG9uTGFiZWwgPSAnJ1xuXG4gIF9kcm9wZG93bk9iajogYW55XG4gIF9kcm9wZG93bkRpc2FibGVkID0gZmFsc2VcbiAgX3NlbGVjdExpc3Q6IFRoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRJdGVtW10gPSBbXVxuICBfc2VsZWN0ZWRJdGVtPzogVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdEl0ZW1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9qc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxuICApIHsgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZT8ub3B0aW9ucyB8fCB7fSBhcyBUaGVTZWFtU2NoZW1hRm9ybVdpZGdldExheW91dE5vZGVPcHRpb25zXG4gICAgdGhpcy5fanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpXG5cbiAgICAvLyBOT1RFOiBUaGlzIGlzIGNvbW1lbnRlZCBvdXQsIGJlY2F1c2UgdGhlcmUgaXMgYSBidWcgd2l0aCBzdWJtaXQgd2lkZ2V0c1xuICAgIC8vIG1hbnVhbGx5IGRlZmluZWQgaW4gbGF5b3V0LiBBbGwgbm9kZXMgaW5pdGlhbGl6ZWQgZnJvbSB0aGUgcHJvdmlkZWRcbiAgICAvLyBsYXlvdXQgaGF2ZSB0aGVpciBvcHRpb25zIHBvcHVsYXRlZCBmcm9tIHRoZSBkZWZhdWx0cyBhbmQgJ2Rpc2FibGVkJyBpc1xuICAgIC8vIG9uIG9mIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMsIHNvIHRoZSAnZGlzYWJsZUludmFsaWRTdWJtaXQnIGNvbmRpdGlvblxuICAgIC8vIG5ldmVyIGdldHMgcmVhY2hlZC5cbiAgICAvL1xuICAgIC8vIE15IGluaXRpYWwgaWRlYSBmb3IgZml4aW5nIHdvdWxkIGJlIHRvIGNoZWNrIGlmIHRoZSBkaXNhYmxlZCBwcm9wZXJ0eVxuICAgIC8vIGV4aXN0cyBhbmQgaXMgYSBib29sZWFuLCBvciBwb3NzaWJseSBhbnl0aGluZyBkZWZpbmVkIHRoYXQgY2FuIGNvZXJjZVxuICAgIC8vIGludG8gYSBib29sZWFuLiBJIGNhbid0IHRoaW5rIG9mIGEgcmVhc29uIGRpc2FibGVkIHNob3VsZCBiZSBhbnl0aGluZ1xuICAgIC8vIGVsc2UsIHNvIHRoYXQgbWF5IGJlIGFuIGFjY2VwdGFibGUgZml4LCBidXQgSSBkb24ndCB3YW50IHRvIGVuYWJsZSB0aGF0XG4gICAgLy8geWV0LlxuICAgIC8vXG4gICAgLy8gaWYgKGhhc093bih0aGlzLm9wdGlvbnMsICdkaXNhYmxlZCcpKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZygnW1RoZVNlYW1TY2hlbWFGb3JtU3VibWl0U3BsaXRDb21wb25lbnRdIGhhc0Rpc2FibGVkJywgdGhpcy5vcHRpb25zLmRpc2FibGVkKVxuICAgIC8vICAgdGhpcy5jb250cm9sRGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWRcbiAgICAvLyB9IGVsc2VcbiAgICBpZiAodGhpcy5fanNmLmZvcm1PcHRpb25zLmRpc2FibGVJbnZhbGlkU3VibWl0KSB7XG4gICAgICB0aGlzLmNvbnRyb2xEaXNhYmxlZCA9ICF0aGlzLl9qc2YuaXNWYWxpZFxuICAgICAgdGhpcy5fanNmLmlzVmFsaWRDaGFuZ2VzLnN1YnNjcmliZShpc1ZhbGlkID0+IHRoaXMuY29udHJvbERpc2FibGVkID0gIWlzVmFsaWQpXG4gICAgfVxuICAgIGlmICh0aGlzLmNvbnRyb2xWYWx1ZSA9PT0gbnVsbCB8fCB0aGlzLmNvbnRyb2xWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvbnRyb2xWYWx1ZSA9IHRoaXMub3B0aW9ucy50aXRsZVxuICAgIH1cblxuICAgIGlmIChoYXNPd24odGhpcy5vcHRpb25zLCAndGl0bGUnKSkge1xuICAgICAgdGhpcy5fYnV0dG9uTGFiZWwgPSB0aGlzLm9wdGlvbnMudGl0bGVcbiAgICB9XG5cbiAgICB0aGlzLl9pbml0RHJvcGRvd24oKVxuXG4gICAgLy8gY29uc29sZS5sb2coJ3RoaXMnLCB0aGlzKVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucz8ub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5vcHRpb25zLm9uQ2xpY2soZXZlbnQpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2pzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdERyb3Bkb3duKCk6IHZvaWQge1xuICAgIGlmICghaGFzT3duKHRoaXMubGF5b3V0Tm9kZSwgJ2l0ZW1zJykgfHwgISh0aGlzLmxheW91dE5vZGU/Lml0ZW1zIHx8IFtdKS5sZW5ndGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgaWYgKHRoaXMubGF5b3V0Tm9kZT8uaXRlbXMgJiYgdGhpcy5sYXlvdXROb2RlPy5pdGVtcy5sZW5ndGggPiAxKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdENvbXBvbmVudCBvbmx5IHN1cHBvcnRzIG9uZSBpdGVtLmAgK1xuICAgICAgICAgIGAgaXRlbXMgYWZ0ZXIgaW5kZXggMCB3aWxsIGJlIGlnbm9yZWQuYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaWR4ID0gMFxuICAgIGNvbnN0IGl0ZW0gPSAodGhpcy5sYXlvdXROb2RlPy5pdGVtcyBhcyBhbnkpW2lkeF0gfHwge31cbiAgICB0aGlzLl9kcm9wZG93bk9iaiA9IHtcbiAgICAgIGxheW91dE5vZGU6IGl0ZW0sXG4gICAgICBsYXlvdXRJbmRleDogKHRoaXMubGF5b3V0SW5kZXggfHwgW10pLmNvbmNhdChpZHgpLFxuICAgICAgZGF0YUluZGV4OiB0aGlzLmxheW91dE5vZGU/LmRhdGFUeXBlID09PSAnYXJyYXknID8gKHRoaXMuZGF0YUluZGV4IHx8IFtdKS5jb25jYXQoaWR4KSA6IHRoaXMuZGF0YUluZGV4LFxuXG4gICAgICBvcHRpb25zOiBpdGVtLm9wdGlvbnMgfHwge31cbiAgICB9XG5cbiAgICB0aGlzLl9qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcy5fZHJvcGRvd25PYmopXG5cbiAgICBjb25zdCBpdGVtcyA9IGJ1aWxkVGl0bGVNYXAoXG4gICAgICB0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLnRpdGxlTWFwIHx8IHRoaXMuX2Ryb3Bkb3duT2JqLm9wdGlvbnMuZW51bU5hbWVzLFxuICAgICAgdGhpcy5fZHJvcGRvd25PYmoub3B0aW9ucy5lbnVtLFxuICAgICAgISF0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLnJlcXVpcmVkLFxuICAgICAgISF0aGlzLl9kcm9wZG93bk9iai5vcHRpb25zLmZsYXRMaXN0XG4gICAgKVxuXG4gICAgdGhpcy5fc2VsZWN0TGlzdCA9IGl0ZW1zXG5cbiAgICAvLyBUT0RPOiBTaG91bGQgdGhpcyBiZSBjaGVja2luZyBpZiB0aGUgY29udHJvbCBpcyBib3VuZD9cbiAgICBjb25zdCBkcm9wZG93bkNvbnRyb2wgPSB0aGlzLl9nZXREcm9wZG93bkNvbnRyb2woKVxuICAgIGlmICghZHJvcGRvd25Db250cm9sKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBvYnNlcnZlQ29udHJvbFZhbHVlKGRyb3Bkb3duQ29udHJvbCkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuX3NldFNlbGVjdExpc3RDaGVja2VkUHJvcCh2YWx1ZSlcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IHRoaXMuX2dldFNlbGVjdGVkSXRlbSgpXG4gICAgfSlcblxuICAgIG9ic2VydmVDb250cm9sU3RhdHVzKGRyb3Bkb3duQ29udHJvbCkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuX2Ryb3Bkb3duRGlzYWJsZWQgPSBkcm9wZG93bkNvbnRyb2wuZGlzYWJsZWRcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RHJvcGRvd25Db250cm9sKCk6IFVudHlwZWRGb3JtQ29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duT2JqLmZvcm1Db250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbFxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U2VsZWN0TGlzdENoZWNrZWRQcm9wKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuX3NlbGVjdExpc3RcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgIGlmIChpdGVtLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICBpdGVtLmNoZWNrZWQgPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uY2hlY2tlZCkge1xuICAgICAgICBpdGVtLmNoZWNrZWQgPSBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9zZWxlY3RMaXN0ID0gWyAuLi5pdGVtcyBdXG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3RlZEl0ZW0oKTogVGhlU2VhbVNjaGVtYUZvcm1TdWJtaXRTcGxpdEl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodGhpcy5fc2VsZWN0TGlzdCB8fCBbXSkuZmluZCh4ID0+IHguY2hlY2tlZCA9PT0gdHJ1ZSlcbiAgfVxuXG4gIF9zZXREcm9wZG93blZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuX2dldERyb3Bkb3duQ29udHJvbCgpXG4gICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKVxuICB9XG5cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cIm9wdGlvbnM/Lmh0bWxDbGFzcyB8fCAnJ1wiPlxuICA8ZGl2IFtjbGFzcy5idG4tZ3JvdXBdPVwiX2Ryb3Bkb3duT2JqXCI+XG4gICAgPGJ1dHRvbiBzZWFtQnV0dG9uIHRoZW1lPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXG4gICAgICBbYXR0ci5yZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcbiAgICAgIFthdHRyLnJlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCJcbiAgICAgIFtjbGFzc109XCInYnRuIGJ0bi1wcmltYXJ5ICcgKyAob3B0aW9ucz8uZmllbGRIdG1sQ2xhc3MgfHwgJycpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxuICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgICBbbmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcbiAgICAgIChjbGljayk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICB7eyBfYnV0dG9uTGFiZWwgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwiX3NlbGVjdGVkSXRlbVwiPlxuICAgICAgICBbe3sgX3NlbGVjdGVkSXRlbS5uYW1lIH19XVxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZHJvcGRvd25PYmpcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW3NlYW1NZW51VG9nZ2xlXT1cIm1lbnVcIiBzZWFtQnV0dG9uIHRoZW1lPVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIGRyb3Bkb3duLXRvZ2dsZS1zcGxpdFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJfZHJvcGRvd25EaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Ub2dnbGUgRHJvcGRvd248L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxzZWFtLW1lbnUgI21lbnU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlbGVjdExpc3RcIj5cbiAgICAgICAgICA8YnV0dG9uIHNlYW1NZW51SXRlbVxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmNoZWNrZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIl9zZXREcm9wZG93blZhbHVlKGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3NlYW0tbWVudT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { JsonSchemaFormModule } from '@ajsf/core';
|
|
5
|
+
import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
|
|
6
|
+
import { TheSeamTelInputModule } from '@theseam/ui-common/tel-input';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ajsf/core";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
import * as i4 from "@theseam/ui-common/form-field";
|
|
12
|
+
import * as i5 from "@theseam/ui-common/tel-input";
|
|
13
|
+
export class TheSeamSchemaFormTelComponent {
|
|
14
|
+
constructor(_jsf) {
|
|
15
|
+
this._jsf = _jsf;
|
|
16
|
+
this.controlDisabled = false;
|
|
17
|
+
this.boundControl = false;
|
|
18
|
+
this.autoCompleteList = [];
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.options = this.layoutNode?.options || {};
|
|
22
|
+
this._jsf.initializeControl(this);
|
|
23
|
+
console.log(this.controlValue);
|
|
24
|
+
console.log(this.formControl?.value);
|
|
25
|
+
}
|
|
26
|
+
updateValue(event) {
|
|
27
|
+
this._jsf.updateValue(this, event.target.value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
TheSeamSchemaFormTelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormTelComponent, deps: [{ token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
TheSeamSchemaFormTelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormTelComponent, isStandalone: true, selector: "seam-schema-form-tel", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tel-input\n seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\">\n </seam-tel-input>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tel-input\n seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [disabled]=\"controlDisabled\">\n </seam-tel-input>\n</seam-form-field>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i4.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i4.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i4.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "ngmodule", type: TheSeamTelInputModule }, { kind: "component", type: i5.TheSeamTelInputComponent, selector: "seam-tel-input", inputs: ["required", "disabled", "tabIndex", "name", "value"], outputs: ["change"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormTelComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: 'seam-schema-form-tel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
35
|
+
CommonModule,
|
|
36
|
+
ReactiveFormsModule,
|
|
37
|
+
JsonSchemaFormModule,
|
|
38
|
+
TheSeamFormFieldModule,
|
|
39
|
+
TheSeamTelInputModule,
|
|
40
|
+
], template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tel-input\n seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [readonly]=\"options?.readonly ? 'readonly' : null\">\n </seam-tel-input>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tel-input\n seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [name]=\"controlName\"\n [required]=\"options?.required\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n [readonly]=\"options?.readonly ? 'readonly' : null\"\n [disabled]=\"controlDisabled\">\n </seam-tel-input>\n</seam-form-field>\n" }]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }]; }, propDecorators: { layoutNode: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], layoutIndex: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], dataIndex: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tdGVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tdGVsL3NjaGVtYS1mb3JtLXRlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXRlbC9zY2hlbWEtZm9ybS10ZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQXlCLE1BQU0sWUFBWSxDQUFBO0FBRXhFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBOzs7Ozs7O0FBZ0JwRSxNQUFNLE9BQU8sNkJBQTZCO0lBZXhDLFlBQ21CLElBQTJCO1FBQTNCLFNBQUksR0FBSixJQUFJLENBQXVCO1FBWDlDLG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBT3BCLHFCQUFnQixHQUFhLEVBQUUsQ0FBQTtJQUkzQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLElBQUksRUFBOEMsQ0FBQTtRQUN6RixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDakQsQ0FBQzs7MEhBNUJVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLDBLQ3ZCMUMsNjNDQW1DQSwyQ0RuQkksWUFBWSxnT0FDWixtQkFBbUIsc2hCQUNuQixvQkFBb0IsOEJBQ3BCLHNCQUFzQiw2MEJBQ3RCLHFCQUFxQjsyRkFHWiw2QkFBNkI7a0JBZHpDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3FCQUN0Qjs0R0FXUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5cbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtTW9kdWxlLCBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICdAYWpzZi9jb3JlJ1xuaW1wb3J0IHsgVGhlU2VhbVNjaGVtYUZvcm1Db250cm9sV2lkZ2V0LCBUaGVTZWFtU2NoZW1hRm9ybVdpZGdldExheW91dE5vZGVPcHRpb25zIH0gZnJvbSAnLi4vLi4vc2NoZW1hLWZvcm0nXG5pbXBvcnQgeyBUaGVTZWFtRm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBUaGVTZWFtVGVsSW5wdXRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdGVsLWlucHV0J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXNjaGVtYS1mb3JtLXRlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlbWEtZm9ybS10ZWwuY29tcG9uZW50Lmh0bWwnLFxuICAvLyBzdHlsZVVybHM6IFsnLi9zY2hlbWEtZm9ybS10ZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBKc29uU2NoZW1hRm9ybU1vZHVsZSxcbiAgICBUaGVTZWFtRm9ybUZpZWxkTW9kdWxlLFxuICAgIFRoZVNlYW1UZWxJbnB1dE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbVNjaGVtYUZvcm1UZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldCB7XG5cbiAgZm9ybUNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2xcbiAgY29udHJvbE5hbWU/OiBzdHJpbmdcbiAgY29udHJvbFZhbHVlPzogYW55XG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlXG4gIG9wdGlvbnM/OiBUaGVTZWFtU2NoZW1hRm9ybVdpZGdldExheW91dE5vZGVPcHRpb25zXG5cbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogVGhlU2VhbVNjaGVtYUZvcm1Db250cm9sV2lkZ2V0WydsYXlvdXROb2RlJ11cbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldFsnbGF5b3V0SW5kZXgnXVxuICBASW5wdXQoKSBkYXRhSW5kZXg6IFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldFsnZGF0YUluZGV4J11cblxuICBhdXRvQ29tcGxldGVMaXN0OiBzdHJpbmdbXSA9IFtdXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfanNmOiBKc29uU2NoZW1hRm9ybVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGU/Lm9wdGlvbnMgfHwge30gYXMgVGhlU2VhbVNjaGVtYUZvcm1XaWRnZXRMYXlvdXROb2RlT3B0aW9uc1xuICAgIHRoaXMuX2pzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKVxuICAgIGNvbnNvbGUubG9nKHRoaXMuY29udHJvbFZhbHVlKVxuICAgIGNvbnNvbGUubG9nKHRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlKVxuICB9XG5cbiAgdXBkYXRlVmFsdWUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuX2pzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpXG4gIH1cblxufVxuIiwiPHNlYW0tZm9ybS1maWVsZCAqbmdJZj1cImJvdW5kQ29udHJvbFwiPlxuICA8bmctdGVtcGxhdGUgc2VhbUZvcm1GaWVsZExhYmVsVHBsIGxldC1yZXF1aXJlZD1cInJlcXVpcmVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb25zPy5ub3RpdGxlXCI+XG4gICAgICB7eyBvcHRpb25zPy50aXRsZSB9fTxzZWFtLWZvcm0tZmllbGQtcmVxdWlyZWQtaW5kaWNhdG9yIGNsYXNzPVwicGwtMVwiIFtyZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiPjwvc2VhbS1mb3JtLWZpZWxkLXJlcXVpcmVkLWluZGljYXRvcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPHNlYW0tdGVsLWlucHV0XG4gICAgc2VhbUlucHV0XG4gICAgW2Zvcm1Db250cm9sXT1cIiRhbnkoZm9ybUNvbnRyb2wpXCJcbiAgICBbbmdDbGFzc109XCJvcHRpb25zPy5maWVsZEh0bWxDbGFzc1wiXG4gICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXG4gICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgIFtyZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXG4gICAgW3JlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIj5cbiAgPC9zZWFtLXRlbC1pbnB1dD5cbjwvc2VhbS1mb3JtLWZpZWxkPlxuXG48c2VhbS1mb3JtLWZpZWxkICpuZ0lmPVwiIWJvdW5kQ29udHJvbFwiPlxuICA8bmctdGVtcGxhdGUgc2VhbUZvcm1GaWVsZExhYmVsVHBsIGxldC1yZXF1aXJlZD1cInJlcXVpcmVkXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb25zPy5ub3RpdGxlXCI+XG4gICAgICB7eyBvcHRpb25zPy50aXRsZSB9fTxzZWFtLWZvcm0tZmllbGQtcmVxdWlyZWQtaW5kaWNhdG9yIGNsYXNzPVwicGwtMVwiIFtyZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiPjwvc2VhbS1mb3JtLWZpZWxkLXJlcXVpcmVkLWluZGljYXRvcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPHNlYW0tdGVsLWlucHV0XG4gICAgc2VhbUlucHV0XG4gICAgW25nQ2xhc3NdPVwib3B0aW9ucz8uZmllbGRIdG1sQ2xhc3NcIlxuICAgIFtpZF09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxuICAgIFtuYW1lXT1cImNvbnRyb2xOYW1lXCJcbiAgICBbcmVxdWlyZWRdPVwib3B0aW9ucz8ucmVxdWlyZWRcIlxuICAgIFt2YWx1ZV09XCJjb250cm9sVmFsdWVcIlxuICAgIChpbnB1dCk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcbiAgICBbcmVhZG9ubHldPVwib3B0aW9ucz8ucmVhZG9ubHkgPyAncmVhZG9ubHknIDogbnVsbFwiXG4gICAgW2Rpc2FibGVkXT1cImNvbnRyb2xEaXNhYmxlZFwiPlxuICA8L3NlYW0tdGVsLWlucHV0PlxuPC9zZWFtLWZvcm0tZmllbGQ+XG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { JsonSchemaFormModule } from '@ajsf/core';
|
|
5
|
+
import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
|
|
6
|
+
import { TheSeamTiledSelectModule } from '@theseam/ui-common/tiled-select';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ajsf/core";
|
|
9
|
+
import * as i2 from "@angular/cdk/platform";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
import * as i4 from "@angular/forms";
|
|
12
|
+
import * as i5 from "@theseam/ui-common/form-field";
|
|
13
|
+
import * as i6 from "@theseam/ui-common/tiled-select";
|
|
14
|
+
export class TheSeamSchemaFormTiledSelectComponent {
|
|
15
|
+
constructor(_jsf, _platform) {
|
|
16
|
+
this._jsf = _jsf;
|
|
17
|
+
this._platform = _platform;
|
|
18
|
+
this.controlDisabled = false;
|
|
19
|
+
this.boundControl = false;
|
|
20
|
+
this.tiles = [];
|
|
21
|
+
this.layout = 'grid';
|
|
22
|
+
this.multiple = false;
|
|
23
|
+
this.selectionToggleable = true;
|
|
24
|
+
this.tileBackdrop = false;
|
|
25
|
+
this.showSelectedIcon = true;
|
|
26
|
+
this.animationsDisabled = this._platform.IOS;
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.options = this.layoutNode?.options || {};
|
|
30
|
+
this._jsf.initializeControl(this);
|
|
31
|
+
console.log(this.options);
|
|
32
|
+
console.log(this.layoutNode);
|
|
33
|
+
this.tiles = this.options.tiles || [];
|
|
34
|
+
}
|
|
35
|
+
updateValue(event) {
|
|
36
|
+
this._jsf.updateValue(this, event.target.value);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
TheSeamSchemaFormTiledSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormTiledSelectComponent, deps: [{ token: i1.JsonSchemaFormService }, { token: i2.Platform }], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
TheSeamSchemaFormTiledSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamSchemaFormTiledSelectComponent, isStandalone: true, selector: "seam-schema-form-tiled-select", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, ngImport: i0, template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tiled-select\n seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [attr.name]=\"controlName\"\n [required]=\"options?.required\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [tiles]=\"tiles\"\n [layout]=\"layout\"\n [multiple]=\"multiple\"\n [selectionToggleable]=\"selectionToggleable\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [animationsDisabled]=\"animationsDisabled\">\n </seam-tiled-select>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tiled-select\n seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [attr.name]=\"controlName\"\n [attr.required]=\"options?.required\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n [disabled]=\"controlDisabled\"\n [tiles]=\"tiles\"\n [layout]=\"layout\"\n [multiple]=\"multiple\"\n [selectionToggleable]=\"selectionToggleable\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [animationsDisabled]=\"animationsDisabled\">\n </seam-tiled-select>\n</seam-form-field>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: JsonSchemaFormModule }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "component", type: i5.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i5.FormFieldLabelTplDirective, selector: "[seamFormFieldLabelTpl]" }, { kind: "component", type: i5.FormFieldRequiredIndicatorComponent, selector: "seam-form-field-required-indicator", inputs: ["required"] }, { kind: "ngmodule", type: TheSeamTiledSelectModule }, { kind: "component", type: i6.TheSeamTiledSelectComponent, selector: "seam-tiled-select", inputs: ["layout", "tiles", "value", "disabled", "multiple", "selectionToggleable", "tileBackdrop", "showSelectedIcon", "animationsDisabled"], outputs: ["change"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamSchemaFormTiledSelectComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{ selector: 'seam-schema-form-tiled-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
44
|
+
CommonModule,
|
|
45
|
+
ReactiveFormsModule,
|
|
46
|
+
JsonSchemaFormModule,
|
|
47
|
+
TheSeamFormFieldModule,
|
|
48
|
+
TheSeamTiledSelectModule,
|
|
49
|
+
], template: "<seam-form-field *ngIf=\"boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tiled-select\n seamInput\n [formControl]=\"$any(formControl)\"\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [attr.name]=\"controlName\"\n [required]=\"options?.required\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [tiles]=\"tiles\"\n [layout]=\"layout\"\n [multiple]=\"multiple\"\n [selectionToggleable]=\"selectionToggleable\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [animationsDisabled]=\"animationsDisabled\">\n </seam-tiled-select>\n</seam-form-field>\n\n<seam-form-field *ngIf=\"!boundControl\">\n <ng-template seamFormFieldLabelTpl let-required=\"required\">\n <ng-container *ngIf=\"!options?.notitle\">\n {{ options?.title }}<seam-form-field-required-indicator class=\"pl-1\" [required]=\"options?.required\"></seam-form-field-required-indicator>\n </ng-container>\n </ng-template>\n <seam-tiled-select\n seamInput\n [ngClass]=\"options?.fieldHtmlClass\"\n [id]=\"'control' + layoutNode?._id\"\n [attr.name]=\"controlName\"\n [attr.required]=\"options?.required\"\n [attr.readonly]=\"options?.readonly ? 'readonly' : null\"\n [value]=\"controlValue\"\n (input)=\"updateValue($event)\"\n [disabled]=\"controlDisabled\"\n [tiles]=\"tiles\"\n [layout]=\"layout\"\n [multiple]=\"multiple\"\n [selectionToggleable]=\"selectionToggleable\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [animationsDisabled]=\"animationsDisabled\">\n </seam-tiled-select>\n</seam-form-field>\n" }]
|
|
50
|
+
}], ctorParameters: function () { return [{ type: i1.JsonSchemaFormService }, { type: i2.Platform }]; }, propDecorators: { layoutNode: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], layoutIndex: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], dataIndex: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tdGlsZWQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvc2NoZW1hLWZvcm0tY29udHJvbHMvc2NoZW1hLWZvcm0tdGlsZWQtc2VsZWN0L3NjaGVtYS1mb3JtLXRpbGVkLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL3NjaGVtYS1mb3JtLWNvbnRyb2xzL3NjaGVtYS1mb3JtLXRpbGVkLXNlbGVjdC9zY2hlbWEtZm9ybS10aWxlZC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQXlCLE1BQU0sWUFBWSxDQUFBO0FBRXhFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBc0MsTUFBTSxpQ0FBaUMsQ0FBQTs7Ozs7Ozs7QUFpQjlHLE1BQU0sT0FBTyxxQ0FBcUM7SUFxQmhELFlBQ21CLElBQTJCLEVBQzNCLFNBQW1CO1FBRG5CLFNBQUksR0FBSixJQUFJLENBQXVCO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFsQnRDLG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBT3BCLFVBQUssR0FBc0IsRUFBRSxDQUFBO1FBQzdCLFdBQU0sR0FBc0IsTUFBTSxDQUFBO1FBQ2xDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsd0JBQW1CLEdBQUcsSUFBSSxDQUFBO1FBQzFCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBQ3BCLHFCQUFnQixHQUFHLElBQUksQ0FBQTtRQUN2Qix1QkFBa0IsR0FBWSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQTtJQUs1QyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLElBQUksRUFBOEMsQ0FBQTtRQUN6RixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNqRCxDQUFDOztrSUFwQ1UscUNBQXFDO3NIQUFyQyxxQ0FBcUMsbUxDeEJsRCx3NkRBaURBLDJDRGhDSSxZQUFZLGdPQUNaLG1CQUFtQixzaEJBQ25CLG9CQUFvQiw4QkFDcEIsc0JBQXNCLG9lQUN0Qix3QkFBd0I7MkZBR2YscUNBQXFDO2tCQWRqRCxTQUFTOytCQUNFLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7cUJBQ3pCO21JQVdRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcblxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1Nb2R1bGUsIEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BhanNmL2NvcmUnXG5pbXBvcnQgeyBUaGVTZWFtU2NoZW1hRm9ybUNvbnRyb2xXaWRnZXQsIFRoZVNlYW1TY2hlbWFGb3JtV2lkZ2V0TGF5b3V0Tm9kZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9zY2hlbWEtZm9ybSdcbmltcG9ydCB7IFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZm9ybS1maWVsZCdcbmltcG9ydCB7IFRoZVNlYW1UaWxlZFNlbGVjdE1vZHVsZSwgVGlsZWRTZWxlY3RJdGVtLCBUaWxlZFNlbGVjdExheW91dCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90aWxlZC1zZWxlY3QnXG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1zY2hlbWEtZm9ybS10aWxlZC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZW1hLWZvcm0tdGlsZWQtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgLy8gc3R5bGVVcmxzOiBbJy4vc2NoZW1hLWZvcm0tdGlsZWQtc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSnNvblNjaGVtYUZvcm1Nb2R1bGUsXG4gICAgVGhlU2VhbUZvcm1GaWVsZE1vZHVsZSxcbiAgICBUaGVTZWFtVGlsZWRTZWxlY3RNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1TY2hlbWFGb3JtVGlsZWRTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldCB7XG5cbiAgZm9ybUNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2xcbiAgY29udHJvbE5hbWU/OiBzdHJpbmdcbiAgY29udHJvbFZhbHVlPzogYW55XG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlXG4gIG9wdGlvbnM/OiBUaGVTZWFtU2NoZW1hRm9ybVdpZGdldExheW91dE5vZGVPcHRpb25zXG5cbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogVGhlU2VhbVNjaGVtYUZvcm1Db250cm9sV2lkZ2V0WydsYXlvdXROb2RlJ11cbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldFsnbGF5b3V0SW5kZXgnXVxuICBASW5wdXQoKSBkYXRhSW5kZXg6IFRoZVNlYW1TY2hlbWFGb3JtQ29udHJvbFdpZGdldFsnZGF0YUluZGV4J11cblxuICB0aWxlczogVGlsZWRTZWxlY3RJdGVtW10gPSBbXVxuICBsYXlvdXQ6IFRpbGVkU2VsZWN0TGF5b3V0ID0gJ2dyaWQnXG4gIG11bHRpcGxlID0gZmFsc2VcbiAgc2VsZWN0aW9uVG9nZ2xlYWJsZSA9IHRydWVcbiAgdGlsZUJhY2tkcm9wID0gZmFsc2VcbiAgc2hvd1NlbGVjdGVkSWNvbiA9IHRydWVcbiAgYW5pbWF0aW9uc0Rpc2FibGVkOiBib29sZWFuID0gdGhpcy5fcGxhdGZvcm0uSU9TXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfanNmOiBKc29uU2NoZW1hRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZT8ub3B0aW9ucyB8fCB7fSBhcyBUaGVTZWFtU2NoZW1hRm9ybVdpZGdldExheW91dE5vZGVPcHRpb25zXG4gICAgdGhpcy5fanNmLmluaXRpYWxpemVDb250cm9sKHRoaXMpXG4gICAgY29uc29sZS5sb2codGhpcy5vcHRpb25zKVxuICAgIGNvbnNvbGUubG9nKHRoaXMubGF5b3V0Tm9kZSlcbiAgICB0aGlzLnRpbGVzID0gdGhpcy5vcHRpb25zLnRpbGVzIHx8IFtdXG4gIH1cblxuICB1cGRhdGVWYWx1ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5fanNmLnVwZGF0ZVZhbHVlKHRoaXMsIGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgfVxuXG59XG4iLCI8c2VhbS1mb3JtLWZpZWxkICpuZ0lmPVwiYm91bmRDb250cm9sXCI+XG4gIDxuZy10ZW1wbGF0ZSBzZWFtRm9ybUZpZWxkTGFiZWxUcGwgbGV0LXJlcXVpcmVkPVwicmVxdWlyZWRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvbnM/Lm5vdGl0bGVcIj5cbiAgICAgIHt7IG9wdGlvbnM/LnRpdGxlIH19PHNlYW0tZm9ybS1maWVsZC1yZXF1aXJlZC1pbmRpY2F0b3IgY2xhc3M9XCJwbC0xXCIgW3JlcXVpcmVkXT1cIm9wdGlvbnM/LnJlcXVpcmVkXCI+PC9zZWFtLWZvcm0tZmllbGQtcmVxdWlyZWQtaW5kaWNhdG9yPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8c2VhbS10aWxlZC1zZWxlY3RcbiAgICBzZWFtSW5wdXRcbiAgICBbZm9ybUNvbnRyb2xdPVwiJGFueShmb3JtQ29udHJvbClcIlxuICAgIFtuZ0NsYXNzXT1cIm9wdGlvbnM/LmZpZWxkSHRtbENsYXNzXCJcbiAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkXCJcbiAgICBbYXR0ci5uYW1lXT1cImNvbnRyb2xOYW1lXCJcbiAgICBbcmVxdWlyZWRdPVwib3B0aW9ucz8ucmVxdWlyZWRcIlxuICAgIFthdHRyLnJlYWRvbmx5XT1cIm9wdGlvbnM/LnJlYWRvbmx5ID8gJ3JlYWRvbmx5JyA6IG51bGxcIlxuICAgIFt0aWxlc109XCJ0aWxlc1wiXG4gICAgW2xheW91dF09XCJsYXlvdXRcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW3NlbGVjdGlvblRvZ2dsZWFibGVdPVwic2VsZWN0aW9uVG9nZ2xlYWJsZVwiXG4gICAgW3RpbGVCYWNrZHJvcF09XCJ0aWxlQmFja2Ryb3BcIlxuICAgIFtzaG93U2VsZWN0ZWRJY29uXT1cInNob3dTZWxlY3RlZEljb25cIlxuICAgIFthbmltYXRpb25zRGlzYWJsZWRdPVwiYW5pbWF0aW9uc0Rpc2FibGVkXCI+XG4gIDwvc2VhbS10aWxlZC1zZWxlY3Q+XG48L3NlYW0tZm9ybS1maWVsZD5cblxuPHNlYW0tZm9ybS1maWVsZCAqbmdJZj1cIiFib3VuZENvbnRyb2xcIj5cbiAgPG5nLXRlbXBsYXRlIHNlYW1Gb3JtRmllbGRMYWJlbFRwbCBsZXQtcmVxdWlyZWQ9XCJyZXF1aXJlZFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9ucz8ubm90aXRsZVwiPlxuICAgICAge3sgb3B0aW9ucz8udGl0bGUgfX08c2VhbS1mb3JtLWZpZWxkLXJlcXVpcmVkLWluZGljYXRvciBjbGFzcz1cInBsLTFcIiBbcmVxdWlyZWRdPVwib3B0aW9ucz8ucmVxdWlyZWRcIj48L3NlYW0tZm9ybS1maWVsZC1yZXF1aXJlZC1pbmRpY2F0b3I+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxzZWFtLXRpbGVkLXNlbGVjdFxuICAgIHNlYW1JbnB1dFxuICAgIFtuZ0NsYXNzXT1cIm9wdGlvbnM/LmZpZWxkSHRtbENsYXNzXCJcbiAgICBbaWRdPVwiJ2NvbnRyb2wnICsgbGF5b3V0Tm9kZT8uX2lkXCJcbiAgICBbYXR0ci5uYW1lXT1cImNvbnRyb2xOYW1lXCJcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJvcHRpb25zPy5yZXF1aXJlZFwiXG4gICAgW2F0dHIucmVhZG9ubHldPVwib3B0aW9ucz8ucmVhZG9ubHkgPyAncmVhZG9ubHknIDogbnVsbFwiXG4gICAgW3ZhbHVlXT1cImNvbnRyb2xWYWx1ZVwiXG4gICAgKGlucHV0KT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJjb250cm9sRGlzYWJsZWRcIlxuICAgIFt0aWxlc109XCJ0aWxlc1wiXG4gICAgW2xheW91dF09XCJsYXlvdXRcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW3NlbGVjdGlvblRvZ2dsZWFibGVdPVwic2VsZWN0aW9uVG9nZ2xlYWJsZVwiXG4gICAgW3RpbGVCYWNrZHJvcF09XCJ0aWxlQmFja2Ryb3BcIlxuICAgIFtzaG93U2VsZWN0ZWRJY29uXT1cInNob3dTZWxlY3RlZEljb25cIlxuICAgIFthbmltYXRpb25zRGlzYWJsZWRdPVwiYW5pbWF0aW9uc0Rpc2FibGVkXCI+XG4gIDwvc2VhbS10aWxlZC1zZWxlY3Q+XG48L3NlYW0tZm9ybS1maWVsZD5cbiJdfQ==
|