geonetwork-ui 2.8.0-dev.6f6597946 → 2.8.0-dev.6f988469c
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +5 -1
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +26 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +7 -7
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -2
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -3
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +1 -2
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +10 -10
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -2
- package/esm2022/libs/common/domain/src/index.mjs +3 -0
- package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +3 -1
- package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +6 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +3 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +26 -8
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +23 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
- package/esm2022/libs/feature/record/src/index.mjs +2 -1
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -4
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +23 -8
- package/esm2022/libs/feature/record/src/lib/stac-view/stac-view.component.mjs +138 -0
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +14 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -1
- package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +9 -7
- package/esm2022/libs/feature/search/src/lib/constants.mjs +1 -2
- package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +8 -12
- package/esm2022/libs/ui/elements/src/index.mjs +3 -1
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/lib/external-link-card/external-link-card.component.mjs +11 -4
- package/esm2022/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.mjs +37 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +5 -9
- package/esm2022/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.mjs +18 -0
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +21 -7
- package/esm2022/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.mjs +35 -0
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +2 -3
- package/esm2022/libs/ui/layout/src/lib/paginable.interface.mjs +1 -1
- package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +13 -5
- package/esm2022/libs/util/i18n/src/lib/date-locales.mjs +33 -0
- package/esm2022/libs/util/shared/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/humanize-date.directive.mjs +33 -0
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +12 -1
- package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +19 -2
- package/esm2022/libs/util/shared/src/lib/utils/sort-by.mjs +9 -6
- package/esm2022/translations/de.json +18 -3
- package/esm2022/translations/en.json +18 -4
- package/esm2022/translations/es.json +17 -2
- package/esm2022/translations/fr.json +18 -3
- package/esm2022/translations/it.json +19 -4
- package/esm2022/translations/nl.json +17 -2
- package/esm2022/translations/pt.json +17 -2
- package/esm2022/translations/sk.json +18 -3
- package/fesm2022/geonetwork-ui-date-locales-MYnkDJ5h.mjs +35 -0
- package/fesm2022/geonetwork-ui-date-locales-MYnkDJ5h.mjs.map +1 -0
- package/fesm2022/geonetwork-ui.mjs +635 -187
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.ts +1 -0
- package/libs/api/metadata-converter/src/lib/common/distribution.mapper.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/iso19139/iso19139.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +5 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.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/elasticsearch/constant.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +7 -7
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
- package/libs/common/domain/src/index.d.ts +3 -0
- package/libs/common/domain/src/index.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -2
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +2 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/record/src/index.d.ts +1 -0
- package/libs/feature/record/src/index.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +3 -2
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +3 -2
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/stac-view/stac-view.component.d.ts +35 -0
- package/libs/feature/record/src/lib/stac-view/stac-view.component.d.ts.map +1 -0
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -24
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts +3 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts +4 -3
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +0 -2
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/index.d.ts +1 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts +5 -0
- package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.d.ts +12 -0
- package/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/paginable.interface.d.ts +3 -3
- package/libs/ui/layout/src/lib/paginable.interface.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +2 -1
- package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/date-locales.d.ts +5 -0
- package/libs/util/i18n/src/lib/date-locales.d.ts.map +1 -0
- package/libs/util/shared/src/index.d.ts +1 -0
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/humanize-date.directive.d.ts +15 -0
- package/libs/util/shared/src/lib/humanize-date.directive.d.ts.map +1 -0
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -0
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/date.service.d.ts +4 -0
- package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/sort-by.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +2 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +28 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +13 -6
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +6 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -2
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +0 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +37 -36
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -2
- package/src/libs/common/domain/src/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +12 -1
- package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +5 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -1
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +5 -0
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +19 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +1 -0
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +30 -5
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +3 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +30 -0
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/record/src/index.ts +1 -0
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +7 -1
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +23 -4
- package/src/libs/feature/record/src/lib/stac-view/stac-view.component.css +3 -0
- package/src/libs/feature/record/src/lib/stac-view/stac-view.component.html +68 -0
- package/src/libs/feature/record/src/lib/stac-view/stac-view.component.ts +190 -0
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +30 -1
- package/src/libs/feature/router/src/lib/default/router.service.ts +8 -0
- package/src/libs/feature/router/src/lib/default/state/router.effects.ts +6 -7
- package/src/libs/feature/search/src/lib/constants.ts +0 -1
- package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +8 -12
- package/src/libs/ui/elements/src/index.ts +2 -0
- package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.html +43 -22
- package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +12 -3
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.css +0 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.html +31 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.ts +30 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +67 -21
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +2 -9
- package/src/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.css +0 -0
- package/src/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.html +13 -0
- package/src/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +1 -1
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
- package/src/libs/ui/inputs/src/index.ts +1 -0
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +17 -1
- package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.css +0 -0
- package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.html +15 -0
- package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.ts +41 -0
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +4 -2
- package/src/libs/ui/layout/src/lib/paginable.interface.ts +3 -3
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +12 -6
- package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +4 -1
- package/src/libs/util/i18n/src/lib/date-locales.ts +63 -0
- package/src/libs/util/shared/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/humanize-date.directive.ts +35 -0
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +11 -0
- package/src/libs/util/shared/src/lib/services/date.service.ts +27 -1
- package/src/libs/util/shared/src/lib/utils/sort-by.ts +8 -5
- package/translations/de.json +18 -3
- package/translations/en.json +18 -4
- package/translations/es.json +17 -2
- package/translations/fr.json +18 -3
- package/translations/it.json +19 -4
- package/translations/nl.json +17 -2
- package/translations/pt.json +17 -2
- package/translations/sk.json +18 -3
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +0 -59
- package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +0 -11
- package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +0 -1
- package/src/libs/common/domain/src/lib/index.ts +0 -2
- package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +0 -54
|
@@ -8,4 +8,5 @@ export * from './lib/external-viewer-button/external-viewer-button.component';
|
|
|
8
8
|
export * from './lib/gpf-api-dl/gpf-api-dl.component';
|
|
9
9
|
export * from './lib/map-view/map-view.component';
|
|
10
10
|
export * from './lib/record-meta/record-meta.component';
|
|
11
|
-
|
|
11
|
+
export * from './lib/stac-view/stac-view.component';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsaUVBQWlFLENBQUE7QUFDL0UsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHFDQUFxQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZmVhdHVyZS1yZWNvcmQubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXZpZXctcGVybWFsaW5rL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS12aWV3L2RhdGEtdmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXZpZXctc2hhcmUvZGF0YS12aWV3LXNoYXJlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdmlldy13ZWItY29tcG9uZW50L2RhdGEtdmlldy13ZWItY29tcG9uZW50LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4dGVybmFsLXZpZXdlci1idXR0b24vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ncGYtYXBpLWRsL2dwZi1hcGktZGwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFwLXZpZXcvbWFwLXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVjb3JkLW1ldGEvcmVjb3JkLW1ldGEuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhYy12aWV3L3N0YWMtdmlldy5jb21wb25lbnQnXG4iXX0=
|
package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { MdViewFacade } from '../state';
|
|
|
5
5
|
import { CopyTextButtonComponent } from '../../../../../../libs/ui/inputs/src';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
import { TranslatePipe } from '@ngx-translate/core';
|
|
8
|
-
import { GEONETWORK_UI_TAG_NAME } from '../../../../../../libs/util/shared/src';
|
|
8
|
+
import { GEONETWORK_UI_TAG_NAME, PROXY_PATH } from '../../../../../../libs/util/shared/src';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../state";
|
|
11
11
|
import * as i2 from "@angular/common";
|
|
@@ -15,8 +15,9 @@ export class DataViewPermalinkComponent {
|
|
|
15
15
|
set viewType(value) {
|
|
16
16
|
this.viewType$.next(value);
|
|
17
17
|
}
|
|
18
|
-
constructor(config, wcEmbedderBaseUrl, facade) {
|
|
18
|
+
constructor(config, proxyPath, wcEmbedderBaseUrl, facade) {
|
|
19
19
|
this.config = config;
|
|
20
|
+
this.proxyPath = proxyPath;
|
|
20
21
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
21
22
|
this.facade = facade;
|
|
22
23
|
this.viewType$ = new BehaviorSubject('map');
|
|
@@ -49,6 +50,9 @@ export class DataViewPermalinkComponent {
|
|
|
49
50
|
url.searchParams.append('e', `gn-dataset-view-map`);
|
|
50
51
|
}
|
|
51
52
|
url.searchParams.append('a', `api-url=${this.config.basePath}`);
|
|
53
|
+
if (this.proxyPath) {
|
|
54
|
+
url.searchParams.append('a', `proxy-path=${this.proxyPath}`);
|
|
55
|
+
}
|
|
52
56
|
url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
|
|
53
57
|
url.searchParams.append('a', `primary-color=#0f4395`);
|
|
54
58
|
url.searchParams.append('a', `secondary-color=#8bc832`);
|
|
@@ -57,7 +61,7 @@ export class DataViewPermalinkComponent {
|
|
|
57
61
|
return url.toString();
|
|
58
62
|
}));
|
|
59
63
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: i1.MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: PROXY_PATH, optional: true }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: i1.MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
65
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewPermalinkComponent, isStandalone: true, selector: "gn-ui-data-view-permalink", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n *ngIf=\"wcEmbedderBaseUrl\"\n [text]=\"permalinkUrl$ | async\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
62
66
|
}
|
|
63
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, decorators: [{
|
|
@@ -68,10 +72,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
68
72
|
args: [Configuration]
|
|
69
73
|
}] }, { type: undefined, decorators: [{
|
|
70
74
|
type: Optional
|
|
75
|
+
}, {
|
|
76
|
+
type: Inject,
|
|
77
|
+
args: [PROXY_PATH]
|
|
78
|
+
}] }, { type: undefined, decorators: [{
|
|
79
|
+
type: Optional
|
|
71
80
|
}, {
|
|
72
81
|
type: Inject,
|
|
73
82
|
args: [WEB_COMPONENT_EMBEDDER_URL]
|
|
74
83
|
}] }, { type: i1.MdViewFacade }], propDecorators: { viewType: [{
|
|
75
84
|
type: Input
|
|
76
85
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LXBlcm1hbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYy9saWIvZGF0YS12aWV3LXBlcm1hbGluay9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXctcGVybWFsaW5rL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7QUFFM0YsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQzFELHlCQUF5QixDQUMxQixDQUFBO0FBVUQsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxJQUNJLFFBQVEsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFD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QTtZQUN2RCxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtZQUMvQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtZQUN4RCxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUN2QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBV0UsQ0FBQzsrR0F2RE8sMEJBQTBCLGtCQStDM0IsYUFBYSxhQUViLFVBQVUsNkJBR1YsMEJBQTBCO21HQXBEekIsMEJBQTBCLHVIQzVCdkMsOEtBS0EseUREcUJZLFlBQVksd0xBQUUsdUJBQXVCLHNIQUFFLGFBQWE7OzRGQUVuRCwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUM7OzBCQWlENUQsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxVQUFVOzswQkFFakIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQywwQkFBMEI7b0VBakRoQyxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9nbjQvc3JjJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUnXG5pbXBvcnQgeyBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgR0VPTkVUV09SS19VSV9UQUdfTkFNRSwgUFJPWFlfUEFUSCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuXG5leHBvcnQgY29uc3QgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgJ3dlYkNvbXBvbmVudEVtYmVkZGVyVXJsJ1xuKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1kYXRhLXZpZXctcGVybWFsaW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdmlldy1wZXJtYWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXctcGVybWFsaW5rLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdQZXJtYWxpbmtDb21wb25lbnQge1xuICB2aWV3VHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ21hcCcpXG4gIEBJbnB1dCgpXG4gIHNldCB2aWV3VHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52aWV3VHlwZSQubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIHBlcm1hbGlua1VybCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnZpZXdUeXBlJCxcbiAgICB0aGlzLmZhY2FkZS5jaGFydENvbmZpZyQsXG4gICAgdGhpcy5mYWNhZGUubWV0YWRhdGEkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3ZpZXdUeXBlLCBjb25maWcsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChgJHt0aGlzLndjRW1iZWRkZXJCYXNlVXJsfWAsIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldCgndicsIGAke0dFT05FVFdPUktfVUlfVEFHX05BTUV9YClcbiAgICAgIGlmICh2aWV3VHlwZSA9PT0gJ2NoYXJ0Jykge1xuICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgY29uc3QgeyBhZ2dyZWdhdGlvbiwgeFByb3BlcnR5LCB5UHJvcGVydHksIGNoYXJ0VHlwZSB9ID0gY29uZmlnXG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2UnLCBgZ24tZGF0YXNldC12aWV3LWNoYXJ0YClcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBhZ2dyZWdhdGlvbj0ke2FnZ3JlZ2F0aW9ufWApXG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgeC1wcm9wZXJ0eT0ke3hQcm9wZXJ0eX1gKVxuICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYHktcHJvcGVydHk9JHt5UHJvcGVydHl9YClcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBjaGFydC10eXBlPSR7Y2hhcnRUeXBlfWApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuICcnXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodmlld1R5cGUgPT09ICd0YWJsZScpIHtcbiAgICAgICAgLy8gdGFibGVcbiAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2UnLCBgZ24tZGF0YXNldC12aWV3LXRhYmxlYClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIG1hcFxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZScsIGBnbi1kYXRhc2V0LXZpZXctbWFwYClcbiAgICAgIH1cbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYGFwaS11cmw9JHt0aGlzLmNvbmZpZy5iYXNlUGF0aH1gKVxuICAgICAgaWYgKHRoaXMucHJveHlQYXRoKSB7XG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYHByb3h5LXBhdGg9JHt0aGlzLnByb3h5UGF0aH1gKVxuICAgICAgfVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgZGF0YXNldC1pZD0ke21ldGFkYXRhLnVuaXF1ZUlkZW50aWZpZXJ9YClcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhJywgYHByaW1hcnktY29sb3I9IzBmNDM5NWApXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBzZWNvbmRhcnktY29sb3I9IzhiYzgzMmApXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYScsIGBtYWluLWNvbG9yPSM1NTVgKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2EnLCBgYmFja2dyb3VuZC1jb2xvcj0jZmRmYmZmYClcbiAgICAgIHJldHVybiB1cmwudG9TdHJpbmcoKVxuICAgIH0pXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENvbmZpZ3VyYXRpb24pIHByaXZhdGUgY29uZmlnOiBDb25maWd1cmF0aW9uLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChQUk9YWV9QQVRIKVxuICAgIHByaXZhdGUgcHJveHlQYXRoOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFdFQl9DT01QT05FTlRfRU1CRURERVJfVVJMKVxuICAgIHByb3RlY3RlZCB3Y0VtYmVkZGVyQmFzZVVybDogc3RyaW5nLFxuICAgIHByaXZhdGUgZmFjYWRlOiBNZFZpZXdGYWNhZGVcbiAgKSB7fVxufVxuIiwiPGduLXVpLWNvcHktdGV4dC1idXR0b25cbiAgKm5nSWY9XCJ3Y0VtYmVkZGVyQmFzZVVybFwiXG4gIFt0ZXh0XT1cInBlcm1hbGlua1VybCQgfCBhc3luY1wiXG4gIFt0b29sdGlwVGV4dF09XCIndG9vbHRpcC51cmwuY29weScgfCB0cmFuc2xhdGVcIlxuPjwvZ24tdWktY29weS10ZXh0LWJ1dHRvbj5cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject, Input, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject, Input, Optional, } from '@angular/core';
|
|
2
2
|
import { Configuration } from '../../../../../../libs/data-access/gn4/src';
|
|
3
3
|
import { MdViewFacade } from '../state';
|
|
4
4
|
import { BehaviorSubject, combineLatest, map } from 'rxjs';
|
|
5
5
|
import { CopyTextButtonComponent } from '../../../../../../libs/ui/inputs/src';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
import { TranslatePipe } from '@ngx-translate/core';
|
|
8
|
-
import { GEONETWORK_UI_TAG_NAME } from '../../../../../../libs/util/shared/src';
|
|
8
|
+
import { GEONETWORK_UI_TAG_NAME, PROXY_PATH } from '../../../../../../libs/util/shared/src';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../state";
|
|
11
11
|
import * as i2 from "@angular/common";
|
|
@@ -14,8 +14,9 @@ export class DataViewWebComponentComponent {
|
|
|
14
14
|
set viewType(value) {
|
|
15
15
|
this.viewType$.next(value);
|
|
16
16
|
}
|
|
17
|
-
constructor(config, facade) {
|
|
17
|
+
constructor(config, proxyPath, facade) {
|
|
18
18
|
this.config = config;
|
|
19
|
+
this.proxyPath = proxyPath;
|
|
19
20
|
this.facade = facade;
|
|
20
21
|
this.viewType$ = new BehaviorSubject('map');
|
|
21
22
|
this.webComponentHtml$ = combineLatest(this.viewType$, this.facade.chartConfig$, this.facade.metadata$).pipe(map(([viewType, config, metadata]) => {
|
|
@@ -24,7 +25,10 @@ export class DataViewWebComponentComponent {
|
|
|
24
25
|
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
25
26
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
26
27
|
<gn-dataset-view-chart
|
|
27
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
28
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
29
|
+
? `
|
|
30
|
+
proxy-path="${this.proxyPath}"`
|
|
31
|
+
: ''}
|
|
28
32
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
29
33
|
aggregation="${aggregation}"
|
|
30
34
|
x-property="${xProperty}"
|
|
@@ -43,7 +47,10 @@ export class DataViewWebComponentComponent {
|
|
|
43
47
|
else if (viewType === 'table') {
|
|
44
48
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
45
49
|
<gn-dataset-view-table
|
|
46
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
50
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
51
|
+
? `
|
|
52
|
+
proxy-path="${this.proxyPath}"`
|
|
53
|
+
: ''}
|
|
47
54
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
48
55
|
primary-color="#0f4395"
|
|
49
56
|
secondary-color="#8bc832"
|
|
@@ -56,7 +63,10 @@ export class DataViewWebComponentComponent {
|
|
|
56
63
|
else {
|
|
57
64
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
58
65
|
<gn-dataset-view-map
|
|
59
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
66
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
67
|
+
? `
|
|
68
|
+
proxy-path="${this.proxyPath}"`
|
|
69
|
+
: ''}
|
|
60
70
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
61
71
|
primary-color="#0f4395"
|
|
62
72
|
secondary-color="#8bc832"
|
|
@@ -68,7 +78,7 @@ export class DataViewWebComponentComponent {
|
|
|
68
78
|
}
|
|
69
79
|
}));
|
|
70
80
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, deps: [{ token: Configuration }, { token: i1.MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, deps: [{ token: Configuration }, { token: PROXY_PATH, optional: true }, { token: i1.MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
82
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewWebComponentComponent, isStandalone: true, selector: "gn-ui-data-view-web-component", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n [text]=\"webComponentHtml$ | async\"\n [rows]=\"3\"\n [tooltipText]=\"'tooltip.html.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
73
83
|
}
|
|
74
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, decorators: [{
|
|
@@ -77,7 +87,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
77
87
|
}], ctorParameters: () => [{ type: i3.Configuration, decorators: [{
|
|
78
88
|
type: Inject,
|
|
79
89
|
args: [Configuration]
|
|
90
|
+
}] }, { type: undefined, decorators: [{
|
|
91
|
+
type: Optional
|
|
92
|
+
}, {
|
|
93
|
+
type: Inject,
|
|
94
|
+
args: [PROXY_PATH]
|
|
80
95
|
}] }, { type: i1.MdViewFacade }], propDecorators: { viewType: [{
|
|
81
96
|
type: Input
|
|
82
97
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LXdlYi1jb21wb25lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL2RhdGEtdmlldy13ZWItY29tcG9uZW50L2RhdGEtdmlldy13ZWItY29tcG9uZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXctd2ViLWNvbXBvbmVudC9kYXRhLXZpZXctd2ViLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7Ozs7O0FBVTNGLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsSUFDSSxRQUFRLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBcUZELFlBQ2lDLE1BQXFCLEVBRzVDLFNBQWlCLEVBQ2pCLE1BQW9CO1FBSkcsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUc1QyxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQWM7UUE5RjlCLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxLQUFLLENBQUMsQ0FBQTtRQUs5QyxzQkFBaUIsR0FBRyxhQUFhLENBQy9CLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUN0QixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFBO29CQUMvRCxPQUFPLDZFQUNMLHNCQUNGOztxQkFFVyxJQUFJLEdBQUcsQ0FDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQ3BCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN2QixDQUFDLFFBQVEsRUFBRSxJQUNWLElBQUksQ0FBQyxTQUFTO3dCQUNaLENBQUMsQ0FBQzt3QkFDUSxJQUFJLENBQUMsU0FBUyxHQUFHO3dCQUMzQixDQUFDLENBQUMsRUFDTjt3QkFDYyxRQUFRLENBQUMsZ0JBQWdCO3lCQUN4QixXQUFXO3dCQUNaLFNBQVM7d0JBQ1QsU0FBUzt3QkFDVCxTQUFTOzs7Ozs7OzRCQU9MLENBQUE7Z0JBQ3BCLENBQUM7Z0JBQ0QsT0FBTyxFQUFFLENBQUE7WUFDWCxDQUFDO2lCQUFNLElBQUksUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNoQyxPQUFPLDZFQUNMLHNCQUNGOztxQkFFYSxJQUFJLEdBQUcsQ0FDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQ3BCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN2QixDQUFDLFFBQVEsRUFBRSxJQUNWLElBQUksQ0FBQyxTQUFTO29CQUNaLENBQUMsQ0FBQzt3QkFDUSxJQUFJLENBQUMsU0FBUyxHQUFHO29CQUMzQixDQUFDLENBQUMsRUFDTjt3QkFDYyxRQUFRLENBQUMsZ0JBQWdCOzs7Ozs7OzRCQU9yQixDQUFBO1lBQ3RCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLDZFQUNMLHNCQUNGOzttQkFFVyxJQUFJLEdBQUcsQ0FDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQ3BCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN2QixDQUFDLFFBQVEsRUFBRSxJQUNWLElBQUksQ0FBQyxTQUFTO29CQUNaLENBQUMsQ0FBQztzQkFDUSxJQUFJLENBQUMsU0FBUyxHQUFHO29CQUMzQixDQUFDLENBQUMsRUFDTjtzQkFDYyxRQUFRLENBQUMsZ0JBQWdCOzs7Ozs7O3dCQU92QixDQUFBO1lBQ2xCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBUUUsQ0FBQzsrR0FoR08sNkJBQTZCLGtCQTJGOUIsYUFBYSxhQUViLFVBQVU7bUdBN0ZULDZCQUE2QiwySEN2QjFDLG9LQUtBLHlERGdCWSxZQUFZLG9GQUFFLHVCQUF1QixzSEFBRSxhQUFhOzs0RkFFbkQsNkJBQTZCO2tCQVJ6QyxTQUFTOytCQUNFLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxDQUFDOzswQkE2RjVELE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsVUFBVTtvRUExRmhCLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7IE1kVmlld0ZhY2FkZSB9IGZyb20gJy4uL3N0YXRlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQ29weVRleHRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEdFT05FVFdPUktfVUlfVEFHX05BTUUsIFBST1hZX1BBVEggfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZGF0YS12aWV3LXdlYi1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS12aWV3LXdlYi1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXctd2ViLWNvbXBvbmVudC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCwgVHJhbnNsYXRlUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3V2ViQ29tcG9uZW50Q29tcG9uZW50IHtcbiAgdmlld1R5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdtYXAnKVxuICBASW5wdXQoKVxuICBzZXQgdmlld1R5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmlld1R5cGUkLm5leHQodmFsdWUpXG4gIH1cbiAgd2ViQ29tcG9uZW50SHRtbCQgPSBjb21iaW5lTGF0ZXN0KFxuICAgIHRoaXMudmlld1R5cGUkLFxuICAgIHRoaXMuZmFjYWRlLmNoYXJ0Q29uZmlnJCxcbiAgICB0aGlzLmZhY2FkZS5tZXRhZGF0YSRcbiAgKS5waXBlKFxuICAgIG1hcCgoW3ZpZXdUeXBlLCBjb25maWcsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgaWYgKHZpZXdUeXBlID09PSAnY2hhcnQnKSB7XG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICBjb25zdCB7IGFnZ3JlZ2F0aW9uLCB4UHJvcGVydHksIHlQcm9wZXJ0eSwgY2hhcnRUeXBlIH0gPSBjb25maWdcbiAgICAgICAgICByZXR1cm4gYDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2dlb25ldHdvcmsvZ2VvbmV0d29yay11aUB3Yy1kaXN0LSR7XG4gICAgICAgICAgICBHRU9ORVRXT1JLX1VJX1RBR19OQU1FXG4gICAgICAgICAgfS9nbi13Yy5qc1wiPjwvc2NyaXB0PlxuICA8Z24tZGF0YXNldC12aWV3LWNoYXJ0XG4gICAgICAgICAgYXBpLXVybD1cIiR7bmV3IFVSTChcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmJhc2VQYXRoLFxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLm9yaWdpblxuICAgICAgICAgICkudG9TdHJpbmcoKX1cIiR7XG4gICAgICAgICAgICB0aGlzLnByb3h5UGF0aFxuICAgICAgICAgICAgICA/IGBcbiAgICAgICAgICBwcm94eS1wYXRoPVwiJHt0aGlzLnByb3h5UGF0aH1cImBcbiAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgICBkYXRhc2V0LWlkPVwiJHttZXRhZGF0YS51bmlxdWVJZGVudGlmaWVyfVwiXG4gICAgICAgICAgYWdncmVnYXRpb249XCIke2FnZ3JlZ2F0aW9ufVwiXG4gICAgICAgICAgeC1wcm9wZXJ0eT1cIiR7eFByb3BlcnR5fVwiXG4gICAgICAgICAgeS1wcm9wZXJ0eT1cIiR7eVByb3BlcnR5fVwiXG4gICAgICAgICAgY2hhcnQtdHlwZT1cIiR7Y2hhcnRUeXBlfVwiXG4gICAgICAgICAgcHJpbWFyeS1jb2xvcj1cIiMwZjQzOTVcIlxuICAgICAgICAgIHNlY29uZGFyeS1jb2xvcj1cIiM4YmM4MzJcIlxuICAgICAgICAgIG1haW4tY29sb3I9XCIjNTU1XCJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yPVwiI2ZkZmJmZlwiXG4gICAgICAgICAgbWFpbi1mb250PVwiJ0ludGVyJywgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgdGl0bGUtZm9udD1cIidETSBTZXJpZiBEaXNwbGF5Jywgc2VyaWZcIlxuICA+PC9nbi1kYXRhc2V0LXZpZXctY2hhcnQ+YFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJ1xuICAgICAgfSBlbHNlIGlmICh2aWV3VHlwZSA9PT0gJ3RhYmxlJykge1xuICAgICAgICByZXR1cm4gYDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2dlb25ldHdvcmsvZ2VvbmV0d29yay11aUB3Yy1kaXN0LSR7XG4gICAgICAgICAgR0VPTkVUV09SS19VSV9UQUdfTkFNRVxuICAgICAgICB9L2duLXdjLmpzXCI+PC9zY3JpcHQ+XG4gIDxnbi1kYXRhc2V0LXZpZXctdGFibGVcbiAgICAgICAgICBhcGktdXJsPVwiJHtuZXcgVVJMKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuYmFzZVBhdGgsXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ub3JpZ2luXG4gICAgICAgICAgKS50b1N0cmluZygpfVwiJHtcbiAgICAgICAgICAgIHRoaXMucHJveHlQYXRoXG4gICAgICAgICAgICAgID8gYFxuICAgICAgICAgIHByb3h5LXBhdGg9XCIke3RoaXMucHJveHlQYXRofVwiYFxuICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgfVxuICAgICAgICAgIGRhdGFzZXQtaWQ9XCIke21ldGFkYXRhLnVuaXF1ZUlkZW50aWZpZXJ9XCJcbiAgICAgICAgICBwcmltYXJ5LWNvbG9yPVwiIzBmNDM5NVwiXG4gICAgICAgICAgc2Vjb25kYXJ5LWNvbG9yPVwiIzhiYzgzMlwiXG4gICAgICAgICAgbWFpbi1jb2xvcj1cIiM1NTVcIlxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I9XCIjZmRmYmZmXCJcbiAgICAgICAgICBtYWluLWZvbnQ9XCInSW50ZXInLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICB0aXRsZS1mb250PVwiJ0RNIFNlcmlmIERpc3BsYXknLCBzZXJpZlwiXG4gID48L2duLWRhdGFzZXQtdmlldy10YWJsZT5gXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYDxzY3JpcHQgc3JjPVwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL2dlb25ldHdvcmsvZ2VvbmV0d29yay11aUB3Yy1kaXN0LSR7XG4gICAgICAgICAgR0VPTkVUV09SS19VSV9UQUdfTkFNRVxuICAgICAgICB9L2duLXdjLmpzXCI+PC9zY3JpcHQ+XG48Z24tZGF0YXNldC12aWV3LW1hcFxuICAgICAgICBhcGktdXJsPVwiJHtuZXcgVVJMKFxuICAgICAgICAgIHRoaXMuY29uZmlnLmJhc2VQYXRoLFxuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbiAgICAgICAgKS50b1N0cmluZygpfVwiJHtcbiAgICAgICAgICB0aGlzLnByb3h5UGF0aFxuICAgICAgICAgICAgPyBgXG4gICAgICAgIHByb3h5LXBhdGg9XCIke3RoaXMucHJveHlQYXRofVwiYFxuICAgICAgICAgICAgOiAnJ1xuICAgICAgICB9XG4gICAgICAgIGRhdGFzZXQtaWQ9XCIke21ldGFkYXRhLnVuaXF1ZUlkZW50aWZpZXJ9XCJcbiAgICAgICAgcHJpbWFyeS1jb2xvcj1cIiMwZjQzOTVcIlxuICAgICAgICBzZWNvbmRhcnktY29sb3I9XCIjOGJjODMyXCJcbiAgICAgICAgbWFpbi1jb2xvcj1cIiM1NTVcIlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yPVwiI2ZkZmJmZlwiXG4gICAgICAgIG1haW4tZm9udD1cIidJbnRlcicsIHNhbnMtc2VyaWZcIlxuICAgICAgICB0aXRsZS1mb250PVwiJ0RNIFNlcmlmIERpc3BsYXknLCBzZXJpZlwiXG4+PC9nbi1kYXRhc2V0LXZpZXctbWFwPmBcbiAgICAgIH1cbiAgICB9KVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDb25maWd1cmF0aW9uKSBwcml2YXRlIGNvbmZpZzogQ29uZmlndXJhdGlvbixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoUFJPWFlfUEFUSClcbiAgICBwcml2YXRlIHByb3h5UGF0aDogc3RyaW5nLFxuICAgIHByaXZhdGUgZmFjYWRlOiBNZFZpZXdGYWNhZGVcbiAgKSB7fVxufVxuIiwiPGduLXVpLWNvcHktdGV4dC1idXR0b25cbiAgW3RleHRdPVwid2ViQ29tcG9uZW50SHRtbCQgfCBhc3luY1wiXG4gIFtyb3dzXT1cIjNcIlxuICBbdG9vbHRpcFRleHRdPVwiJ3Rvb2x0aXAuaHRtbC5jb3B5JyB8IHRyYW5zbGF0ZVwiXG4+PC9nbi11aS1jb3B5LXRleHQtYnV0dG9uPlxuIl19
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { StacItemsResultGridComponent } from '../../../../../../libs/ui/elements/src';
|
|
4
|
+
import { ButtonComponent, DateRangeInputsComponent, } from '../../../../../../libs/ui/inputs/src';
|
|
5
|
+
import { NgIconComponent, provideIcons } from '@ng-icons/core';
|
|
6
|
+
import { matDeleteOutline } from '@ng-icons/material-icons/outline';
|
|
7
|
+
import { TranslateDirective, TranslateService } from '@ngx-translate/core';
|
|
8
|
+
import { DataService } from '../../../../../../libs/feature/dataviz/src';
|
|
9
|
+
import { BehaviorSubject, catchError, combineLatest, debounceTime, from, map, of, switchMap, take, tap, } from 'rxjs';
|
|
10
|
+
import { MdViewFacade } from '../state';
|
|
11
|
+
import { PreviousNextButtonsComponent } from '../../../../../../libs/ui/layout/src';
|
|
12
|
+
import { FetchError } from '../../../../../../libs/util/data-fetcher/src';
|
|
13
|
+
import { PopupAlertComponent } from '../../../../../../libs/ui/widgets/src';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "../../../../../../libs/feature/dataviz/src";
|
|
16
|
+
import * as i2 from "../state";
|
|
17
|
+
import * as i3 from "@ngx-translate/core";
|
|
18
|
+
import * as i4 from "@angular/common";
|
|
19
|
+
const STAC_ITEMS_PER_PAGE = 12;
|
|
20
|
+
const DEBOUNCE_TIME_MS = 500;
|
|
21
|
+
export class StacViewComponent {
|
|
22
|
+
constructor(dataService, metadataViewFacade, translateService) {
|
|
23
|
+
this.dataService = dataService;
|
|
24
|
+
this.metadataViewFacade = metadataViewFacade;
|
|
25
|
+
this.translateService = translateService;
|
|
26
|
+
this.isFilterModified = false;
|
|
27
|
+
this.error = null;
|
|
28
|
+
this.initialTemporalExtent = null;
|
|
29
|
+
this.currentTemporalExtent$ = new BehaviorSubject(null);
|
|
30
|
+
this.currentPageUrl$ = new BehaviorSubject(null);
|
|
31
|
+
this.items$ = combineLatest([
|
|
32
|
+
this.currentPageUrl$,
|
|
33
|
+
this.currentTemporalExtent$,
|
|
34
|
+
]).pipe(debounceTime(DEBOUNCE_TIME_MS), switchMap(([currentPageUrl, temporalExtent]) => {
|
|
35
|
+
this.error = null;
|
|
36
|
+
const options = {
|
|
37
|
+
limit: STAC_ITEMS_PER_PAGE,
|
|
38
|
+
};
|
|
39
|
+
if (temporalExtent && (temporalExtent.start || temporalExtent.end)) {
|
|
40
|
+
options.datetime = {
|
|
41
|
+
...(temporalExtent.start && { start: temporalExtent.start }),
|
|
42
|
+
...(temporalExtent.end && { end: temporalExtent.end }),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return from(this.dataService.getItemsFromStacApi(currentPageUrl, options)).pipe(tap((stacDocument) => {
|
|
46
|
+
this.previousPageUrl =
|
|
47
|
+
stacDocument.links.find((link) => link.rel === 'previous')?.href ||
|
|
48
|
+
null;
|
|
49
|
+
this.nextPageUrl =
|
|
50
|
+
stacDocument.links.find((link) => link.rel === 'next')?.href || null;
|
|
51
|
+
}), map((stacDocument) => stacDocument.features), catchError((err) => {
|
|
52
|
+
this.handleError(err);
|
|
53
|
+
return of([]);
|
|
54
|
+
}));
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
ngOnInit() {
|
|
58
|
+
this.metadataViewFacade.metadata$
|
|
59
|
+
.pipe(take(1), map((metadata) => {
|
|
60
|
+
const temporalExtents = metadata?.kind === 'dataset'
|
|
61
|
+
? metadata.temporalExtents
|
|
62
|
+
: [];
|
|
63
|
+
return temporalExtents.length > 0
|
|
64
|
+
? temporalExtents[0]
|
|
65
|
+
: {
|
|
66
|
+
start: null,
|
|
67
|
+
end: null,
|
|
68
|
+
};
|
|
69
|
+
}))
|
|
70
|
+
.subscribe((extent) => {
|
|
71
|
+
this.initialTemporalExtent = extent;
|
|
72
|
+
this.currentTemporalExtent$.next(extent);
|
|
73
|
+
});
|
|
74
|
+
this.metadataViewFacade.stacLinks$
|
|
75
|
+
.pipe(take(1), map((links) => (links && links.length > 0 ? links[0] : null)))
|
|
76
|
+
.subscribe((link) => {
|
|
77
|
+
if (link) {
|
|
78
|
+
this.initialPageUrl = link.url.href;
|
|
79
|
+
this.currentPageUrl$.next(link.url.href);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
onTemporalExtentChange(extent) {
|
|
84
|
+
this.currentTemporalExtent$.next(extent);
|
|
85
|
+
// make sure to use url without pagination token when temporal filter changes
|
|
86
|
+
this.currentPageUrl$.next(this.initialPageUrl);
|
|
87
|
+
this.isFilterModified = true;
|
|
88
|
+
}
|
|
89
|
+
onResetFilters() {
|
|
90
|
+
this.currentTemporalExtent$.next(this.initialTemporalExtent);
|
|
91
|
+
this.isFilterModified = false;
|
|
92
|
+
}
|
|
93
|
+
handleError(error) {
|
|
94
|
+
if (error instanceof FetchError) {
|
|
95
|
+
this.error = this.translateService.instant(`dataset.error.${error.type}`, {
|
|
96
|
+
info: error.info,
|
|
97
|
+
});
|
|
98
|
+
console.warn(error.message);
|
|
99
|
+
}
|
|
100
|
+
else if (error instanceof Error) {
|
|
101
|
+
this.error = this.translateService.instant(error.message);
|
|
102
|
+
console.warn(error.stack || error);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.error = this.translateService.instant(error);
|
|
106
|
+
console.warn(error);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// Paginable API
|
|
110
|
+
get isFirstPage() {
|
|
111
|
+
return this.previousPageUrl == null;
|
|
112
|
+
}
|
|
113
|
+
get isLastPage() {
|
|
114
|
+
return this.nextPageUrl == null;
|
|
115
|
+
}
|
|
116
|
+
goToNextPage() {
|
|
117
|
+
this.currentPageUrl$.next(this.nextPageUrl);
|
|
118
|
+
}
|
|
119
|
+
goToPrevPage() {
|
|
120
|
+
this.currentPageUrl$.next(this.previousPageUrl);
|
|
121
|
+
}
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, deps: [{ token: i1.DataService }, { token: i2.MdViewFacade }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StacViewComponent, isStandalone: true, selector: "gn-ui-stac-view", ngImport: i0, template: "<div class=\"mt-6 bg-white border border-gray-300 overflow-hidden rounded-lg\">\n <div\n class=\"w-full min-h-[366px] flex md:flex-row flex-col border-b border-gray-300\"\n >\n <div class=\"md:w-1/2 w-full flex-1 flex flex-col\">\n <gn-ui-date-range-inputs\n [temporalExtent]=\"currentTemporalExtent$ | async\"\n (temporalExtentChange)=\"onTemporalExtentChange($event)\"\n ></gn-ui-date-range-inputs>\n\n <div class=\"mt-auto mb-8 mx-8\" *ngIf=\"isFilterModified\">\n <gn-ui-button\n id=\"reset-filters-button\"\n type=\"light\"\n (buttonClick)=\"onResetFilters()\"\n >\n <span translate>stac.filter.reset</span>\n <ng-icon name=\"matDeleteOutline\" class=\"ml-2\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n\n <div class=\"md:w-1/2 w-full min-h-[280px] flex items-center justify-center\">\n <span>Map...</span>\n </div>\n </div>\n <div\n class=\"relative mx-5 my-[30px] min-h-[274px] flex items-center justify-center flex-col\"\n >\n <!-- Keep grid outside ngIf to keep items$ observable alive -->\n <gn-ui-stac-items-result-grid\n [items]=\"items$ | async\"\n ></gn-ui-stac-items-result-grid>\n <div\n *ngIf=\"(items$ | async)?.length > 0; else noResultsOrError\"\n class=\"mt-[20px] mx-auto flex justify-center\"\n >\n <gn-ui-previous-next-buttons\n [listComponent]=\"this\"\n [displayLabels]=\"true\"\n ></gn-ui-previous-next-buttons>\n </div>\n <ng-template #noResultsOrError>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute left-0 top-0 w-full block\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n <div\n *ngIf=\"!error\"\n class=\"flex items-center justify-center flex-col h-full gap-[10px]\"\n >\n <h2 class=\"text-center text-xl\" translate>stac.results.noResults</h2>\n <gn-ui-button\n id=\"no-results-button\"\n type=\"secondary\"\n (buttonClick)=\"onResetFilters()\"\n >\n <span translate>stac.filter.reset</span>\n <ng-icon name=\"matDeleteOutline\" class=\"ml-2\"></ng-icon>\n </gn-ui-button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [":host{--gn-ui-button-padding: 7px 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: StacItemsResultGridComponent, selector: "gn-ui-stac-items-result-grid", inputs: ["items"] }, { kind: "component", type: DateRangeInputsComponent, selector: "gn-ui-date-range-inputs", inputs: ["temporalExtent"], outputs: ["temporalExtentChange"] }, { kind: "component", type: PreviousNextButtonsComponent, selector: "gn-ui-previous-next-buttons", inputs: ["listComponent", "displayLabels"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], viewProviders: [provideIcons({ matDeleteOutline })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
124
|
+
}
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, decorators: [{
|
|
126
|
+
type: Component,
|
|
127
|
+
args: [{ selector: 'gn-ui-stac-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
128
|
+
CommonModule,
|
|
129
|
+
NgIconComponent,
|
|
130
|
+
TranslateDirective,
|
|
131
|
+
StacItemsResultGridComponent,
|
|
132
|
+
DateRangeInputsComponent,
|
|
133
|
+
PreviousNextButtonsComponent,
|
|
134
|
+
PopupAlertComponent,
|
|
135
|
+
ButtonComponent,
|
|
136
|
+
], viewProviders: [provideIcons({ matDeleteOutline })], template: "<div class=\"mt-6 bg-white border border-gray-300 overflow-hidden rounded-lg\">\n <div\n class=\"w-full min-h-[366px] flex md:flex-row flex-col border-b border-gray-300\"\n >\n <div class=\"md:w-1/2 w-full flex-1 flex flex-col\">\n <gn-ui-date-range-inputs\n [temporalExtent]=\"currentTemporalExtent$ | async\"\n (temporalExtentChange)=\"onTemporalExtentChange($event)\"\n ></gn-ui-date-range-inputs>\n\n <div class=\"mt-auto mb-8 mx-8\" *ngIf=\"isFilterModified\">\n <gn-ui-button\n id=\"reset-filters-button\"\n type=\"light\"\n (buttonClick)=\"onResetFilters()\"\n >\n <span translate>stac.filter.reset</span>\n <ng-icon name=\"matDeleteOutline\" class=\"ml-2\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n\n <div class=\"md:w-1/2 w-full min-h-[280px] flex items-center justify-center\">\n <span>Map...</span>\n </div>\n </div>\n <div\n class=\"relative mx-5 my-[30px] min-h-[274px] flex items-center justify-center flex-col\"\n >\n <!-- Keep grid outside ngIf to keep items$ observable alive -->\n <gn-ui-stac-items-result-grid\n [items]=\"items$ | async\"\n ></gn-ui-stac-items-result-grid>\n <div\n *ngIf=\"(items$ | async)?.length > 0; else noResultsOrError\"\n class=\"mt-[20px] mx-auto flex justify-center\"\n >\n <gn-ui-previous-next-buttons\n [listComponent]=\"this\"\n [displayLabels]=\"true\"\n ></gn-ui-previous-next-buttons>\n </div>\n <ng-template #noResultsOrError>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute left-0 top-0 w-full block\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n <div\n *ngIf=\"!error\"\n class=\"flex items-center justify-center flex-col h-full gap-[10px]\"\n >\n <h2 class=\"text-center text-xl\" translate>stac.results.noResults</h2>\n <gn-ui-button\n id=\"no-results-button\"\n type=\"secondary\"\n (buttonClick)=\"onResetFilters()\"\n >\n <span translate>stac.filter.reset</span>\n <ng-icon name=\"matDeleteOutline\" class=\"ml-2\"></ng-icon>\n </gn-ui-button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [":host{--gn-ui-button-padding: 7px 8px}\n"] }]
|
|
137
|
+
}], ctorParameters: () => [{ type: i1.DataService }, { type: i2.MdViewFacade }, { type: i3.TranslateService }] });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGFjLXZpZXcvc3RhYy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGFjLXZpZXcvc3RhYy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBSzFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JGLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysd0JBQXdCLEdBQ3pCLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDeEUsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFDWixJQUFJLEVBQ0osR0FBRyxFQUVILEVBQUUsRUFDRixTQUFTLEVBQ1QsSUFBSSxFQUNKLEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQTtBQUViLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDdkMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDbkYsT0FBTyxFQUFFLFVB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LE9BQU8sSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUE7SUFDckMsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUE7SUFDakMsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDakQsQ0FBQzsrR0FySVUsaUJBQWlCO21HQUFqQixpQkFBaUIsMkVDdkQ5QixpMUVBb0VBLGlHRHhCSSxZQUFZLHdMQUNaLGVBQWUsNkdBQ2Ysa0JBQWtCLGtIQUNsQiw0QkFBNEIsNEZBQzVCLHdCQUF3QixtSUFDeEIsNEJBQTRCLG9IQUM1QixtQkFBbUIsb0dBQ25CLGVBQWUsb0hBRUYsQ0FBQyxZQUFZLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7OzRGQUV4QyxpQkFBaUI7a0JBbEI3QixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQiw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1QixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCLGlCQUNjLENBQUMsWUFBWSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIERhdGFzZXRSZWNvcmQsXG4gIERhdGFzZXRUZW1wb3JhbEV4dGVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgU3RhY0l0ZW1zUmVzdWx0R3JpZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjJ1xuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBEYXRlUmFuZ2VJbnB1dHNDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE5nSWNvbkNvbXBvbmVudCwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXREZWxldGVPdXRsaW5lIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL291dGxpbmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVEaXJlY3RpdmUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlYm91bmNlVGltZSxcbiAgZnJvbSxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBHZXRDb2xsZWN0aW9uSXRlbXNPcHRpb25zLCBTdGFjSXRlbSB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZSdcbmltcG9ydCB7IFByZXZpb3VzTmV4dEJ1dHRvbnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2xheW91dC9zcmMnXG5pbXBvcnQgeyBGZXRjaEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMnXG5pbXBvcnQgeyBQb3B1cEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcblxuY29uc3QgU1RBQ19JVEVNU19QRVJfUEFHRSA9IDEyXG5jb25zdCBERUJPVU5DRV9USU1FX01TID0gNTAwXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLXN0YWMtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGFjLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGFjLXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOZ0ljb25Db21wb25lbnQsXG4gICAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICAgIFN0YWNJdGVtc1Jlc3VsdEdyaWRDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlSW5wdXRzQ29tcG9uZW50LFxuICAgIFByZXZpb3VzTmV4dEJ1dHRvbnNDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIHZpZXdQcm92aWRlcnM6IFtwcm92aWRlSWNvbnMoeyBtYXREZWxldGVPdXRsaW5lIH0pXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhY1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpc0ZpbHRlck1vZGlmaWVkID0gZmFsc2VcbiAgZXJyb3IgPSBudWxsXG5cbiAgaW5pdGlhbFRlbXBvcmFsRXh0ZW50OiBEYXRhc2V0VGVtcG9yYWxFeHRlbnQgfCBudWxsID0gbnVsbFxuICBjdXJyZW50VGVtcG9yYWxFeHRlbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhc2V0VGVtcG9yYWxFeHRlbnQgfCBudWxsPihcbiAgICBudWxsXG4gIClcblxuICBpbml0aWFsUGFnZVVybDogc3RyaW5nXG4gIHByZXZpb3VzUGFnZVVybDogc3RyaW5nXG4gIG5leHRQYWdlVXJsOiBzdHJpbmdcbiAgY3VycmVudFBhZ2VVcmwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGl0ZW1zJDogT2JzZXJ2YWJsZTxTdGFjSXRlbVtdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY3VycmVudFBhZ2VVcmwkLFxuICAgIHRoaXMuY3VycmVudFRlbXBvcmFsRXh0ZW50JCxcbiAgXSkucGlwZShcbiAgICBkZWJvdW5jZVRpbWUoREVCT1VOQ0VfVElNRV9NUyksXG4gICAgc3dpdGNoTWFwKChbY3VycmVudFBhZ2VVcmwsIHRlbXBvcmFsRXh0ZW50XSkgPT4ge1xuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIGNvbnN0IG9wdGlvbnM6IEdldENvbGxlY3Rpb25JdGVtc09wdGlvbnMgPSB7XG4gICAgICAgIGxpbWl0OiBTVEFDX0lURU1TX1BFUl9QQUdFLFxuICAgICAgfVxuICAgICAgaWYgKHRlbXBvcmFsRXh0ZW50ICYmICh0ZW1wb3JhbEV4dGVudC5zdGFydCB8fCB0ZW1wb3JhbEV4dGVudC5lbmQpKSB7XG4gICAgICAgIG9wdGlvbnMuZGF0ZXRpbWUgPSB7XG4gICAgICAgICAgLi4uKHRlbXBvcmFsRXh0ZW50LnN0YXJ0ICYmIHsgc3RhcnQ6IHRlbXBvcmFsRXh0ZW50LnN0YXJ0IH0pLFxuICAgICAgICAgIC4uLih0ZW1wb3JhbEV4dGVudC5lbmQgJiYgeyBlbmQ6IHRlbXBvcmFsRXh0ZW50LmVuZCB9KSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0SXRlbXNGcm9tU3RhY0FwaShjdXJyZW50UGFnZVVybCwgb3B0aW9ucylcbiAgICAgICkucGlwZShcbiAgICAgICAgdGFwKChzdGFjRG9jdW1lbnQpID0+IHtcbiAgICAgICAgICB0aGlzLnByZXZpb3VzUGFnZVVybCA9XG4gICAgICAgICAgICBzdGFjRG9jdW1lbnQubGlua3MuZmluZCgobGluaykgPT4gbGluay5yZWwgPT09ICdwcmV2aW91cycpPy5ocmVmIHx8XG4gICAgICAgICAgICBudWxsXG4gICAgICAgICAgdGhpcy5uZXh0UGFnZVVybCA9XG4gICAgICAgICAgICBzdGFjRG9jdW1lbnQubGlua3MuZmluZCgobGluaykgPT4gbGluay5yZWwgPT09ICduZXh0Jyk/LmhyZWYgfHwgbnVsbFxuICAgICAgICB9KSxcbiAgICAgICAgbWFwKChzdGFjRG9jdW1lbnQpID0+IHN0YWNEb2N1bWVudC5mZWF0dXJlcyksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9KVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXRhZGF0YVZpZXdGYWNhZGU6IE1kVmlld0ZhY2FkZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubWV0YWRhdGFWaWV3RmFjYWRlLm1ldGFkYXRhJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcCgobWV0YWRhdGEpID0+IHtcbiAgICAgICAgICBjb25zdCB0ZW1wb3JhbEV4dGVudHMgPVxuICAgICAgICAgICAgbWV0YWRhdGE/LmtpbmQgPT09ICdkYXRhc2V0J1xuICAgICAgICAgICAgICA/IChtZXRhZGF0YSBhcyBEYXRhc2V0UmVjb3JkKS50ZW1wb3JhbEV4dGVudHNcbiAgICAgICAgICAgICAgOiBbXVxuXG4gICAgICAgICAgcmV0dXJuIHRlbXBvcmFsRXh0ZW50cy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IHRlbXBvcmFsRXh0ZW50c1swXVxuICAgICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICAgIHN0YXJ0OiBudWxsLFxuICAgICAgICAgICAgICAgIGVuZDogbnVsbCxcbiAgICAgICAgICAgICAgfSBhcyBEYXRhc2V0VGVtcG9yYWxFeHRlbnQpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChleHRlbnQpID0+IHtcbiAgICAgICAgdGhpcy5pbml0aWFsVGVtcG9yYWxFeHRlbnQgPSBleHRlbnRcbiAgICAgICAgdGhpcy5jdXJyZW50VGVtcG9yYWxFeHRlbnQkLm5leHQoZXh0ZW50KVxuICAgICAgfSlcblxuICAgIHRoaXMubWV0YWRhdGFWaWV3RmFjYWRlLnN0YWNMaW5rcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBtYXAoKGxpbmtzKSA9PiAobGlua3MgJiYgbGlua3MubGVuZ3RoID4gMCA/IGxpbmtzWzBdIDogbnVsbCkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChsaW5rKSA9PiB7XG4gICAgICAgIGlmIChsaW5rKSB7XG4gICAgICAgICAgdGhpcy5pbml0aWFsUGFnZVVybCA9IGxpbmsudXJsLmhyZWZcbiAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlVXJsJC5uZXh0KGxpbmsudXJsLmhyZWYpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gIH1cblxuICBvblRlbXBvcmFsRXh0ZW50Q2hhbmdlKGV4dGVudDogRGF0YXNldFRlbXBvcmFsRXh0ZW50IHwgbnVsbCkge1xuICAgIHRoaXMuY3VycmVudFRlbXBvcmFsRXh0ZW50JC5uZXh0KGV4dGVudClcbiAgICAvLyBtYWtlIHN1cmUgdG8gdXNlIHVybCB3aXRob3V0IHBhZ2luYXRpb24gdG9rZW4gd2hlbiB0ZW1wb3JhbCBmaWx0ZXIgY2hhbmdlc1xuICAgIHRoaXMuY3VycmVudFBhZ2VVcmwkLm5leHQodGhpcy5pbml0aWFsUGFnZVVybClcbiAgICB0aGlzLmlzRmlsdGVyTW9kaWZpZWQgPSB0cnVlXG4gIH1cblxuICBvblJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLmN1cnJlbnRUZW1wb3JhbEV4dGVudCQubmV4dCh0aGlzLmluaXRpYWxUZW1wb3JhbEV4dGVudClcbiAgICB0aGlzLmlzRmlsdGVyTW9kaWZpZWQgPSBmYWxzZVxuICB9XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEZldGNoRXJyb3IgfCBFcnJvciB8IHN0cmluZykge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEZldGNoRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgYGRhdGFzZXQuZXJyb3IuJHtlcnJvci50eXBlfWAsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmZvOiBlcnJvci5pbmZvLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IubWVzc2FnZSlcbiAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChlcnJvci5tZXNzYWdlKVxuICAgICAgY29uc29sZS53YXJuKGVycm9yLnN0YWNrIHx8IGVycm9yKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXJyb3IpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgLy8gUGFnaW5hYmxlIEFQSVxuICBnZXQgaXNGaXJzdFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJldmlvdXNQYWdlVXJsID09IG51bGxcbiAgfVxuICBnZXQgaXNMYXN0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uZXh0UGFnZVVybCA9PSBudWxsXG4gIH1cbiAgZ29Ub05leHRQYWdlKCkge1xuICAgIHRoaXMuY3VycmVudFBhZ2VVcmwkLm5leHQodGhpcy5uZXh0UGFnZVVybClcbiAgfVxuICBnb1RvUHJldlBhZ2UoKSB7XG4gICAgdGhpcy5jdXJyZW50UGFnZVVybCQubmV4dCh0aGlzLnByZXZpb3VzUGFnZVVybClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm10LTYgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1sZ1wiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ3LWZ1bGwgbWluLWgtWzM2NnB4XSBmbGV4IG1kOmZsZXgtcm93IGZsZXgtY29sIGJvcmRlci1iIGJvcmRlci1ncmF5LTMwMFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwibWQ6dy0xLzIgdy1mdWxsIGZsZXgtMSBmbGV4IGZsZXgtY29sXCI+XG4gICAgICA8Z24tdWktZGF0ZS1yYW5nZS1pbnB1dHNcbiAgICAgICAgW3RlbXBvcmFsRXh0ZW50XT1cImN1cnJlbnRUZW1wb3JhbEV4dGVudCQgfCBhc3luY1wiXG4gICAgICAgICh0ZW1wb3JhbEV4dGVudENoYW5nZSk9XCJvblRlbXBvcmFsRXh0ZW50Q2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZGF0ZS1yYW5nZS1pbnB1dHM+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC1hdXRvIG1iLTggbXgtOFwiICpuZ0lmPVwiaXNGaWx0ZXJNb2RpZmllZFwiPlxuICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgaWQ9XCJyZXNldC1maWx0ZXJzLWJ1dHRvblwiXG4gICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwib25SZXNldEZpbHRlcnMoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+c3RhYy5maWx0ZXIucmVzZXQ8L3NwYW4+XG4gICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdERlbGV0ZU91dGxpbmVcIiBjbGFzcz1cIm1sLTJcIj48L25nLWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWQ6dy0xLzIgdy1mdWxsIG1pbi1oLVsyODBweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgIDxzcGFuPk1hcC4uLjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInJlbGF0aXZlIG14LTUgbXktWzMwcHhdIG1pbi1oLVsyNzRweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZmxleC1jb2xcIlxuICA+XG4gICAgPCEtLSBLZWVwIGdyaWQgb3V0c2lkZSBuZ0lmIHRvIGtlZXAgaXRlbXMkIG9ic2VydmFibGUgYWxpdmUgLS0+XG4gICAgPGduLXVpLXN0YWMtaXRlbXMtcmVzdWx0LWdyaWRcbiAgICAgIFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiXG4gICAgPjwvZ24tdWktc3RhYy1pdGVtcy1yZXN1bHQtZ3JpZD5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIihpdGVtcyQgfCBhc3luYyk/Lmxlbmd0aCA+IDA7IGVsc2Ugbm9SZXN1bHRzT3JFcnJvclwiXG4gICAgICBjbGFzcz1cIm10LVsyMHB4XSBteC1hdXRvIGZsZXgganVzdGlmeS1jZW50ZXJcIlxuICAgID5cbiAgICAgIDxnbi11aS1wcmV2aW91cy1uZXh0LWJ1dHRvbnNcbiAgICAgICAgW2xpc3RDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICAgIFtkaXNwbGF5TGFiZWxzXT1cInRydWVcIlxuICAgICAgPjwvZ24tdWktcHJldmlvdXMtbmV4dC1idXR0b25zPlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9SZXN1bHRzT3JFcnJvcj5cbiAgICAgIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICAgICAqbmdJZj1cImVycm9yXCJcbiAgICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgICBpY29uPVwibWF0RXJyb3JPdXRsaW5lT3V0bGluZVwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbGVmdC0wIHRvcC0wIHctZnVsbCBibG9ja1wiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIHRyYW5zbGF0ZT57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiIWVycm9yXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmbGV4LWNvbCBoLWZ1bGwgZ2FwLVsxMHB4XVwiXG4gICAgICA+XG4gICAgICAgIDxoMiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQteGxcIiB0cmFuc2xhdGU+c3RhYy5yZXN1bHRzLm5vUmVzdWx0czwvaDI+XG4gICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICBpZD1cIm5vLXJlc3VsdHMtYnV0dG9uXCJcbiAgICAgICAgICB0eXBlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwib25SZXNldEZpbHRlcnMoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+c3RhYy5maWx0ZXIucmVzZXQ8L3NwYW4+XG4gICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdERlbGV0ZU91dGxpbmVcIiBjbGFzcz1cIm1sLTJcIj48L25nLWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -42,8 +42,21 @@ export class MdViewFacade {
|
|
|
42
42
|
this.sourceOf$ = this.store.pipe(select(MdViewSelectors.getSourceOf));
|
|
43
43
|
this.chartConfig$ = this.store.pipe(select(MdViewSelectors.getChartConfig));
|
|
44
44
|
this.allLinks$ = this.metadata$.pipe(map((record) => 'onlineResources' in record ? record.onlineResources : []), shareReplay(1));
|
|
45
|
+
this.resourceDoi$ = this.metadata$.pipe(map((record) => {
|
|
46
|
+
if (!record?.resourceIdentifiers?.length)
|
|
47
|
+
return null;
|
|
48
|
+
const doiIdentifier = record.resourceIdentifiers.find((id) => id.codeSpace?.toLowerCase().includes('doi.org') ||
|
|
49
|
+
id.code.startsWith('10.'));
|
|
50
|
+
if (!doiIdentifier)
|
|
51
|
+
return null;
|
|
52
|
+
return {
|
|
53
|
+
code: doiIdentifier.code,
|
|
54
|
+
url: doiIdentifier.url ? doiIdentifier.url : null,
|
|
55
|
+
};
|
|
56
|
+
}), shareReplay(1));
|
|
45
57
|
this.apiLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.API))), shareReplay(1));
|
|
46
58
|
this.mapApiLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.MAP_API))), shareReplay(1));
|
|
59
|
+
this.stacLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => link.type === 'service' && link.accessServiceProtocol === 'stac')), shareReplay(1));
|
|
47
60
|
this.downloadLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DOWNLOAD))));
|
|
48
61
|
this.dataLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DATA))));
|
|
49
62
|
this.geoDataLinks$ = this.allLinks$.pipe(map((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.GEODATA))));
|
|
@@ -116,4 +129,4 @@ export class MdViewFacade {
|
|
|
116
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MdViewFacade, decorators: [{
|
|
117
130
|
type: Injectable
|
|
118
131
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.LinkClassifierService }, { type: i3.AvatarServiceInterface }, { type: i4.DataService }] });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEVBQ2QsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEdBQ1IsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sS0FBSyxlQUFlLE1BQU0sb0JBQW9CLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBTXpGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBRWxGLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7Ozs7O0FBR3hFOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxLQUFZLEVBQ2IsY0FBcUMsRUFDcEMsYUFBcUMsRUFDdEMsV0FBd0I7UUFIdkIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNiLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBd0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFHakMsZUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUMxQixNQUFNLENBQUMsZUFB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LENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW9DO1FBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLFlBQTBCO1FBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQW1CO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FBQyxRQUF1QjtRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckUsQ0FBQzsrR0FsTVUsWUFBWTttSEFBWixZQUFZOzs0RkFBWixZQUFZO2tCQVB4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBkZWZhdWx0SWZFbXB0eSxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIG1lcmdlTWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxuICB0b0FycmF5LFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCAqIGFzIE1kVmlld0FjdGlvbnMgZnJvbSAnLi9tZHZpZXcuYWN0aW9ucydcbmltcG9ydCAqIGFzIE1kVmlld1NlbGVjdG9ycyBmcm9tICcuL21kdmlldy5zZWxlY3RvcnMnXG5pbXBvcnQgeyBMaW5rQ2xhc3NpZmllclNlcnZpY2UsIExpbmtVc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgRGF0YXZpekNoYXJ0Q29uZmlnTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9kYXRhdml6L2RhdGF2aXotY29uZmlndXJhdGlvbi5tb2RlbCdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIFVzZXJGZWVkYmFjayxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQXZhdGFyU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuaW1wb3J0IHsgT2djQXBpUmVjb3JkIH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7IGZyb20sIG9mLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjJ1xuXG5ASW5qZWN0YWJsZSgpXG4vKipcbiAqIFRoZSBNZXRhZGF0YSBWaWV3IEZhY2FkZSBpcyB1c2VkIHRvIHJlbmRlciBjb21wbGV0ZSBtZXRhZGF0YSByZWNvcmRzLlxuICogU3VwcGx5IGl0IHdpdGggYW4gaW5jb21wbGV0ZSByZWNvcmQgKGF0IGxlYXN0IGNvbnRhaW5pbmcgdGhlIHV1aWQpIGFuZCB0aGVcbiAqIGNvcnJlc3BvbmRpbmcgZnVsbCByZWNvcmQgd2lsbCBiZSBsb2FkZWQuXG4gKiBUbyBjbGVhciB0aGUgY3VycmVudCByZWNvcmQgdXNlIHRoZSBgY2xvc2UoKWAgbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgTWRWaWV3RmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHVibGljIGxpbmtDbGFzc2lmaWVyOiBMaW5rQ2xhc3NpZmllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdmF0YXJTZXJ2aWNlOiBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlLFxuICAgIHB1YmxpYyBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VcbiAgKSB7fVxuXG4gIGlzUHJlc2VudCQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YVV1aWQpLFxuICAgIG1hcCgodXVpZCkgPT4gISF1dWlkKVxuICApXG5cbiAgaXNNZXRhZGF0YUxvYWRpbmckID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFJc0xvYWRpbmcpXG4gIClcblxuICBtZXRhZGF0YSQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YSksXG4gICAgZmlsdGVyKChtZCkgPT4gISFtZClcbiAgKVxuXG4gIGZlYXR1cmVDYXRhbG9nJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldEZlYXR1cmVDYXRhbG9nKSlcblxuICBpc0luY29tcGxldGUkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFJc0luY29tcGxldGUpLFxuICAgIGZpbHRlcigoaW5jb21wbGV0ZSkgPT4gaW5jb21wbGV0ZSAhPT0gbnVsbClcbiAgKVxuXG4gIGlzSGlnaFVwZGF0ZUZyZXF1ZW5jeSQgPSB0aGlzLm1ldGFkYXRhJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiB7XG4gICAgICBpZiAocmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHJlY29yZC51cGRhdGVGcmVxdWVuY3kucGVyID09PSAnZGF5JyAmJlxuICAgICAgICAgIHJlY29yZC51cGRhdGVGcmVxdWVuY3kudXBkYXRlZFRpbWVzID4gMVxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWNvcmQudXBkYXRlRnJlcXVlbmN5ID09PSAnY29udGludWFsJ1xuICAgIH0pXG4gIClcblxuICBlcnJvciQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRNZXRhZGF0YUVycm9yKSlcblxuICByZWxhdGVkJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldFJlbGF0ZWQpKVxuXG4gIHNvdXJjZXMkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0U291cmNlcykpXG5cbiAgc291cmNlT2YkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0U291cmNlT2YpKVxuXG4gIGNoYXJ0Q29uZmlnJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldENoYXJ0Q29uZmlnKSlcblxuICBhbGxMaW5rcyQgPSB0aGlzLm1ldGFkYXRhJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PlxuICAgICAgJ29ubGluZVJlc291cmNlcycgaW4gcmVjb3JkID8gcmVjb3JkLm9ubGluZVJlc291cmNlcyA6IFtdXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgYXBpTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PiB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5BUEkpKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIG1hcEFwaUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuTUFQX0FQSSlcbiAgICAgIClcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBkb3dubG9hZExpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuRE9XTkxPQUQpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgZGF0YUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT4gdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuREFUQSkpXG4gICAgKVxuICApXG5cbiAgZ2VvRGF0YUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuR0VPREFUQSlcbiAgICAgIClcbiAgICApXG4gIClcblxuICBnZW9EYXRhTGlua3NXaXRoR2VvbWV0cnkkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGxpbmtzKSA9PlxuICAgICAgZnJvbShsaW5rcykucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKGxpbmspID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuR0VPREFUQSkpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgbGluay50eXBlID09PSAnc2VydmljZScgJiZcbiAgICAgICAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdvZ2NGZWF0dXJlcydcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldEl0ZW1zRnJvbU9nY0FwaShsaW5rLnVybC5ocmVmKVxuICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChjb2xsZWN0aW9uUmVjb3JkczogT2djQXBpUmVjb3JkW10pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uUmVjb3JkcyAmJlxuICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uUmVjb3Jkc1swXSAmJlxuICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uUmVjb3Jkc1swXS5nZW9tZXRyeVxuICAgICAgICAgICAgICAgICAgICA/IGxpbmtcbiAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGVmYXVsdElmRW1wdHkobnVsbCksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKGxpbmspXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRvQXJyYXkoKSxcbiAgICAgICAgbWFwKChsaW5rcykgPT4gbGlua3MuZmlsdGVyKChsaW5rKSA9PiBsaW5rICE9PSBudWxsKSlcbiAgICAgIClcbiAgICApXG4gIClcblxuICBsYW5kaW5nUGFnZUxpbmtzJCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+ICgnbGFuZGluZ1BhZ2UnIGluIHJlY29yZCA/IFtyZWNvcmQubGFuZGluZ1BhZ2VdIDogW10pKVxuICApXG5cbiAgb3RoZXJMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLlVOS05PV04pXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgdXNlckZlZWRiYWNrcyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRVc2VyRmVlZGJhY2tzKSlcbiAgaXNBbGxVc2VyRmVlZGJhY2tMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldEFsbFVzZXJGZWVkYmFja3NMb2FkaW5nKVxuICApXG4gIGlzQWRkVXNlckZlZWRiYWNrTG9hZGluZyQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRBZGRVc2VyRmVlZGJhY2tzTG9hZGluZylcbiAgKVxuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgc2hvdyBhbiBpbmNvbXBsZXRlIHJlY29yZCAoZS5nLiBmcm9tIGEgc2VhcmNoIHJlc3VsdCkgYXMgYSBwcmV2aWV3XG4gICAqIE5vdGU6IHRoZSBmdWxsIHJlY29yZCB3aWxsIG5vdCBiZSBsb2FkZWQgYXV0b21hdGljYWxseTsgdXNlIHRoZSBgbG9hZEZ1bGxgIG1ldGhvZCBmb3IgdGhhdFxuICAgKi9cbiAgc2V0SW5jb21wbGV0ZU1ldGFkYXRhKGluY29tcGxldGU6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuc2V0SW5jb21wbGV0ZU1ldGFkYXRhKHsgaW5jb21wbGV0ZSB9KSlcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgdHJpZ2dlciB0aGUgbG9hZCBvZiBhIGZ1bGwgbWV0YWRhdGEgcmVjb3JkXG4gICAqL1xuICBsb2FkRnVsbCh1dWlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YSh7IHV1aWQgfSkpXG4gIH1cblxuICBjbG9zZU1ldGFkYXRhKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5jbG9zZU1ldGFkYXRhKCkpXG4gIH1cblxuICBzZXRDaGFydENvbmZpZyhjaGFydENvbmZpZzogRGF0YXZpekNoYXJ0Q29uZmlnTW9kZWwpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuc2V0Q2hhcnRDb25maWcoeyBjaGFydENvbmZpZyB9KSlcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VyRmVlZGJhY2tzXG4gICAqL1xuICBhZGRVc2VyRmVlZGJhY2sodXNlckZlZWRiYWNrOiBVc2VyRmVlZGJhY2spIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuYWRkVXNlckZlZWRiYWNrKHsgdXNlckZlZWRiYWNrIH0pKVxuICB9XG5cbiAgbG9hZFVzZXJGZWVkYmFja3MoZGF0YXNldFV1aWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5sb2FkVXNlckZlZWRiYWNrcyh7IGRhdGFzZXRVdWlkIH0pKVxuICB9XG5cbiAgLyoqXG4gICAqIGxvYWRGZWF0dXJlQ2F0YWxvZ1xuICAgKi9cbiAgbG9hZEZlYXR1cmVDYXRhbG9nKG1ldGFkYXRhOiBDYXRhbG9nUmVjb3JkKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmxvYWRGZWF0dXJlQ2F0YWxvZyh7IG1ldGFkYXRhIH0pKVxuICB9XG59XG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWR2aWV3LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9zdGF0ZS9tZHZpZXcuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEVBQ2QsTUFBTSxFQUNOLEdBQUcsRUFDSCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEdBQ1IsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sS0FBSyxlQUFlLE1BQU0sb0JBQW9CLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBTXpGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBRWxGLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9CLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7Ozs7O0FBR3hFOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxLQUFZLEVBQ2IsY0FBcUMsRUFDcEMsYUFBcUMsRUFDdEMsV0FBd0I7UUFIdkIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNiLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBd0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFHakMsZUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUMxQixNQUFNLENBQUMsZUFB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LEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFvQztRQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxZQUEwQjtRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxXQUFtQjtRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsUUFBdUI7UUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3JFLENBQUM7K0dBL05VLFlBQVk7bUhBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFQeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZGVmYXVsdElmRW1wdHksXG4gIGZpbHRlcixcbiAgbWFwLFxuICBtZXJnZU1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHN3aXRjaE1hcCxcbiAgdG9BcnJheSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdBY3Rpb25zIGZyb20gJy4vbWR2aWV3LmFjdGlvbnMnXG5pbXBvcnQgKiBhcyBNZFZpZXdTZWxlY3RvcnMgZnJvbSAnLi9tZHZpZXcuc2VsZWN0b3JzJ1xuaW1wb3J0IHsgTGlua0NsYXNzaWZpZXJTZXJ2aWNlLCBMaW5rVXNhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IERhdGF2aXpDaGFydENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkLFxuICBVc2VyRmVlZGJhY2ssXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYydcbmltcG9ydCB7IE9nY0FwaVJlY29yZCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBmcm9tLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYydcblxuQEluamVjdGFibGUoKVxuLyoqXG4gKiBUaGUgTWV0YWRhdGEgVmlldyBGYWNhZGUgaXMgdXNlZCB0byByZW5kZXIgY29tcGxldGUgbWV0YWRhdGEgcmVjb3Jkcy5cbiAqIFN1cHBseSBpdCB3aXRoIGFuIGluY29tcGxldGUgcmVjb3JkIChhdCBsZWFzdCBjb250YWluaW5nIHRoZSB1dWlkKSBhbmQgdGhlXG4gKiBjb3JyZXNwb25kaW5nIGZ1bGwgcmVjb3JkIHdpbGwgYmUgbG9hZGVkLlxuICogVG8gY2xlYXIgdGhlIGN1cnJlbnQgcmVjb3JkIHVzZSB0aGUgYGNsb3NlKClgIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGNsYXNzIE1kVmlld0ZhY2FkZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHB1YmxpYyBsaW5rQ2xhc3NpZmllcjogTGlua0NsYXNzaWZpZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXZhdGFyU2VydmljZTogQXZhdGFyU2VydmljZUludGVyZmFjZSxcbiAgICBwdWJsaWMgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlXG4gICkge31cblxuICBpc1ByZXNlbnQkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFVdWlkKSxcbiAgICBtYXAoKHV1aWQpID0+ICEhdXVpZClcbiAgKVxuXG4gIGlzTWV0YWRhdGFMb2FkaW5nJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhSXNMb2FkaW5nKVxuICApXG5cbiAgbWV0YWRhdGEkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGEpLFxuICAgIGZpbHRlcigobWQpID0+ICEhbWQpXG4gIClcblxuICBmZWF0dXJlQ2F0YWxvZyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRGZWF0dXJlQ2F0YWxvZykpXG5cbiAgaXNJbmNvbXBsZXRlJCA9IHRoaXMuc3RvcmUucGlwZShcbiAgICBzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldE1ldGFkYXRhSXNJbmNvbXBsZXRlKSxcbiAgICBmaWx0ZXIoKGluY29tcGxldGUpID0+IGluY29tcGxldGUgIT09IG51bGwpXG4gIClcblxuICBpc0hpZ2hVcGRhdGVGcmVxdWVuY3kkID0gdGhpcy5tZXRhZGF0YSQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT4ge1xuICAgICAgaWYgKHJlY29yZC51cGRhdGVGcmVxdWVuY3kgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICByZWNvcmQudXBkYXRlRnJlcXVlbmN5LnBlciA9PT0gJ2RheScgJiZcbiAgICAgICAgICByZWNvcmQudXBkYXRlRnJlcXVlbmN5LnVwZGF0ZWRUaW1lcyA+IDFcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeSA9PT0gJ2NvbnRpbnVhbCdcbiAgICB9KVxuICApXG5cbiAgZXJyb3IkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0TWV0YWRhdGFFcnJvcikpXG5cbiAgcmVsYXRlZCQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRSZWxhdGVkKSlcblxuICBzb3VyY2VzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldFNvdXJjZXMpKVxuXG4gIHNvdXJjZU9mJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoTWRWaWV3U2VsZWN0b3JzLmdldFNvdXJjZU9mKSlcblxuICBjaGFydENvbmZpZyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRDaGFydENvbmZpZykpXG5cbiAgYWxsTGlua3MkID0gdGhpcy5tZXRhZGF0YSQucGlwZShcbiAgICBtYXAoKHJlY29yZCkgPT5cbiAgICAgICdvbmxpbmVSZXNvdXJjZXMnIGluIHJlY29yZCA/IHJlY29yZC5vbmxpbmVSZXNvdXJjZXMgOiBbXVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIHJlc291cmNlRG9pJCA9IHRoaXMubWV0YWRhdGEkLnBpcGUoXG4gICAgbWFwKChyZWNvcmQpID0+IHtcbiAgICAgIGlmICghcmVjb3JkPy5yZXNvdXJjZUlkZW50aWZpZXJzPy5sZW5ndGgpIHJldHVybiBudWxsXG4gICAgICBjb25zdCBkb2lJZGVudGlmaWVyID0gcmVjb3JkLnJlc291cmNlSWRlbnRpZmllcnMuZmluZChcbiAgICAgICAgKGlkKSA9PlxuICAgICAgICAgIGlkLmNvZGVTcGFjZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZG9pLm9yZycpIHx8XG4gICAgICAgICAgaWQuY29kZS5zdGFydHNXaXRoKCcxMC4nKVxuICAgICAgKVxuXG4gICAgICBpZiAoIWRvaUlkZW50aWZpZXIpIHJldHVybiBudWxsXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvZGU6IGRvaUlkZW50aWZpZXIuY29kZSxcbiAgICAgICAgdXJsOiBkb2lJZGVudGlmaWVyLnVybCA/IGRvaUlkZW50aWZpZXIudXJsIDogbnVsbCxcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgYXBpTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PiB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5BUEkpKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIG1hcEFwaUxpbmtzJCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmZpbHRlcigobGluaykgPT5cbiAgICAgICAgdGhpcy5saW5rQ2xhc3NpZmllci5oYXNVc2FnZShsaW5rLCBMaW5rVXNhZ2UuTUFQX0FQSSlcbiAgICAgIClcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBzdGFjTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKFxuICAgICAgICAobGluaykgPT5cbiAgICAgICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3N0YWMnXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgZG93bmxvYWRMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkRPV05MT0FEKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIGRhdGFMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+IHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkRBVEEpKVxuICAgIClcbiAgKVxuXG4gIGdlb0RhdGFMaW5rcyQgPSB0aGlzLmFsbExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5maWx0ZXIoKGxpbmspID0+XG4gICAgICAgIHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkdFT0RBVEEpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5JCA9IHRoaXMuYWxsTGlua3MkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChsaW5rcykgPT5cbiAgICAgIGZyb20obGlua3MpLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKChsaW5rKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMubGlua0NsYXNzaWZpZXIuaGFzVXNhZ2UobGluaywgTGlua1VzYWdlLkdFT0RBVEEpKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5nZXRJdGVtc0Zyb21PZ2NBcGkobGluay51cmwuaHJlZilcbiAgICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoY29sbGVjdGlvblJlY29yZHM6IE9nY0FwaVJlY29yZFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvblJlY29yZHMgJiZcbiAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblJlY29yZHNbMF0gJiZcbiAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblJlY29yZHNbMF0uZ2VvbWV0cnlcbiAgICAgICAgICAgICAgICAgICAgPyBsaW5rXG4gICAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRJZkVtcHR5KG51bGwpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSlcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvZihudWxsKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihsaW5rKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0b0FycmF5KCksXG4gICAgICAgIG1hcCgobGlua3MpID0+IGxpbmtzLmZpbHRlcigobGluaykgPT4gbGluayAhPT0gbnVsbCkpXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgbGFuZGluZ1BhZ2VMaW5rcyQgPSB0aGlzLm1ldGFkYXRhJC5waXBlKFxuICAgIG1hcCgocmVjb3JkKSA9PiAoJ2xhbmRpbmdQYWdlJyBpbiByZWNvcmQgPyBbcmVjb3JkLmxhbmRpbmdQYWdlXSA6IFtdKSlcbiAgKVxuXG4gIG90aGVyTGlua3MkID0gdGhpcy5hbGxMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MuZmlsdGVyKChsaW5rKSA9PlxuICAgICAgICB0aGlzLmxpbmtDbGFzc2lmaWVyLmhhc1VzYWdlKGxpbmssIExpbmtVc2FnZS5VTktOT1dOKVxuICAgICAgKVxuICAgIClcbiAgKVxuXG4gIHVzZXJGZWVkYmFja3MkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0VXNlckZlZWRiYWNrcykpXG4gIGlzQWxsVXNlckZlZWRiYWNrTG9hZGluZyQgPSB0aGlzLnN0b3JlLnBpcGUoXG4gICAgc2VsZWN0KE1kVmlld1NlbGVjdG9ycy5nZXRBbGxVc2VyRmVlZGJhY2tzTG9hZGluZylcbiAgKVxuICBpc0FkZFVzZXJGZWVkYmFja0xvYWRpbmckID0gdGhpcy5zdG9yZS5waXBlKFxuICAgIHNlbGVjdChNZFZpZXdTZWxlY3RvcnMuZ2V0QWRkVXNlckZlZWRiYWNrc0xvYWRpbmcpXG4gIClcblxuICAvKipcbiAgICogVGhpcyB3aWxsIHNob3cgYW4gaW5jb21wbGV0ZSByZWNvcmQgKGUuZy4gZnJvbSBhIHNlYXJjaCByZXN1bHQpIGFzIGEgcHJldmlld1xuICAgKiBOb3RlOiB0aGUgZnVsbCByZWNvcmQgd2lsbCBub3QgYmUgbG9hZGVkIGF1dG9tYXRpY2FsbHk7IHVzZSB0aGUgYGxvYWRGdWxsYCBtZXRob2QgZm9yIHRoYXRcbiAgICovXG4gIHNldEluY29tcGxldGVNZXRhZGF0YShpbmNvbXBsZXRlOiBDYXRhbG9nUmVjb3JkKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLnNldEluY29tcGxldGVNZXRhZGF0YSh7IGluY29tcGxldGUgfSkpXG4gIH1cblxuICAvKipcbiAgICogVGhpcyB3aWxsIHRyaWdnZXIgdGhlIGxvYWQgb2YgYSBmdWxsIG1ldGFkYXRhIHJlY29yZFxuICAgKi9cbiAgbG9hZEZ1bGwodXVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGEoeyB1dWlkIH0pKVxuICB9XG5cbiAgY2xvc2VNZXRhZGF0YSgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMuY2xvc2VNZXRhZGF0YSgpKVxuICB9XG5cbiAgc2V0Q2hhcnRDb25maWcoY2hhcnRDb25maWc6IERhdGF2aXpDaGFydENvbmZpZ01vZGVsKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLnNldENoYXJ0Q29uZmlnKHsgY2hhcnRDb25maWcgfSkpXG4gIH1cblxuICAvKipcbiAgICogVXNlckZlZWRiYWNrc1xuICAgKi9cbiAgYWRkVXNlckZlZWRiYWNrKHVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZFZpZXdBY3Rpb25zLmFkZFVzZXJGZWVkYmFjayh7IHVzZXJGZWVkYmFjayB9KSlcbiAgfVxuXG4gIGxvYWRVc2VyRmVlZGJhY2tzKGRhdGFzZXRVdWlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1kVmlld0FjdGlvbnMubG9hZFVzZXJGZWVkYmFja3MoeyBkYXRhc2V0VXVpZCB9KSlcbiAgfVxuXG4gIC8qKlxuICAgKiBsb2FkRmVhdHVyZUNhdGFsb2dcbiAgICovXG4gIGxvYWRGZWF0dXJlQ2F0YWxvZyhtZXRhZGF0YTogQ2F0YWxvZ1JlY29yZCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWRWaWV3QWN0aW9ucy5sb2FkRmVhdHVyZUNhdGFsb2coeyBtZXRhZGF0YSB9KSlcbiAgfVxufVxuIl19
|
|
@@ -2,6 +2,7 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_ROUTE_REUSE, } from '.';
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
4
|
import { ROUTER_CONFIG } from './router.config';
|
|
5
|
+
import { SortByEnum, } from '../../../../../../libs/common/domain/src/lib/model/search';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/router";
|
|
7
8
|
export class RouterService {
|
|
@@ -46,6 +47,9 @@ export class RouterService {
|
|
|
46
47
|
getOrganizationPageRoute() {
|
|
47
48
|
return ROUTER_ROUTE_ORGANIZATION;
|
|
48
49
|
}
|
|
50
|
+
getDefaultSort() {
|
|
51
|
+
return SortByEnum.RESOURCE_DATES;
|
|
52
|
+
}
|
|
49
53
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, deps: [{ token: ROUTER_CONFIG }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
50
54
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, providedIn: 'root' }); }
|
|
51
55
|
}
|
|
@@ -58,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
58
62
|
type: Inject,
|
|
59
63
|
args: [ROUTER_CONFIG]
|
|
60
64
|
}] }, { type: i1.Router }] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcm91dGVyL3NyYy9saWIvZGVmYXVsdC9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLEdBQUcsQ0FBQTtBQUNWLE9BQU8sRUFBRSxNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFxQixNQUFNLGlCQUFpQixDQUFBO0FBQ2xFLE9BQU8sRUFDTCxVQUFVLEdBRVgsTUFBTSwyREFBMkQsQ0FBQTs7O0FBS2xFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ21DLFlBQStCLEVBQ3hELE1BQWM7UUFEVyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDeEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosVUFBVTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTztZQUNMLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxtQkFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7WUFDdEU7Z0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFO29CQUNKLFlBQVksRUFBRSxJQUFJO2lCQUNuQjtnQkFDRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyxvQkFBb0IsZ0JBQWdCO2dCQUM3QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyxvQkFBb0IsZ0JBQWdCO2dCQUM3QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyxrQkFBa0IsZ0JBQWdCO2dCQUMzQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyx5QkFBeUIsUUFBUTtnQkFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCO2FBQ3hEO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxtQkFBbUIsQ0FBQTtJQUM1QixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8seUJBQXlCLENBQUE7SUFDbEMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLFVBQVUsQ0FBQyxjQUFjLENBQUE7SUFDbEMsQ0FBQzsrR0FqRFUsYUFBYSxrQkFFZCxhQUFhO21IQUZaLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIFJPVVRFUl9ST1VURV9EQVRBU0VULFxuICBST1VURVJfUk9VVEVfT1JHQU5JWkFUSU9OLFxuICBST1VURVJfUk9VVEVfU0VBUkNILFxuICBST1VURVJfUk9VVEVfU0VSVklDRSxcbiAgUk9VVEVSX1JPVVRFX1JFVVNFLFxufSBmcm9tICcuJ1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBST1VURVJfQ09ORklHLCBSb3V0ZXJDb25maWdNb2RlbCB9IGZyb20gJy4vcm91dGVyLmNvbmZpZydcbmltcG9ydCB7XG4gIFNvcnRCeUVudW0sXG4gIFNvcnRCeUZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChST1VURVJfQ09ORklHKSBwcm90ZWN0ZWQgcm91dGVyQ29uZmlnOiBSb3V0ZXJDb25maWdNb2RlbCxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBpbml0Um91dGVzKCkge1xuICAgIHRoaXMucm91dGVyLnJlc2V0Q29uZmlnKHRoaXMuYnVpbGRSb3V0ZXMoKSlcbiAgfVxuXG4gIGJ1aWxkUm91dGVzKCk6IFJvdXRlcyB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHsgcGF0aDogJycsIHJlZGlyZWN0VG86IGAvJHtST1VURVJfUk9VVEVfU0VBUkNIfWAsIHBhdGhNYXRjaDogJ2Z1bGwnIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IFJPVVRFUl9ST1VURV9TRUFSQ0gsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBzaG91bGREZXRhY2g6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBvbmVudDogdGhpcy5yb3V0ZXJDb25maWcuc2VhcmNoUm91dGVDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtST1VURVJfUk9VVEVfREFUQVNFVH0vOm1ldGFkYXRhVXVpZGAsXG4gICAgICAgIGNvbXBvbmVudDogdGhpcy5yb3V0ZXJDb25maWcucmVjb3JkUm91dGVDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtST1VURVJfUk9VVEVfU0VSVklDRX0vOm1ldGFkYXRhVXVpZGAsXG4gICAgICAgIGNvbXBvbmVudDogdGhpcy5yb3V0ZXJDb25maWcucmVjb3JkUm91dGVDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtST1VURVJfUk9VVEVfUkVVU0V9LzptZXRhZGF0YVV1aWRgLFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMucm91dGVyQ29uZmlnLnJlY29yZFJvdXRlQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYCR7Uk9VVEVSX1JPVVRFX09SR0FOSVpBVElPTn0vOm5hbWVgLFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMucm91dGVyQ29uZmlnLm9yZ2FuaXphdGlvblJvdXRlQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICBdXG4gIH1cblxuICBnZXRTZWFyY2hSb3V0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBST1VURVJfUk9VVEVfU0VBUkNIXG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25QYWdlUm91dGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gUk9VVEVSX1JPVVRFX09SR0FOSVpBVElPTlxuICB9XG5cbiAgZ2V0RGVmYXVsdFNvcnQoKTogU29ydEJ5RmllbGQge1xuICAgIHJldHVybiBTb3J0QnlFbnVtLlJFU09VUkNFX0RBVEVTXG4gIH1cbn1cbiJdfQ==
|