geonetwork-ui 2.4.0 → 2.4.1-dev.1d2ade24e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +4 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +5 -2
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +6 -62
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +19 -1
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +27 -16
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +27 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +7 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +3 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +18 -14
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +15 -5
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +10 -4
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +6 -5
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +118 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +36 -23
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +7 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +17 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +7 -13
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +36 -60
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +11 -15
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +3 -4
- package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/index.mjs +3 -2
- package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +213 -0
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +19 -13
- package/esm2022/libs/ui/inputs/src/index.mjs +5 -6
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +19 -25
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +11 -6
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +9 -4
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -10
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +37 -1
- package/esm2022/translations/de.json +53 -17
- package/esm2022/translations/en.json +33 -16
- package/esm2022/translations/es.json +51 -15
- package/esm2022/translations/fr.json +37 -20
- package/esm2022/translations/it.json +266 -228
- package/esm2022/translations/nl.json +51 -15
- package/esm2022/translations/pt.json +51 -15
- package/fesm2022/geonetwork-ui.mjs +1805 -1420
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +4 -3
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +4 -3
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +3 -0
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +10 -2
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +6 -2
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +5 -2
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +2 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +2 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +52 -4
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +4 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +1 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +6 -5
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +1 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +0 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -1
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +4 -5
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +6 -7
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +5 -4
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -3
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +2 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +4 -3
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +8 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.ts +9 -62
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +18 -0
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +53 -27
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +29 -7
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +5 -4
- package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.fixtures.ts +2 -2
- package/src/libs/common/fixtures/src/lib/elasticsearch/search-responses.fixtures.ts +16 -16
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +163 -0
- package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +24 -4
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +10 -1
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +57 -31
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +15 -9
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +18 -12
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +13 -8
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +63 -6
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +145 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +31 -19
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +1 -10
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +1 -7
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +12 -25
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +15 -10
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +0 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +3 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +6 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +46 -74
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -3
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +3 -6
- package/src/libs/feature/editor/src/lib/fields.config.ts +10 -14
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +18 -16
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +0 -1
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +0 -3
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +1 -0
- package/src/libs/ui/elements/src/index.ts +2 -1
- package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.html +4 -19
- package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.ts +13 -9
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +13 -10
- package/src/libs/ui/inputs/src/index.ts +4 -5
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +1 -1
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +22 -25
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +5 -3
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +10 -2
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +12 -1
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +4 -6
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +23 -6
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -6
- package/src/libs/util/shared/src/lib/links/link-utils.ts +48 -1
- package/tailwind.base.config.js +2 -0
- package/translations/de.json +53 -17
- package/translations/en.json +33 -16
- package/translations/es.json +51 -15
- package/translations/fr.json +37 -20
- package/translations/it.json +266 -228
- package/translations/nl.json +51 -15
- package/translations/pt.json +51 -15
- package/translations/sk.json +51 -15
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +0 -214
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +0 -1
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +0 -67
- /package/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.d.ts +0 -0
- /package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.css +0 -0
package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs
CHANGED
|
@@ -86,7 +86,7 @@ export class ImportRecordComponent {
|
|
|
86
86
|
provideNgIconsConfig({
|
|
87
87
|
size: '1.5em',
|
|
88
88
|
}),
|
|
89
|
-
], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\"> {{ externalImportBackLabel }}</span>\n </div>\n <gn-ui-url-input\n (uploadClick)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "
|
|
89
|
+
], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\"> {{ externalImportBackLabel }}</span>\n </div>\n <gn-ui-url-input\n (uploadClick)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
90
90
|
}
|
|
91
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImportRecordComponent, decorators: [{
|
|
92
92
|
type: Component,
|
|
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
110
110
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i3.NotificationsService }, { type: i4.RecordsRepositoryInterface }], propDecorators: { closeImportMenu: [{
|
|
111
111
|
type: Output
|
|
112
112
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXJlY29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9pbXBvcnQtcmVjb3JkL2ltcG9ydC1yZWNvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvaW1wb3J0LXJlY29yZC9pbXBvcnQtcmVjb3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlGQUF5RixDQUFBO0FBQ3BJLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEVBRWhCLGFBQWEsRUFDYixrQkFBa0IsR0FDbkIsTUFBTSxtQkFBbUIsQ0FBQTs7Ozs7OztBQXFDMUIsTUFBTSxPQUFPLHFCQUFxQjtJQTZCaEMsWUFDVSxNQUFjLEVBQ2QsZ0JBQWtDLEVBQ2xDLEdBQXNCLEVBQ3RCLG9CQUEwQyxFQUMxQyxpQkFBNkM7UUFKN0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBakM3QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFFcEQsb0JBQWUsR0FBc0I7WUFDbkMsSUFBSTtZQUNKLDZFQUE2RTtZQUM3RSxnQ0FBZ0M7WUFDaEMsd0JBQXdCO1lBQ3hCLGlDQUFpQztZQUNqQyxvQkFBb0I7WUFDcEIsS0FBSztZQUNMO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUNsQyx1Q0FBdUMsQ0FDeEM7Z0JBQ0QsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDN0MsUUFBUSxFQUFFLHFCQUFxQjthQUNoQztTQUNGLENBQUE7UUFFRCw2QkFBd0IsR0FBRyxLQUFLLENBQUE7UUFFaEMscUJBQWdCLEdBQW1CLFVBQVUsQ0FBQTtRQUU3Qyw0QkFBdUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUNyRCw0Q0FBNEMsQ0FDN0MsQ0FBQTtJQVFFLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG9CQUFvQixDQUFBO1FBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFXO1FBQ3RCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUE7UUFFcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RCxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUN4Qzt3QkFDRSxJQUFJLEVBQUUsU0FBUzt3QkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDbEMsb0RBQW9ELENBQ3JEO3dCQUNELElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQ3BDLG1EQUFtRCxDQUNwRCxFQUFFO3FCQUNKLEVBQ0QsSUFBSSxDQUNMLENBQUE7b0JBRUQsSUFBSSxDQUFDLE1BQU07eUJBQ1IsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO3lCQUNqQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDdkMsQ0FBQztnQkFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQzdCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQ3hDO29CQUNFLElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUNsQyxvREFBb0QsQ0FDckQ7b0JBQ0QsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDcEMsbURBQW1ELENBQ3BELElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUU7aUJBQzNCLEVBQ0QsSUFBSSxFQUNKLEtBQUssQ0FDTixDQUFBO2dCQUNELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUE7Z0JBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUE7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBMUZVLHFCQUFxQjttR0FBckIscUJBQXFCLG1IQVhyQjtZQUNULFlBQVksQ0FBQztnQkFDWCxhQUFhO2dCQUNiLGtCQUFrQjtnQkFDbEIsZ0JBQWdCO2FBQ2pCLENBQUM7WUFDRixvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU87YUFDZCxDQUFDO1NBQ0gsMEJDM0RILDZ2REE4Q0EseURESEksWUFBWSx3VkFDWixlQUFlLCtIQUVmLGlCQUFpQixvTEFDakIsZUFBZSw0RkFDZixlQUFlOzs0RkFhTixxQkFBcUI7a0JBekJqQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIsYUFDVTt3QkFDVCxZQUFZLENBQUM7NEJBQ1gsYUFBYTs0QkFDYixrQkFBa0I7NEJBQ2xCLGdCQUFnQjt5QkFDakIsQ0FBQzt3QkFDRixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87eUJBQ2QsQ0FBQztxQkFDSDtzTkFHUyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBVcmxJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQge1xuICBOZ0ljb25Db21wb25lbnQsXG4gIHByb3ZpZGVJY29ucyxcbiAgcHJvdmlkZU5nSWNvbnNDb25maWcsXG59IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHtcbiAgaWNvbm9pckFycm93TGVmdCxcbiAgaWNvbm9pckF0dGFjaG1lbnQsXG4gIGljb25vaXJJbXBvcnQsXG4gIGljb25vaXJMaWdodEJ1bGJPbixcbn0gZnJvbSAnQG5nLWljb25zL2ljb25vaXInXG5cbmludGVyZmFjZSBJbXBvcnRNZW51SXRlbXMge1xuICBsYWJlbDogc3RyaW5nXG4gIGljb246IHN0cmluZ1xuICBhY3Rpb246ICgpID0+IGFueVxuICBkYXRhVGVzdDogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG50eXBlIEltcG9ydE1lbnVQYWdlID0gJ21haW5NZW51JyB8ICdpbXBvcnRFeHRlcm5hbEZpbGUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWltcG9ydC1yZWNvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wb3J0LXJlY29yZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltcG9ydC1yZWNvcmQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIFVybElucHV0Q29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBOZ0ljb25Db21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBpY29ub2lySW1wb3J0LFxuICAgICAgaWNvbm9pckxpZ2h0QnVsYk9uLFxuICAgICAgaWNvbm9pckFycm93TGVmdCxcbiAgICB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJbXBvcnRSZWNvcmRDb21wb25lbnQge1xuICBAT3V0cHV0KCkgY2xvc2VJbXBvcnRNZW51ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgaW1wb3J0TWVudUl0ZW1zOiBJbXBvcnRNZW51SXRlbXNbXSA9IFtcbiAgICAvLyB7XG4gICAgLy8gICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rhc2hib2FyZC5pbXBvcnRSZWNvcmQudXNlTW9kZWwnKSxcbiAgICAvLyAgIGljb246ICdpY29ub2lyTGlnaHRCdWxiT24nLFxuICAgIC8vICAgYWN0aW9uOiAoKSA9PiBudWxsLFxuICAgIC8vICAgZGF0YVRlc3Q6ICd1c2VBTW9kZWxCdXR0b24nLFxuICAgIC8vICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgLy8gfSxcbiAgICB7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICdkYXNoYm9hcmQuaW1wb3J0UmVjb3JkLmltcG9ydEV4dGVybmFsJ1xuICAgICAgKSxcbiAgICAgIGljb246ICdpY29ub2lySW1wb3J0JyxcbiAgICAgIGFjdGlvbjogdGhpcy5kaXNwbGF5SW1wb3J0RXh0ZXJuYWwuYmluZCh0aGlzKSxcbiAgICAgIGRhdGFUZXN0OiAnaW1wb3J0RnJvbVVybEJ1dHRvbicsXG4gICAgfSxcbiAgXVxuXG4gIGlzUmVjb3JkSW1wb3J0SW5Qcm9ncmVzcyA9IGZhbHNlXG5cbiAgc2VjdGlvbkRpc3BsYXllZDogSW1wb3J0TWVudVBhZ2UgPSAnbWFpbk1lbnUnXG5cbiAgZXh0ZXJuYWxJbXBvcnRCYWNrTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAnZGFzaGJvYXJkLmltcG9ydFJlY29yZC5pbXBvcnRFeHRlcm5hbExhYmVsJ1xuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uc1NlcnZpY2U6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnk6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlXG4gICkge31cblxuICBkaXNwbGF5TWFpbk1lbnUoKSB7XG4gICAgdGhpcy5zZWN0aW9uRGlzcGxheWVkID0gJ21haW5NZW51J1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXG4gIH1cblxuICBkaXNwbGF5SW1wb3J0RXh0ZXJuYWwoKSB7XG4gICAgdGhpcy5zZWN0aW9uRGlzcGxheWVkID0gJ2ltcG9ydEV4dGVybmFsRmlsZSdcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxuICB9XG5cbiAgaW1wb3J0UmVjb3JkKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5pc1JlY29yZEltcG9ydEluUHJvZ3Jlc3MgPSB0cnVlXG5cbiAgICB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmR1cGxpY2F0ZUV4dGVybmFsUmVjb3JkKHVybCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZWNvcmRUZW1wSWQpID0+IHtcbiAgICAgICAgaWYgKHJlY29yZFRlbXBJZCkge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuaW1wb3J0RnJvbUV4dGVybmFsRmlsZS5zdWNjZXNzLnRpdGxlJ1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB0ZXh0OiBgJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5pbXBvcnRGcm9tRXh0ZXJuYWxGaWxlLnN1Y2Nlc3MuYm9keSdcbiAgICAgICAgICAgICAgKX1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIDI1MDBcbiAgICAgICAgICApXG5cbiAgICAgICAgICB0aGlzLnJvdXRlclxuICAgICAgICAgICAgLm5hdmlnYXRlKFsnL2VkaXQnLCByZWNvcmRUZW1wSWRdKVxuICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSlcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlSW1wb3J0TWVudS5uZXh0KClcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5pbXBvcnRGcm9tRXh0ZXJuYWxGaWxlLmZhaWx1cmUudGl0bGUnXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGV4dDogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICdlZGl0b3IucmVjb3JkLmltcG9ydEZyb21FeHRlcm5hbEZpbGUuZmFpbHVyZS5ib2R5J1xuICAgICAgICAgICAgKX0gJHtlcnJvci5tZXNzYWdlID8/ICcnfWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAyNTAwLFxuICAgICAgICAgIGVycm9yXG4gICAgICAgIClcbiAgICAgICAgdGhpcy5pc1JlY29yZEltcG9ydEluUHJvZ3Jlc3MgPSBmYWxzZVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxuICAgICAgfSxcbiAgICB9KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWN0aW9uRGlzcGxheWVkXCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtYWluTWVudSdcIj5cbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3Q9XCJpbXBvcnRNZW51TWFpblNlY3Rpb25cIlxuICAgICAgY2xhc3M9XCJtdC0yIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcC0yIGZsZXggaXRlbXMtY2VudGVyIGJnLXdoaXRlIHNoYWRvdy0yeGwgcm91bmRlZC0yeGxcIlxuICAgID5cbiAgICAgIDx1bCBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIgdy1mdWxsXCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgaW1wb3J0TWVudUl0ZW1zXCI+XG4gICAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIm1lbnVJdGVtLmRhdGFUZXN0XCJcbiAgICAgICAgICAgIHR5cGU9XCJsaWdodFwiXG4gICAgICAgICAgICBleHRyYUNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTIgdy1mdWxsIGp1c3RpZnktc3RhcnRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cIm1lbnVJdGVtLmFjdGlvbigpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtZW51SXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgIChtZW51SXRlbS5kaXNhYmxlZCA/ICdlZGl0b3IudGVtcG9yYXJ5LmRpc2FibGVkJyA6ICcnKSB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48bmctaWNvbiBbbmFtZV09XCJtZW51SXRlbS5pY29uXCI+PC9uZy1pY29uXG4gICAgICAgICAgICA+PHNwYW4+e3sgbWVudUl0ZW0ubGFiZWwgfX08L3NwYW4+PC9nbi11aS1idXR0b25cbiAgICAgICAgICA+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ltcG9ydEV4dGVybmFsRmlsZSdcIj5cbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3Q9XCJpbXBvcnRNZW51SW1wb3J0RXh0ZXJuYWxGaWxlU2VjdGlvblwiXG4gICAgICBjbGFzcz1cInAtNiBmbGV4IGZsZXgtY29sIGdhcC0yIG10LTIgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCBiZy13aGl0ZSBzaGFkb3ctMnhsIHJvdW5kZWQtMnhsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgIGRhdGEtdGVzdD1cImltcG9ydE1lbnVJbXBvcnRFeHRlcm5hbEZpbGVTZWN0aW9uQmFja0J1dHRvblwiXG4gICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiZGlzcGxheU1haW5NZW51KClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWljb24gbmFtZT1cImljb25vaXJBcnJvd0xlZnRcIj48L25nLWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPiB7eyBleHRlcm5hbEltcG9ydEJhY2tMYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGduLXVpLXVybC1pbnB1dFxuICAgICAgICAodXBsb2FkQ2xpY2spPVwiaW1wb3J0UmVjb3JkKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWNvcmRJbXBvcnRJblByb2dyZXNzXCJcbiAgICAgID48L2duLXVpLXVybC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXJlY29yZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9pbXBvcnQtcmVjb3JkL2ltcG9ydC1yZWNvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvaW1wb3J0LXJlY29yZC9pbXBvcnQtcmVjb3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFBO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlGQUF5RixDQUFBO0FBQ3BJLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEVBRWhCLGFBQWEsRUFDYixrQkFBa0IsR0FDbkIsTUFBTSxtQkFBbUIsQ0FBQTs7Ozs7OztBQXFDMUIsTUFBTSxPQUFPLHFCQUFx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QUFBO2dCQUNELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUE7Z0JBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUE7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBMUZVLHFCQUFxQjttR0FBckIscUJBQXFCLG1IQVhyQjtZQUNULFlBQVksQ0FBQztnQkFDWCxhQUFhO2dCQUNiLGtCQUFrQjtnQkFDbEIsZ0JBQWdCO2FBQ2pCLENBQUM7WUFDRixvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU87YUFDZCxDQUFDO1NBQ0gsMEJDM0RILDZ2REE4Q0EseURESEksWUFBWSx3VkFDWixlQUFlLCtIQUVmLGlCQUFpQixzTEFDakIsZUFBZSw0RkFDZixlQUFlOzs0RkFhTixxQkFBcUI7a0JBekJqQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIsYUFDVTt3QkFDVCxZQUFZLENBQUM7NEJBQ1gsYUFBYTs0QkFDYixrQkFBa0I7NEJBQ2xCLGdCQUFnQjt5QkFDakIsQ0FBQzt3QkFDRixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87eUJBQ2QsQ0FBQztxQkFDSDtzTkFHUyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBVcmxJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL25vdGlmaWNhdGlvbnMvc3JjJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQge1xuICBOZ0ljb25Db21wb25lbnQsXG4gIHByb3ZpZGVJY29ucyxcbiAgcHJvdmlkZU5nSWNvbnNDb25maWcsXG59IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHtcbiAgaWNvbm9pckFycm93TGVmdCxcbiAgaWNvbm9pckF0dGFjaG1lbnQsXG4gIGljb25vaXJJbXBvcnQsXG4gIGljb25vaXJMaWdodEJ1bGJPbixcbn0gZnJvbSAnQG5nLWljb25zL2ljb25vaXInXG5cbmludGVyZmFjZSBJbXBvcnRNZW51SXRlbXMge1xuICBsYWJlbDogc3RyaW5nXG4gIGljb246IHN0cmluZ1xuICBhY3Rpb246ICgpID0+IGFueVxuICBkYXRhVGVzdDogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG50eXBlIEltcG9ydE1lbnVQYWdlID0gJ21haW5NZW51JyB8ICdpbXBvcnRFeHRlcm5hbEZpbGUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWltcG9ydC1yZWNvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wb3J0LXJlY29yZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltcG9ydC1yZWNvcmQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIFVybElucHV0Q29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBOZ0ljb25Db21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7XG4gICAgICBpY29ub2lySW1wb3J0LFxuICAgICAgaWNvbm9pckxpZ2h0QnVsYk9uLFxuICAgICAgaWNvbm9pckFycm93TGVmdCxcbiAgICB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJbXBvcnRSZWNvcmRDb21wb25lbnQge1xuICBAT3V0cHV0KCkgY2xvc2VJbXBvcnRNZW51ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgaW1wb3J0TWVudUl0ZW1zOiBJbXBvcnRNZW51SXRlbXNbXSA9IFtcbiAgICAvLyB7XG4gICAgLy8gICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Rhc2hib2FyZC5pbXBvcnRSZWNvcmQudXNlTW9kZWwnKSxcbiAgICAvLyAgIGljb246ICdpY29ub2lyTGlnaHRCdWxiT24nLFxuICAgIC8vICAgYWN0aW9uOiAoKSA9PiBudWxsLFxuICAgIC8vICAgZGF0YVRlc3Q6ICd1c2VBTW9kZWxCdXR0b24nLFxuICAgIC8vICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgLy8gfSxcbiAgICB7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICdkYXNoYm9hcmQuaW1wb3J0UmVjb3JkLmltcG9ydEV4dGVybmFsJ1xuICAgICAgKSxcbiAgICAgIGljb246ICdpY29ub2lySW1wb3J0JyxcbiAgICAgIGFjdGlvbjogdGhpcy5kaXNwbGF5SW1wb3J0RXh0ZXJuYWwuYmluZCh0aGlzKSxcbiAgICAgIGRhdGFUZXN0OiAnaW1wb3J0RnJvbVVybEJ1dHRvbicsXG4gICAgfSxcbiAgXVxuXG4gIGlzUmVjb3JkSW1wb3J0SW5Qcm9ncmVzcyA9IGZhbHNlXG5cbiAgc2VjdGlvbkRpc3BsYXllZDogSW1wb3J0TWVudVBhZ2UgPSAnbWFpbk1lbnUnXG5cbiAgZXh0ZXJuYWxJbXBvcnRCYWNrTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAnZGFzaGJvYXJkLmltcG9ydFJlY29yZC5pbXBvcnRFeHRlcm5hbExhYmVsJ1xuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uc1NlcnZpY2U6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnk6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlXG4gICkge31cblxuICBkaXNwbGF5TWFpbk1lbnUoKSB7XG4gICAgdGhpcy5zZWN0aW9uRGlzcGxheWVkID0gJ21haW5NZW51J1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXG4gIH1cblxuICBkaXNwbGF5SW1wb3J0RXh0ZXJuYWwoKSB7XG4gICAgdGhpcy5zZWN0aW9uRGlzcGxheWVkID0gJ2ltcG9ydEV4dGVybmFsRmlsZSdcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxuICB9XG5cbiAgaW1wb3J0UmVjb3JkKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5pc1JlY29yZEltcG9ydEluUHJvZ3Jlc3MgPSB0cnVlXG5cbiAgICB0aGlzLnJlY29yZHNSZXBvc2l0b3J5LmR1cGxpY2F0ZUV4dGVybmFsUmVjb3JkKHVybCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZWNvcmRUZW1wSWQpID0+IHtcbiAgICAgICAgaWYgKHJlY29yZFRlbXBJZCkge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgJ2VkaXRvci5yZWNvcmQuaW1wb3J0RnJvbUV4dGVybmFsRmlsZS5zdWNjZXNzLnRpdGxlJ1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB0ZXh0OiBgJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5pbXBvcnRGcm9tRXh0ZXJuYWxGaWxlLnN1Y2Nlc3MuYm9keSdcbiAgICAgICAgICAgICAgKX1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIDI1MDBcbiAgICAgICAgICApXG5cbiAgICAgICAgICB0aGlzLnJvdXRlclxuICAgICAgICAgICAgLm5hdmlnYXRlKFsnL2VkaXQnLCByZWNvcmRUZW1wSWRdKVxuICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSlcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlSW1wb3J0TWVudS5uZXh0KClcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgICAnZWRpdG9yLnJlY29yZC5pbXBvcnRGcm9tRXh0ZXJuYWxGaWxlLmZhaWx1cmUudGl0bGUnXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGV4dDogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICdlZGl0b3IucmVjb3JkLmltcG9ydEZyb21FeHRlcm5hbEZpbGUuZmFpbHVyZS5ib2R5J1xuICAgICAgICAgICAgKX0gJHtlcnJvci5tZXNzYWdlID8/ICcnfWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAyNTAwLFxuICAgICAgICAgIGVycm9yXG4gICAgICAgIClcbiAgICAgICAgdGhpcy5pc1JlY29yZEltcG9ydEluUHJvZ3Jlc3MgPSBmYWxzZVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxuICAgICAgfSxcbiAgICB9KVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWN0aW9uRGlzcGxheWVkXCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtYWluTWVudSdcIj5cbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3Q9XCJpbXBvcnRNZW51TWFpblNlY3Rpb25cIlxuICAgICAgY2xhc3M9XCJtdC0yIGJvcmRlciBib3JkZXItZ3JheS0xMDAgcC0yIGZsZXggaXRlbXMtY2VudGVyIGJnLXdoaXRlIHNoYWRvdy0yeGwgcm91bmRlZC0yeGxcIlxuICAgID5cbiAgICAgIDx1bCBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIgdy1mdWxsXCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgaW1wb3J0TWVudUl0ZW1zXCI+XG4gICAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIm1lbnVJdGVtLmRhdGFUZXN0XCJcbiAgICAgICAgICAgIHR5cGU9XCJsaWdodFwiXG4gICAgICAgICAgICBleHRyYUNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTIgdy1mdWxsIGp1c3RpZnktc3RhcnRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cIm1lbnVJdGVtLmFjdGlvbigpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtZW51SXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgIChtZW51SXRlbS5kaXNhYmxlZCA/ICdlZGl0b3IudGVtcG9yYXJ5LmRpc2FibGVkJyA6ICcnKSB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48bmctaWNvbiBbbmFtZV09XCJtZW51SXRlbS5pY29uXCI+PC9uZy1pY29uXG4gICAgICAgICAgICA+PHNwYW4+e3sgbWVudUl0ZW0ubGFiZWwgfX08L3NwYW4+PC9nbi11aS1idXR0b25cbiAgICAgICAgICA+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ltcG9ydEV4dGVybmFsRmlsZSdcIj5cbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3Q9XCJpbXBvcnRNZW51SW1wb3J0RXh0ZXJuYWxGaWxlU2VjdGlvblwiXG4gICAgICBjbGFzcz1cInAtNiBmbGV4IGZsZXgtY29sIGdhcC0yIG10LTIgYm9yZGVyIGJvcmRlci1ncmF5LTEwMCBiZy13aGl0ZSBzaGFkb3ctMnhsIHJvdW5kZWQtMnhsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgIGRhdGEtdGVzdD1cImltcG9ydE1lbnVJbXBvcnRFeHRlcm5hbEZpbGVTZWN0aW9uQmFja0J1dHRvblwiXG4gICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwiZGlzcGxheU1haW5NZW51KClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWljb24gbmFtZT1cImljb25vaXJBcnJvd0xlZnRcIj48L25nLWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPiB7eyBleHRlcm5hbEltcG9ydEJhY2tMYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGduLXVpLXVybC1pbnB1dFxuICAgICAgICAodXBsb2FkQ2xpY2spPVwiaW1wb3J0UmVjb3JkKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNSZWNvcmRJbXBvcnRJblByb2dyZXNzXCJcbiAgICAgID48L2duLXVpLXVybC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { MatRadioModule } from '@angular/material/radio';
|
|
5
5
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
6
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
7
|
-
import { TextInputComponent } from '../../../../../../../libs/ui/inputs/src';
|
|
7
|
+
import { AutocompleteComponent, ButtonComponent, TextInputComponent, UrlInputComponent, } from '../../../../../../../libs/ui/inputs/src';
|
|
8
8
|
import { TranslateModule } from '@ngx-translate/core';
|
|
9
|
+
import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
|
|
10
|
+
import { iconoirCloudUpload } from '@ng-icons/iconoir';
|
|
11
|
+
import { createFuzzyFilter, getLayers } from '../../../../../../../libs/util/shared/src';
|
|
12
|
+
import { BehaviorSubject, debounceTime, distinctUntilChanged, switchMap, } from 'rxjs';
|
|
9
13
|
import * as i0 from "@angular/core";
|
|
10
14
|
import * as i1 from "@angular/common";
|
|
11
|
-
import * as i2 from "@angular/
|
|
12
|
-
import * as i3 from "@angular/material/
|
|
13
|
-
import * as i4 from "@angular/
|
|
15
|
+
import * as i2 from "@angular/forms";
|
|
16
|
+
import * as i3 from "@angular/material/tooltip";
|
|
17
|
+
import * as i4 from "@angular/material/radio";
|
|
14
18
|
import * as i5 from "@ngx-translate/core";
|
|
15
19
|
export class OnlineServiceResourceInputComponent {
|
|
16
|
-
constructor() {
|
|
20
|
+
constructor(cdr) {
|
|
21
|
+
this.cdr = cdr;
|
|
17
22
|
this.disabled = false;
|
|
23
|
+
this.modifyMode = false;
|
|
24
|
+
this.urlChange = new EventEmitter();
|
|
25
|
+
this.identifierSubmit = new EventEmitter();
|
|
26
|
+
this.errorMessage = false;
|
|
27
|
+
this.url = '';
|
|
28
|
+
this.layersSubject = new BehaviorSubject([]);
|
|
29
|
+
this.layers$ = this.layersSubject.asObservable();
|
|
18
30
|
this.protocolOptions = [
|
|
19
31
|
{
|
|
20
32
|
label: 'OGC API',
|
|
@@ -45,29 +57,123 @@ export class OnlineServiceResourceInputComponent {
|
|
|
45
57
|
value: 'other',
|
|
46
58
|
},
|
|
47
59
|
];
|
|
60
|
+
/**
|
|
61
|
+
* gn-ui-autocomplete
|
|
62
|
+
*/
|
|
63
|
+
this.autoCompleteAction = (query) => {
|
|
64
|
+
const fuzzyFilter = createFuzzyFilter(query);
|
|
65
|
+
return this.layers$.pipe(switchMap((layers) => [
|
|
66
|
+
layers.filter((layer) => fuzzyFilter(layer.name)),
|
|
67
|
+
]), debounceTime(100), distinctUntilChanged());
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
get activeLayerSuggestion() {
|
|
71
|
+
return !['wps', 'GPFDL', 'esriRest', 'other'].includes(this.service.accessServiceProtocol);
|
|
48
72
|
}
|
|
49
73
|
ngOnChanges() {
|
|
50
74
|
this.selectedProtocol =
|
|
51
75
|
this.protocolOptions.find((option) => option.value === this.service.accessServiceProtocol)?.value ?? 'other';
|
|
52
76
|
}
|
|
53
|
-
|
|
54
|
-
|
|
77
|
+
ngOnInit() {
|
|
78
|
+
if (this.service.url) {
|
|
79
|
+
this.url = this.service.url.toString();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
handleUrlValueChange(url) {
|
|
83
|
+
this.url = url;
|
|
84
|
+
this.service.url = url ? new URL(url) : undefined;
|
|
85
|
+
this.resetLayersSuggestion();
|
|
86
|
+
this.urlChange.emit(this.url);
|
|
87
|
+
}
|
|
88
|
+
async handleUploadClick(url) {
|
|
89
|
+
this.url = url;
|
|
90
|
+
try {
|
|
91
|
+
const layers = await getLayers(url, this.service.accessServiceProtocol);
|
|
92
|
+
if (layers.length === 0) {
|
|
93
|
+
throw new Error('No layers found');
|
|
94
|
+
}
|
|
95
|
+
this.layersSubject.next([...layers]);
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
this.errorMessage = true;
|
|
99
|
+
this.layersSubject.next([]);
|
|
100
|
+
}
|
|
101
|
+
this.cdr.detectChanges();
|
|
102
|
+
}
|
|
103
|
+
resetAllFormFields() {
|
|
104
|
+
this.url = '';
|
|
105
|
+
this.service.url = null;
|
|
106
|
+
this.resetLayersSuggestion();
|
|
107
|
+
}
|
|
108
|
+
resetLayersSuggestion() {
|
|
109
|
+
this.errorMessage = false;
|
|
110
|
+
this.layersSubject.next([]);
|
|
111
|
+
this.service.identifierInService = null;
|
|
112
|
+
}
|
|
113
|
+
submitIdentifier(identifier) {
|
|
114
|
+
if (!identifier)
|
|
115
|
+
return;
|
|
116
|
+
this.identifierSubmit.emit({ url: this.url, identifier });
|
|
117
|
+
this.service.identifierInService = null;
|
|
118
|
+
}
|
|
119
|
+
getIdentifierPlaceholder() {
|
|
120
|
+
const baseKey = 'editor.record.form.field.onlineResource.edit.identifier.placeholder';
|
|
121
|
+
return this.service.accessServiceProtocol === 'wps'
|
|
122
|
+
? `${baseKey}.wps`
|
|
123
|
+
: baseKey;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* gn-ui-autocomplete
|
|
127
|
+
*/
|
|
128
|
+
displayWithFn(item) {
|
|
129
|
+
return item.title
|
|
130
|
+
? `${item.title} ${item.name ? `(${item.name})` : ''}`
|
|
131
|
+
: item.name;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* gn-ui-autocomplete
|
|
135
|
+
*/
|
|
136
|
+
handleSelectValue(val) {
|
|
137
|
+
this.service.identifierInService = val.name;
|
|
138
|
+
}
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnlineServiceResourceInputComponent, isStandalone: true, selector: "gn-ui-online-service-resource-input", inputs: { service: "service", protocolHint: "protocolHint", disabled: "disabled", modifyMode: "modifyMode" }, outputs: { urlChange: "urlChange", identifierSubmit: "identifierSubmit" }, providers: [
|
|
141
|
+
provideIcons({ iconoirCloudUpload }),
|
|
142
|
+
provideNgIconsConfig({
|
|
143
|
+
size: '1.5em',
|
|
144
|
+
}),
|
|
145
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n (change)=\"resetAllFormFields()\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (uploadClick)=\"handleUploadClick($event)\"\n (valueChange)=\"handleUrlValueChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"url\"\n [showValidateButton]=\"activeLayerSuggestion\"\n >\n <ng-content *ngIf=\"activeLayerSuggestion\">\n <ng-icon name=\"iconoirCloudUpload\"></ng-icon>\n </ng-content>\n </gn-ui-url-input>\n\n <p class=\"text-sm text-red-500 pl-4\" *ngIf=\"errorMessage\" translate>\n editor.record.form.field.onlineResource.edit.identifier.error\n </p>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n *ngIf=\"\n !activeLayerSuggestion ||\n (url && errorMessage) ||\n (modifyMode && (layers$ | async).length === 0)\n \"\n ></gn-ui-text-input>\n <gn-ui-autocomplete\n class=\"border-b border-gray-300 pb-4\"\n [placeholder]=\"\n 'editor.record.form.field.onlineResource.edit.identifier.select.label'\n | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleSelectValue($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"0\"\n [clearOnSelection]=\"false\"\n *ngIf=\"activeLayerSuggestion && (layers$ | async)?.length > 0\"\n >\n </gn-ui-autocomplete>\n <gn-ui-button\n (buttonClick)=\"submitIdentifier(service.identifierInService)\"\n [disabled]=\"disabled || !service.identifierInService\"\n type=\"primary\"\n *ngIf=\"\n !modifyMode &&\n ((activeLayerSuggestion && (layers$ | async)) ||\n !activeLayerSuggestion ||\n (url && errorMessage))\n \"\n >\n <span class=\"text-white font-bold\" translate>\n editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
55
146
|
}
|
|
56
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, decorators: [{
|
|
57
148
|
type: Component,
|
|
58
149
|
args: [{ selector: 'gn-ui-online-service-resource-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
150
|
+
AutocompleteComponent,
|
|
151
|
+
ButtonComponent,
|
|
59
152
|
CommonModule,
|
|
153
|
+
FormsModule,
|
|
60
154
|
MatTooltipModule,
|
|
61
155
|
MatRadioModule,
|
|
62
|
-
|
|
156
|
+
NgIconComponent,
|
|
63
157
|
TextInputComponent,
|
|
64
158
|
TranslateModule,
|
|
65
|
-
|
|
66
|
-
|
|
159
|
+
UrlInputComponent,
|
|
160
|
+
], providers: [
|
|
161
|
+
provideIcons({ iconoirCloudUpload }),
|
|
162
|
+
provideNgIconsConfig({
|
|
163
|
+
size: '1.5em',
|
|
164
|
+
}),
|
|
165
|
+
], template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n (change)=\"resetAllFormFields()\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (uploadClick)=\"handleUploadClick($event)\"\n (valueChange)=\"handleUrlValueChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"url\"\n [showValidateButton]=\"activeLayerSuggestion\"\n >\n <ng-content *ngIf=\"activeLayerSuggestion\">\n <ng-icon name=\"iconoirCloudUpload\"></ng-icon>\n </ng-content>\n </gn-ui-url-input>\n\n <p class=\"text-sm text-red-500 pl-4\" *ngIf=\"errorMessage\" translate>\n editor.record.form.field.onlineResource.edit.identifier.error\n </p>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n *ngIf=\"\n !activeLayerSuggestion ||\n (url && errorMessage) ||\n (modifyMode && (layers$ | async).length === 0)\n \"\n ></gn-ui-text-input>\n <gn-ui-autocomplete\n class=\"border-b border-gray-300 pb-4\"\n [placeholder]=\"\n 'editor.record.form.field.onlineResource.edit.identifier.select.label'\n | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleSelectValue($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"0\"\n [clearOnSelection]=\"false\"\n *ngIf=\"activeLayerSuggestion && (layers$ | async)?.length > 0\"\n >\n </gn-ui-autocomplete>\n <gn-ui-button\n (buttonClick)=\"submitIdentifier(service.identifierInService)\"\n [disabled]=\"disabled || !service.identifierInService\"\n type=\"primary\"\n *ngIf=\"\n !modifyMode &&\n ((activeLayerSuggestion && (layers$ | async)) ||\n !activeLayerSuggestion ||\n (url && errorMessage))\n \"\n >\n <span class=\"text-white font-bold\" translate>\n editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n" }]
|
|
166
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { service: [{
|
|
67
167
|
type: Input
|
|
68
168
|
}], protocolHint: [{
|
|
69
169
|
type: Input
|
|
70
170
|
}], disabled: [{
|
|
71
171
|
type: Input
|
|
172
|
+
}], modifyMode: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], urlChange: [{
|
|
175
|
+
type: Output
|
|
176
|
+
}], identifierSubmit: [{
|
|
177
|
+
type: Output
|
|
72
178
|
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUtoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7Ozs7Ozs7QUFpQnJELE1BQU0sT0FBTyxtQ0FBbUM7SUFmaEQ7UUFrQlcsYUFBUSxHQUFJLEtBQUssQ0FBQTtRQUkxQixvQkFBZSxHQUdUO1lBQ0o7Z0JBQ0UsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSxhQUFhO2FBQ3JCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLEtBQUs7YUFDYjtZQUNEO2dCQUNFLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxLQUFLO2FBQ2I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsTUFBTTtnQkFDYixLQUFLLEVBQUUsTUFBTTthQUNkO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLEtBQUs7YUFDYjtZQUNEO2dCQUNFLEtBQUssRUFBRSxXQUFXO2dCQUNsQixLQUFLLEVBQUUsVUFBVTthQUNsQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxNQUFNLENBQUMsNkNBQTZDLENBQUM7Z0JBQzVELEtBQUssRUFBRSxPQUFPO2FBQ2Y7U0FDRixDQUFBO0tBUUY7SUFOQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQjtZQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDdkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FDaEUsRUFBRSxLQUFLLElBQUksT0FBTyxDQUFBO0lBQ3ZCLENBQUM7K0dBOUNVLG1DQUFtQzttR0FBbkMsbUNBQW1DLHdNQ2pDaEQsaWdDQWlDQSx5RERSSSxZQUFZLCtQQUNaLGdCQUFnQiw0VEFDaEIsY0FBYyxvbEJBQ2QsV0FBVywrVkFDWCxrQkFBa0IsOEpBQ2xCLGVBQWU7OzRGQUdOLG1DQUFtQztrQkFmL0MsU0FBUzsrQkFDRSxxQ0FBcUMsbUJBRzlCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNoQjs4QkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbiAgU2VydmljZVByb3RvY29sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1vbmxpbmUtc2VydmljZS1yZXNvdXJjZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vbmxpbmUtc2VydmljZS1yZXNvdXJjZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBPbmxpbmVTZXJ2aWNlUmVzb3VyY2VJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHNlcnZpY2U6IE9taXQ8RGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24sICd1cmwnPlxuICBASW5wdXQoKSBwcm90b2NvbEhpbnQ/OiBzdHJpbmdcbiAgQElucHV0KCkgZGlzYWJsZWQ/ID0gZmFsc2VcblxuICBzZWxlY3RlZFByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2xcblxuICBwcm90b2NvbE9wdGlvbnM6IHtcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgdmFsdWU6IFNlcnZpY2VQcm90b2NvbFxuICB9W10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdPR0MgQVBJJyxcbiAgICAgIHZhbHVlOiAnb2djRmVhdHVyZXMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXRlMnLFxuICAgICAgdmFsdWU6ICd3ZnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXTVMnLFxuICAgICAgdmFsdWU6ICd3bXMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXTVRTJyxcbiAgICAgIHZhbHVlOiAnd210cycsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ1dQUycsXG4gICAgICB2YWx1ZTogJ3dwcycsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0VTUkkgUkVTVCcsXG4gICAgICB2YWx1ZTogJ2VzcmlSZXN0JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2UucHJvdG9jb2wub3RoZXInKSxcbiAgICAgIHZhbHVlOiAnb3RoZXInLFxuICAgIH0sXG4gIF1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPVxuICAgICAgdGhpcy5wcm90b2NvbE9wdGlvbnMuZmluZChcbiAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLnNlcnZpY2UuYWNjZXNzU2VydmljZVByb3RvY29sXG4gICAgICApPy52YWx1ZSA/PyAnb3RoZXInXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxuICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICBlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuZWRpdC5wcm90b2NvbFxuICA8L2gzPlxuICA8c3BhblxuICAgICpuZ0lmPVwicHJvdG9jb2xIaW50XCJcbiAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbS0yIGduLXVpLWljb24tc21hbGxcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3RvY29sSGludFwiXG4gICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICA+XG4gICAgaGVscFxuICA8L3NwYW4+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBnYXAtWzE2cHhdIGgtWzQ4cHhdXCI+XG4gIDxtYXQtcmFkaW8tZ3JvdXBcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJleGFtcGxlLXJhZGlvLWdyb3VwLWxhYmVsXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLVs4cHhdXCJcbiAgICBbKG5nTW9kZWwpXT1cInNlcnZpY2UuYWNjZXNzU2VydmljZVByb3RvY29sXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICA+XG4gICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICpuZ0Zvcj1cImxldCBwcm90b2NvbE9wdGlvbiBvZiBwcm90b2NvbE9wdGlvbnNcIlxuICAgICAgW3ZhbHVlXT1cInByb3RvY29sT3B0aW9uLnZhbHVlXCJcbiAgICA+XG4gICAgICB7eyBwcm90b2NvbE9wdGlvbi5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgPC9tYXQtcmFkaW8tZ3JvdXA+XG48L2Rpdj5cbjxnbi11aS10ZXh0LWlucHV0XG4gIFsodmFsdWUpXT1cInNlcnZpY2UuaWRlbnRpZmllckluU2VydmljZVwiXG4gIGRhdGEtY3k9XCJpZGVudGlmaWVyLWluLXNlcnZpY2VcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuPjwvZ24tdWktdGV4dC1pbnB1dD5cbiJdfQ==
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQvb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUtoRSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLG9CQUFvQixHQUNyQixNQUFNLGdCQUFnQixD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QkFBa0IsRUFBRSxDQUFDO1lBQ3BDLG9CQUFvQixDQUFDO2dCQUNuQixJQUFJLEVBQUUsT0FBTzthQUNkLENBQUM7U0FDSCwrQ0NqRUgsdzFGQTBGQSwwRER6Q0kscUJBQXFCLDRSQUNyQixlQUFlLDhIQUNmLFlBQVksb1RBQ1osV0FBVyw4VkFDWCxnQkFBZ0IsNFRBQ2hCLGNBQWMscWxCQUNkLGVBQWUsNkdBQ2Ysa0JBQWtCLDhKQUNsQixlQUFlLG1PQUNmLGlCQUFpQjs7NEZBU1IsbUNBQW1DO2tCQXpCL0MsU0FBUzsrQkFDRSxxQ0FBcUMsbUJBRzlCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGlCQUFpQjtxQkFDbEIsYUFDVTt3QkFDVCxZQUFZLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO3dCQUNwQyxvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87eUJBQ2QsQ0FBQztxQkFDSDtzRkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbiAgU2VydmljZVByb3RvY29sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgVGV4dElucHV0Q29tcG9uZW50LFxuICBVcmxJbnB1dENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBpY29ub2lyQ2xvdWRVcGxvYWQgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IGNyZWF0ZUZ1enp5RmlsdGVyLCBnZXRMYXllcnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW9ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL29ubGluZS1zZXJ2aWNlLXJlc291cmNlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb25saW5lLXNlcnZpY2UtcmVzb3VyY2UtaW5wdXQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVXJsSW5wdXRDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7IGljb25vaXJDbG91ZFVwbG9hZCB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBPbmxpbmVTZXJ2aWNlUmVzb3VyY2VJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgQElucHV0KCkgc2VydmljZTogRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgQElucHV0KCkgcHJvdG9jb2xIaW50Pzogc3RyaW5nXG4gIEBJbnB1dCgpIGRpc2FibGVkPyA9IGZhbHNlXG4gIEBJbnB1dCgpIG1vZGlmeU1vZGU/ID0gZmFsc2VcbiAgQE91dHB1dCgpIHVybENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGlkZW50aWZpZXJTdWJtaXQ6IEV2ZW50RW1pdHRlcjx7XG4gICAgdXJsOiBzdHJpbmdcbiAgICBpZGVudGlmaWVyOiBzdHJpbmdcbiAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBlcnJvck1lc3NhZ2UgPSBmYWxzZVxuICBzZWxlY3RlZFByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2xcbiAgdXJsID0gJydcbiAgbGF5ZXJzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBuYW1lOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdPihbXSlcbiAgbGF5ZXJzJDogT2JzZXJ2YWJsZTx7IG5hbWU6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9W10+ID1cbiAgICB0aGlzLmxheWVyc1N1YmplY3QuYXNPYnNlcnZhYmxlKClcblxuICBwcm90b2NvbE9wdGlvbnM6IHtcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgdmFsdWU6IFNlcnZpY2VQcm90b2NvbFxuICB9W10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdPR0MgQVBJJyxcbiAgICAgIHZhbHVlOiAnb2djRmVhdHVyZXMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXRlMnLFxuICAgICAgdmFsdWU6ICd3ZnMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXTVMnLFxuICAgICAgdmFsdWU6ICd3bXMnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdXTVRTJyxcbiAgICAgIHZhbHVlOiAnd210cycsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ1dQUycsXG4gICAgICB2YWx1ZTogJ3dwcycsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0VTUkkgUkVTVCcsXG4gICAgICB2YWx1ZTogJ2VzcmlSZXN0JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQub25saW5lUmVzb3VyY2UucHJvdG9jb2wub3RoZXInKSxcbiAgICAgIHZhbHVlOiAnb3RoZXInLFxuICAgIH0sXG4gIF1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0IGFjdGl2ZUxheWVyU3VnZ2VzdGlvbigpIHtcbiAgICByZXR1cm4gIVsnd3BzJywgJ0dQRkRMJywgJ2VzcmlSZXN0JywgJ290aGVyJ10uaW5jbHVkZXMoXG4gICAgICB0aGlzLnNlcnZpY2UuYWNjZXNzU2VydmljZVByb3RvY29sXG4gICAgKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID1cbiAgICAgIHRoaXMucHJvdG9jb2xPcHRpb25zLmZpbmQoXG4gICAgICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zZXJ2aWNlLmFjY2Vzc1NlcnZpY2VQcm90b2NvbFxuICAgICAgKT8udmFsdWUgPz8gJ290aGVyJ1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2VydmljZS51cmwpIHtcbiAgICAgIHRoaXMudXJsID0gdGhpcy5zZXJ2aWNlLnVybC50b1N0cmluZygpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlVXJsVmFsdWVDaGFuZ2UodXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVybCA9IHVybFxuICAgIHRoaXMuc2VydmljZS51cmwgPSB1cmwgPyBuZXcgVVJMKHVybCkgOiB1bmRlZmluZWRcbiAgICB0aGlzLnJlc2V0TGF5ZXJzU3VnZ2VzdGlvbigpXG4gICAgdGhpcy51cmxDaGFuZ2UuZW1pdCh0aGlzLnVybClcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVVwbG9hZENsaWNrKHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy51cmwgPSB1cmxcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBsYXllcnMgPSBhd2FpdCBnZXRMYXllcnModXJsLCB0aGlzLnNlcnZpY2UuYWNjZXNzU2VydmljZVByb3RvY29sKVxuXG4gICAgICBpZiAobGF5ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGxheWVycyBmb3VuZCcpXG4gICAgICB9XG5cbiAgICAgIHRoaXMubGF5ZXJzU3ViamVjdC5uZXh0KFsuLi5sYXllcnNdKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdHJ1ZVxuICAgICAgdGhpcy5sYXllcnNTdWJqZWN0Lm5leHQoW10pXG4gICAgfVxuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICByZXNldEFsbEZvcm1GaWVsZHMoKSB7XG4gICAgdGhpcy51cmwgPSAnJ1xuICAgIHRoaXMuc2VydmljZS51cmwgPSBudWxsXG4gICAgdGhpcy5yZXNldExheWVyc1N1Z2dlc3Rpb24oKVxuICB9XG5cbiAgcmVzZXRMYXllcnNTdWdnZXN0aW9uKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZmFsc2VcbiAgICB0aGlzLmxheWVyc1N1YmplY3QubmV4dChbXSlcbiAgICB0aGlzLnNlcnZpY2UuaWRlbnRpZmllckluU2VydmljZSA9IG51bGxcbiAgfVxuXG4gIHN1Ym1pdElkZW50aWZpZXIoaWRlbnRpZmllcjogc3RyaW5nKSB7XG4gICAgaWYgKCFpZGVudGlmaWVyKSByZXR1cm5cbiAgICB0aGlzLmlkZW50aWZpZXJTdWJtaXQuZW1pdCh7IHVybDogdGhpcy51cmwsIGlkZW50aWZpZXIgfSlcbiAgICB0aGlzLnNlcnZpY2UuaWRlbnRpZmllckluU2VydmljZSA9IG51bGxcbiAgfVxuXG4gIGdldElkZW50aWZpZXJQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VLZXkgPVxuICAgICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmlkZW50aWZpZXIucGxhY2Vob2xkZXInXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3cHMnXG4gICAgICA/IGAke2Jhc2VLZXl9Lndwc2BcbiAgICAgIDogYmFzZUtleVxuICB9XG5cbiAgLyoqXG4gICAqIGduLXVpLWF1dG9jb21wbGV0ZVxuICAgKi9cbiAgZGlzcGxheVdpdGhGbihpdGVtOiB7IG5hbWU6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIGl0ZW0udGl0bGVcbiAgICAgID8gYCR7aXRlbS50aXRsZX0gJHtpdGVtLm5hbWUgPyBgKCR7aXRlbS5uYW1lfSlgIDogJyd9YFxuICAgICAgOiBpdGVtLm5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBnbi11aS1hdXRvY29tcGxldGVcbiAgICovXG4gIGF1dG9Db21wbGV0ZUFjdGlvbiA9IChxdWVyeTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZnV6enlGaWx0ZXIgPSBjcmVhdGVGdXp6eUZpbHRlcihxdWVyeSlcbiAgICByZXR1cm4gdGhpcy5sYXllcnMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGxheWVycykgPT4gW1xuICAgICAgICBsYXllcnMuZmlsdGVyKChsYXllcikgPT4gZnV6enlGaWx0ZXIobGF5ZXIubmFtZSkpLFxuICAgICAgXSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogZ24tdWktYXV0b2NvbXBsZXRlXG4gICAqL1xuICBoYW5kbGVTZWxlY3RWYWx1ZSh2YWw6IHsgbmFtZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnNlcnZpY2UuaWRlbnRpZmllckluU2VydmljZSA9IHZhbC5uYW1lXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlblwiPlxuICA8aDMgY2xhc3M9XCJ0ZXh0LVsxNnB4XSBmb250LWJvbGQgdGV4dC1tYWluIG1iLVsxMnB4XVwiIHRyYW5zbGF0ZT5cbiAgICBlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2UuZWRpdC5wcm90b2NvbFxuICA8L2gzPlxuICA8c3BhblxuICAgICpuZ0lmPVwicHJvdG9jb2xIaW50XCJcbiAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbS0yIGduLXVpLWljb24tc21hbGxcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3RvY29sSGludFwiXG4gICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICA+XG4gICAgaGVscFxuICA8L3NwYW4+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBnYXAtNCBoLVs0OHB4XVwiPlxuICA8bWF0LXJhZGlvLWdyb3VwXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwiZXhhbXBsZS1yYWRpby1ncm91cC1sYWJlbFwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC1bOHB4XVwiXG4gICAgWyhuZ01vZGVsKV09XCJzZXJ2aWNlLmFjY2Vzc1NlcnZpY2VQcm90b2NvbFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2hhbmdlKT1cInJlc2V0QWxsRm9ybUZpZWxkcygpXCJcbiAgPlxuICAgIDxtYXQtcmFkaW8tYnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgcHJvdG9jb2xPcHRpb24gb2YgcHJvdG9jb2xPcHRpb25zXCJcbiAgICAgIFt2YWx1ZV09XCJwcm90b2NvbE9wdGlvbi52YWx1ZVwiXG4gICAgPlxuICAgICAge3sgcHJvdG9jb2xPcHRpb24ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICA8L21hdC1yYWRpby1idXR0b24+XG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCI+XG4gIDxnbi11aS11cmwtaW5wdXRcbiAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgKHVwbG9hZENsaWNrKT1cImhhbmRsZVVwbG9hZENsaWNrKCRldmVudClcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVVcmxWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFt2YWx1ZV09XCJ1cmxcIlxuICAgIFtzaG93VmFsaWRhdGVCdXR0b25dPVwiYWN0aXZlTGF5ZXJTdWdnZXN0aW9uXCJcbiAgPlxuICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiYWN0aXZlTGF5ZXJTdWdnZXN0aW9uXCI+XG4gICAgICA8bmctaWNvbiBuYW1lPVwiaWNvbm9pckNsb3VkVXBsb2FkXCI+PC9uZy1pY29uPlxuICAgIDwvbmctY29udGVudD5cbiAgPC9nbi11aS11cmwtaW5wdXQ+XG5cbiAgPHAgY2xhc3M9XCJ0ZXh0LXNtIHRleHQtcmVkLTUwMCBwbC00XCIgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIiB0cmFuc2xhdGU+XG4gICAgZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmVkaXQuaWRlbnRpZmllci5lcnJvclxuICA8L3A+XG5cbiAgPGduLXVpLXRleHQtaW5wdXRcbiAgICBjbGFzcz1cImdyb3cgYm9yZGVyLWIgYm9yZGVyLWdyYXktMzAwIHBiLTRcIlxuICAgIFsodmFsdWUpXT1cInNlcnZpY2UuaWRlbnRpZmllckluU2VydmljZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImdldElkZW50aWZpZXJQbGFjZWhvbGRlcigpIHwgdHJhbnNsYXRlXCJcbiAgICBkYXRhLWN5PVwiaWRlbnRpZmllci1pbi1zZXJ2aWNlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICpuZ0lmPVwiXG4gICAgICAhYWN0aXZlTGF5ZXJTdWdnZXN0aW9uIHx8XG4gICAgICAodXJsICYmIGVycm9yTWVzc2FnZSkgfHxcbiAgICAgIChtb2RpZnlNb2RlICYmIChsYXllcnMkIHwgYXN5bmMpLmxlbmd0aCA9PT0gMClcbiAgICBcIlxuICA+PC9nbi11aS10ZXh0LWlucHV0PlxuICA8Z24tdWktYXV0b2NvbXBsZXRlXG4gICAgY2xhc3M9XCJib3JkZXItYiBib3JkZXItZ3JheS0zMDAgcGItNFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZS5lZGl0LmlkZW50aWZpZXIuc2VsZWN0LmxhYmVsJ1xuICAgICAgICB8IHRyYW5zbGF0ZVxuICAgIFwiXG4gICAgW2FjdGlvbl09XCJhdXRvQ29tcGxldGVBY3Rpb25cIlxuICAgIChpdGVtU2VsZWN0ZWQpPVwiaGFuZGxlU2VsZWN0VmFsdWUoJGV2ZW50KVwiXG4gICAgW2Rpc3BsYXlXaXRoRm5dPVwiZGlzcGxheVdpdGhGblwiXG4gICAgW21pbkNoYXJhY3RlckNvdW50XT1cIjBcIlxuICAgIFtjbGVhck9uU2VsZWN0aW9uXT1cImZhbHNlXCJcbiAgICAqbmdJZj1cImFjdGl2ZUxheWVyU3VnZ2VzdGlvbiAmJiAobGF5ZXJzJCB8IGFzeW5jKT8ubGVuZ3RoID4gMFwiXG4gID5cbiAgPC9nbi11aS1hdXRvY29tcGxldGU+XG4gIDxnbi11aS1idXR0b25cbiAgICAoYnV0dG9uQ2xpY2spPVwic3VibWl0SWRlbnRpZmllcihzZXJ2aWNlLmlkZW50aWZpZXJJblNlcnZpY2UpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgIXNlcnZpY2UuaWRlbnRpZmllckluU2VydmljZVwiXG4gICAgdHlwZT1cInByaW1hcnlcIlxuICAgICpuZ0lmPVwiXG4gICAgICAhbW9kaWZ5TW9kZSAmJlxuICAgICAgKChhY3RpdmVMYXllclN1Z2dlc3Rpb24gJiYgKGxheWVycyQgfCBhc3luYykpIHx8XG4gICAgICAgICFhY3RpdmVMYXllclN1Z2dlc3Rpb24gfHxcbiAgICAgICAgKHVybCAmJiBlcnJvck1lc3NhZ2UpKVxuICAgIFwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtd2hpdGUgZm9udC1ib2xkXCIgdHJhbnNsYXRlPlxuICAgICAgZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlLmVkaXQuaWRlbnRpZmllci5zdWJtaXQ8L3NwYW5cbiAgICA+XG4gIDwvZ24tdWktYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -5,43 +5,56 @@ import { AVAILABLE_LICENSES } from '../../../../fields.config';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class FormFieldLicenseComponent {
|
|
7
7
|
constructor() {
|
|
8
|
-
this.
|
|
9
|
-
this.
|
|
8
|
+
this.recordLicences = [];
|
|
9
|
+
this.recordLicencesChange = new EventEmitter();
|
|
10
|
+
this.choices = AVAILABLE_LICENSES.map((license) => ({
|
|
11
|
+
label: marker(`editor.record.form.license.${license}`),
|
|
12
|
+
value: license,
|
|
13
|
+
}));
|
|
10
14
|
}
|
|
11
15
|
ngOnInit() {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
if (this.recordLicences.length === 0) {
|
|
17
|
+
this.selectedLicence = 'unknown';
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.selectedLicence = this.recordLicences.find((constraint) => {
|
|
21
|
+
return this.choices.find((licence) => {
|
|
22
|
+
return licence.value === constraint.text;
|
|
23
|
+
});
|
|
24
|
+
})?.text;
|
|
25
|
+
}
|
|
19
26
|
if (this.selectedLicence === undefined) {
|
|
20
|
-
this.
|
|
21
|
-
|
|
27
|
+
this.choices = [
|
|
28
|
+
{
|
|
29
|
+
value: this.recordLicences[0].text,
|
|
30
|
+
label: this.recordLicences[0].text,
|
|
31
|
+
},
|
|
32
|
+
...this.choices,
|
|
33
|
+
];
|
|
34
|
+
this.selectedLicence = this.recordLicences[0].text;
|
|
22
35
|
}
|
|
23
36
|
}
|
|
24
|
-
get licenceOptions() {
|
|
25
|
-
return AVAILABLE_LICENSES.map((license) => ({
|
|
26
|
-
label: marker(`editor.record.form.license.${license}`),
|
|
27
|
-
value: license,
|
|
28
|
-
}));
|
|
29
|
-
}
|
|
30
37
|
handleLicenceSelection(licenceValue) {
|
|
31
38
|
this.selectedLicence = licenceValue;
|
|
32
|
-
|
|
39
|
+
if (licenceValue === 'unknown') {
|
|
40
|
+
this.recordLicencesChange.emit([]);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.recordLicencesChange.emit([{ text: licenceValue }]);
|
|
45
|
+
}
|
|
33
46
|
}
|
|
34
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldLicenseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldLicenseComponent, isStandalone: true, selector: "gn-ui-form-field-license", inputs: { label: "label",
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldLicenseComponent, isStandalone: true, selector: "gn-ui-form-field-license", inputs: { label: "label", recordLicences: "recordLicences" }, outputs: { recordLicencesChange: "recordLicencesChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-8\">\n <gn-ui-dropdown-selector\n [title]=\"label\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedLicence\"\n (selectValue)=\"handleLicenceSelection($event)\"\n [extraBtnClass]=\"'input-as-button gn-ui-text-input'\"\n >\n </gn-ui-dropdown-selector>\n</div>\n", styles: [":host{display:grid}gn-ui-dropdown-selector{max-width:calc(50% - 16px)}\n"], dependencies: [{ kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
49
|
}
|
|
37
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldLicenseComponent, decorators: [{
|
|
38
51
|
type: Component,
|
|
39
|
-
args: [{ selector: 'gn-ui-form-field-license', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DropdownSelectorComponent], template: "<div class=\"flex flex-col gap-8\">\n <gn-ui-dropdown-selector\n [title]=\"label\"\n [showTitle]=\"false\"\n [choices]=\"
|
|
52
|
+
args: [{ selector: 'gn-ui-form-field-license', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DropdownSelectorComponent], template: "<div class=\"flex flex-col gap-8\">\n <gn-ui-dropdown-selector\n [title]=\"label\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedLicence\"\n (selectValue)=\"handleLicenceSelection($event)\"\n [extraBtnClass]=\"'input-as-button gn-ui-text-input'\"\n >\n </gn-ui-dropdown-selector>\n</div>\n", styles: [":host{display:grid}gn-ui-dropdown-selector{max-width:calc(50% - 16px)}\n"] }]
|
|
40
53
|
}], propDecorators: { label: [{
|
|
41
54
|
type: Input
|
|
42
|
-
}],
|
|
55
|
+
}], recordLicences: [{
|
|
43
56
|
type: Input
|
|
44
|
-
}],
|
|
57
|
+
}], recordLicencesChange: [{
|
|
45
58
|
type: Output
|
|
46
59
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1saWNlbnNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZC1mb3JtL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1saWNlbnNlL2Zvcm0tZmllbGQtbGljZW5zZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9yZWNvcmQtZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtbGljZW5zZS9mb3JtLWZpZWxkLWxpY2Vuc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBRWhFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBOztBQWU5RCxNQUFNLE9BQU8seUJBQXlCO0lBUnRDO1FBVVcsbUJBQWMsR0FBaUIsRUFBRSxDQUFBO1FBQ2hDLHlCQUFvQixHQUM1QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRXBCLFlBQU8sR0FBYyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEQsS0FBSyxFQUFFLE1BQU0sQ0FBQyw4QkFBOEIsT0FBTyxFQUFFLENBQUM7WUFDdEQsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDLENBQUMsQ0FBQTtLQW9DSjtJQWhDQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQTtRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDN0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNuQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQTtnQkFDMUMsQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUE7UUFDVixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ2I7b0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtvQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtpQkFDbkM7Z0JBQ0QsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQixDQUFBO1lBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLFlBQW9CO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFBO1FBQ25DLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDbEMsT0FBTTtRQUNSLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMxRCxDQUFDO0lBQ0gsQ0FBQzsrR0E1Q1UseUJBQXlCO21HQUF6Qix5QkFBeUIsNk1DMUJ0QyxpVkFXQSxrSURhWSx5QkFBeUI7OzRGQUV4Qix5QkFBeUI7a0JBUnJDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLHlCQUF5QixDQUFDOzhCQUczQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IENvbnN0cmFpbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgQVZBSUxBQkxFX0xJQ0VOU0VTIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzLmNvbmZpZydcblxudHlwZSBMaWNlbmNlID0ge1xuICBsYWJlbDogc3RyaW5nXG4gIHZhbHVlOiBzdHJpbmdcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZm9ybS1maWVsZC1saWNlbnNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtbGljZW5zZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtbGljZW5zZS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZExpY2Vuc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nXG4gIEBJbnB1dCgpIHJlY29yZExpY2VuY2VzOiBDb25zdHJhaW50W10gPSBbXVxuICBAT3V0cHV0KCkgcmVjb3JkTGljZW5jZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDb25zdHJhaW50W10+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBjaG9pY2VzOiBMaWNlbmNlW10gPSBBVkFJTEFCTEVfTElDRU5TRVMubWFwKChsaWNlbnNlKSA9PiAoe1xuICAgIGxhYmVsOiBtYXJrZXIoYGVkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLiR7bGljZW5zZX1gKSxcbiAgICB2YWx1ZTogbGljZW5zZSxcbiAgfSkpXG5cbiAgc2VsZWN0ZWRMaWNlbmNlOiBzdHJpbmdcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvcmRMaWNlbmNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaWNlbmNlID0gJ3Vua25vd24nXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaWNlbmNlID0gdGhpcy5yZWNvcmRMaWNlbmNlcy5maW5kKChjb25zdHJhaW50KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNob2ljZXMuZmluZCgobGljZW5jZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBsaWNlbmNlLnZhbHVlID09PSBjb25zdHJhaW50LnRleHRcbiAgICAgICAgfSlcbiAgICAgIH0pPy50ZXh0XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMaWNlbmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2hvaWNlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnJlY29yZExpY2VuY2VzWzBdLnRleHQsXG4gICAgICAgICAgbGFiZWw6IHRoaXMucmVjb3JkTGljZW5jZXNbMF0udGV4dCxcbiAgICAgICAgfSxcbiAgICAgICAgLi4udGhpcy5jaG9pY2VzLFxuICAgICAgXVxuICAgICAgdGhpcy5zZWxlY3RlZExpY2VuY2UgPSB0aGlzLnJlY29yZExpY2VuY2VzWzBdLnRleHRcbiAgICB9XG4gIH1cblxuICBoYW5kbGVMaWNlbmNlU2VsZWN0aW9uKGxpY2VuY2VWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RlZExpY2VuY2UgPSBsaWNlbmNlVmFsdWVcbiAgICBpZiAobGljZW5jZVZhbHVlID09PSAndW5rbm93bicpIHtcbiAgICAgIHRoaXMucmVjb3JkTGljZW5jZXNDaGFuZ2UuZW1pdChbXSlcbiAgICAgIHJldHVyblxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlY29yZExpY2VuY2VzQ2hhbmdlLmVtaXQoW3sgdGV4dDogbGljZW5jZVZhbHVlIH1dKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLThcIj5cbiAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgW3RpdGxlXT1cImxhYmVsXCJcbiAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCJcbiAgICBbY2hvaWNlc109XCJjaG9pY2VzXCJcbiAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRMaWNlbmNlXCJcbiAgICAoc2VsZWN0VmFsdWUpPVwiaGFuZGxlTGljZW5jZVNlbGVjdGlvbigkZXZlbnQpXCJcbiAgICBbZXh0cmFCdG5DbGFzc109XCInaW5wdXQtYXMtYnV0dG9uIGduLXVpLXRleHQtaW5wdXQnXCJcbiAgPlxuICA8L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuPC9kaXY+XG4iXX0=
|