geonetwork-ui 2.5.0-dev.6d78023ff → 2.5.0-dev.7596ebd72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +34 -28
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +25 -9
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +24 -14
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +9 -11
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -23
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +3 -4
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +25 -5
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +10 -7
- package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
- package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +43 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +1 -6
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +2 -7
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +14 -4
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -3
- package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
- package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -6
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +19 -11
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -9
- package/esm2022/translations/de.json +4 -76
- package/esm2022/translations/en.json +4 -76
- package/esm2022/translations/es.json +3 -75
- package/esm2022/translations/fr.json +16 -88
- package/esm2022/translations/it.json +21 -92
- package/esm2022/translations/nl.json +3 -75
- package/esm2022/translations/pt.json +3 -75
- package/fesm2022/geonetwork-ui.mjs +569 -899
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -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 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +1 -3
- package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +2 -3
- package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +5 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +3 -2
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
- package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +0 -1
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +16 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -28
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -3
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -2
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/index.d.ts +0 -1
- package/libs/ui/widgets/src/index.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +8 -9
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
- package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
- package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/base.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/readers/base.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +7 -4
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +36 -27
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +44 -13
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +165 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -1
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +43 -20
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -1
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +3 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +10 -10
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -13
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -20
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +24 -11
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +26 -4
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +71 -60
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -3
- package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
- package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
- package/src/libs/ui/inputs/src/index.ts +0 -1
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +48 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +1 -7
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +37 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +8 -2
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -0
- package/src/libs/ui/widgets/src/index.ts +0 -1
- package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -3
- package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
- package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
- package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
- package/src/libs/util/data-fetcher/src/lib/readers/base.ts +2 -2
- package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
- package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +34 -11
- package/src/libs/util/data-fetcher/src/lib/utils.ts +38 -32
- package/translations/de.json +4 -76
- package/translations/en.json +4 -76
- package/translations/es.json +3 -75
- package/translations/fr.json +16 -88
- package/translations/it.json +21 -92
- package/translations/nl.json +3 -75
- package/translations/pt.json +3 -75
- package/translations/sk.json +3 -75
- package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +0 -78
- package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +0 -55
- package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts +0 -33
- package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +0 -1
- package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts +0 -21
- package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts.map +0 -1
- package/src/libs/data-access/datafeeder/src/index.ts +0 -1
- package/src/libs/data-access/datafeeder/src/openapi/api/api.ts +0 -11
- package/src/libs/data-access/datafeeder/src/openapi/api/config.api.service.ts +0 -168
- package/src/libs/data-access/datafeeder/src/openapi/api/dataPublishing.api.service.ts +0 -270
- package/src/libs/data-access/datafeeder/src/openapi/api/fileUpload.api.service.ts +0 -734
- package/src/libs/data-access/datafeeder/src/openapi/api.module.ts +0 -46
- package/src/libs/data-access/datafeeder/src/openapi/configuration.ts +0 -125
- package/src/libs/data-access/datafeeder/src/openapi/encoder.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/index.ts +0 -5
- package/src/libs/data-access/datafeeder/src/openapi/model/analysisStatusEnum.api.model.ts +0 -24
- package/src/libs/data-access/datafeeder/src/openapi/model/boundingBox.api.model.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/model/cRS.api.model.ts +0 -25
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +0 -45
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishRequest.api.model.ts +0 -39
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishingStatus.api.model.ts +0 -50
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +0 -39
- package/src/libs/data-access/datafeeder/src/openapi/model/models.ts +0 -13
- package/src/libs/data-access/datafeeder/src/openapi/model/property.api.model.ts +0 -17
- package/src/libs/data-access/datafeeder/src/openapi/model/publishJobStatus.api.model.ts +0 -33
- package/src/libs/data-access/datafeeder/src/openapi/model/publishRequest.api.model.ts +0 -16
- package/src/libs/data-access/datafeeder/src/openapi/model/publishStatusEnum.api.model.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/model/publishStepEnum.api.model.ts +0 -42
- package/src/libs/data-access/datafeeder/src/openapi/model/uploadJobStatus.api.model.ts +0 -33
- package/src/libs/data-access/datafeeder/src/openapi/variables.ts +0 -9
- package/src/libs/data-access/datafeeder/src/spec.yaml +0 -537
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.css +0 -36
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.html +0 -23
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +0 -81
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.css +0 -3
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.html +0 -13
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +0 -55
|
@@ -27,7 +27,7 @@ import EmblaCarousel from 'embla-carousel';
|
|
|
27
27
|
import * as i2$2 from '@ng-icons/core';
|
|
28
28
|
import { provideIcons, NgIcon, NgIconComponent, provideNgIconsConfig, NgIconsModule } from '@ng-icons/core';
|
|
29
29
|
import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirUser, iconoirLock, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment, iconoirRefresh } from '@ng-icons/iconoir';
|
|
30
|
-
import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
|
|
30
|
+
import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matWarning, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
|
|
31
31
|
import * as i1$4 from '@angular/material/tooltip';
|
|
32
32
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
33
33
|
import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';
|
|
@@ -37,7 +37,6 @@ import * as i1$6 from '@angular/material/autocomplete';
|
|
|
37
37
|
import { MatAutocompleteTrigger, MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
38
38
|
import * as i3 from 'ngx-dropzone';
|
|
39
39
|
import { NgxDropzoneModule } from 'ngx-dropzone';
|
|
40
|
-
import * as i5 from 'ngx-chips';
|
|
41
40
|
import { TagInputModule } from 'ngx-chips';
|
|
42
41
|
import * as i1$5 from '@angular/material/progress-spinner';
|
|
43
42
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
@@ -18621,8 +18620,6 @@ var de = {
|
|
|
18621
18620
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
18622
18621
|
"chart.type.pie": "Kreisdiagramm",
|
|
18623
18622
|
"dashboard.catalog.allRecords": "Metadatenkatalog",
|
|
18624
|
-
"dashboard.catalog.contacts": "Kontakte",
|
|
18625
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
18626
18623
|
"dashboard.createRecord": "Neuer Eintrag",
|
|
18627
18624
|
"dashboard.importRecord": "",
|
|
18628
18625
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -18635,29 +18632,10 @@ var de = {
|
|
|
18635
18632
|
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
18636
18633
|
"dashboard.records.myRecords": "Meine Datensätze",
|
|
18637
18634
|
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
18638
|
-
"dashboard.records.templates": "Vorlagen",
|
|
18639
18635
|
"dashboard.records.userDetail": "Name",
|
|
18640
18636
|
"dashboard.records.userEmail": "E-Mail",
|
|
18641
18637
|
"dashboard.records.username": "Benutzername",
|
|
18642
18638
|
"dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
|
|
18643
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
|
|
18644
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
|
|
18645
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
|
|
18646
|
-
"datafeeder.analysisProgressBar.subtitle": "Die Analyse kann einige Minuten dauern. Bitte warten Sie.",
|
|
18647
|
-
"datafeeder.analysisProgressBar.title": "Analyse in Bearbeitung",
|
|
18648
|
-
"datafeeder.datasetValidation.datasetInformation": "Der bereitgestellte Datensatz enthält {number} Elemente",
|
|
18649
|
-
"datafeeder.datasetValidation.submitButton": "OK, meine Daten sind korrekt",
|
|
18650
|
-
"datafeeder.datasetValidation.title": "Stellen Sie sicher, dass Ihre Daten korrekt sind",
|
|
18651
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
18652
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
18653
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
18654
|
-
"datafeeder.form.abstract": "Wie würden Sie Ihren Datensatz beschreiben?",
|
|
18655
|
-
"datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
|
|
18656
|
-
"datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
|
|
18657
|
-
"datafeeder.form.dropdown": "Für welche Skala wurde er erstellt?",
|
|
18658
|
-
"datafeeder.form.tags": "Wählen Sie einen oder mehrere Tage aus, die zu Ihrem Datensatz passen",
|
|
18659
|
-
"datafeeder.form.title": "Geben Sie Ihrem Datensatz den besten Titel",
|
|
18660
|
-
"datafeeder.formsPage.title": "Erzählen Sie uns mehr über Ihren Datensatz",
|
|
18661
18639
|
"datafeeder.month.april": "April",
|
|
18662
18640
|
"datafeeder.month.august": "August",
|
|
18663
18641
|
"datafeeder.month.december": "Dezember",
|
|
@@ -18670,59 +18648,6 @@ var de = {
|
|
|
18670
18648
|
"datafeeder.month.november": "November",
|
|
18671
18649
|
"datafeeder.month.october": "Oktober",
|
|
18672
18650
|
"datafeeder.month.september": "September",
|
|
18673
|
-
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist.",
|
|
18674
|
-
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz \n zum Veröffentlichen?",
|
|
18675
|
-
"datafeeder.publish.subtitle": "Das Veröffentlichen kann einige Minuten dauern.",
|
|
18676
|
-
"datafeeder.publish.title": "Vielen Dank! \n Ihr Datensatz wird veröffentlicht",
|
|
18677
|
-
"datafeeder.publish.upload": "Jetzt hochladen",
|
|
18678
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
|
|
18679
|
-
"datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
|
|
18680
|
-
"datafeeder.publishSuccess.mapViewer": "Kartenviewer",
|
|
18681
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
18682
|
-
"datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
|
|
18683
|
-
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
|
|
18684
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
|
|
18685
|
-
"datafeeder.summarizePage.illustration": "Kein Fehler? Los geht's!",
|
|
18686
|
-
"datafeeder.summarizePage.previous": "Zurück",
|
|
18687
|
-
"datafeeder.summarizePage.submit": "Absenden",
|
|
18688
|
-
"datafeeder.summarizePage.title": "Sie sind fast fertig...",
|
|
18689
|
-
"datafeeder.upload.acceptedFormats": "Akzeptierte Dateiformate:",
|
|
18690
|
-
"datafeeder.upload.checkboxLabel": "Ich besitze die Rechte zur Veröffentlichung dieses Datensatzes",
|
|
18691
|
-
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geografischen Datensatz enthält",
|
|
18692
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Bitte überprüfen Sie, ob die Datei gültig ist",
|
|
18693
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Beachten Sie: Nur SHP-Dateien",
|
|
18694
|
-
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximale Dateigröße {size} MB",
|
|
18695
|
-
"datafeeder.upload.error.title.analysis": "Fehler während der Datensatzanalyse",
|
|
18696
|
-
"datafeeder.upload.error.title.cantOpenFile": "Fehler beim Öffnen der Datei",
|
|
18697
|
-
"datafeeder.upload.error.title.fileFormat": "Das ausgewählte Dateiformat wird nicht unterstützt",
|
|
18698
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Keine Datei ausgewählt",
|
|
18699
|
-
"datafeeder.upload.error.title.fileSize": "Die Dateigröße ist zu groß",
|
|
18700
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Sie dürfen diesen Datensatz nicht veröffentlichen",
|
|
18701
|
-
"datafeeder.upload.illustration.enrichment": "Anreicherung",
|
|
18702
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
18703
|
-
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten \n war noch nie so einfach",
|
|
18704
|
-
"datafeeder.upload.illustration.validation": "Validierung",
|
|
18705
|
-
"datafeeder.upload.illustration.verification": "Überprüfung",
|
|
18706
|
-
"datafeeder.upload.inputLabel": "Importieren Sie Ihre Datei",
|
|
18707
|
-
"datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
|
|
18708
|
-
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
18709
|
-
"datafeeder.upload.uploadButton": "Hochladen",
|
|
18710
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
18711
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
18712
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
18713
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
18714
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
18715
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
18716
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
18717
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
18718
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
18719
|
-
"datafeeder.validation.encoding": "Codierung",
|
|
18720
|
-
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
18721
|
-
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
18722
|
-
"datafeeder.validation.projection": "Raumbezugssystem:",
|
|
18723
|
-
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem aus",
|
|
18724
|
-
"datafeeder.validation.sample.title": "Und eine Beispielentität aus dem Datensatz",
|
|
18725
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Bitte füllen Sie die obligatorischen Felder aus",
|
|
18726
18651
|
"datafeeder.wizardSummarize.createdAt": "Erstellt am",
|
|
18727
18652
|
"datafeeder.wizardSummarize.scale": "Maßstab",
|
|
18728
18653
|
"datahub.header.datasets": "Datensätze",
|
|
@@ -19026,9 +18951,10 @@ var de = {
|
|
|
19026
18951
|
"record.action.download": "Herunterladen",
|
|
19027
18952
|
"record.action.duplicate": "",
|
|
19028
18953
|
"record.action.duplicating": "",
|
|
18954
|
+
"record.action.rollback": "",
|
|
19029
18955
|
"record.action.view": "Anzeigen",
|
|
19030
18956
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
19031
|
-
"record.feature.limit": "Die
|
|
18957
|
+
"record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
|
|
19032
18958
|
"record.metadata.about": "Beschreibung",
|
|
19033
18959
|
"record.metadata.api": "API",
|
|
19034
18960
|
"record.metadata.api.form.closeButton": "Schließen",
|
|
@@ -19148,6 +19074,8 @@ var de = {
|
|
|
19148
19074
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
19149
19075
|
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
19150
19076
|
"search.field.sortBy": "Sortieren nach:",
|
|
19077
|
+
"search.filters.availableServices.download": "",
|
|
19078
|
+
"search.filters.availableServices.view": "",
|
|
19151
19079
|
"search.filters.changeDate": "Letzte Aktualisierung",
|
|
19152
19080
|
"search.filters.clear": "Zurücksetzen",
|
|
19153
19081
|
"search.filters.contact": "Kontakte",
|
|
@@ -19203,7 +19131,6 @@ var de = {
|
|
|
19203
19131
|
"tooltip.url.open": "URL öffnen",
|
|
19204
19132
|
"ui.readLess": "Weniger lesen",
|
|
19205
19133
|
"ui.readMore": "Weiterlesen",
|
|
19206
|
-
"wfs.aggregations.notsupported": "",
|
|
19207
19134
|
"wfs.feature.limit": "Zu viele Features, um den WFS-Layer anzuzeigen!",
|
|
19208
19135
|
"wfs.featuretype.notfound": "Kein passender Feature-Typ wurde im Dienst gefunden",
|
|
19209
19136
|
"wfs.geojsongml.notsupported": "Dieser Dienst unterstützt das GeoJSON- oder GML-Format nicht",
|
|
@@ -19238,8 +19165,6 @@ var en = {
|
|
|
19238
19165
|
"chart.type.lineSmooth": "smooth line chart",
|
|
19239
19166
|
"chart.type.pie": "pie chart",
|
|
19240
19167
|
"dashboard.catalog.allRecords": "Datasets",
|
|
19241
|
-
"dashboard.catalog.contacts": "Contacts",
|
|
19242
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
19243
19168
|
"dashboard.createRecord": "New dataset",
|
|
19244
19169
|
"dashboard.importRecord": "Import",
|
|
19245
19170
|
"dashboard.importRecord.importExternal": "Import an external file",
|
|
@@ -19252,29 +19177,10 @@ var en = {
|
|
|
19252
19177
|
"dashboard.records.myDraft": "My drafts",
|
|
19253
19178
|
"dashboard.records.myRecords": "My datasets",
|
|
19254
19179
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
19255
|
-
"dashboard.records.templates": "Templates",
|
|
19256
19180
|
"dashboard.records.userDetail": "Name",
|
|
19257
19181
|
"dashboard.records.userEmail": "Email",
|
|
19258
19182
|
"dashboard.records.username": "Username",
|
|
19259
19183
|
"dashboard.records.users": "{count, plural, =1{user} other{users}}",
|
|
19260
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
|
|
19261
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Gathering dataset \n information",
|
|
19262
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n data",
|
|
19263
|
-
"datafeeder.analysisProgressBar.subtitle": "The analysis may take several minutes, please wait.",
|
|
19264
|
-
"datafeeder.analysisProgressBar.title": "Analysis in progress",
|
|
19265
|
-
"datafeeder.datasetValidation.datasetInformation": "The provided dataset contains {number} entities",
|
|
19266
|
-
"datafeeder.datasetValidation.submitButton": "OK, my data is correct",
|
|
19267
|
-
"datafeeder.datasetValidation.title": "Make sure your data is correct",
|
|
19268
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
19269
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*The table must display the first 5 lines (excluding the header)<br>If this is not the case, check that the file is correctly formatted",
|
|
19270
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Sample of the first 5 lines* of the dataset:",
|
|
19271
|
-
"datafeeder.form.abstract": "How would you describe your dataset?",
|
|
19272
|
-
"datafeeder.form.datepicker": "Do you know when the dataset was created?",
|
|
19273
|
-
"datafeeder.form.description": "Finally, please describe the process used to create the dataset",
|
|
19274
|
-
"datafeeder.form.dropdown": "For which scale was it created?",
|
|
19275
|
-
"datafeeder.form.tags": "Select one or more tags that fit your dataset",
|
|
19276
|
-
"datafeeder.form.title": "Give your dataset the best title",
|
|
19277
|
-
"datafeeder.formsPage.title": "Tell us more about your dataset",
|
|
19278
19184
|
"datafeeder.month.april": "April",
|
|
19279
19185
|
"datafeeder.month.august": "August",
|
|
19280
19186
|
"datafeeder.month.december": "December",
|
|
@@ -19287,59 +19193,6 @@ var en = {
|
|
|
19287
19193
|
"datafeeder.month.november": "November",
|
|
19288
19194
|
"datafeeder.month.october": "October",
|
|
19289
19195
|
"datafeeder.month.september": "September",
|
|
19290
|
-
"datafeeder.publish.hint": "You can safely exit this page, you will be notified when the process is over",
|
|
19291
|
-
"datafeeder.publish.illustration.title": "Another dataset \n to publish?",
|
|
19292
|
-
"datafeeder.publish.subtitle": "Publishing may take several minutes.",
|
|
19293
|
-
"datafeeder.publish.title": "Thank you! \n Your dataset is being published",
|
|
19294
|
-
"datafeeder.publish.upload": "Upload it now",
|
|
19295
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Metadata record",
|
|
19296
|
-
"datafeeder.publishSuccess.illustration.title": "Done, all is good!",
|
|
19297
|
-
"datafeeder.publishSuccess.mapViewer": "Map viewer",
|
|
19298
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
19299
|
-
"datafeeder.publishSuccess.subtitle": "View your data in:",
|
|
19300
|
-
"datafeeder.publishSuccess.title": "Congratulations! \n Your dataset has been published",
|
|
19301
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Upload another dataset",
|
|
19302
|
-
"datafeeder.summarizePage.illustration": "No mistake? Let's go!",
|
|
19303
|
-
"datafeeder.summarizePage.previous": "Previous",
|
|
19304
|
-
"datafeeder.summarizePage.submit": "Submit",
|
|
19305
|
-
"datafeeder.summarizePage.title": "You're almost there...",
|
|
19306
|
-
"datafeeder.upload.acceptedFormats": "Accepted file formats:",
|
|
19307
|
-
"datafeeder.upload.checkboxLabel": "I hold the rights to publish this dataset",
|
|
19308
|
-
"datafeeder.upload.error.subtitle.analysis": "Check that the file contains a valid geospatial dataset",
|
|
19309
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Please check that the file is valid",
|
|
19310
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Remember: only SHP",
|
|
19311
|
-
"datafeeder.upload.error.subtitle.fileSize": "Remember: {size} MB maximum",
|
|
19312
|
-
"datafeeder.upload.error.title.analysis": "Error during the dataset analysis",
|
|
19313
|
-
"datafeeder.upload.error.title.cantOpenFile": "Error while opening the file",
|
|
19314
|
-
"datafeeder.upload.error.title.fileFormat": "The selected file format is not supported",
|
|
19315
|
-
"datafeeder.upload.error.title.fileHasntSelected": "No file selected",
|
|
19316
|
-
"datafeeder.upload.error.title.fileSize": "The file size is too large",
|
|
19317
|
-
"datafeeder.upload.error.title.noRightsToSendData": "You are not allowed to publish this dataset",
|
|
19318
|
-
"datafeeder.upload.illustration.enrichment": "Enrichment",
|
|
19319
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
19320
|
-
"datafeeder.upload.illustration.title": "Adding data \n has never been easier",
|
|
19321
|
-
"datafeeder.upload.illustration.validation": "Validation",
|
|
19322
|
-
"datafeeder.upload.illustration.verification": "Verification",
|
|
19323
|
-
"datafeeder.upload.inputLabel": "Import your file",
|
|
19324
|
-
"datafeeder.upload.maxFileSize": "Maximum file size is {size} MB",
|
|
19325
|
-
"datafeeder.upload.title": "Upload your dataset",
|
|
19326
|
-
"datafeeder.upload.uploadButton": "Upload",
|
|
19327
|
-
"datafeeder.validation.csv.delimiter": "Delimiter",
|
|
19328
|
-
"datafeeder.validation.csv.delimiter.comma": "Comma",
|
|
19329
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Semicolon",
|
|
19330
|
-
"datafeeder.validation.csv.lat.field": "Latitude column",
|
|
19331
|
-
"datafeeder.validation.csv.lng.field": "Longitude column",
|
|
19332
|
-
"datafeeder.validation.csv.quote.double": "Double quote",
|
|
19333
|
-
"datafeeder.validation.csv.quote.none": "None",
|
|
19334
|
-
"datafeeder.validation.csv.quote.simple": "Single quote",
|
|
19335
|
-
"datafeeder.validation.csv.quoteChar": "Quote separator",
|
|
19336
|
-
"datafeeder.validation.encoding": "Encoding",
|
|
19337
|
-
"datafeeder.validation.extent.title": "Here is the dataset extent",
|
|
19338
|
-
"datafeeder.validation.extent.title.unknown": "The projection system is unknown",
|
|
19339
|
-
"datafeeder.validation.projection": "Spatial reference system:",
|
|
19340
|
-
"datafeeder.validation.projection.unknown": "Choose a spatial reference system",
|
|
19341
|
-
"datafeeder.validation.sample.title": "And a sample entity from the dataset",
|
|
19342
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Please fill in mandatory fields",
|
|
19343
19196
|
"datafeeder.wizardSummarize.createdAt": "Created at",
|
|
19344
19197
|
"datafeeder.wizardSummarize.scale": "Scale",
|
|
19345
19198
|
"datahub.header.datasets": "Datasets",
|
|
@@ -19643,9 +19496,10 @@ var en = {
|
|
|
19643
19496
|
"record.action.download": "Download",
|
|
19644
19497
|
"record.action.duplicate": "Duplicate",
|
|
19645
19498
|
"record.action.duplicating": "Duplicating...",
|
|
19499
|
+
"record.action.rollback": "Rollback",
|
|
19646
19500
|
"record.action.view": "View",
|
|
19647
19501
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
19648
|
-
"record.feature.limit": "
|
|
19502
|
+
"record.feature.limit": "Preview disabled due to too many elements",
|
|
19649
19503
|
"record.metadata.about": "Description",
|
|
19650
19504
|
"record.metadata.api": "API",
|
|
19651
19505
|
"record.metadata.api.form.closeButton": "Close",
|
|
@@ -19765,6 +19619,8 @@ var en = {
|
|
|
19765
19619
|
"search.error.recordNotFound": "The dataset with identifier \"{ id }\" could not be found.",
|
|
19766
19620
|
"search.field.any.placeholder": "Search datasets ...",
|
|
19767
19621
|
"search.field.sortBy": "Sort by:",
|
|
19622
|
+
"search.filters.availableServices.download": "",
|
|
19623
|
+
"search.filters.availableServices.view": "",
|
|
19768
19624
|
"search.filters.changeDate": "Updated",
|
|
19769
19625
|
"search.filters.clear": "Reset",
|
|
19770
19626
|
"search.filters.contact": "Contacts",
|
|
@@ -19820,7 +19676,6 @@ var en = {
|
|
|
19820
19676
|
"tooltip.url.open": "Open URL",
|
|
19821
19677
|
"ui.readLess": "Read less",
|
|
19822
19678
|
"ui.readMore": "Read more",
|
|
19823
|
-
"wfs.aggregations.notsupported": "Aggregations are currently not supported for WFS services",
|
|
19824
19679
|
"wfs.feature.limit": "Too many features to display the WFS layer!",
|
|
19825
19680
|
"wfs.featuretype.notfound": "No matching feature type was found in the service",
|
|
19826
19681
|
"wfs.geojsongml.notsupported": "This service does not support the GeoJSON or GML format",
|
|
@@ -19855,8 +19710,6 @@ var es = {
|
|
|
19855
19710
|
"chart.type.lineSmooth": "gráfico de líneas suave",
|
|
19856
19711
|
"chart.type.pie": "gráfico circular",
|
|
19857
19712
|
"dashboard.catalog.allRecords": "",
|
|
19858
|
-
"dashboard.catalog.contacts": "",
|
|
19859
|
-
"dashboard.catalog.thesaurus": "",
|
|
19860
19713
|
"dashboard.createRecord": "",
|
|
19861
19714
|
"dashboard.importRecord": "",
|
|
19862
19715
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -19869,29 +19722,10 @@ var es = {
|
|
|
19869
19722
|
"dashboard.records.myDraft": "Mis borradores",
|
|
19870
19723
|
"dashboard.records.myRecords": "Mis Registros",
|
|
19871
19724
|
"dashboard.records.search": "Buscar \"{searchText}\"",
|
|
19872
|
-
"dashboard.records.templates": "",
|
|
19873
19725
|
"dashboard.records.userDetail": "",
|
|
19874
19726
|
"dashboard.records.userEmail": "",
|
|
19875
19727
|
"dashboard.records.username": "",
|
|
19876
19728
|
"dashboard.records.users": "",
|
|
19877
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
19878
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
19879
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
19880
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
19881
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
19882
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
19883
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
19884
|
-
"datafeeder.datasetValidation.title": "",
|
|
19885
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
19886
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
19887
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
19888
|
-
"datafeeder.form.abstract": "",
|
|
19889
|
-
"datafeeder.form.datepicker": "",
|
|
19890
|
-
"datafeeder.form.description": "",
|
|
19891
|
-
"datafeeder.form.dropdown": "",
|
|
19892
|
-
"datafeeder.form.tags": "",
|
|
19893
|
-
"datafeeder.form.title": "",
|
|
19894
|
-
"datafeeder.formsPage.title": "",
|
|
19895
19729
|
"datafeeder.month.april": "",
|
|
19896
19730
|
"datafeeder.month.august": "",
|
|
19897
19731
|
"datafeeder.month.december": "",
|
|
@@ -19904,59 +19738,6 @@ var es = {
|
|
|
19904
19738
|
"datafeeder.month.november": "",
|
|
19905
19739
|
"datafeeder.month.october": "",
|
|
19906
19740
|
"datafeeder.month.september": "",
|
|
19907
|
-
"datafeeder.publish.hint": "",
|
|
19908
|
-
"datafeeder.publish.illustration.title": "",
|
|
19909
|
-
"datafeeder.publish.subtitle": "",
|
|
19910
|
-
"datafeeder.publish.title": "",
|
|
19911
|
-
"datafeeder.publish.upload": "",
|
|
19912
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
19913
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
19914
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
19915
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
19916
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
19917
|
-
"datafeeder.publishSuccess.title": "",
|
|
19918
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
19919
|
-
"datafeeder.summarizePage.illustration": "",
|
|
19920
|
-
"datafeeder.summarizePage.previous": "",
|
|
19921
|
-
"datafeeder.summarizePage.submit": "",
|
|
19922
|
-
"datafeeder.summarizePage.title": "",
|
|
19923
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
19924
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
19925
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
19926
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
19927
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
19928
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
19929
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
19930
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
19931
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
19932
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
19933
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
19934
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
19935
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
19936
|
-
"datafeeder.upload.illustration.import": "",
|
|
19937
|
-
"datafeeder.upload.illustration.title": "",
|
|
19938
|
-
"datafeeder.upload.illustration.validation": "",
|
|
19939
|
-
"datafeeder.upload.illustration.verification": "",
|
|
19940
|
-
"datafeeder.upload.inputLabel": "",
|
|
19941
|
-
"datafeeder.upload.maxFileSize": "",
|
|
19942
|
-
"datafeeder.upload.title": "",
|
|
19943
|
-
"datafeeder.upload.uploadButton": "",
|
|
19944
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
19945
|
-
"datafeeder.validation.csv.delimiter.comma": "Coma",
|
|
19946
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Punto y coma",
|
|
19947
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
19948
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
19949
|
-
"datafeeder.validation.csv.quote.double": "Comillas dobles",
|
|
19950
|
-
"datafeeder.validation.csv.quote.none": "Ninguno",
|
|
19951
|
-
"datafeeder.validation.csv.quote.simple": "Comillas simples",
|
|
19952
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
19953
|
-
"datafeeder.validation.encoding": "",
|
|
19954
|
-
"datafeeder.validation.extent.title": "",
|
|
19955
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
19956
|
-
"datafeeder.validation.projection": "",
|
|
19957
|
-
"datafeeder.validation.projection.unknown": "",
|
|
19958
|
-
"datafeeder.validation.sample.title": "",
|
|
19959
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
19960
19741
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
19961
19742
|
"datafeeder.wizardSummarize.scale": "",
|
|
19962
19743
|
"datahub.header.datasets": "",
|
|
@@ -20260,6 +20041,7 @@ var es = {
|
|
|
20260
20041
|
"record.action.download": "",
|
|
20261
20042
|
"record.action.duplicate": "",
|
|
20262
20043
|
"record.action.duplicating": "",
|
|
20044
|
+
"record.action.rollback": "",
|
|
20263
20045
|
"record.action.view": "",
|
|
20264
20046
|
"record.externalViewer.open": "",
|
|
20265
20047
|
"record.feature.limit": "",
|
|
@@ -20382,6 +20164,8 @@ var es = {
|
|
|
20382
20164
|
"search.error.recordNotFound": "",
|
|
20383
20165
|
"search.field.any.placeholder": "",
|
|
20384
20166
|
"search.field.sortBy": "",
|
|
20167
|
+
"search.filters.availableServices.download": "",
|
|
20168
|
+
"search.filters.availableServices.view": "",
|
|
20385
20169
|
"search.filters.changeDate": "Última actualización",
|
|
20386
20170
|
"search.filters.clear": "",
|
|
20387
20171
|
"search.filters.contact": "",
|
|
@@ -20437,7 +20221,6 @@ var es = {
|
|
|
20437
20221
|
"tooltip.url.open": "",
|
|
20438
20222
|
"ui.readLess": "",
|
|
20439
20223
|
"ui.readMore": "",
|
|
20440
|
-
"wfs.aggregations.notsupported": "",
|
|
20441
20224
|
"wfs.feature.limit": "",
|
|
20442
20225
|
"wfs.featuretype.notfound": "",
|
|
20443
20226
|
"wfs.geojsongml.notsupported": "",
|
|
@@ -20472,8 +20255,6 @@ var fr = {
|
|
|
20472
20255
|
"chart.type.lineSmooth": "ligne lisse",
|
|
20473
20256
|
"chart.type.pie": "camembert",
|
|
20474
20257
|
"dashboard.catalog.allRecords": "Jeux de données",
|
|
20475
|
-
"dashboard.catalog.contacts": "Annuaire",
|
|
20476
|
-
"dashboard.catalog.thesaurus": "Thésaurus",
|
|
20477
20258
|
"dashboard.createRecord": "Nouveau jeu de données",
|
|
20478
20259
|
"dashboard.importRecord": "Importer",
|
|
20479
20260
|
"dashboard.importRecord.importExternal": "Importer un jeu de données externe",
|
|
@@ -20486,29 +20267,10 @@ var fr = {
|
|
|
20486
20267
|
"dashboard.records.myDraft": "Mes brouillons",
|
|
20487
20268
|
"dashboard.records.myRecords": "Mes jeux de données",
|
|
20488
20269
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
20489
|
-
"dashboard.records.templates": "Modèles pré-remplis",
|
|
20490
20270
|
"dashboard.records.userDetail": "Nom",
|
|
20491
20271
|
"dashboard.records.userEmail": "Email",
|
|
20492
20272
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
20493
20273
|
"dashboard.records.users": "{count, plural, =1{utilisateur} other{utilisateurs}}",
|
|
20494
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Détection du \n format de fichier",
|
|
20495
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Récupération des informations \n sur le jeu de données",
|
|
20496
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Échantillonnage \n des données",
|
|
20497
|
-
"datafeeder.analysisProgressBar.subtitle": "L'analyse peut prendre plusieurs minutes, merci de patienter.",
|
|
20498
|
-
"datafeeder.analysisProgressBar.title": "Analyse en cours",
|
|
20499
|
-
"datafeeder.datasetValidation.datasetInformation": "Le jeu de données fourni contient {number} entités",
|
|
20500
|
-
"datafeeder.datasetValidation.submitButton": "OK, mes données sont correctes",
|
|
20501
|
-
"datafeeder.datasetValidation.title": "Vérifiez que vos données sont correctes",
|
|
20502
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
20503
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*Le tableau doit afficher les 5 premières lignes (hors en-tête)<br>Si ce n'est pas le cas, vérifiez que le fichier est bien formaté",
|
|
20504
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Résumé des 5 premières lignes* du CSV :",
|
|
20505
|
-
"datafeeder.form.abstract": "Comment décrire votre jeu de données ?",
|
|
20506
|
-
"datafeeder.form.datepicker": "Savez-vous quand la donnée a été créée ?",
|
|
20507
|
-
"datafeeder.form.description": "Enfin, décrivez le processus utilisé pour créer la donnée",
|
|
20508
|
-
"datafeeder.form.dropdown": "Et pour quelle échelle ?",
|
|
20509
|
-
"datafeeder.form.tags": "Choisissez un ou plusieurs mots-clés correspondant à vos données",
|
|
20510
|
-
"datafeeder.form.title": "Donnez un titre à votre jeu de données",
|
|
20511
|
-
"datafeeder.formsPage.title": "Dites-nous en plus sur ces données",
|
|
20512
20274
|
"datafeeder.month.april": "Avril",
|
|
20513
20275
|
"datafeeder.month.august": "Août",
|
|
20514
20276
|
"datafeeder.month.december": "Décembre",
|
|
@@ -20521,59 +20283,6 @@ var fr = {
|
|
|
20521
20283
|
"datafeeder.month.november": "Novembre",
|
|
20522
20284
|
"datafeeder.month.october": "Octobre",
|
|
20523
20285
|
"datafeeder.month.september": "Septembre",
|
|
20524
|
-
"datafeeder.publish.hint": "Vous pouvez quitter cette page en toute sécurité, vous serez prévenus quand le processus sera terminé",
|
|
20525
|
-
"datafeeder.publish.illustration.title": "Une autre donnée \n à publier ?",
|
|
20526
|
-
"datafeeder.publish.subtitle": "La publication peut prendre plusieurs minutes.",
|
|
20527
|
-
"datafeeder.publish.title": "Merci! \n Vos données sont en cours de publication",
|
|
20528
|
-
"datafeeder.publish.upload": "Télécharger maintenant",
|
|
20529
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Fiche de métadonnées",
|
|
20530
|
-
"datafeeder.publishSuccess.illustration.title": "Terminé, tout s'est bien passé !",
|
|
20531
|
-
"datafeeder.publishSuccess.mapViewer": "Visualiseur",
|
|
20532
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
20533
|
-
"datafeeder.publishSuccess.subtitle": "Visualisez vos données :",
|
|
20534
|
-
"datafeeder.publishSuccess.title": "Félicitations! \n Vos données ont été publiées",
|
|
20535
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Importer une autre donnée",
|
|
20536
|
-
"datafeeder.summarizePage.illustration": "Pas d'erreur ? C'est parti !",
|
|
20537
|
-
"datafeeder.summarizePage.previous": "Précédent",
|
|
20538
|
-
"datafeeder.summarizePage.submit": "Publier",
|
|
20539
|
-
"datafeeder.summarizePage.title": "On y est presque...",
|
|
20540
|
-
"datafeeder.upload.acceptedFormats": "Formats de fichier acceptés :",
|
|
20541
|
-
"datafeeder.upload.checkboxLabel": "J'ai le droit de publier cette donnée",
|
|
20542
|
-
"datafeeder.upload.error.subtitle.analysis": "Le fichier transféré contient-il des données géographiques valides ?",
|
|
20543
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Vérifiez la validité du fichier sélectionné",
|
|
20544
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Rappel : uniquement des SHP",
|
|
20545
|
-
"datafeeder.upload.error.subtitle.fileSize": "Rappel : {size} Mo maximum",
|
|
20546
|
-
"datafeeder.upload.error.title.analysis": "Erreur lors de l'analyse des données",
|
|
20547
|
-
"datafeeder.upload.error.title.cantOpenFile": "Erreur lors de l'ouverture du fichier",
|
|
20548
|
-
"datafeeder.upload.error.title.fileFormat": "Le format du fichier n'est pas supporté",
|
|
20549
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Aucun fichier n'a été sélectionné",
|
|
20550
|
-
"datafeeder.upload.error.title.fileSize": "La taille du fichier est trop importante",
|
|
20551
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Vous n'avez pas validé les droits de publication",
|
|
20552
|
-
"datafeeder.upload.illustration.enrichment": "Enrichissement",
|
|
20553
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
20554
|
-
"datafeeder.upload.illustration.title": "Ajouter des données n'a jamais été aussi simple",
|
|
20555
|
-
"datafeeder.upload.illustration.validation": "Validation",
|
|
20556
|
-
"datafeeder.upload.illustration.verification": "Vérification",
|
|
20557
|
-
"datafeeder.upload.inputLabel": "Ajouter votre fichier",
|
|
20558
|
-
"datafeeder.upload.maxFileSize": "La taille maximale est {size} Mo",
|
|
20559
|
-
"datafeeder.upload.title": "Importez vos données",
|
|
20560
|
-
"datafeeder.upload.uploadButton": "Transférer",
|
|
20561
|
-
"datafeeder.validation.csv.delimiter": "Séparateur de colonne",
|
|
20562
|
-
"datafeeder.validation.csv.delimiter.comma": "Virgule",
|
|
20563
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Point-virgule",
|
|
20564
|
-
"datafeeder.validation.csv.lat.field": "Colonne latitude",
|
|
20565
|
-
"datafeeder.validation.csv.lng.field": "Colonne longitude",
|
|
20566
|
-
"datafeeder.validation.csv.quote.double": "Double guillemets",
|
|
20567
|
-
"datafeeder.validation.csv.quote.none": "Aucun",
|
|
20568
|
-
"datafeeder.validation.csv.quote.simple": "Simple guillemet",
|
|
20569
|
-
"datafeeder.validation.csv.quoteChar": "Séparateur de texte",
|
|
20570
|
-
"datafeeder.validation.encoding": "Encodage",
|
|
20571
|
-
"datafeeder.validation.extent.title": "Voici l'emprise du jeu de données",
|
|
20572
|
-
"datafeeder.validation.extent.title.unknown": "Le système de projection est inconnu",
|
|
20573
|
-
"datafeeder.validation.projection": "Projection :",
|
|
20574
|
-
"datafeeder.validation.projection.unknown": "Choisissez une projection",
|
|
20575
|
-
"datafeeder.validation.sample.title": "Et un exemple d'objet",
|
|
20576
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Veuillez remplir les champs obligatoires",
|
|
20577
20286
|
"datafeeder.wizardSummarize.createdAt": "Créée le",
|
|
20578
20287
|
"datafeeder.wizardSummarize.scale": "Échelle",
|
|
20579
20288
|
"datahub.header.datasets": "Données",
|
|
@@ -20613,7 +20322,7 @@ var fr = {
|
|
|
20613
20322
|
"domain.contact.role.point_of_contact": "Point de contact",
|
|
20614
20323
|
"domain.contact.role.principal_investigator": "Chercheur principal",
|
|
20615
20324
|
"domain.contact.role.processor": "Processeur",
|
|
20616
|
-
"domain.contact.role.publisher": "
|
|
20325
|
+
"domain.contact.role.publisher": "Producteur",
|
|
20617
20326
|
"domain.contact.role.resource_provider": "Fournisseur",
|
|
20618
20327
|
"domain.contact.role.rights_holder": "Détenteur des droits",
|
|
20619
20328
|
"domain.contact.role.sponsor": "Sponsor",
|
|
@@ -20677,7 +20386,7 @@ var fr = {
|
|
|
20677
20386
|
"editor.record.form.constraint.otherConstraints": "Autres contraintes",
|
|
20678
20387
|
"editor.record.form.constraint.securityConstraints": "Contraintes de sécurité",
|
|
20679
20388
|
"editor.record.form.draft.updateAlert": "Depuis la création de ce brouillon, ce jeu de données a été modifié le { date } par { user }. Publier votre version peut supprimer ses modifications. Pour éviter cela, vous pouvez annuler vos changements, ou publier votre version en connaissance de cause.",
|
|
20680
|
-
"editor.record.form.field.abstract": "
|
|
20389
|
+
"editor.record.form.field.abstract": "Description",
|
|
20681
20390
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20682
20391
|
"editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
|
|
20683
20392
|
"editor.record.form.field.contacts.placeholder": "Choisissez un contact",
|
|
@@ -20719,14 +20428,14 @@ var fr = {
|
|
|
20719
20428
|
"editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
|
|
20720
20429
|
"editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
|
|
20721
20430
|
"editor.record.form.keywords.placeholder": "Sélectionnez un mot-clé",
|
|
20722
|
-
"editor.record.form.license.cc-by": "",
|
|
20723
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
20724
|
-
"editor.record.form.license.cc-zero": "",
|
|
20431
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
20432
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
20433
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
20725
20434
|
"editor.record.form.license.etalab": "Licence Ouverte (Etalab)",
|
|
20726
20435
|
"editor.record.form.license.etalab-v2": "Licence Ouverte v2.0 (Etalab)",
|
|
20727
|
-
"editor.record.form.license.odbl": "",
|
|
20728
|
-
"editor.record.form.license.odc-by": "",
|
|
20729
|
-
"editor.record.form.license.pddl": "",
|
|
20436
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
20437
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
20438
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
20730
20439
|
"editor.record.form.license.unknown": "Inconnue ou absente",
|
|
20731
20440
|
"editor.record.form.page.accessAndContact": "Informations pour l'utilisation",
|
|
20732
20441
|
"editor.record.form.page.description": "Description du jeu de données",
|
|
@@ -20779,7 +20488,7 @@ var fr = {
|
|
|
20779
20488
|
"editor.record.resourceError.closeMessage": "Compris",
|
|
20780
20489
|
"editor.record.resourceError.title": "Erreur avec les pièces jointes",
|
|
20781
20490
|
"editor.record.saveStatus.draftWithChangesPending": "Sauvegardé - Modifications non publiées",
|
|
20782
|
-
"editor.record.saveStatus.recordNotPublished": "",
|
|
20491
|
+
"editor.record.saveStatus.recordNotPublished": "Sauvegardé - non publié",
|
|
20783
20492
|
"editor.record.saveStatus.recordUpToDate": "Sauvegardé - Jeu de données à jour",
|
|
20784
20493
|
"editor.record.undo.confirmation.cancelText": "Garder les modifications",
|
|
20785
20494
|
"editor.record.undo.confirmation.confirmText": "Retirer les modifications",
|
|
@@ -20789,7 +20498,7 @@ var fr = {
|
|
|
20789
20498
|
"editor.record.undo.tooltip.enabled": "Cliquer sur ce bouton pour annuler les modifications apportées à ce jeu de données",
|
|
20790
20499
|
"editor.record.upToDate": "Ce jeu de données est à jour",
|
|
20791
20500
|
"editor.sidebar.logout": "Se déconnecter",
|
|
20792
|
-
"editor.sidebar.menu.editor": "",
|
|
20501
|
+
"editor.sidebar.menu.editor": "Editeur",
|
|
20793
20502
|
"editor.temporary.disabled": "Pas encore implémenté",
|
|
20794
20503
|
"externalviewer.dataset.unnamed": "Couche du datahub",
|
|
20795
20504
|
"facets.block.title.OrgForResource": "Organisation",
|
|
@@ -20837,7 +20546,7 @@ var fr = {
|
|
|
20837
20546
|
"map.add.layer": "Ajouter une couche",
|
|
20838
20547
|
"map.add.layer.catalog": "Du catalogue",
|
|
20839
20548
|
"map.add.layer.file": "À partir d'un fichier",
|
|
20840
|
-
"map.add.layer.ogc.api": "",
|
|
20549
|
+
"map.add.layer.ogc.api": "Depuis un service OGC API",
|
|
20841
20550
|
"map.add.layer.wfs": "Depuis un service WFS",
|
|
20842
20551
|
"map.add.layer.wms": "Depuis un service WMS",
|
|
20843
20552
|
"map.addFromFile.placeholder": "Cliquez ou déposez un fichier ici",
|
|
@@ -20850,7 +20559,7 @@ var fr = {
|
|
|
20850
20559
|
"map.loading.data": "Chargement des données...",
|
|
20851
20560
|
"map.loading.service": "Chargement du service...",
|
|
20852
20561
|
"map.navigation.message": "Veuillez utiliser CTRL + souris (ou deux doigts sur mobile) pour naviguer sur la carte",
|
|
20853
|
-
"map.ogc.urlInput.hint": "",
|
|
20562
|
+
"map.ogc.urlInput.hint": "Entrez l'URL du service OGC API",
|
|
20854
20563
|
"map.select.layer": "Source de données",
|
|
20855
20564
|
"map.wfs.urlInput.hint": "Entrez l'URL du service WFS",
|
|
20856
20565
|
"map.wms.urlInput.hint": "Entrez l'URL du service WMS",
|
|
@@ -20877,9 +20586,10 @@ var fr = {
|
|
|
20877
20586
|
"record.action.download": "Télécharger",
|
|
20878
20587
|
"record.action.duplicate": "Dupliquer",
|
|
20879
20588
|
"record.action.duplicating": "Duplication...",
|
|
20589
|
+
"record.action.rollback": "Restaurer",
|
|
20880
20590
|
"record.action.view": "Voir",
|
|
20881
20591
|
"record.externalViewer.open": "Ouvrir dans le visualiseur externe",
|
|
20882
|
-
"record.feature.limit": "
|
|
20592
|
+
"record.feature.limit": "L’aperçu a été désactivé en raison d’un trop grand nombre d'éléments",
|
|
20883
20593
|
"record.metadata.about": "Description",
|
|
20884
20594
|
"record.metadata.api": "API",
|
|
20885
20595
|
"record.metadata.api.form.closeButton": "Fermer",
|
|
@@ -20999,6 +20709,8 @@ var fr = {
|
|
|
20999
20709
|
"search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
|
|
21000
20710
|
"search.field.any.placeholder": "Rechercher un jeu de données...",
|
|
21001
20711
|
"search.field.sortBy": "Trier par :",
|
|
20712
|
+
"search.filters.availableServices.download": "",
|
|
20713
|
+
"search.filters.availableServices.view": "",
|
|
21002
20714
|
"search.filters.changeDate": "Mise à jour",
|
|
21003
20715
|
"search.filters.clear": "Réinitialiser",
|
|
21004
20716
|
"search.filters.contact": "Contacts",
|
|
@@ -21054,7 +20766,6 @@ var fr = {
|
|
|
21054
20766
|
"tooltip.url.open": "Ouvrir l'URL",
|
|
21055
20767
|
"ui.readLess": "Réduire",
|
|
21056
20768
|
"ui.readMore": "Lire la suite",
|
|
21057
|
-
"wfs.aggregations.notsupported": "Agrégations non supportées pour les services WFS",
|
|
21058
20769
|
"wfs.feature.limit": "Trop d'objets pour afficher la couche WFS !",
|
|
21059
20770
|
"wfs.featuretype.notfound": "La classe d'objets n'a pas été trouvée dans le service",
|
|
21060
20771
|
"wfs.geojsongml.notsupported": "Le service ne supporte pas le format GeoJSON ou GML",
|
|
@@ -21089,8 +20800,6 @@ var it = {
|
|
|
21089
20800
|
"chart.type.lineSmooth": "grafico a linea liscia",
|
|
21090
20801
|
"chart.type.pie": "grafico a torta",
|
|
21091
20802
|
"dashboard.catalog.allRecords": "Datasets",
|
|
21092
|
-
"dashboard.catalog.contacts": "Contatti",
|
|
21093
|
-
"dashboard.catalog.thesaurus": "Thesauri",
|
|
21094
20803
|
"dashboard.createRecord": "Crea un record",
|
|
21095
20804
|
"dashboard.importRecord": "Importare",
|
|
21096
20805
|
"dashboard.importRecord.importExternal": "Importare un dataset esterno",
|
|
@@ -21103,29 +20812,10 @@ var it = {
|
|
|
21103
20812
|
"dashboard.records.myDraft": "Le mie bozze",
|
|
21104
20813
|
"dashboard.records.myRecords": "I miei dati",
|
|
21105
20814
|
"dashboard.records.search": "Risultati per \"{searchText}\"",
|
|
21106
|
-
"dashboard.records.templates": "Modelli precompilati",
|
|
21107
20815
|
"dashboard.records.userDetail": "Nome",
|
|
21108
20816
|
"dashboard.records.userEmail": "Email",
|
|
21109
20817
|
"dashboard.records.username": "Nome utente",
|
|
21110
20818
|
"dashboard.records.users": "utenti",
|
|
21111
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Rilevamento del formato dei file",
|
|
21112
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Recupero delle informazioni dal dataset",
|
|
21113
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Campionatura dei dati",
|
|
21114
|
-
"datafeeder.analysisProgressBar.subtitle": "L'analisi potrebbe richiedere alcuni minuti, si prega di attendere.",
|
|
21115
|
-
"datafeeder.analysisProgressBar.title": "Analisi in corso",
|
|
21116
|
-
"datafeeder.datasetValidation.datasetInformation": "Il dataset fornito contiene {number} entità",
|
|
21117
|
-
"datafeeder.datasetValidation.submitButton": "OK, i miei dati sono corretti",
|
|
21118
|
-
"datafeeder.datasetValidation.title": "Controllare che i dati siano corretti",
|
|
21119
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
21120
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*La tabella dovrebbe visualizzare le prime 5 righe (esclusa l'intestazione)<br>In caso contrario, verificare che il file sia formattato correttamente",
|
|
21121
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Riepilogo delle prime 5 righe del CSV:",
|
|
21122
|
-
"datafeeder.form.abstract": "Come descrivere il suo dataset?",
|
|
21123
|
-
"datafeeder.form.datepicker": "Sa quando è stato creato il suo dataset ?",
|
|
21124
|
-
"datafeeder.form.description": "Infine, descrivere il processo utilizzato per creare il dataset",
|
|
21125
|
-
"datafeeder.form.dropdown": "Per quale scala è stato creato?",
|
|
21126
|
-
"datafeeder.form.tags": "Seleziona uno o più parole chiave che corrispondano al suo dataset",
|
|
21127
|
-
"datafeeder.form.title": "Dà al suo dataset il miglior titolo",
|
|
21128
|
-
"datafeeder.formsPage.title": "Diteci di più sul suo dataset",
|
|
21129
20819
|
"datafeeder.month.april": "Aprile",
|
|
21130
20820
|
"datafeeder.month.august": "Agosto",
|
|
21131
20821
|
"datafeeder.month.december": "Dicembre",
|
|
@@ -21138,59 +20828,6 @@ var it = {
|
|
|
21138
20828
|
"datafeeder.month.november": "Novembre",
|
|
21139
20829
|
"datafeeder.month.october": "Ottobre",
|
|
21140
20830
|
"datafeeder.month.september": "Settembre",
|
|
21141
|
-
"datafeeder.publish.hint": "Puo lasciare questa pagina in sicurezza, sarà avvisato quando il processo sarà completo",
|
|
21142
|
-
"datafeeder.publish.illustration.title": "Un altro dato da pubblicare?",
|
|
21143
|
-
"datafeeder.publish.subtitle": "La pubblicazione potrebbe richiedere alcuni minuti.",
|
|
21144
|
-
"datafeeder.publish.title": "Grazie! \n I suei dati sono in fase di pubblicazione",
|
|
21145
|
-
"datafeeder.publish.upload": "Carica ora",
|
|
21146
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Scheda di metadati",
|
|
21147
|
-
"datafeeder.publishSuccess.illustration.title": "Completato, tutto è andato bene!",
|
|
21148
|
-
"datafeeder.publishSuccess.mapViewer": "Visualizzatore",
|
|
21149
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
21150
|
-
"datafeeder.publishSuccess.subtitle": "Visualizzare i dati:",
|
|
21151
|
-
"datafeeder.publishSuccess.title": "Congratulazioni! \n I suoi dati sono stati pubblicati",
|
|
21152
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Caricare un altro dato",
|
|
21153
|
-
"datafeeder.summarizePage.illustration": "Nessun errore? Avanti!",
|
|
21154
|
-
"datafeeder.summarizePage.previous": "Precedente",
|
|
21155
|
-
"datafeeder.summarizePage.submit": "Pubblica",
|
|
21156
|
-
"datafeeder.summarizePage.title": "Ci siamo quasi...",
|
|
21157
|
-
"datafeeder.upload.acceptedFormats": "Formati di file accettati:",
|
|
21158
|
-
"datafeeder.upload.checkboxLabel": "Ho il diritto di pubblicare questi dati",
|
|
21159
|
-
"datafeeder.upload.error.subtitle.analysis": "Il file trasferito contiene dati geografici validi?",
|
|
21160
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Verifica la validità del file selezionato",
|
|
21161
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Ricorda: solo SHP",
|
|
21162
|
-
"datafeeder.upload.error.subtitle.fileSize": "Ricorda: dimensione massima {size} MB",
|
|
21163
|
-
"datafeeder.upload.error.title.analysis": "Errore durante l'analisi dei dati",
|
|
21164
|
-
"datafeeder.upload.error.title.cantOpenFile": "Errore durante l'apertura del file",
|
|
21165
|
-
"datafeeder.upload.error.title.fileFormat": "Formato del file non supportato",
|
|
21166
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Nessun file selezionato",
|
|
21167
|
-
"datafeeder.upload.error.title.fileSize": "Dimensione del file troppo grande",
|
|
21168
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Non avete validato i diritti di pubblicazione",
|
|
21169
|
-
"datafeeder.upload.illustration.enrichment": "Arricchimento",
|
|
21170
|
-
"datafeeder.upload.illustration.import": "Importazione",
|
|
21171
|
-
"datafeeder.upload.illustration.title": "Aggiungere dati non è mai stato così facile",
|
|
21172
|
-
"datafeeder.upload.illustration.validation": "Validazione",
|
|
21173
|
-
"datafeeder.upload.illustration.verification": "Verifica",
|
|
21174
|
-
"datafeeder.upload.inputLabel": "Aggiunge il suo file",
|
|
21175
|
-
"datafeeder.upload.maxFileSize": "Dimensione massima: {size} MB",
|
|
21176
|
-
"datafeeder.upload.title": "Importa i suoi dati",
|
|
21177
|
-
"datafeeder.upload.uploadButton": "Carica",
|
|
21178
|
-
"datafeeder.validation.csv.delimiter": "Separatore di colonne",
|
|
21179
|
-
"datafeeder.validation.csv.delimiter.comma": "Virgola",
|
|
21180
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Punto e virgola",
|
|
21181
|
-
"datafeeder.validation.csv.lat.field": "Colonna di latitudine",
|
|
21182
|
-
"datafeeder.validation.csv.lng.field": "Colonna di longitudine",
|
|
21183
|
-
"datafeeder.validation.csv.quote.double": "Virgolette doppie",
|
|
21184
|
-
"datafeeder.validation.csv.quote.none": "Nessun",
|
|
21185
|
-
"datafeeder.validation.csv.quote.simple": "Citazione semplice",
|
|
21186
|
-
"datafeeder.validation.csv.quoteChar": "Separatore di testo",
|
|
21187
|
-
"datafeeder.validation.encoding": "Codifica",
|
|
21188
|
-
"datafeeder.validation.extent.title": "Ecco l'estensione del dataset",
|
|
21189
|
-
"datafeeder.validation.extent.title.unknown": "Sistema di proiezione sconosciuto",
|
|
21190
|
-
"datafeeder.validation.projection": "Proiezione:",
|
|
21191
|
-
"datafeeder.validation.projection.unknown": "Seleziona una proiezione",
|
|
21192
|
-
"datafeeder.validation.sample.title": "E un esempio di oggetto",
|
|
21193
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Si prega di compilare i campi obbligatori",
|
|
21194
20831
|
"datafeeder.wizardSummarize.createdAt": "Creato il",
|
|
21195
20832
|
"datafeeder.wizardSummarize.scale": "Scala",
|
|
21196
20833
|
"datahub.header.datasets": "Dati",
|
|
@@ -21274,9 +20911,9 @@ var it = {
|
|
|
21274
20911
|
"editor.record.deleteError.title": "Errore durante l'eliminazione",
|
|
21275
20912
|
"editor.record.deleteSuccess.body": "Il dataset è stato eliminato correttamente",
|
|
21276
20913
|
"editor.record.deleteSuccess.title": "Eliminazione riuscita",
|
|
21277
|
-
"editor.record.error.back": "",
|
|
21278
|
-
"editor.record.error.explanation": "",
|
|
21279
|
-
"editor.record.error.message": "",
|
|
20914
|
+
"editor.record.error.back": "Ritorna al catalogo",
|
|
20915
|
+
"editor.record.error.explanation": "Forse non ha accesso a questa pagina oppure questo collegamento potrebbe non essere valido.",
|
|
20916
|
+
"editor.record.error.message": "Qualcosa è andato storto",
|
|
21280
20917
|
"editor.record.form.bottomButtons.comeBackLater": "Ritorna più tardi",
|
|
21281
20918
|
"editor.record.form.bottomButtons.next": "Avanti",
|
|
21282
20919
|
"editor.record.form.bottomButtons.previous": "Precedente",
|
|
@@ -21336,18 +20973,18 @@ var it = {
|
|
|
21336
20973
|
"editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
|
|
21337
20974
|
"editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
21338
20975
|
"editor.record.form.keywords.placeholder": "Seleziona una parola chiave",
|
|
21339
|
-
"editor.record.form.license.cc-by": "",
|
|
21340
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
21341
|
-
"editor.record.form.license.cc-zero": "",
|
|
20976
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
20977
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
20978
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
21342
20979
|
"editor.record.form.license.etalab": "Licenza aperta (Etalab)",
|
|
21343
20980
|
"editor.record.form.license.etalab-v2": "Licenza aperta v2.0 (Etalab)",
|
|
21344
|
-
"editor.record.form.license.odbl": "",
|
|
21345
|
-
"editor.record.form.license.odc-by": "",
|
|
21346
|
-
"editor.record.form.license.pddl": "",
|
|
20981
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
20982
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
20983
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
21347
20984
|
"editor.record.form.license.unknown": "Sconosciuto o assente",
|
|
21348
20985
|
"editor.record.form.page.accessAndContact": "Informazioni per l'uso",
|
|
21349
20986
|
"editor.record.form.page.description": "Descrizione del dataset",
|
|
21350
|
-
"editor.record.form.page.resources": "",
|
|
20987
|
+
"editor.record.form.page.resources": "Risorse",
|
|
21351
20988
|
"editor.record.form.section.about.description": "Queste informazioni riguardano il dataset",
|
|
21352
20989
|
"editor.record.form.section.about.label": "Informazioni sul dataset",
|
|
21353
20990
|
"editor.record.form.section.annexes.description": "Gli allegati sono risorse facoltative. Sono allegati al dataset e aiutano a comprendere meglio i dati (avviso, ecc.).",
|
|
@@ -21374,7 +21011,7 @@ var it = {
|
|
|
21374
21011
|
"editor.record.loadError.body": "Impossibile caricare il dataset:",
|
|
21375
21012
|
"editor.record.loadError.closeMessage": "Capito",
|
|
21376
21013
|
"editor.record.loadError.title": "Errore durante il caricamento",
|
|
21377
|
-
"editor.record.lock.reason": "",
|
|
21014
|
+
"editor.record.lock.reason": "Non è un editore di uno dei gruppi autorizzati",
|
|
21378
21015
|
"editor.record.onlineResource.protocol.other": "Altro",
|
|
21379
21016
|
"editor.record.onlineResourceError.body": "Ha successo un'errore durante l'aggiunta della risorsa:",
|
|
21380
21017
|
"editor.record.onlineResourceError.closeMessage": "Capito",
|
|
@@ -21396,7 +21033,7 @@ var it = {
|
|
|
21396
21033
|
"editor.record.resourceError.closeMessage": "Capito",
|
|
21397
21034
|
"editor.record.resourceError.title": "Errore con gli allegati",
|
|
21398
21035
|
"editor.record.saveStatus.draftWithChangesPending": "Salvato - Modifiche non pubblicate",
|
|
21399
|
-
"editor.record.saveStatus.recordNotPublished": "",
|
|
21036
|
+
"editor.record.saveStatus.recordNotPublished": "Salvato - non pubblicato",
|
|
21400
21037
|
"editor.record.saveStatus.recordUpToDate": "Salvato - Dataset aggiornato",
|
|
21401
21038
|
"editor.record.undo.confirmation.cancelText": "Mantieni le modifiche",
|
|
21402
21039
|
"editor.record.undo.confirmation.confirmText": "Annulla le modifiche",
|
|
@@ -21406,7 +21043,7 @@ var it = {
|
|
|
21406
21043
|
"editor.record.undo.tooltip.enabled": "Fare clic su questo pulsante per annullare le modifiche apportate a questo dataset",
|
|
21407
21044
|
"editor.record.upToDate": "Questo dataset è aggiornato",
|
|
21408
21045
|
"editor.sidebar.logout": "Esci",
|
|
21409
|
-
"editor.sidebar.menu.editor": "",
|
|
21046
|
+
"editor.sidebar.menu.editor": "Editore",
|
|
21410
21047
|
"editor.temporary.disabled": "Non ancora implementato",
|
|
21411
21048
|
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
21412
21049
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
@@ -21454,7 +21091,7 @@ var it = {
|
|
|
21454
21091
|
"map.add.layer": "Aggiungere un layer",
|
|
21455
21092
|
"map.add.layer.catalog": "Dal catalogo",
|
|
21456
21093
|
"map.add.layer.file": "Da un file",
|
|
21457
|
-
"map.add.layer.ogc.api": "",
|
|
21094
|
+
"map.add.layer.ogc.api": "Da OGC API",
|
|
21458
21095
|
"map.add.layer.wfs": "Da un WFS",
|
|
21459
21096
|
"map.add.layer.wms": "Da un WMS",
|
|
21460
21097
|
"map.addFromFile.placeholder": "Clicca o trascina un file qui",
|
|
@@ -21467,7 +21104,7 @@ var it = {
|
|
|
21467
21104
|
"map.loading.data": "Caricamento dati...",
|
|
21468
21105
|
"map.loading.service": "Caricamento del servizio...",
|
|
21469
21106
|
"map.navigation.message": "Si prega di utilizzare CTRL + mouse (o due dita su mobile) per navigare sulla mappa",
|
|
21470
|
-
"map.ogc.urlInput.hint": "",
|
|
21107
|
+
"map.ogc.urlInput.hint": "Inserisci URL del servizio OGC API",
|
|
21471
21108
|
"map.select.layer": "Sorgente dati",
|
|
21472
21109
|
"map.wfs.urlInput.hint": "Inserisci URL del servizio WFS",
|
|
21473
21110
|
"map.wms.urlInput.hint": "Inserisci URL del servizio WMS",
|
|
@@ -21493,10 +21130,11 @@ var it = {
|
|
|
21493
21130
|
"record.action.delete": "Elimina",
|
|
21494
21131
|
"record.action.download": "Scarica",
|
|
21495
21132
|
"record.action.duplicate": "Duplicato",
|
|
21496
|
-
"record.action.duplicating": "",
|
|
21133
|
+
"record.action.duplicating": "Duplicazione",
|
|
21134
|
+
"record.action.rollback": "Annulla",
|
|
21497
21135
|
"record.action.view": "Visualizza",
|
|
21498
21136
|
"record.externalViewer.open": "Aprire nel visualizzatore esterno",
|
|
21499
|
-
"record.feature.limit": "La
|
|
21137
|
+
"record.feature.limit": "La visualizzazione è stata disabilitata a causa di troppi elementi ",
|
|
21500
21138
|
"record.metadata.about": "Descrizione",
|
|
21501
21139
|
"record.metadata.api": "API",
|
|
21502
21140
|
"record.metadata.api.form.closeButton": "Chiude",
|
|
@@ -21616,6 +21254,8 @@ var it = {
|
|
|
21616
21254
|
"search.error.recordNotFound": "Impossibile trovare questi dati.",
|
|
21617
21255
|
"search.field.any.placeholder": "Cerca un dataset...",
|
|
21618
21256
|
"search.field.sortBy": "Ordina per:",
|
|
21257
|
+
"search.filters.availableServices.download": "",
|
|
21258
|
+
"search.filters.availableServices.view": "",
|
|
21619
21259
|
"search.filters.changeDate": "Aggiornato",
|
|
21620
21260
|
"search.filters.clear": "Ripristina",
|
|
21621
21261
|
"search.filters.contact": "Contatti",
|
|
@@ -21671,7 +21311,7 @@ var it = {
|
|
|
21671
21311
|
"tooltip.url.open": "Aprire l'URL",
|
|
21672
21312
|
"ui.readLess": "Ridurre",
|
|
21673
21313
|
"ui.readMore": "Leggere di più",
|
|
21674
|
-
"wfs.aggregations.notsupported": "",
|
|
21314
|
+
"wfs.aggregations.notsupported": "Aggregazioni non supportate per i servizi WFS",
|
|
21675
21315
|
"wfs.feature.limit": "Troppi oggetti per visualizzare il WFS layer!",
|
|
21676
21316
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
21677
21317
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
@@ -21706,8 +21346,6 @@ var nl = {
|
|
|
21706
21346
|
"chart.type.lineSmooth": "glad lijndiagram",
|
|
21707
21347
|
"chart.type.pie": "cirkeldiagram",
|
|
21708
21348
|
"dashboard.catalog.allRecords": "",
|
|
21709
|
-
"dashboard.catalog.contacts": "",
|
|
21710
|
-
"dashboard.catalog.thesaurus": "",
|
|
21711
21349
|
"dashboard.createRecord": "",
|
|
21712
21350
|
"dashboard.importRecord": "",
|
|
21713
21351
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -21720,29 +21358,10 @@ var nl = {
|
|
|
21720
21358
|
"dashboard.records.myDraft": "Mijn concepten",
|
|
21721
21359
|
"dashboard.records.myRecords": "Mijn Records",
|
|
21722
21360
|
"dashboard.records.search": "Zoeken naar \"{searchText}\"",
|
|
21723
|
-
"dashboard.records.templates": "",
|
|
21724
21361
|
"dashboard.records.userDetail": "",
|
|
21725
21362
|
"dashboard.records.userEmail": "",
|
|
21726
21363
|
"dashboard.records.username": "",
|
|
21727
21364
|
"dashboard.records.users": "",
|
|
21728
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
21729
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
21730
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
21731
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
21732
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
21733
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
21734
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
21735
|
-
"datafeeder.datasetValidation.title": "",
|
|
21736
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
21737
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
21738
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
21739
|
-
"datafeeder.form.abstract": "",
|
|
21740
|
-
"datafeeder.form.datepicker": "",
|
|
21741
|
-
"datafeeder.form.description": "",
|
|
21742
|
-
"datafeeder.form.dropdown": "",
|
|
21743
|
-
"datafeeder.form.tags": "",
|
|
21744
|
-
"datafeeder.form.title": "",
|
|
21745
|
-
"datafeeder.formsPage.title": "",
|
|
21746
21365
|
"datafeeder.month.april": "",
|
|
21747
21366
|
"datafeeder.month.august": "",
|
|
21748
21367
|
"datafeeder.month.december": "",
|
|
@@ -21755,59 +21374,6 @@ var nl = {
|
|
|
21755
21374
|
"datafeeder.month.november": "",
|
|
21756
21375
|
"datafeeder.month.october": "",
|
|
21757
21376
|
"datafeeder.month.september": "",
|
|
21758
|
-
"datafeeder.publish.hint": "",
|
|
21759
|
-
"datafeeder.publish.illustration.title": "",
|
|
21760
|
-
"datafeeder.publish.subtitle": "",
|
|
21761
|
-
"datafeeder.publish.title": "",
|
|
21762
|
-
"datafeeder.publish.upload": "",
|
|
21763
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
21764
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
21765
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
21766
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
21767
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
21768
|
-
"datafeeder.publishSuccess.title": "",
|
|
21769
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
21770
|
-
"datafeeder.summarizePage.illustration": "",
|
|
21771
|
-
"datafeeder.summarizePage.previous": "",
|
|
21772
|
-
"datafeeder.summarizePage.submit": "",
|
|
21773
|
-
"datafeeder.summarizePage.title": "",
|
|
21774
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
21775
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
21776
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
21777
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
21778
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
21779
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
21780
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
21781
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
21782
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
21783
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
21784
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
21785
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
21786
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
21787
|
-
"datafeeder.upload.illustration.import": "",
|
|
21788
|
-
"datafeeder.upload.illustration.title": "",
|
|
21789
|
-
"datafeeder.upload.illustration.validation": "",
|
|
21790
|
-
"datafeeder.upload.illustration.verification": "",
|
|
21791
|
-
"datafeeder.upload.inputLabel": "",
|
|
21792
|
-
"datafeeder.upload.maxFileSize": "",
|
|
21793
|
-
"datafeeder.upload.title": "",
|
|
21794
|
-
"datafeeder.upload.uploadButton": "",
|
|
21795
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
21796
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
21797
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
21798
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
21799
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
21800
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
21801
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
21802
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
21803
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
21804
|
-
"datafeeder.validation.encoding": "",
|
|
21805
|
-
"datafeeder.validation.extent.title": "",
|
|
21806
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
21807
|
-
"datafeeder.validation.projection": "",
|
|
21808
|
-
"datafeeder.validation.projection.unknown": "",
|
|
21809
|
-
"datafeeder.validation.sample.title": "",
|
|
21810
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
21811
21377
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
21812
21378
|
"datafeeder.wizardSummarize.scale": "",
|
|
21813
21379
|
"datahub.header.datasets": "",
|
|
@@ -22111,6 +21677,7 @@ var nl = {
|
|
|
22111
21677
|
"record.action.download": "",
|
|
22112
21678
|
"record.action.duplicate": "",
|
|
22113
21679
|
"record.action.duplicating": "",
|
|
21680
|
+
"record.action.rollback": "",
|
|
22114
21681
|
"record.action.view": "",
|
|
22115
21682
|
"record.externalViewer.open": "",
|
|
22116
21683
|
"record.feature.limit": "",
|
|
@@ -22233,6 +21800,8 @@ var nl = {
|
|
|
22233
21800
|
"search.error.recordNotFound": "",
|
|
22234
21801
|
"search.field.any.placeholder": "",
|
|
22235
21802
|
"search.field.sortBy": "",
|
|
21803
|
+
"search.filters.availableServices.download": "",
|
|
21804
|
+
"search.filters.availableServices.view": "",
|
|
22236
21805
|
"search.filters.changeDate": "",
|
|
22237
21806
|
"search.filters.clear": "",
|
|
22238
21807
|
"search.filters.contact": "",
|
|
@@ -22288,7 +21857,6 @@ var nl = {
|
|
|
22288
21857
|
"tooltip.url.open": "",
|
|
22289
21858
|
"ui.readLess": "",
|
|
22290
21859
|
"ui.readMore": "",
|
|
22291
|
-
"wfs.aggregations.notsupported": "",
|
|
22292
21860
|
"wfs.feature.limit": "",
|
|
22293
21861
|
"wfs.featuretype.notfound": "",
|
|
22294
21862
|
"wfs.geojsongml.notsupported": "",
|
|
@@ -22323,8 +21891,6 @@ var pt = {
|
|
|
22323
21891
|
"chart.type.lineSmooth": "gráfico de linha suave",
|
|
22324
21892
|
"chart.type.pie": "gráfico de pizza",
|
|
22325
21893
|
"dashboard.catalog.allRecords": "",
|
|
22326
|
-
"dashboard.catalog.contacts": "",
|
|
22327
|
-
"dashboard.catalog.thesaurus": "",
|
|
22328
21894
|
"dashboard.createRecord": "",
|
|
22329
21895
|
"dashboard.importRecord": "",
|
|
22330
21896
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -22337,29 +21903,10 @@ var pt = {
|
|
|
22337
21903
|
"dashboard.records.myDraft": "Meus rascunhos",
|
|
22338
21904
|
"dashboard.records.myRecords": "Meus Registros",
|
|
22339
21905
|
"dashboard.records.search": "Buscar por \"{searchText}\"",
|
|
22340
|
-
"dashboard.records.templates": "",
|
|
22341
21906
|
"dashboard.records.userDetail": "",
|
|
22342
21907
|
"dashboard.records.userEmail": "",
|
|
22343
21908
|
"dashboard.records.username": "",
|
|
22344
21909
|
"dashboard.records.users": "",
|
|
22345
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
22346
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
22347
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
22348
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
22349
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
22350
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
22351
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
22352
|
-
"datafeeder.datasetValidation.title": "",
|
|
22353
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
22354
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
22355
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
22356
|
-
"datafeeder.form.abstract": "",
|
|
22357
|
-
"datafeeder.form.datepicker": "",
|
|
22358
|
-
"datafeeder.form.description": "",
|
|
22359
|
-
"datafeeder.form.dropdown": "",
|
|
22360
|
-
"datafeeder.form.tags": "",
|
|
22361
|
-
"datafeeder.form.title": "",
|
|
22362
|
-
"datafeeder.formsPage.title": "",
|
|
22363
21910
|
"datafeeder.month.april": "",
|
|
22364
21911
|
"datafeeder.month.august": "",
|
|
22365
21912
|
"datafeeder.month.december": "",
|
|
@@ -22372,59 +21919,6 @@ var pt = {
|
|
|
22372
21919
|
"datafeeder.month.november": "",
|
|
22373
21920
|
"datafeeder.month.october": "",
|
|
22374
21921
|
"datafeeder.month.september": "",
|
|
22375
|
-
"datafeeder.publish.hint": "",
|
|
22376
|
-
"datafeeder.publish.illustration.title": "",
|
|
22377
|
-
"datafeeder.publish.subtitle": "",
|
|
22378
|
-
"datafeeder.publish.title": "",
|
|
22379
|
-
"datafeeder.publish.upload": "",
|
|
22380
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
22381
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
22382
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
22383
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
22384
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
22385
|
-
"datafeeder.publishSuccess.title": "",
|
|
22386
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
22387
|
-
"datafeeder.summarizePage.illustration": "",
|
|
22388
|
-
"datafeeder.summarizePage.previous": "",
|
|
22389
|
-
"datafeeder.summarizePage.submit": "",
|
|
22390
|
-
"datafeeder.summarizePage.title": "",
|
|
22391
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
22392
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
22393
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
22394
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
22395
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
22396
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
22397
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
22398
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
22399
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
22400
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
22401
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
22402
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
22403
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
22404
|
-
"datafeeder.upload.illustration.import": "",
|
|
22405
|
-
"datafeeder.upload.illustration.title": "",
|
|
22406
|
-
"datafeeder.upload.illustration.validation": "",
|
|
22407
|
-
"datafeeder.upload.illustration.verification": "",
|
|
22408
|
-
"datafeeder.upload.inputLabel": "",
|
|
22409
|
-
"datafeeder.upload.maxFileSize": "",
|
|
22410
|
-
"datafeeder.upload.title": "",
|
|
22411
|
-
"datafeeder.upload.uploadButton": "",
|
|
22412
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
22413
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
22414
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
22415
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
22416
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
22417
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
22418
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
22419
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
22420
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
22421
|
-
"datafeeder.validation.encoding": "",
|
|
22422
|
-
"datafeeder.validation.extent.title": "",
|
|
22423
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
22424
|
-
"datafeeder.validation.projection": "",
|
|
22425
|
-
"datafeeder.validation.projection.unknown": "",
|
|
22426
|
-
"datafeeder.validation.sample.title": "",
|
|
22427
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
22428
21922
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
22429
21923
|
"datafeeder.wizardSummarize.scale": "",
|
|
22430
21924
|
"datahub.header.datasets": "",
|
|
@@ -22728,6 +22222,7 @@ var pt = {
|
|
|
22728
22222
|
"record.action.download": "",
|
|
22729
22223
|
"record.action.duplicate": "",
|
|
22730
22224
|
"record.action.duplicating": "",
|
|
22225
|
+
"record.action.rollback": "",
|
|
22731
22226
|
"record.action.view": "",
|
|
22732
22227
|
"record.externalViewer.open": "",
|
|
22733
22228
|
"record.feature.limit": "",
|
|
@@ -22850,6 +22345,8 @@ var pt = {
|
|
|
22850
22345
|
"search.error.recordNotFound": "",
|
|
22851
22346
|
"search.field.any.placeholder": "",
|
|
22852
22347
|
"search.field.sortBy": "",
|
|
22348
|
+
"search.filters.availableServices.download": "",
|
|
22349
|
+
"search.filters.availableServices.view": "",
|
|
22853
22350
|
"search.filters.changeDate": "",
|
|
22854
22351
|
"search.filters.clear": "",
|
|
22855
22352
|
"search.filters.contact": "",
|
|
@@ -22905,7 +22402,6 @@ var pt = {
|
|
|
22905
22402
|
"tooltip.url.open": "",
|
|
22906
22403
|
"ui.readLess": "",
|
|
22907
22404
|
"ui.readMore": "",
|
|
22908
|
-
"wfs.aggregations.notsupported": "",
|
|
22909
22405
|
"wfs.feature.limit": "",
|
|
22910
22406
|
"wfs.featuretype.notfound": "",
|
|
22911
22407
|
"wfs.geojsongml.notsupported": "",
|
|
@@ -23092,6 +22588,16 @@ class Gn4FieldMapper {
|
|
|
23092
22588
|
isOpenData: (output, source) => this.addExtra({
|
|
23093
22589
|
isOpenData: selectField(source, 'isOpenData') !== 'false',
|
|
23094
22590
|
}, output),
|
|
22591
|
+
featureTypes: (output, source) => this.addExtra({
|
|
22592
|
+
featureTypes: selectField(source, 'featureTypes'),
|
|
22593
|
+
}, output),
|
|
22594
|
+
related: (output, source) => {
|
|
22595
|
+
const fcatSource = selectField(getFirstValue(selectField(selectField(source, 'related'), 'fcats')) ?? {}, '_source');
|
|
22596
|
+
const featureCatalogIdentifier = selectField(fcatSource, 'uuid');
|
|
22597
|
+
return featureCatalogIdentifier
|
|
22598
|
+
? this.addExtra({ featureCatalogIdentifier }, output)
|
|
22599
|
+
: output;
|
|
22600
|
+
},
|
|
23095
22601
|
isPublishedToAll: (output, source) => this.addExtra({
|
|
23096
22602
|
isPublishedToAll: selectField(source, 'isPublishedToAll'),
|
|
23097
22603
|
}, output),
|
|
@@ -23409,7 +22915,7 @@ class ElasticsearchService {
|
|
|
23409
22915
|
this.runtimeFields = {};
|
|
23410
22916
|
this.lang3 = this.langService.iso3;
|
|
23411
22917
|
}
|
|
23412
|
-
getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields =
|
|
22918
|
+
getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields = null, searchFilters = {}, configFilters = {}, uuids, geometry) {
|
|
23413
22919
|
const payload = {
|
|
23414
22920
|
aggregations,
|
|
23415
22921
|
from,
|
|
@@ -23417,7 +22923,7 @@ class ElasticsearchService {
|
|
|
23417
22923
|
sort: this.buildPayloadSort(sortBy),
|
|
23418
22924
|
query: this.buildPayloadQuery(searchFilters, configFilters, uuids, geometry),
|
|
23419
22925
|
...(size > 0 ? { track_total_hits: true } : {}),
|
|
23420
|
-
_source: requestFields,
|
|
22926
|
+
...(requestFields && { _source: requestFields }),
|
|
23421
22927
|
};
|
|
23422
22928
|
this.processRuntimeFields(payload);
|
|
23423
22929
|
return payload;
|
|
@@ -23564,6 +23070,7 @@ class ElasticsearchService {
|
|
|
23564
23070
|
return this.metadataLang === 'current';
|
|
23565
23071
|
}
|
|
23566
23072
|
filtersToQuery(filters) {
|
|
23073
|
+
const addQuote = (key) => (/^\/.+\/$/.test(key) ? key : `"${key}"`);
|
|
23567
23074
|
const makeQuery = (filter) => {
|
|
23568
23075
|
if (typeof filter === 'string') {
|
|
23569
23076
|
return filter;
|
|
@@ -23571,9 +23078,9 @@ class ElasticsearchService {
|
|
|
23571
23078
|
return Object.keys(filter)
|
|
23572
23079
|
.map((key) => {
|
|
23573
23080
|
if (filter[key] === true) {
|
|
23574
|
-
return
|
|
23081
|
+
return addQuote(key);
|
|
23575
23082
|
}
|
|
23576
|
-
return
|
|
23083
|
+
return `-${addQuote(key)}`;
|
|
23577
23084
|
})
|
|
23578
23085
|
.join(' OR ');
|
|
23579
23086
|
};
|
|
@@ -23616,16 +23123,26 @@ class ElasticsearchService {
|
|
|
23616
23123
|
].filter(Boolean);
|
|
23617
23124
|
return queryParts.length > 0 ? queryParts : undefined;
|
|
23618
23125
|
}
|
|
23126
|
+
mustNotFilters() {
|
|
23127
|
+
return [
|
|
23128
|
+
{
|
|
23129
|
+
...this.queryFilterOnValues('resourceType', [
|
|
23130
|
+
'service',
|
|
23131
|
+
'map',
|
|
23132
|
+
'map/static',
|
|
23133
|
+
'mapDigital',
|
|
23134
|
+
]),
|
|
23135
|
+
},
|
|
23136
|
+
{
|
|
23137
|
+
query_string: {
|
|
23138
|
+
query: 'resourceType:featureCatalog AND !resourceType:dataset AND !cl_level.key:dataset',
|
|
23139
|
+
},
|
|
23140
|
+
},
|
|
23141
|
+
];
|
|
23142
|
+
}
|
|
23619
23143
|
buildPayloadQuery({ any, ...fieldSearchFilters }, configFilters, uuids, geometry) {
|
|
23620
23144
|
const must = [];
|
|
23621
|
-
const must_not =
|
|
23622
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23623
|
-
'service',
|
|
23624
|
-
'map',
|
|
23625
|
-
'map/static',
|
|
23626
|
-
'mapDigital',
|
|
23627
|
-
]),
|
|
23628
|
-
};
|
|
23145
|
+
const must_not = this.mustNotFilters();
|
|
23629
23146
|
const should = [];
|
|
23630
23147
|
const filter = [this.queryFilterOnValues('isTemplate', 'n')];
|
|
23631
23148
|
if (any) {
|
|
@@ -23711,14 +23228,7 @@ class ElasticsearchService {
|
|
|
23711
23228
|
},
|
|
23712
23229
|
},
|
|
23713
23230
|
],
|
|
23714
|
-
must_not:
|
|
23715
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23716
|
-
'service',
|
|
23717
|
-
'map',
|
|
23718
|
-
'map/static',
|
|
23719
|
-
'mapDigital',
|
|
23720
|
-
]),
|
|
23721
|
-
},
|
|
23231
|
+
must_not: this.mustNotFilters(),
|
|
23722
23232
|
},
|
|
23723
23233
|
},
|
|
23724
23234
|
_source: ['resourceTitleObject', 'uuid'],
|
|
@@ -23819,13 +23329,15 @@ class ElasticsearchService {
|
|
|
23819
23329
|
switch (aggregation.type) {
|
|
23820
23330
|
case 'filters':
|
|
23821
23331
|
return {
|
|
23822
|
-
filters:
|
|
23823
|
-
|
|
23824
|
-
|
|
23825
|
-
|
|
23826
|
-
|
|
23827
|
-
|
|
23828
|
-
|
|
23332
|
+
filters: {
|
|
23333
|
+
filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
|
|
23334
|
+
const filter = aggregation.filters[curr];
|
|
23335
|
+
return {
|
|
23336
|
+
...prev,
|
|
23337
|
+
[curr]: this.filtersToQuery(filter)[0],
|
|
23338
|
+
};
|
|
23339
|
+
}, {}),
|
|
23340
|
+
},
|
|
23829
23341
|
};
|
|
23830
23342
|
case 'terms':
|
|
23831
23343
|
return {
|
|
@@ -23933,9 +23445,29 @@ class Gn4Repository {
|
|
|
23933
23445
|
}
|
|
23934
23446
|
getRecord(uniqueIdentifier) {
|
|
23935
23447
|
return this.gn4SearchApi
|
|
23936
|
-
.search('bucket',
|
|
23448
|
+
.search('bucket', ['fcats'], JSON.stringify(this.gn4SearchHelper.getMetadataByIdPayload(uniqueIdentifier)))
|
|
23937
23449
|
.pipe(map$1((results) => results.hits.hits[0]), switchMap((record) => record ? this.gn4Mapper.readRecord(record) : of(null)));
|
|
23938
23450
|
}
|
|
23451
|
+
getFeatureCatalog(record, visited = new Set() // prevent looping
|
|
23452
|
+
) {
|
|
23453
|
+
if (record.extras &&
|
|
23454
|
+
record.extras['featureTypes'] &&
|
|
23455
|
+
record.extras['featureTypes'][0]?.attributeTable &&
|
|
23456
|
+
Array.isArray(record.extras['featureTypes'][0].attributeTable)) {
|
|
23457
|
+
return of({
|
|
23458
|
+
attributes: record.extras['featureTypes'][0]?.attributeTable?.map((attr) => ({
|
|
23459
|
+
name: attr.name,
|
|
23460
|
+
title: attr.definition,
|
|
23461
|
+
})),
|
|
23462
|
+
});
|
|
23463
|
+
}
|
|
23464
|
+
const featureCatalogIdentifier = record.extras['featureCatalogIdentifier'];
|
|
23465
|
+
if (featureCatalogIdentifier && !visited.has(featureCatalogIdentifier)) {
|
|
23466
|
+
visited.add(featureCatalogIdentifier);
|
|
23467
|
+
return this.getRecord(featureCatalogIdentifier).pipe(switchMap((record) => record ? this.getFeatureCatalog(record, visited) : of(null)));
|
|
23468
|
+
}
|
|
23469
|
+
return of(null);
|
|
23470
|
+
}
|
|
23939
23471
|
getSimilarRecords(similarTo) {
|
|
23940
23472
|
return this.gn4SearchApi
|
|
23941
23473
|
.search('bucket', null, JSON.stringify(this.gn4SearchHelper.getRelatedRecordPayload(similarTo, 3)))
|
|
@@ -24012,14 +23544,10 @@ class Gn4Repository {
|
|
|
24012
23544
|
return this.getExternalRecordAsXml(recordDownloadUrl).pipe(exhaustMap(async (fetchedRecordAsXml) => {
|
|
24013
23545
|
const converter = findConverterForDocument(fetchedRecordAsXml);
|
|
24014
23546
|
const record = await converter.readRecord(fetchedRecordAsXml);
|
|
24015
|
-
const tempId = this.generateTemporaryId();
|
|
24016
23547
|
record.title = `${record.title} (Copy)`;
|
|
24017
|
-
record
|
|
24018
|
-
|
|
24019
|
-
|
|
24020
|
-
this._draftsChanged.next();
|
|
24021
|
-
return tempId;
|
|
24022
|
-
}), catchError((error) => {
|
|
23548
|
+
await converter.writeRecord(record, fetchedRecordAsXml);
|
|
23549
|
+
return this.saveRecord(record, '', false);
|
|
23550
|
+
}), exhaustMap((uuidObservable) => uuidObservable), catchError((error) => {
|
|
24023
23551
|
return throwError(() => error);
|
|
24024
23552
|
}));
|
|
24025
23553
|
}
|
|
@@ -26321,66 +25849,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26321
25849
|
args: [{ selector: 'gn-ui-color-scale', template: "<div class=\"flex flex-row items-center\">\n <div class=\"text-xs text-gray-700 font-bold m-2 w-32 text-right\">primary</div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-black\"\n title=\"primary-black\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-darkest\"\n title=\"primary-darkest\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-darker\"\n title=\"primary-darker\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary border-2 border-primary-darkest\"\n title=\"primary\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-lighter\"\n title=\"primary-lighter\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-lightest\"\n title=\"primary-lightest\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-white\"\n title=\"primary-white\"\n ></div>\n</div>\n<div class=\"flex flex-row\">\n <div class=\"text-xs text-gray-700 font-bold m-2 w-32 text-right\">\n secondary\n </div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-black\"\n title=\"secondary-black\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-darkest\"\n title=\"secondary-darkest\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-darker\"\n title=\"secondary-darker\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary border-2 border-secondary-darkest\"\n title=\"secondary\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-lighter\"\n title=\"secondary-lighter\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-lightest\"\n title=\"secondary-lightest\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-white\"\n title=\"secondary-white\"\n ></div>\n</div>\n<div class=\"flex flex-row\">\n <div class=\"text-xs text-gray-700 font-bold m-2 w-32 text-right\">main</div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-main\" title=\"main\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-900\" title=\"gray-900\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-800\" title=\"gray-800\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-700\" title=\"gray-700\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-600\" title=\"gray-600\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-500\" title=\"gray-500\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-400\" title=\"gray-400\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-300\" title=\"gray-300\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-200\" title=\"gray-200\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-100\" title=\"gray-100\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-50\" title=\"gray-50\"></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-background\"\n title=\"background\"\n ></div>\n <div class=\"text-xs text-gray-700 font-bold m-2 w-32\">background</div>\n</div>\n" }]
|
|
26322
25850
|
}] });
|
|
26323
25851
|
|
|
26324
|
-
class StepBarComponent {
|
|
26325
|
-
constructor(cdr) {
|
|
26326
|
-
this.cdr = cdr;
|
|
26327
|
-
this.currentStep = 1;
|
|
26328
|
-
this.type = 'default';
|
|
26329
|
-
}
|
|
26330
|
-
get stepCounter() {
|
|
26331
|
-
return new Array(this.steps);
|
|
26332
|
-
}
|
|
26333
|
-
get color() {
|
|
26334
|
-
switch (this.type) {
|
|
26335
|
-
case 'default':
|
|
26336
|
-
return {
|
|
26337
|
-
outerBar: 'bg-gray-200',
|
|
26338
|
-
innerBar: 'bg-gray-100',
|
|
26339
|
-
};
|
|
26340
|
-
case 'primary':
|
|
26341
|
-
return {
|
|
26342
|
-
outerBar: 'bg-primary',
|
|
26343
|
-
innerBar: 'bg-primary-lighter',
|
|
26344
|
-
};
|
|
26345
|
-
case 'secondary':
|
|
26346
|
-
return {
|
|
26347
|
-
outerBar: 'bg-secondary',
|
|
26348
|
-
innerBar: 'bg-secondary-lighter',
|
|
26349
|
-
};
|
|
26350
|
-
}
|
|
26351
|
-
}
|
|
26352
|
-
getCircleColor(index) {
|
|
26353
|
-
return index === this.currentStep
|
|
26354
|
-
? 'bg-black'
|
|
26355
|
-
: index < this.currentStep
|
|
26356
|
-
? 'bg-white'
|
|
26357
|
-
: this.color.innerBar;
|
|
26358
|
-
}
|
|
26359
|
-
getChecked(index) {
|
|
26360
|
-
return index + 1 < this.currentStep;
|
|
26361
|
-
}
|
|
26362
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepBarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26363
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StepBarComponent, selector: "gn-ui-step-bar", inputs: { steps: "steps", currentStep: "currentStep", type: "type" }, ngImport: i0, template: "<div class=\"relative flex flex-col justify-center\">\n <div class=\"flex justify-between ml-16 mr-16 z-10 circle-steps\">\n <div\n *ngFor=\"let step of stepCounter; let i = index\"\n class=\"shadow-md rounded-full h-6 w-6 {{ getCircleColor(i + 1) }}\"\n >\n <span class=\"icon-check pl-1\" *ngIf=\"getChecked(i)\"></span>\n </div>\n </div>\n <div\n class=\"absolute rounded-lg right-0 w-full {{ color.outerBar }} h-2 z-0\"\n ></div>\n</div>\n", styles: [".icon-check{color:var(--color-primary)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
26364
|
-
}
|
|
26365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepBarComponent, decorators: [{
|
|
26366
|
-
type: Component,
|
|
26367
|
-
args: [{ selector: 'gn-ui-step-bar', template: "<div class=\"relative flex flex-col justify-center\">\n <div class=\"flex justify-between ml-16 mr-16 z-10 circle-steps\">\n <div\n *ngFor=\"let step of stepCounter; let i = index\"\n class=\"shadow-md rounded-full h-6 w-6 {{ getCircleColor(i + 1) }}\"\n >\n <span class=\"icon-check pl-1\" *ngIf=\"getChecked(i)\"></span>\n </div>\n </div>\n <div\n class=\"absolute rounded-lg right-0 w-full {{ color.outerBar }} h-2 z-0\"\n ></div>\n</div>\n", styles: [".icon-check{color:var(--color-primary)}\n"] }]
|
|
26368
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { steps: [{
|
|
26369
|
-
type: Input
|
|
26370
|
-
}], currentStep: [{
|
|
26371
|
-
type: Input
|
|
26372
|
-
}], type: [{
|
|
26373
|
-
type: Input
|
|
26374
|
-
}] } });
|
|
26375
|
-
|
|
26376
25852
|
class UiWidgetsModule {
|
|
26377
25853
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
26378
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, declarations: [ColorScaleComponent
|
|
25854
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, declarations: [ColorScaleComponent], imports: [CommonModule, i1$1.TranslateModule, NgxDropzoneModule,
|
|
26379
25855
|
FormsModule,
|
|
26380
25856
|
ReactiveFormsModule,
|
|
26381
25857
|
TagInputModule,
|
|
26382
25858
|
UtilSharedModule,
|
|
26383
|
-
MatProgressSpinnerModule]
|
|
25859
|
+
MatProgressSpinnerModule] }); }
|
|
26384
25860
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, imports: [CommonModule,
|
|
26385
25861
|
TranslateModule.forChild(),
|
|
26386
25862
|
NgxDropzoneModule,
|
|
@@ -26393,7 +25869,7 @@ class UiWidgetsModule {
|
|
|
26393
25869
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, decorators: [{
|
|
26394
25870
|
type: NgModule,
|
|
26395
25871
|
args: [{
|
|
26396
|
-
declarations: [ColorScaleComponent
|
|
25872
|
+
declarations: [ColorScaleComponent],
|
|
26397
25873
|
imports: [
|
|
26398
25874
|
CommonModule,
|
|
26399
25875
|
TranslateModule.forChild(),
|
|
@@ -26404,7 +25880,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26404
25880
|
UtilSharedModule,
|
|
26405
25881
|
MatProgressSpinnerModule,
|
|
26406
25882
|
],
|
|
26407
|
-
exports: [
|
|
25883
|
+
exports: [],
|
|
26408
25884
|
}]
|
|
26409
25885
|
}] });
|
|
26410
25886
|
|
|
@@ -26648,6 +26124,7 @@ class AutocompleteComponent {
|
|
|
26648
26124
|
this.minCharacterCount = 3;
|
|
26649
26125
|
// this will show a submit button next to the input; if false, a search icon will appear on the left
|
|
26650
26126
|
this.allowSubmit = false;
|
|
26127
|
+
this.forceTrackPosition = false;
|
|
26651
26128
|
this.itemSelected = new EventEmitter();
|
|
26652
26129
|
this.inputSubmitted = new EventEmitter();
|
|
26653
26130
|
this.inputCleared = new EventEmitter();
|
|
@@ -26657,12 +26134,30 @@ class AutocompleteComponent {
|
|
|
26657
26134
|
this.lastInputValue$ = new ReplaySubject(1);
|
|
26658
26135
|
this.error = null;
|
|
26659
26136
|
this.subscription = new Subscription();
|
|
26137
|
+
this.lastPosition = null;
|
|
26660
26138
|
this.displayWithFn = (item) => item.toString();
|
|
26661
26139
|
this.displayWithFnInternal = (item) => {
|
|
26662
26140
|
if (item === null || item === undefined)
|
|
26663
26141
|
return null;
|
|
26664
26142
|
return this.displayWithFn(item);
|
|
26665
26143
|
};
|
|
26144
|
+
/**
|
|
26145
|
+
* !!! This function is used only for web component mode,
|
|
26146
|
+
* the autocomplete dropdown may not update its position
|
|
26147
|
+
* if the page or container is disabling wind scroll.
|
|
26148
|
+
*/
|
|
26149
|
+
this.trackPosition = () => {
|
|
26150
|
+
const dropdownOpened = this.triggerRef && this.triggerRef.panelOpen;
|
|
26151
|
+
const rect = this.inputRef.nativeElement.getBoundingClientRect();
|
|
26152
|
+
if (dropdownOpened &&
|
|
26153
|
+
(!this.lastPosition ||
|
|
26154
|
+
rect.top !== this.lastPosition.top ||
|
|
26155
|
+
rect.left !== this.lastPosition.left)) {
|
|
26156
|
+
this.triggerRef.updatePosition();
|
|
26157
|
+
}
|
|
26158
|
+
this.lastPosition = rect;
|
|
26159
|
+
requestAnimationFrame(this.trackPosition);
|
|
26160
|
+
};
|
|
26666
26161
|
}
|
|
26667
26162
|
ngOnChanges(changes) {
|
|
26668
26163
|
const { value } = changes;
|
|
@@ -26681,7 +26176,12 @@ class AutocompleteComponent {
|
|
|
26681
26176
|
const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap$1(() => {
|
|
26682
26177
|
this.searching = true;
|
|
26683
26178
|
this.error = null;
|
|
26684
|
-
}), switchMap$1((value) => this.action(value)),
|
|
26179
|
+
}), switchMap$1((value) => this.action(value)), tap$1((suggestions) => {
|
|
26180
|
+
// forcing the panel to open if there are suggestions
|
|
26181
|
+
if (suggestions.length > 0) {
|
|
26182
|
+
this.triggerRef?.openPanel();
|
|
26183
|
+
}
|
|
26184
|
+
}), catchError((error) => {
|
|
26685
26185
|
this.error = error.message;
|
|
26686
26186
|
return of([]);
|
|
26687
26187
|
}), finalize(() => (this.searching = false)));
|
|
@@ -26709,9 +26209,23 @@ class AutocompleteComponent {
|
|
|
26709
26209
|
this.inputRef.nativeElement.focus();
|
|
26710
26210
|
this.cdRef.detectChanges();
|
|
26711
26211
|
}
|
|
26212
|
+
this.startTrackingPosition();
|
|
26213
|
+
}
|
|
26214
|
+
/**
|
|
26215
|
+
* !!! This function is used only for web component mode,
|
|
26216
|
+
* the autocomplete dropdown may not update its position
|
|
26217
|
+
* if the page or container is disabling wind scroll.
|
|
26218
|
+
*/
|
|
26219
|
+
startTrackingPosition() {
|
|
26220
|
+
if (this.forceTrackPosition) {
|
|
26221
|
+
requestAnimationFrame(this.trackPosition);
|
|
26222
|
+
}
|
|
26712
26223
|
}
|
|
26713
26224
|
ngOnDestroy() {
|
|
26714
26225
|
this.subscription?.unsubscribe();
|
|
26226
|
+
if (this.intervalIdPosition) {
|
|
26227
|
+
clearInterval(this.intervalIdPosition);
|
|
26228
|
+
}
|
|
26715
26229
|
}
|
|
26716
26230
|
updateInputValue(value) {
|
|
26717
26231
|
if (value) {
|
|
@@ -26759,7 +26273,7 @@ class AutocompleteComponent {
|
|
|
26759
26273
|
}
|
|
26760
26274
|
}
|
|
26761
26275
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26762
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AutocompleteComponent, isStandalone: true, selector: "gn-ui-autocomplete", inputs: { placeholder: "placeholder", action: "action", value: "value", clearOnSelection: "clearOnSelection", preventCompleteOnSelection: "preventCompleteOnSelection", autoFocus: "autoFocus", minCharacterCount: "minCharacterCount", allowSubmit: "allowSubmit", displayWithFn: "displayWithFn" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted", inputCleared: "inputCleared" }, providers: [
|
|
26276
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AutocompleteComponent, isStandalone: true, selector: "gn-ui-autocomplete", inputs: { placeholder: "placeholder", action: "action", value: "value", clearOnSelection: "clearOnSelection", preventCompleteOnSelection: "preventCompleteOnSelection", autoFocus: "autoFocus", minCharacterCount: "minCharacterCount", allowSubmit: "allowSubmit", forceTrackPosition: "forceTrackPosition", displayWithFn: "displayWithFn" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted", inputCleared: "inputCleared" }, providers: [
|
|
26763
26277
|
provideIcons({
|
|
26764
26278
|
iconoirSearch,
|
|
26765
26279
|
matClose,
|
|
@@ -26804,6 +26318,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26804
26318
|
type: Input
|
|
26805
26319
|
}], allowSubmit: [{
|
|
26806
26320
|
type: Input
|
|
26321
|
+
}], forceTrackPosition: [{
|
|
26322
|
+
type: Input
|
|
26807
26323
|
}], itemSelected: [{
|
|
26808
26324
|
type: Output
|
|
26809
26325
|
}], inputSubmitted: [{
|
|
@@ -26917,72 +26433,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26917
26433
|
type: Output
|
|
26918
26434
|
}] } });
|
|
26919
26435
|
|
|
26920
|
-
class ChipsInputComponent {
|
|
26921
|
-
onChange(event) {
|
|
26922
|
-
this.rawChange.next(event);
|
|
26923
|
-
}
|
|
26924
|
-
constructor(http, translate) {
|
|
26925
|
-
this.http = http;
|
|
26926
|
-
this.translate = translate;
|
|
26927
|
-
this.required = false;
|
|
26928
|
-
this.loadOnce = false;
|
|
26929
|
-
this.autocompleteItems = [];
|
|
26930
|
-
this.invalid = false;
|
|
26931
|
-
this.items = [];
|
|
26932
|
-
this.requestAutocompleteItems = (text) => {
|
|
26933
|
-
if (this.url) {
|
|
26934
|
-
if (this.loadOnce && this.loadedItems) {
|
|
26935
|
-
return this.loadedItems;
|
|
26936
|
-
}
|
|
26937
|
-
const url = this.url(text);
|
|
26938
|
-
const lang = LANG_2_TO_3_MAPPER[this.translate.currentLang.slice(0, 2)];
|
|
26939
|
-
return this.http
|
|
26940
|
-
.get(url.replace('${lang}', lang))
|
|
26941
|
-
.pipe(map$1((item) => item.map((i) => i.values[lang])));
|
|
26942
|
-
}
|
|
26943
|
-
else {
|
|
26944
|
-
return of(this.autocompleteItems || []);
|
|
26945
|
-
}
|
|
26946
|
-
};
|
|
26947
|
-
this.rawChange = new Subject();
|
|
26948
|
-
this.itemsChange = this.rawChange.pipe(distinctUntilChanged());
|
|
26949
|
-
this.subscription = new Subscription();
|
|
26950
|
-
}
|
|
26951
|
-
ngOnInit() {
|
|
26952
|
-
if (this.loadOnce) {
|
|
26953
|
-
this.loadedItems = this.requestAutocompleteItems('*').pipe(shareReplay(1));
|
|
26954
|
-
}
|
|
26955
|
-
this.items = this.selectedItems;
|
|
26956
|
-
this.subscription = this.rawChange
|
|
26957
|
-
.pipe(tap$1((v) => (this.invalid = v.length === 0)))
|
|
26958
|
-
.subscribe();
|
|
26959
|
-
this.rawChange.next(this.items);
|
|
26960
|
-
}
|
|
26961
|
-
ngOnDestroy() {
|
|
26962
|
-
this.subscription.unsubscribe();
|
|
26963
|
-
}
|
|
26964
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChipsInputComponent, deps: [{ token: i1.HttpClient }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26965
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChipsInputComponent, selector: "gn-ui-chips-input", inputs: { url: "url", placeholder: "placeholder", selectedItems: "selectedItems", required: "required", loadOnce: "loadOnce", autocompleteItems: "autocompleteItems" }, outputs: { itemsChange: "itemsChange" }, ngImport: i0, template: "<tag-input\n [ngModel]=\"items\"\n (ngModelChange)=\"onChange($event)\"\n onlyFromAutocomplete=\"true\"\n [placeholder]=\"placeholder\"\n [secondaryPlaceholder]=\"placeholder\"\n [ripple]=\"false\"\n [animationDuration]=\"{ enter: '0ms', leave: '0ms' }\"\n [onTextChangeDebounce]=\"100\"\n class=\"border-2 border-primary h-full rounded-lg p-2 bg-white text-sm focus:border-primary\"\n [ngClass]=\"{ invalid: invalid }\"\n>\n <tag-input-dropdown\n [autocompleteObservable]=\"requestAutocompleteItems\"\n [minimumTextLength]=\"0\"\n [keepOpen]=\"false\"\n [showDropdownIfEmpty]=\"true\"\n >\n <ng-template let-item=\"item\" let-index=\"index\">\n {{ item.display }}\n </ng-template>\n </tag-input-dropdown>\n</tag-input>\n", styles: ["tag-input::ng-deep .ng2-tag-input{border-bottom:none}tag-input::ng-deep .ng2-tag-input.ng2-tag-input--focused{border-bottom:none}tag-input::ng-deep tag{border-radius:5px;background:var(--color-primary-lightest);font-family:inherit;align-content:center;font-style:italic}tag-input::ng-deep tag::ng-deep:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover,tag-input::ng-deep tag:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover{background:var(--color-primary)!important}tag-input::ng-deep .tag__text{padding-right:7px}tag-input::ng-deep div,tag-input::ng-deep form{height:100%}tag-input.invalid{border-color:var(--color-secondary)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.TagInputComponent, selector: "tag-input", inputs: ["separatorKeys", "separatorKeyCodes", "placeholder", "secondaryPlaceholder", "maxItems", "validators", "asyncValidators", "onlyFromAutocomplete", "errorMessages", "theme", "onTextChangeDebounce", "inputId", "inputClass", "clearOnBlur", "hideForm", "addOnBlur", "addOnPaste", "pasteSplitPattern", "blinkIfDupe", "removable", "editable", "allowDupes", "modelAsStrings", "trimTags", "inputText", "ripple", "tabindex", "disable", "dragZone", "onRemoving", "onAdding", "animationDuration"], outputs: ["onAdd", "onRemove", "onSelect", "onFocus", "onBlur", "onTextChange", "onPaste", "onValidationError", "onTagEdited", "inputTextChange"] }, { kind: "component", type: i5.TagInputDropdown, selector: "tag-input-dropdown", inputs: ["offset", "focusFirstElement", "showDropdownIfEmpty", "autocompleteObservable", "minimumTextLength", "limitItemsTo", "displayBy", "identifyBy", "matchingFn", "appendToBody", "keepOpen", "dynamicUpdate", "zIndex", "autocompleteItems"] }] }); }
|
|
26966
|
-
}
|
|
26967
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChipsInputComponent, decorators: [{
|
|
26968
|
-
type: Component,
|
|
26969
|
-
args: [{ selector: 'gn-ui-chips-input', template: "<tag-input\n [ngModel]=\"items\"\n (ngModelChange)=\"onChange($event)\"\n onlyFromAutocomplete=\"true\"\n [placeholder]=\"placeholder\"\n [secondaryPlaceholder]=\"placeholder\"\n [ripple]=\"false\"\n [animationDuration]=\"{ enter: '0ms', leave: '0ms' }\"\n [onTextChangeDebounce]=\"100\"\n class=\"border-2 border-primary h-full rounded-lg p-2 bg-white text-sm focus:border-primary\"\n [ngClass]=\"{ invalid: invalid }\"\n>\n <tag-input-dropdown\n [autocompleteObservable]=\"requestAutocompleteItems\"\n [minimumTextLength]=\"0\"\n [keepOpen]=\"false\"\n [showDropdownIfEmpty]=\"true\"\n >\n <ng-template let-item=\"item\" let-index=\"index\">\n {{ item.display }}\n </ng-template>\n </tag-input-dropdown>\n</tag-input>\n", styles: ["tag-input::ng-deep .ng2-tag-input{border-bottom:none}tag-input::ng-deep .ng2-tag-input.ng2-tag-input--focused{border-bottom:none}tag-input::ng-deep tag{border-radius:5px;background:var(--color-primary-lightest);font-family:inherit;align-content:center;font-style:italic}tag-input::ng-deep tag::ng-deep:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover,tag-input::ng-deep tag:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover{background:var(--color-primary)!important}tag-input::ng-deep .tag__text{padding-right:7px}tag-input::ng-deep div,tag-input::ng-deep form{height:100%}tag-input.invalid{border-color:var(--color-secondary)}\n"] }]
|
|
26970
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.TranslateService }], propDecorators: { url: [{
|
|
26971
|
-
type: Input
|
|
26972
|
-
}], placeholder: [{
|
|
26973
|
-
type: Input
|
|
26974
|
-
}], selectedItems: [{
|
|
26975
|
-
type: Input
|
|
26976
|
-
}], required: [{
|
|
26977
|
-
type: Input
|
|
26978
|
-
}], loadOnce: [{
|
|
26979
|
-
type: Input
|
|
26980
|
-
}], autocompleteItems: [{
|
|
26981
|
-
type: Input
|
|
26982
|
-
}], itemsChange: [{
|
|
26983
|
-
type: Output
|
|
26984
|
-
}] } });
|
|
26985
|
-
|
|
26986
26436
|
class CopyTextButtonComponent {
|
|
26987
26437
|
constructor() {
|
|
26988
26438
|
this.displayText = true;
|
|
@@ -27659,11 +27109,6 @@ class UrlInputComponent {
|
|
|
27659
27109
|
this.uploadClick = new EventEmitter();
|
|
27660
27110
|
this.inputValue = '';
|
|
27661
27111
|
}
|
|
27662
|
-
ngOnChanges(changes) {
|
|
27663
|
-
if (changes['value']) {
|
|
27664
|
-
this.inputValue = changes['value'].currentValue;
|
|
27665
|
-
}
|
|
27666
|
-
}
|
|
27667
27112
|
handleInput(event) {
|
|
27668
27113
|
const value = event.target.value;
|
|
27669
27114
|
this.inputValue = value;
|
|
@@ -27695,7 +27140,7 @@ class UrlInputComponent {
|
|
|
27695
27140
|
provideNgIconsConfig({
|
|
27696
27141
|
size: '1.5em',
|
|
27697
27142
|
}),
|
|
27698
|
-
],
|
|
27143
|
+
], ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <input\n #input\n class=\"gn-ui-text-input gn-ui-url-input px-[var(--text-padding)]\"\n [ngClass]=\"extraClass\"\n type=\"url\"\n [value]=\"inputValue\"\n (input)=\"handleInput($event)\"\n (keydown.enter)=\"handleUpload(input)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n />\n <div\n class=\"absolute inset-y-[var(--side-padding)] left-[var(--2x-side-padding)] grid justify-center items-center pointer-events-none\"\n [ngClass]=\"{\n 'text-primary': !disabled,\n 'text-primary-lightest': disabled,\n }\"\n >\n <ng-icon name=\"iconoirLink\"></ng-icon>\n </div>\n <gn-ui-button\n *ngIf=\"showValidateButton\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n type=\"primary\"\n [disabled]=\"disabled || input.value === '' || !isValidUrl(input.value)\"\n (buttonClick)=\"handleUpload(input)\"\n >\n <ng-content>\n <ng-icon name=\"iconoirArrowUp\"></ng-icon>\n </ng-content>\n </gn-ui-button>\n</span>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6rem) - 6px);--2x-side-padding: calc(var(--side-padding) * 2);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27699
27144
|
}
|
|
27700
27145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UrlInputComponent, decorators: [{
|
|
27701
27146
|
type: Component,
|
|
@@ -28062,7 +27507,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28062
27507
|
class UiInputsModule {
|
|
28063
27508
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
28064
27509
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, declarations: [DragAndDropFileInputComponent,
|
|
28065
|
-
ChipsInputComponent,
|
|
28066
27510
|
DropdownMultiselectComponent,
|
|
28067
27511
|
ViewportIntersectorComponent,
|
|
28068
27512
|
CheckboxComponent], imports: [CommonModule, i1$1.TranslateModule, NgxDropzoneModule,
|
|
@@ -28090,7 +27534,6 @@ class UiInputsModule {
|
|
|
28090
27534
|
ButtonComponent,
|
|
28091
27535
|
DragAndDropFileInputComponent,
|
|
28092
27536
|
TextAreaComponent,
|
|
28093
|
-
ChipsInputComponent,
|
|
28094
27537
|
DropdownMultiselectComponent,
|
|
28095
27538
|
ViewportIntersectorComponent,
|
|
28096
27539
|
CheckToggleComponent,
|
|
@@ -28135,7 +27578,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28135
27578
|
args: [{
|
|
28136
27579
|
declarations: [
|
|
28137
27580
|
DragAndDropFileInputComponent,
|
|
28138
|
-
ChipsInputComponent,
|
|
28139
27581
|
DropdownMultiselectComponent,
|
|
28140
27582
|
ViewportIntersectorComponent,
|
|
28141
27583
|
CheckboxComponent,
|
|
@@ -28181,7 +27623,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28181
27623
|
ButtonComponent,
|
|
28182
27624
|
DragAndDropFileInputComponent,
|
|
28183
27625
|
TextAreaComponent,
|
|
28184
|
-
ChipsInputComponent,
|
|
28185
27626
|
DropdownMultiselectComponent,
|
|
28186
27627
|
ViewportIntersectorComponent,
|
|
28187
27628
|
CheckToggleComponent,
|
|
@@ -28847,7 +28288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28847
28288
|
|
|
28848
28289
|
class MarkdownParserComponent {
|
|
28849
28290
|
get parsedMarkdown() {
|
|
28850
|
-
return marked.parse(this.textContent);
|
|
28291
|
+
return marked.parse(this.textContent ?? '');
|
|
28851
28292
|
}
|
|
28852
28293
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MarkdownParserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28853
28294
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MarkdownParserComponent, isStandalone: true, selector: "gn-ui-markdown-parser", inputs: { textContent: "textContent", whitoutStyles: "whitoutStyles" }, ngImport: i0, template: "<div\n [class]=\"whitoutStyles ? '' : 'markdown-body'\"\n [innerHTML]=\"parsedMarkdown\"\n></div>\n", styles: [":host ::ng-deep .markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;line-height:1.5;word-wrap:break-word;height:100%}:host ::ng-deep .markdown-body strong{@apply font-bold;color:var(--color-secondary-darker)}:host ::ng-deep .markdown-body h1,:host ::ng-deep .markdown-body h2,:host ::ng-deep .markdown-body h3,:host ::ng-deep .markdown-body h4,:host ::ng-deep .markdown-body h5,:host ::ng-deep .markdown-body h6{margin-top:24px;margin-bottom:16px;line-height:1.25;@apply text-title font-title font-bold;}:host ::ng-deep .markdown-body :first-child{margin-top:0}:host ::ng-deep .markdown-body h1{margin:.67em 0;padding-bottom:.3em;font-size:2em;color:var(--color-primary)}:host ::ng-deep .markdown-body h2{padding-bottom:.3em;font-size:1.5em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h3{font-size:1.25em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h4{font-size:1em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h5{font-size:.875em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h6{font-size:.85em;color:var(--color-secondary-lighter)}:host ::ng-deep .markdown-body p{margin-top:0;margin-bottom:10px}:host ::ng-deep .markdown-body p>a{margin-top:0;margin-bottom:10px;color:var(--color-primary)!important;text-decoration:none}:host ::ng-deep .markdown-body p>a:hover{color:var(--color-primary-darker)!important;@apply underline;}:host ::ng-deep .markdown-body blockquote{margin:0;padding:0 1em;color:var(--color-secondary-lighter);border-left:.25em solid var(--color-primary-lighter)}:host ::ng-deep .markdown-body pre{margin-top:0;margin-bottom:0;font-size:12px;background-color:var(--color-gray-100);word-wrap:normal}:host ::ng-deep .markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:var(--color-secondary);border-radius:6px}:host ::ng-deep .markdown-body code{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;border-radius:6px}:host ::ng-deep .markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;border:0}:host ::ng-deep .markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--color-secondary);height:.15em;padding:0;margin:24px 0;background-color:var(--color-secondary);border:0}:host ::ng-deep .markdown-body hr:before{display:table;content:\"\"}:host ::ng-deep .markdown-body hr:after{display:table;clear:both;content:\"\"}:host ::ng-deep .markdown-body ul,:host ::ng-deep .markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em;list-style:revert}:host ::ng-deep .markdown-body ol ol,:host ::ng-deep .markdown-body ul ol{list-style-type:lower-roman}:host ::ng-deep .markdown-body ul ul ol,:host ::ng-deep .markdown-body ul ol ol,:host ::ng-deep .markdown-body ol ul ol,:host ::ng-deep .markdown-body ol ol ol{list-style-type:lower-alpha}:host ::ng-deep .markdown-body ol[type=\"a s\"]{list-style-type:lower-alpha}:host ::ng-deep .markdown-body ol[type=\"A s\"]{list-style-type:upper-alpha}:host ::ng-deep .markdown-body ol[type=\"i s\"]{list-style-type:lower-roman}:host ::ng-deep .markdown-body ol[type=\"I s\"]{list-style-type:upper-roman}:host ::ng-deep .markdown-body ol[type=\"1\"]{list-style:unset;list-style-type:decimal}:host ::ng-deep .markdown-body div>ol:not([type]){list-style:unset;list-style-type:decimal}:host ::ng-deep .markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;padding-bottom:15px}:host ::ng-deep .markdown-body td,:host ::ng-deep .markdown-body th{padding:0}:host ::ng-deep .markdown-body th{color:var(--color-secondary)}:host ::ng-deep .markdown-body table th,:host ::ng-deep .markdown-body table td{padding:6px 13px;border:1px solid var(--color-gray-500)}:host ::ng-deep .markdown-body table td>:last-child{margin-bottom:0}:host ::ng-deep .markdown-body table tr{background-color:#fff;border-top:1px solid var(--color-secondary-lighter)}:host ::ng-deep .markdown-body table tr:nth-child(2n){background-color:var(--color-gray-100)}:host ::ng-deep .markdown-body table img{background-color:transparent}:host ::ng-deep .markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:transparent}:host ::ng-deep .markdown-body img[align=right]{padding-left:20px}:host ::ng-deep .markdown-body img[align=left]{padding-right:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -30091,6 +29532,7 @@ class RecordApiFormComponent {
|
|
|
30091
29532
|
maxFeatures: limit !== '-1' ? Number(limit) : undefined,
|
|
30092
29533
|
limit: limit !== '-1' ? Number(limit) : -1,
|
|
30093
29534
|
offset: offset !== '' ? Number(offset) : undefined,
|
|
29535
|
+
outputCrs: format === ('application/json' || 'geojson') ? 'EPSG:4326' : undefined,
|
|
30094
29536
|
};
|
|
30095
29537
|
if (this.endpoint instanceof WfsEndpoint) {
|
|
30096
29538
|
delete options.limit;
|
|
@@ -30222,6 +29664,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30222
29664
|
type: Input
|
|
30223
29665
|
}] } });
|
|
30224
29666
|
|
|
29667
|
+
class ApplicationBannerComponent {
|
|
29668
|
+
constructor() {
|
|
29669
|
+
this.closeEnabled = false;
|
|
29670
|
+
this.extraClass = '';
|
|
29671
|
+
this.icon = '';
|
|
29672
|
+
this.msgClass = '';
|
|
29673
|
+
this.bannerOpen = true;
|
|
29674
|
+
}
|
|
29675
|
+
set type(value) {
|
|
29676
|
+
switch (value) {
|
|
29677
|
+
case 'primary':
|
|
29678
|
+
this.msgClass = 'bg-primary-darkest border-primary text-white';
|
|
29679
|
+
this.icon = 'matWarning';
|
|
29680
|
+
break;
|
|
29681
|
+
case 'light':
|
|
29682
|
+
this.msgClass =
|
|
29683
|
+
'bg-primary-opacity-10 border-primary-lightest text-black';
|
|
29684
|
+
this.icon = 'matInfoOutline';
|
|
29685
|
+
break;
|
|
29686
|
+
case 'secondary':
|
|
29687
|
+
default:
|
|
29688
|
+
this.msgClass = 'bg-primary-opacity-50 border-primary-darker text-black';
|
|
29689
|
+
this.icon = 'matWarningAmberOutline';
|
|
29690
|
+
break;
|
|
29691
|
+
}
|
|
29692
|
+
}
|
|
29693
|
+
get classList() {
|
|
29694
|
+
if (this.message.length > 200) {
|
|
29695
|
+
return `${this.msgClass} ${this.extraClass} overflow-y-scroll items-start`;
|
|
29696
|
+
}
|
|
29697
|
+
return `${this.msgClass} ${this.extraClass} items-center`;
|
|
29698
|
+
}
|
|
29699
|
+
closeMessage() {
|
|
29700
|
+
this.bannerOpen = false;
|
|
29701
|
+
}
|
|
29702
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29703
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApplicationBannerComponent, isStandalone: true, selector: "gn-ui-application-banner", inputs: { message: "message", title: "title", closeEnabled: "closeEnabled", extraClass: "extraClass", icon: "icon", type: "type" }, providers: [
|
|
29704
|
+
provideIcons({
|
|
29705
|
+
matWarningAmberOutline,
|
|
29706
|
+
matInfoOutline,
|
|
29707
|
+
matCloseOutline,
|
|
29708
|
+
matWarning,
|
|
29709
|
+
}),
|
|
29710
|
+
provideNgIconsConfig({ size: '1.5em' }),
|
|
29711
|
+
], ngImport: i0, template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute left-0 right-0 text-wrap bg-white mt-4 max-h-24\"\n>\n <div\n class=\"flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20\"\n [ngClass]=\"classList\"\n >\n <div [ngClass]=\"message.length > 200 ? 'pt-5' : 'pt-1'\">\n <ng-icon [name]=\"icon\"></ng-icon>\n </div>\n <div class=\"flex flex-col justify-start gap-2.5\">\n <span *ngIf=\"title\" class=\"font-bold\">{{ title }}</span>\n <span class=\"font-medium max-w-2xl\" [innerHTML]=\"message\"></span>\n </div>\n <button\n *ngIf=\"closeEnabled\"\n class=\"self-start\"\n type=\"button\"\n (click)=\"closeMessage()\"\n >\n <ng-icon name=\"matCloseOutline\"> </ng-icon>\n </button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29712
|
+
}
|
|
29713
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, decorators: [{
|
|
29714
|
+
type: Component,
|
|
29715
|
+
args: [{ selector: 'gn-ui-application-banner', standalone: true, imports: [CommonModule, NgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
29716
|
+
provideIcons({
|
|
29717
|
+
matWarningAmberOutline,
|
|
29718
|
+
matInfoOutline,
|
|
29719
|
+
matCloseOutline,
|
|
29720
|
+
matWarning,
|
|
29721
|
+
}),
|
|
29722
|
+
provideNgIconsConfig({ size: '1.5em' }),
|
|
29723
|
+
], template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute left-0 right-0 text-wrap bg-white mt-4 max-h-24\"\n>\n <div\n class=\"flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20\"\n [ngClass]=\"classList\"\n >\n <div [ngClass]=\"message.length > 200 ? 'pt-5' : 'pt-1'\">\n <ng-icon [name]=\"icon\"></ng-icon>\n </div>\n <div class=\"flex flex-col justify-start gap-2.5\">\n <span *ngIf=\"title\" class=\"font-bold\">{{ title }}</span>\n <span class=\"font-medium max-w-2xl\" [innerHTML]=\"message\"></span>\n </div>\n <button\n *ngIf=\"closeEnabled\"\n class=\"self-start\"\n type=\"button\"\n (click)=\"closeMessage()\"\n >\n <ng-icon name=\"matCloseOutline\"> </ng-icon>\n </button>\n </div>\n</div>\n" }]
|
|
29724
|
+
}], propDecorators: { message: [{
|
|
29725
|
+
type: Input
|
|
29726
|
+
}], title: [{
|
|
29727
|
+
type: Input
|
|
29728
|
+
}], closeEnabled: [{
|
|
29729
|
+
type: Input
|
|
29730
|
+
}], extraClass: [{
|
|
29731
|
+
type: Input
|
|
29732
|
+
}], icon: [{
|
|
29733
|
+
type: Input
|
|
29734
|
+
}], type: [{
|
|
29735
|
+
type: Input
|
|
29736
|
+
}] } });
|
|
29737
|
+
|
|
30225
29738
|
class UiElementsModule {
|
|
30226
29739
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
30227
29740
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, declarations: [AvatarComponent, UserPreviewComponent], imports: [CommonModule,
|
|
@@ -30239,11 +29752,13 @@ class UiElementsModule {
|
|
|
30239
29752
|
BadgeComponent,
|
|
30240
29753
|
MaxLinesComponent,
|
|
30241
29754
|
TextInputComponent,
|
|
30242
|
-
ImageInputComponent
|
|
29755
|
+
ImageInputComponent,
|
|
29756
|
+
ApplicationBannerComponent], exports: [ThumbnailComponent,
|
|
30243
29757
|
AvatarComponent,
|
|
30244
29758
|
UserPreviewComponent,
|
|
30245
29759
|
MarkdownParserComponent,
|
|
30246
|
-
ImageInputComponent
|
|
29760
|
+
ImageInputComponent,
|
|
29761
|
+
ApplicationBannerComponent] }); }
|
|
30247
29762
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
|
|
30248
29763
|
provideNgIconsConfig({
|
|
30249
29764
|
size: '1.5em',
|
|
@@ -30262,7 +29777,8 @@ class UiElementsModule {
|
|
|
30262
29777
|
BadgeComponent,
|
|
30263
29778
|
MaxLinesComponent,
|
|
30264
29779
|
TextInputComponent,
|
|
30265
|
-
ImageInputComponent
|
|
29780
|
+
ImageInputComponent,
|
|
29781
|
+
ApplicationBannerComponent] }); }
|
|
30266
29782
|
}
|
|
30267
29783
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
|
|
30268
29784
|
type: NgModule,
|
|
@@ -30286,6 +29802,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30286
29802
|
MaxLinesComponent,
|
|
30287
29803
|
TextInputComponent,
|
|
30288
29804
|
ImageInputComponent,
|
|
29805
|
+
ApplicationBannerComponent,
|
|
30289
29806
|
],
|
|
30290
29807
|
providers: [
|
|
30291
29808
|
provideNgIconsConfig({
|
|
@@ -30299,6 +29816,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30299
29816
|
UserPreviewComponent,
|
|
30300
29817
|
MarkdownParserComponent,
|
|
30301
29818
|
ImageInputComponent,
|
|
29819
|
+
ApplicationBannerComponent,
|
|
30302
29820
|
],
|
|
30303
29821
|
}]
|
|
30304
29822
|
}] });
|
|
@@ -30500,6 +30018,7 @@ class ActionMenuComponent {
|
|
|
30500
30018
|
this.duplicate = new EventEmitter();
|
|
30501
30019
|
this.delete = new EventEmitter();
|
|
30502
30020
|
this.closeActionMenu = new EventEmitter();
|
|
30021
|
+
this.rollback = new EventEmitter();
|
|
30503
30022
|
this.sectionDisplayed = 'mainMenu';
|
|
30504
30023
|
}
|
|
30505
30024
|
openMenu() {
|
|
@@ -30510,11 +30029,16 @@ class ActionMenuComponent {
|
|
|
30510
30029
|
this.cdr.markForCheck();
|
|
30511
30030
|
}
|
|
30512
30031
|
displayDeleteMenu() {
|
|
30513
|
-
this.
|
|
30032
|
+
if (this.isDraftPage) {
|
|
30033
|
+
this.sectionDisplayed = 'rollbackMenu';
|
|
30034
|
+
}
|
|
30035
|
+
else {
|
|
30036
|
+
this.sectionDisplayed = 'deleteMenu';
|
|
30037
|
+
}
|
|
30514
30038
|
this.cdr.markForCheck();
|
|
30515
30039
|
}
|
|
30516
30040
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, deps: [{ token: i1$b.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30517
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionMenuComponent, isStandalone: true, selector: "gn-ui-action-menu", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete" }, outputs: { duplicate: "duplicate", delete: "delete", closeActionMenu: "closeActionMenu" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span translate>record.action.delete</span></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30041
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionMenuComponent, isStandalone: true, selector: "gn-ui-action-menu", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage" }, outputs: { duplicate: "duplicate", delete: "delete", closeActionMenu: "closeActionMenu", rollback: "rollback" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n *ngIf=\"!isDraftPage\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span *ngIf=\"!isDraftPage\" translate>record.action.delete</span>\n <span *ngIf=\"isDraftPage\" translate\n >record.action.rollback</span\n ></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rollbackMenu'\">\n <div\n data-test=\"rollbackMenuSection\"\n class=\"w-80 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.undo.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.undo.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"rollback.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'120px'\"\n >{{\n 'editor.record.undo.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'120px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.undo.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30518
30042
|
}
|
|
30519
30043
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, decorators: [{
|
|
30520
30044
|
type: Component,
|
|
@@ -30525,17 +30049,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30525
30049
|
MatDialogModule,
|
|
30526
30050
|
ConfirmationDialogComponent,
|
|
30527
30051
|
TranslateModule,
|
|
30528
|
-
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span translate>record.action.delete</span></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n" }]
|
|
30052
|
+
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n *ngIf=\"!isDraftPage\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span *ngIf=\"!isDraftPage\" translate>record.action.delete</span>\n <span *ngIf=\"isDraftPage\" translate\n >record.action.rollback</span\n ></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rollbackMenu'\">\n <div\n data-test=\"rollbackMenuSection\"\n class=\"w-80 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.undo.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.undo.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"rollback.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'120px'\"\n >{{\n 'editor.record.undo.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'120px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.undo.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n" }]
|
|
30529
30053
|
}], ctorParameters: () => [{ type: i1$b.MatDialog }, { type: i0.ChangeDetectorRef }], propDecorators: { canDuplicate: [{
|
|
30530
30054
|
type: Input
|
|
30531
30055
|
}], canDelete: [{
|
|
30532
30056
|
type: Input
|
|
30057
|
+
}], isDraftPage: [{
|
|
30058
|
+
type: Input
|
|
30533
30059
|
}], duplicate: [{
|
|
30534
30060
|
type: Output
|
|
30535
30061
|
}], delete: [{
|
|
30536
30062
|
type: Output
|
|
30537
30063
|
}], closeActionMenu: [{
|
|
30538
30064
|
type: Output
|
|
30065
|
+
}], rollback: [{
|
|
30066
|
+
type: Output
|
|
30539
30067
|
}], trigger: [{
|
|
30540
30068
|
type: ViewChild,
|
|
30541
30069
|
args: [MatMenuTrigger]
|
|
@@ -30560,6 +30088,7 @@ class ResultsTableComponent {
|
|
|
30560
30088
|
this.recordClick = new EventEmitter();
|
|
30561
30089
|
this.duplicateRecord = new EventEmitter();
|
|
30562
30090
|
this.deleteRecord = new EventEmitter();
|
|
30091
|
+
this.rollbackDraft = new EventEmitter();
|
|
30563
30092
|
this.recordsSelectedChange = new EventEmitter();
|
|
30564
30093
|
this.isActionMenuOpen = false;
|
|
30565
30094
|
}
|
|
@@ -30638,6 +30167,10 @@ class ResultsTableComponent {
|
|
|
30638
30167
|
this.deleteRecord.emit(item);
|
|
30639
30168
|
this.closeActionMenu();
|
|
30640
30169
|
}
|
|
30170
|
+
handleRollback(item) {
|
|
30171
|
+
this.rollbackDraft.emit(item);
|
|
30172
|
+
this.closeActionMenu();
|
|
30173
|
+
}
|
|
30641
30174
|
setSortBy(col, order) {
|
|
30642
30175
|
this.sortByChange.emit([col, order]);
|
|
30643
30176
|
}
|
|
@@ -30662,7 +30195,7 @@ class ResultsTableComponent {
|
|
|
30662
30195
|
this.recordsSelectedChange.emit([[record], selected]);
|
|
30663
30196
|
}
|
|
30664
30197
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, deps: [{ token: i1$9.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: DateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30665
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage", isDuplicating: "isDuplicating" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", deleteRecord: "deleteRecord", recordsSelectedChange: "recordsSelectedChange" }, providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items", "isDraftPage"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "width", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "canDelete"], outputs: ["duplicate", "delete", "closeActionMenu"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] }); }
|
|
30198
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage", isDuplicating: "isDuplicating" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", deleteRecord: "deleteRecord", rollbackDraft: "rollbackDraft", recordsSelectedChange: "recordsSelectedChange" }, providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n [isDraftPage]=\"isDraftPage\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (rollback)=\"handleRollback(item)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items", "isDraftPage"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "width", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "canDelete", "isDraftPage"], outputs: ["duplicate", "delete", "closeActionMenu", "rollback"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] }); }
|
|
30666
30199
|
}
|
|
30667
30200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
30668
30201
|
type: Component,
|
|
@@ -30676,7 +30209,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30676
30209
|
ActionMenuComponent,
|
|
30677
30210
|
NgIconComponent,
|
|
30678
30211
|
CdkOverlayOrigin,
|
|
30679
|
-
], providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30212
|
+
], providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n [isDraftPage]=\"isDraftPage\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (rollback)=\"handleRollback(item)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30680
30213
|
}], ctorParameters: () => [{ type: i1$9.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: DateService }], propDecorators: { records: [{
|
|
30681
30214
|
type: Input
|
|
30682
30215
|
}], selectedRecordsIdentifiers: [{
|
|
@@ -30701,6 +30234,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30701
30234
|
type: Output
|
|
30702
30235
|
}], deleteRecord: [{
|
|
30703
30236
|
type: Output
|
|
30237
|
+
}], rollbackDraft: [{
|
|
30238
|
+
type: Output
|
|
30704
30239
|
}], recordsSelectedChange: [{
|
|
30705
30240
|
type: Output
|
|
30706
30241
|
}], actionMenuButtons: [{
|
|
@@ -31714,6 +31249,7 @@ class FuzzySearchComponent {
|
|
|
31714
31249
|
this.searchService = searchService;
|
|
31715
31250
|
this.recordsRepository = recordsRepository;
|
|
31716
31251
|
this.autoFocus = false;
|
|
31252
|
+
this.forceTrackPosition = false;
|
|
31717
31253
|
this.itemSelected = new EventEmitter();
|
|
31718
31254
|
this.inputSubmitted = new EventEmitter();
|
|
31719
31255
|
this.displayWithFn = (record) => record.title;
|
|
@@ -31756,16 +31292,18 @@ class FuzzySearchComponent {
|
|
|
31756
31292
|
}
|
|
31757
31293
|
}
|
|
31758
31294
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FuzzySearchComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31759
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: { autoFocus: "autoFocus" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: AutocompleteComponent, descendants: true }], ngImport: i0, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [preventCompleteOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n [allowSubmit]=\"true\"\n></gn-ui-autocomplete>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31295
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: { autoFocus: "autoFocus", forceTrackPosition: "forceTrackPosition" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: AutocompleteComponent, descendants: true }], ngImport: i0, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [preventCompleteOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n [allowSubmit]=\"true\"\n [forceTrackPosition]=\"forceTrackPosition\"\n></gn-ui-autocomplete>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31760
31296
|
}
|
|
31761
31297
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FuzzySearchComponent, decorators: [{
|
|
31762
31298
|
type: Component,
|
|
31763
|
-
args: [{ selector: 'gn-ui-fuzzy-search', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [preventCompleteOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n [allowSubmit]=\"true\"\n></gn-ui-autocomplete>\n" }]
|
|
31299
|
+
args: [{ selector: 'gn-ui-fuzzy-search', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [preventCompleteOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n [allowSubmit]=\"true\"\n [forceTrackPosition]=\"forceTrackPosition\"\n></gn-ui-autocomplete>\n" }]
|
|
31764
31300
|
}], ctorParameters: () => [{ type: SearchFacade }, { type: SearchService }, { type: RecordsRepositoryInterface }], propDecorators: { autocomplete: [{
|
|
31765
31301
|
type: ViewChild,
|
|
31766
31302
|
args: [AutocompleteComponent]
|
|
31767
31303
|
}], autoFocus: [{
|
|
31768
31304
|
type: Input
|
|
31305
|
+
}], forceTrackPosition: [{
|
|
31306
|
+
type: Input
|
|
31769
31307
|
}], itemSelected: [{
|
|
31770
31308
|
type: Output
|
|
31771
31309
|
}], inputSubmitted: [{
|
|
@@ -32529,6 +32067,51 @@ class DateRangeSearchField extends SimpleSearchField {
|
|
|
32529
32067
|
return 'dateRange';
|
|
32530
32068
|
}
|
|
32531
32069
|
}
|
|
32070
|
+
marker('search.filters.availableServices.view');
|
|
32071
|
+
marker('search.filters.availableServices.download');
|
|
32072
|
+
class AvailableServicesField extends SimpleSearchField {
|
|
32073
|
+
constructor(injector) {
|
|
32074
|
+
super('availableServices', injector, 'asc');
|
|
32075
|
+
this.translateService = this.injector.get(TranslateService);
|
|
32076
|
+
this.linkProtocolViewFilter = '/OGC:WMT?S.*/';
|
|
32077
|
+
this.linkProtocolDownloadFilter = '/OGC:WFS.*/';
|
|
32078
|
+
}
|
|
32079
|
+
async getBucketLabel(bucket) {
|
|
32080
|
+
return firstValueFrom(this.translateService.get(`search.filters.availableServices.${bucket.term}`));
|
|
32081
|
+
}
|
|
32082
|
+
getAggregations() {
|
|
32083
|
+
return {
|
|
32084
|
+
availableServices: {
|
|
32085
|
+
type: 'filters',
|
|
32086
|
+
filters: {
|
|
32087
|
+
view: `+linkProtocol:${this.linkProtocolViewFilter}`,
|
|
32088
|
+
download: `+linkProtocol:${this.linkProtocolDownloadFilter}`,
|
|
32089
|
+
},
|
|
32090
|
+
},
|
|
32091
|
+
};
|
|
32092
|
+
}
|
|
32093
|
+
getFiltersForValues(values) {
|
|
32094
|
+
const filters = {};
|
|
32095
|
+
if (values.includes('view'))
|
|
32096
|
+
filters[this.linkProtocolViewFilter] = true;
|
|
32097
|
+
if (values.includes('download'))
|
|
32098
|
+
filters[this.linkProtocolDownloadFilter] = true;
|
|
32099
|
+
return of({
|
|
32100
|
+
linkProtocol: filters,
|
|
32101
|
+
});
|
|
32102
|
+
}
|
|
32103
|
+
getValuesForFilter(filters) {
|
|
32104
|
+
const linkFilter = filters.linkProtocol;
|
|
32105
|
+
if (!linkFilter)
|
|
32106
|
+
return of([]);
|
|
32107
|
+
const values = [];
|
|
32108
|
+
if (linkFilter[this.linkProtocolViewFilter])
|
|
32109
|
+
values.push('view');
|
|
32110
|
+
if (linkFilter[this.linkProtocolDownloadFilter])
|
|
32111
|
+
values.push('download');
|
|
32112
|
+
return of(values);
|
|
32113
|
+
}
|
|
32114
|
+
}
|
|
32532
32115
|
|
|
32533
32116
|
marker('search.filters.format');
|
|
32534
32117
|
marker('search.filters.inspireKeyword');
|
|
@@ -32570,6 +32153,7 @@ class FieldsService {
|
|
|
32570
32153
|
publisherOrg: new MultilingualSearchField('distributorOrgForResourceObject', this.injector, 'asc', 'key'),
|
|
32571
32154
|
user: new UserSearchField(this.injector),
|
|
32572
32155
|
changeDate: new DateRangeSearchField('changeDate', this.injector, 'desc'),
|
|
32156
|
+
availableServices: new AvailableServicesField(this.injector),
|
|
32573
32157
|
};
|
|
32574
32158
|
}
|
|
32575
32159
|
getAvailableValues(fieldName) {
|
|
@@ -32911,7 +32495,7 @@ class ResultsTableContainerComponent {
|
|
|
32911
32495
|
this.subscription.unsubscribe();
|
|
32912
32496
|
}
|
|
32913
32497
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }, { token: NotificationsService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32914
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDuplicating: "isDuplicating" }, outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [canDelete]=\"canDelete\"\n [canDuplicate]=\"canDuplicate\"\n [isDuplicating]=\"isDuplicating\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (deleteRecord)=\"handleDeleteRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "hasDraft", "canDuplicate", "canDelete", "isDraftPage", "isDuplicating"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "deleteRecord", "recordsSelectedChange"] }] }); }
|
|
32498
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDuplicating: "isDuplicating" }, outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [canDelete]=\"canDelete\"\n [canDuplicate]=\"canDuplicate\"\n [isDuplicating]=\"isDuplicating\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (deleteRecord)=\"handleDeleteRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "hasDraft", "canDuplicate", "canDelete", "isDraftPage", "isDuplicating"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "deleteRecord", "rollbackDraft", "recordsSelectedChange"] }] }); }
|
|
32915
32499
|
}
|
|
32916
32500
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
32917
32501
|
type: Component,
|
|
@@ -34782,7 +34366,7 @@ class AddLayerFromCatalogComponent {
|
|
|
34782
34366
|
ADDLAYER: new ResultsLayoutConfigItem(AddLayerRecordPreviewComponent, 'py-2', '', 'flex flex-col divide-y divide-y-grey-50'),
|
|
34783
34367
|
},
|
|
34784
34368
|
},
|
|
34785
|
-
], ngImport: i0, template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: FeatureSearchModule }, { kind: "component", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: ["autoFocus"], outputs: ["itemSelected", "inputSubmitted"] }, { kind: "component", type: ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: ["metadataQualityDisplay", "layout", "showMore"], outputs: ["mdSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34369
|
+
], ngImport: i0, template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: FeatureSearchModule }, { kind: "component", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: ["autoFocus", "forceTrackPosition"], outputs: ["itemSelected", "inputSubmitted"] }, { kind: "component", type: ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: ["metadataQualityDisplay", "layout", "showMore"], outputs: ["mdSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34786
34370
|
}
|
|
34787
34371
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLayerFromCatalogComponent, decorators: [{
|
|
34788
34372
|
type: Component,
|
|
@@ -35060,6 +34644,9 @@ const loadFullMetadata = createAction('[Metadata view] Load full metadata', prop
|
|
|
35060
34644
|
const setIncompleteMetadata = createAction('[Metadata view] Set incomplete metadata', props());
|
|
35061
34645
|
const loadFullMetadataSuccess = createAction('[Metadata view] Load full metadata success', props());
|
|
35062
34646
|
const loadFullMetadataFailure = createAction('[Metadata view] Load full metadata failure', props());
|
|
34647
|
+
const loadFeatureCatalog = createAction("[Metadata view] Load metadata's feature catalog", props());
|
|
34648
|
+
const loadFeatureCatalogSuccess = createAction('[Metadata view] Load metadata feature catalog success', props());
|
|
34649
|
+
const loadFeatureCatalogFailure = createAction('[Metadata view] Load metadata feature catalog failure', props());
|
|
35063
34650
|
const closeMetadata = createAction('[Metadata view] close');
|
|
35064
34651
|
/*
|
|
35065
34652
|
Related actions
|
|
@@ -35085,6 +34672,9 @@ var mdview_actions = /*#__PURE__*/Object.freeze({
|
|
|
35085
34672
|
addUserFeedbackFailure: addUserFeedbackFailure,
|
|
35086
34673
|
addUserFeedbackSuccess: addUserFeedbackSuccess,
|
|
35087
34674
|
closeMetadata: closeMetadata,
|
|
34675
|
+
loadFeatureCatalog: loadFeatureCatalog,
|
|
34676
|
+
loadFeatureCatalogFailure: loadFeatureCatalogFailure,
|
|
34677
|
+
loadFeatureCatalogSuccess: loadFeatureCatalogSuccess,
|
|
35088
34678
|
loadFullMetadata: loadFullMetadata,
|
|
35089
34679
|
loadFullMetadataFailure: loadFullMetadataFailure,
|
|
35090
34680
|
loadFullMetadataSuccess: loadFullMetadataSuccess,
|
|
@@ -35102,6 +34692,8 @@ const initialMetadataViewState = {
|
|
|
35102
34692
|
loadingFull: false,
|
|
35103
34693
|
allUserFeedbacksLoading: false,
|
|
35104
34694
|
addUserFeedbackLoading: false,
|
|
34695
|
+
featureCatalogLoading: false,
|
|
34696
|
+
featureCatalogError: null,
|
|
35105
34697
|
};
|
|
35106
34698
|
const metadataViewReducer = createReducer(initialMetadataViewState,
|
|
35107
34699
|
/*
|
|
@@ -35161,6 +34753,22 @@ on(loadUserFeedbacks, (state) => ({
|
|
|
35161
34753
|
error: { otherError, notFound },
|
|
35162
34754
|
addUserFeedbackLoading: false,
|
|
35163
34755
|
allUserFeedbacksLoading: false,
|
|
34756
|
+
})),
|
|
34757
|
+
/**
|
|
34758
|
+
* FeatureCatalog reducers
|
|
34759
|
+
*/
|
|
34760
|
+
on(loadFeatureCatalog, (state) => ({
|
|
34761
|
+
...state,
|
|
34762
|
+
featureCatalogError: null,
|
|
34763
|
+
featureCatalogLoading: true,
|
|
34764
|
+
})), on(loadFeatureCatalogSuccess, (state, { datasetCatalog }) => ({
|
|
34765
|
+
...state,
|
|
34766
|
+
featureCatalog: datasetCatalog,
|
|
34767
|
+
featureCatalogLoading: false,
|
|
34768
|
+
})), on(loadFeatureCatalogFailure, (state, { error }) => ({
|
|
34769
|
+
...state,
|
|
34770
|
+
featureCatalogError: error,
|
|
34771
|
+
featureCatalogLoading: false,
|
|
35164
34772
|
})));
|
|
35165
34773
|
function reducer$1(metadataViewState, action) {
|
|
35166
34774
|
return metadataViewReducer(metadataViewState, action);
|
|
@@ -35189,6 +34797,11 @@ const getChartConfig = createSelector(getMdViewState, (state) => state.chartConf
|
|
|
35189
34797
|
const getUserFeedbacks = createSelector(getMdViewState, (state) => state.userFeedbacks);
|
|
35190
34798
|
const getAllUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.allUserFeedbacksLoading);
|
|
35191
34799
|
const getAddUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.addUserFeedbackLoading);
|
|
34800
|
+
/*
|
|
34801
|
+
Feature Catalog Selectors
|
|
34802
|
+
*/
|
|
34803
|
+
const getFeatureCatalog = createSelector(getMdViewState, (state) => state.featureCatalog);
|
|
34804
|
+
const getFeatureCatalogIsLoading = createSelector(getMdViewState, (state) => state.featureCatalogLoading);
|
|
35192
34805
|
|
|
35193
34806
|
class FetchError {
|
|
35194
34807
|
constructor(type, info, httpStatus = 0) {
|
|
@@ -35304,20 +34917,23 @@ function fetchHeaders(url) {
|
|
|
35304
34917
|
return parseHeaders(response.headers);
|
|
35305
34918
|
});
|
|
35306
34919
|
}
|
|
35307
|
-
function fetchDataAsText(url) {
|
|
35308
|
-
|
|
34920
|
+
function fetchDataAsText(url, cacheActive) {
|
|
34921
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35309
34922
|
.catch((error) => {
|
|
35310
34923
|
throw FetchError.corsOrNetwork(error.message);
|
|
35311
34924
|
})
|
|
35312
34925
|
.then(async (response) => {
|
|
35313
34926
|
if (!response.ok) {
|
|
35314
|
-
|
|
34927
|
+
const clonedResponse = response.clone();
|
|
34928
|
+
throw FetchError.http(response.status, await clonedResponse.text());
|
|
35315
34929
|
}
|
|
35316
|
-
|
|
35317
|
-
|
|
34930
|
+
const clonedResponse = response.clone();
|
|
34931
|
+
return clonedResponse.text();
|
|
34932
|
+
});
|
|
34933
|
+
return cacheActive ? useCache(fetchFactory, url, 'asText') : fetchFactory();
|
|
35318
34934
|
}
|
|
35319
|
-
function fetchDataAsArrayBuffer(url) {
|
|
35320
|
-
|
|
34935
|
+
function fetchDataAsArrayBuffer(url, cacheActive) {
|
|
34936
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35321
34937
|
.catch((error) => {
|
|
35322
34938
|
throw FetchError.corsOrNetwork(error.message);
|
|
35323
34939
|
})
|
|
@@ -35327,7 +34943,8 @@ function fetchDataAsArrayBuffer(url) {
|
|
|
35327
34943
|
}
|
|
35328
34944
|
// convert to a numeric array so that we can store the response in cache
|
|
35329
34945
|
return Array.from(new Uint8Array(await response.arrayBuffer()));
|
|
35330
|
-
})
|
|
34946
|
+
});
|
|
34947
|
+
return (cacheActive ? useCache(fetchFactory, url, 'asArrayBuffer') : fetchFactory()).then((array) => {
|
|
35331
34948
|
return new Uint8Array(array).buffer;
|
|
35332
34949
|
});
|
|
35333
34950
|
}
|
|
@@ -35473,68 +35090,6 @@ function getJsonDataItemsProxy(items) {
|
|
|
35473
35090
|
});
|
|
35474
35091
|
}
|
|
35475
35092
|
|
|
35476
|
-
class BaseReader {
|
|
35477
|
-
constructor(url) {
|
|
35478
|
-
this.url = url;
|
|
35479
|
-
this.selected = null;
|
|
35480
|
-
this.groupedBy = null;
|
|
35481
|
-
this.aggregations = null;
|
|
35482
|
-
this.filter = null;
|
|
35483
|
-
this.sort = null;
|
|
35484
|
-
this.startIndex = null;
|
|
35485
|
-
this.count = null;
|
|
35486
|
-
}
|
|
35487
|
-
load() {
|
|
35488
|
-
throw new Error('not implemented');
|
|
35489
|
-
}
|
|
35490
|
-
get properties() {
|
|
35491
|
-
throw new Error('not implemented');
|
|
35492
|
-
}
|
|
35493
|
-
get info() {
|
|
35494
|
-
throw new Error('not implemented');
|
|
35495
|
-
}
|
|
35496
|
-
read() {
|
|
35497
|
-
throw new Error('not implemented');
|
|
35498
|
-
}
|
|
35499
|
-
selectAll() {
|
|
35500
|
-
this.groupedBy = null;
|
|
35501
|
-
this.aggregations = null;
|
|
35502
|
-
this.selected = null;
|
|
35503
|
-
this.filter = null;
|
|
35504
|
-
this.startIndex = null;
|
|
35505
|
-
this.count = null;
|
|
35506
|
-
return this;
|
|
35507
|
-
}
|
|
35508
|
-
select(...selectedFields) {
|
|
35509
|
-
this.selected = selectedFields;
|
|
35510
|
-
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35511
|
-
this.groupedBy = null;
|
|
35512
|
-
return this;
|
|
35513
|
-
}
|
|
35514
|
-
groupBy(...groupBy) {
|
|
35515
|
-
this.groupedBy = groupBy;
|
|
35516
|
-
this.selected = null; // clear normal field selection when aggregating
|
|
35517
|
-
return this;
|
|
35518
|
-
}
|
|
35519
|
-
aggregate(...aggregations) {
|
|
35520
|
-
this.aggregations = aggregations;
|
|
35521
|
-
return this;
|
|
35522
|
-
}
|
|
35523
|
-
where(filter) {
|
|
35524
|
-
this.filter = filter;
|
|
35525
|
-
return this;
|
|
35526
|
-
}
|
|
35527
|
-
orderBy(...fieldSorts) {
|
|
35528
|
-
this.sort = fieldSorts;
|
|
35529
|
-
return this;
|
|
35530
|
-
}
|
|
35531
|
-
limit(startIndex, count) {
|
|
35532
|
-
this.startIndex = startIndex;
|
|
35533
|
-
this.count = count;
|
|
35534
|
-
return this;
|
|
35535
|
-
}
|
|
35536
|
-
}
|
|
35537
|
-
|
|
35538
35093
|
function filterToSql(filter) {
|
|
35539
35094
|
const operator = filter[0];
|
|
35540
35095
|
const args = filter.slice(1);
|
|
@@ -35628,7 +35183,80 @@ function generateSqlQuery(selected = null, filter = null, sort = null, startInde
|
|
|
35628
35183
|
return sqlSelect + sqlFrom + sqlGroupBy + sqlOrderBy + sqlWhere + sqlLimit;
|
|
35629
35184
|
}
|
|
35630
35185
|
|
|
35631
|
-
class
|
|
35186
|
+
class BaseReader {
|
|
35187
|
+
constructor(url) {
|
|
35188
|
+
this.url = url;
|
|
35189
|
+
this.selected = null;
|
|
35190
|
+
this.groupedBy = null;
|
|
35191
|
+
this.aggregations = null;
|
|
35192
|
+
this.filter = null;
|
|
35193
|
+
this.sort = null;
|
|
35194
|
+
this.startIndex = null;
|
|
35195
|
+
this.count = null;
|
|
35196
|
+
}
|
|
35197
|
+
load() {
|
|
35198
|
+
throw new Error('not implemented');
|
|
35199
|
+
}
|
|
35200
|
+
get properties() {
|
|
35201
|
+
throw new Error('not implemented');
|
|
35202
|
+
}
|
|
35203
|
+
get info() {
|
|
35204
|
+
throw new Error('not implemented');
|
|
35205
|
+
}
|
|
35206
|
+
read() {
|
|
35207
|
+
throw new Error('not implemented');
|
|
35208
|
+
}
|
|
35209
|
+
selectAll() {
|
|
35210
|
+
this.groupedBy = null;
|
|
35211
|
+
this.aggregations = null;
|
|
35212
|
+
this.selected = null;
|
|
35213
|
+
this.filter = null;
|
|
35214
|
+
this.startIndex = null;
|
|
35215
|
+
this.count = null;
|
|
35216
|
+
return this;
|
|
35217
|
+
}
|
|
35218
|
+
select(...selectedFields) {
|
|
35219
|
+
this.selected = selectedFields;
|
|
35220
|
+
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35221
|
+
this.groupedBy = null;
|
|
35222
|
+
return this;
|
|
35223
|
+
}
|
|
35224
|
+
groupBy(...groupBy) {
|
|
35225
|
+
this.groupedBy = groupBy;
|
|
35226
|
+
this.selected = null; // clear normal field selection when aggregating
|
|
35227
|
+
return this;
|
|
35228
|
+
}
|
|
35229
|
+
aggregate(...aggregations) {
|
|
35230
|
+
this.aggregations = aggregations;
|
|
35231
|
+
return this;
|
|
35232
|
+
}
|
|
35233
|
+
where(filter) {
|
|
35234
|
+
this.filter = filter;
|
|
35235
|
+
return this;
|
|
35236
|
+
}
|
|
35237
|
+
orderBy(...fieldSorts) {
|
|
35238
|
+
this.sort = fieldSorts;
|
|
35239
|
+
return this;
|
|
35240
|
+
}
|
|
35241
|
+
limit(startIndex, count) {
|
|
35242
|
+
this.startIndex = startIndex;
|
|
35243
|
+
this.count = count;
|
|
35244
|
+
return this;
|
|
35245
|
+
}
|
|
35246
|
+
}
|
|
35247
|
+
|
|
35248
|
+
class BaseCacheReader extends BaseReader {
|
|
35249
|
+
constructor(url, cacheActive = true) {
|
|
35250
|
+
super(url);
|
|
35251
|
+
this.url = url;
|
|
35252
|
+
this.cacheActive = cacheActive;
|
|
35253
|
+
}
|
|
35254
|
+
setCacheActive(value) {
|
|
35255
|
+
this.cacheActive = value;
|
|
35256
|
+
}
|
|
35257
|
+
}
|
|
35258
|
+
|
|
35259
|
+
class BaseFileReader extends BaseCacheReader {
|
|
35632
35260
|
getData() {
|
|
35633
35261
|
throw new Error('not implemented');
|
|
35634
35262
|
}
|
|
@@ -35692,7 +35320,7 @@ function parseCsv(text) {
|
|
|
35692
35320
|
}
|
|
35693
35321
|
class CsvReader extends BaseFileReader {
|
|
35694
35322
|
getData() {
|
|
35695
|
-
return fetchDataAsText(this.url).then(parseCsv);
|
|
35323
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseCsv);
|
|
35696
35324
|
}
|
|
35697
35325
|
}
|
|
35698
35326
|
|
|
@@ -35709,7 +35337,7 @@ function parseJson(text) {
|
|
|
35709
35337
|
}
|
|
35710
35338
|
class JsonReader extends BaseFileReader {
|
|
35711
35339
|
getData() {
|
|
35712
|
-
return fetchDataAsText(this.url).then(parseJson);
|
|
35340
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseJson);
|
|
35713
35341
|
}
|
|
35714
35342
|
}
|
|
35715
35343
|
|
|
@@ -35728,7 +35356,7 @@ function parseGeojson(text) {
|
|
|
35728
35356
|
}
|
|
35729
35357
|
class GeojsonReader extends BaseFileReader {
|
|
35730
35358
|
getData() {
|
|
35731
|
-
return fetchDataAsText(this.url).then(parseGeojson);
|
|
35359
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseGeojson);
|
|
35732
35360
|
}
|
|
35733
35361
|
}
|
|
35734
35362
|
|
|
@@ -35750,7 +35378,7 @@ function parseExcel(buffer) {
|
|
|
35750
35378
|
}
|
|
35751
35379
|
class ExcelReader extends BaseFileReader {
|
|
35752
35380
|
getData() {
|
|
35753
|
-
return fetchDataAsArrayBuffer(this.url).then(parseExcel);
|
|
35381
|
+
return fetchDataAsArrayBuffer(this.url, this.cacheActive).then(parseExcel);
|
|
35754
35382
|
}
|
|
35755
35383
|
}
|
|
35756
35384
|
|
|
@@ -35777,19 +35405,21 @@ function parseGml(text, namespace, version) {
|
|
|
35777
35405
|
throw Error("Couldn't retrieve namespace url");
|
|
35778
35406
|
}
|
|
35779
35407
|
class GmlReader extends BaseFileReader {
|
|
35780
|
-
constructor(url, namespace, version) {
|
|
35408
|
+
constructor(url, namespace, version, cacheActive = true) {
|
|
35781
35409
|
super(url);
|
|
35410
|
+
this.url = url;
|
|
35782
35411
|
this.namespace = namespace;
|
|
35783
35412
|
this.version = version;
|
|
35413
|
+
this.cacheActive = cacheActive;
|
|
35784
35414
|
}
|
|
35785
35415
|
getData() {
|
|
35786
|
-
return fetchDataAsText(this.url).then((text) => parseGml(text, this.namespace, this.version));
|
|
35416
|
+
return fetchDataAsText(this.url, this.cacheActive).then((text) => parseGml(text, this.namespace, this.version));
|
|
35787
35417
|
}
|
|
35788
35418
|
}
|
|
35789
35419
|
|
|
35790
|
-
class WfsReader extends
|
|
35791
|
-
constructor(url, wfsEndpoint, featureTypeName) {
|
|
35792
|
-
super(url);
|
|
35420
|
+
class WfsReader extends BaseCacheReader {
|
|
35421
|
+
constructor(url, wfsEndpoint, featureTypeName, cacheActive) {
|
|
35422
|
+
super(url, cacheActive);
|
|
35793
35423
|
this.endpoint = wfsEndpoint;
|
|
35794
35424
|
this.featureTypeName = featureTypeName;
|
|
35795
35425
|
this.version = this.endpoint.getVersion();
|
|
@@ -35844,9 +35474,9 @@ class WfsReader extends BaseReader {
|
|
|
35844
35474
|
throw new Error('wfs.geojsongml.notsupported');
|
|
35845
35475
|
}
|
|
35846
35476
|
}
|
|
35847
|
-
getData() {
|
|
35848
|
-
if (
|
|
35849
|
-
|
|
35477
|
+
async getData(aggregation, groupedBy) {
|
|
35478
|
+
if (aggregation || groupedBy) {
|
|
35479
|
+
return { items: await this.getQueryData() };
|
|
35850
35480
|
}
|
|
35851
35481
|
const asJson = this.endpoint.supportsJson(this.featureTypeName);
|
|
35852
35482
|
const attributes = this.selected ?? undefined;
|
|
@@ -35866,19 +35496,26 @@ class WfsReader extends BaseReader {
|
|
|
35866
35496
|
// Direct update on string url to prevent encoding of +A and +D
|
|
35867
35497
|
url = `${url}${finalUrl.search ? '&' : ''}SORTBY=${sorts}`;
|
|
35868
35498
|
}
|
|
35869
|
-
return fetchDataAsText(url).then((text) => asJson
|
|
35499
|
+
return fetchDataAsText(url, this.cacheActive).then((text) => asJson
|
|
35870
35500
|
? parseGeojson(text)
|
|
35871
35501
|
: parseGml(text, this.featureTypeName, this.version));
|
|
35872
35502
|
}
|
|
35503
|
+
async getQueryData() {
|
|
35504
|
+
const items = (await this.getData()).items;
|
|
35505
|
+
const jsonItems = getJsonDataItemsProxy(items);
|
|
35506
|
+
const query = generateSqlQuery(this.selected, this.filter, this.sort, this.startIndex, this.count, this.groupedBy, this.aggregations);
|
|
35507
|
+
const result = await import('alasql').then((module) => module.default(query, [jsonItems]));
|
|
35508
|
+
return result.map(jsonToGeojsonFeature);
|
|
35509
|
+
}
|
|
35873
35510
|
load() {
|
|
35874
35511
|
// Nothing to load for Wfs
|
|
35875
35512
|
}
|
|
35876
35513
|
async read() {
|
|
35877
|
-
return (await this.getData()).items;
|
|
35514
|
+
return (await this.getData(this.aggregations, this.groupedBy)).items;
|
|
35878
35515
|
}
|
|
35879
35516
|
}
|
|
35880
35517
|
|
|
35881
|
-
async function openDataset(url, typeHint, options) {
|
|
35518
|
+
async function openDataset(url, typeHint, options, cacheActive) {
|
|
35882
35519
|
const fileType = await inferDatasetType(url, typeHint);
|
|
35883
35520
|
let reader;
|
|
35884
35521
|
try {
|
|
@@ -35902,6 +35539,7 @@ async function openDataset(url, typeHint, options) {
|
|
|
35902
35539
|
reader = await WfsReader.createReader(url, options.wfsFeatureType);
|
|
35903
35540
|
break;
|
|
35904
35541
|
}
|
|
35542
|
+
reader.setCacheActive(cacheActive);
|
|
35905
35543
|
reader.load();
|
|
35906
35544
|
return reader;
|
|
35907
35545
|
}
|
|
@@ -35918,8 +35556,8 @@ async function openDataset(url, typeHint, options) {
|
|
|
35918
35556
|
* 2. otherwise, look for a Content-Type header in the response with a supported mime type
|
|
35919
35557
|
* 3. if no valid mime type was found, look for an explicit file extension in the url (.csv, .geojson etc.)
|
|
35920
35558
|
*/
|
|
35921
|
-
async function readDataset(url, typeHint, options) {
|
|
35922
|
-
const reader = await openDataset(url, typeHint, options);
|
|
35559
|
+
async function readDataset(url, typeHint, options, cacheActive = true) {
|
|
35560
|
+
const reader = await openDataset(url, typeHint, options, cacheActive);
|
|
35923
35561
|
try {
|
|
35924
35562
|
return await reader.read();
|
|
35925
35563
|
}
|
|
@@ -36023,18 +35661,28 @@ class DataService {
|
|
|
36023
35661
|
}
|
|
36024
35662
|
getDownloadLinksFromWfs(wfsLink) {
|
|
36025
35663
|
// Pour DL toutes les données
|
|
36026
|
-
return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) =>
|
|
36027
|
-
|
|
36028
|
-
|
|
36029
|
-
|
|
36030
|
-
|
|
36031
|
-
}))
|
|
35664
|
+
return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) => {
|
|
35665
|
+
if (urls.geojson) {
|
|
35666
|
+
urls.all['application/json'] = urls.geojson;
|
|
35667
|
+
}
|
|
35668
|
+
return urls;
|
|
35669
|
+
}), map$1((urls) => {
|
|
35670
|
+
const resources = Object.keys(urls.all).map((format) => ({
|
|
35671
|
+
...wfsLink,
|
|
35672
|
+
name: wfsLink.name,
|
|
35673
|
+
type: 'download',
|
|
35674
|
+
url: new URL(urls.all[format]),
|
|
35675
|
+
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
35676
|
+
}));
|
|
35677
|
+
return resources;
|
|
35678
|
+
}));
|
|
36032
35679
|
}
|
|
36033
35680
|
async getDownloadLinksFromOgcApiFeatures(ogcApiLink) {
|
|
36034
35681
|
const collectionInfo = await this.getDownloadUrlsFromOgcApi(ogcApiLink.url.href);
|
|
36035
35682
|
return Object.keys(collectionInfo.bulkDownloadLinks).map((downloadLink) => {
|
|
36036
35683
|
return {
|
|
36037
35684
|
...ogcApiLink,
|
|
35685
|
+
name: collectionInfo.id,
|
|
36038
35686
|
type: 'download',
|
|
36039
35687
|
url: new URL(collectionInfo.bulkDownloadLinks[downloadLink]),
|
|
36040
35688
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(downloadLink)),
|
|
@@ -36070,18 +35718,18 @@ class DataService {
|
|
|
36070
35718
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
36071
35719
|
}));
|
|
36072
35720
|
}
|
|
36073
|
-
readAsGeoJson(link) {
|
|
36074
|
-
return this.getDataset(link).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
35721
|
+
readAsGeoJson(link, cacheActive) {
|
|
35722
|
+
return this.getDataset(link, cacheActive).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
36075
35723
|
type: 'FeatureCollection',
|
|
36076
35724
|
features,
|
|
36077
35725
|
})));
|
|
36078
35726
|
}
|
|
36079
|
-
getDataset(link) {
|
|
35727
|
+
getDataset(link, cacheActive) {
|
|
36080
35728
|
if (link.type === 'service' && link.accessServiceProtocol === 'wfs') {
|
|
36081
35729
|
const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString());
|
|
36082
35730
|
return from(openDataset(wfsUrlEndpoint, 'wfs', {
|
|
36083
35731
|
wfsFeatureType: link.name,
|
|
36084
|
-
}));
|
|
35732
|
+
}, cacheActive));
|
|
36085
35733
|
}
|
|
36086
35734
|
else if (link.type === 'download') {
|
|
36087
35735
|
const linkProxifiedUrl = this.proxy.getProxiedUrl(link.url.toString());
|
|
@@ -36089,18 +35737,18 @@ class DataService {
|
|
|
36089
35737
|
const supportedType = SupportedTypes.indexOf(format) > -1
|
|
36090
35738
|
? format
|
|
36091
35739
|
: undefined;
|
|
36092
|
-
return from(openDataset(linkProxifiedUrl, supportedType)).pipe();
|
|
35740
|
+
return from(openDataset(linkProxifiedUrl, supportedType, undefined, cacheActive)).pipe();
|
|
36093
35741
|
}
|
|
36094
35742
|
else if (link.type === 'service' &&
|
|
36095
35743
|
link.accessServiceProtocol === 'esriRest') {
|
|
36096
35744
|
const url = this.getDownloadUrlFromEsriRest(link.url.toString(), 'geojson');
|
|
36097
|
-
return from(openDataset(url, 'geojson')).pipe();
|
|
35745
|
+
return from(openDataset(url, 'geojson', undefined, cacheActive)).pipe();
|
|
36098
35746
|
}
|
|
36099
35747
|
else if (link.type === 'service' &&
|
|
36100
35748
|
link.accessServiceProtocol === 'ogcFeatures') {
|
|
36101
35749
|
return from(this.getDownloadUrlsFromOgcApi(link.url.href)).pipe(switchMap$1((collectionInfo) => {
|
|
36102
35750
|
const geojsonUrl = collectionInfo.jsonDownloadLink;
|
|
36103
|
-
return openDataset(geojsonUrl, 'geojson');
|
|
35751
|
+
return openDataset(geojsonUrl, 'geojson', undefined, cacheActive);
|
|
36104
35752
|
}), tap$1((url) => {
|
|
36105
35753
|
if (url === null) {
|
|
36106
35754
|
throw new Error('wfs.geojsongml.notsupported');
|
|
@@ -36665,6 +36313,7 @@ class ChartViewComponent {
|
|
|
36665
36313
|
this.dataService = dataService;
|
|
36666
36314
|
this.changeDetector = changeDetector;
|
|
36667
36315
|
this.translateService = translateService;
|
|
36316
|
+
this.cacheActive = true;
|
|
36668
36317
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36669
36318
|
this.aggregation$ = new BehaviorSubject('sum');
|
|
36670
36319
|
this.xProperty$ = new BehaviorSubject(undefined);
|
|
@@ -36694,7 +36343,7 @@ class ChartViewComponent {
|
|
|
36694
36343
|
this.dataset$ = this.currentLink$.pipe(filter((link) => !!link), switchMap$1((link) => {
|
|
36695
36344
|
this.error = null;
|
|
36696
36345
|
this.loading = true;
|
|
36697
|
-
return this.dataService.getDataset(link).pipe(catchError((error) => {
|
|
36346
|
+
return this.dataService.getDataset(link, this.cacheActive).pipe(catchError((error) => {
|
|
36698
36347
|
this.handleError(error);
|
|
36699
36348
|
return EMPTY;
|
|
36700
36349
|
}));
|
|
@@ -36763,7 +36412,7 @@ class ChartViewComponent {
|
|
|
36763
36412
|
this.changeDetector.detectChanges();
|
|
36764
36413
|
}
|
|
36765
36414
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36766
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36415
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { cacheActive: "cacheActive", link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36767
36416
|
}
|
|
36768
36417
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, decorators: [{
|
|
36769
36418
|
type: Component,
|
|
@@ -36775,7 +36424,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36775
36424
|
LoadingMaskComponent,
|
|
36776
36425
|
PopupAlertComponent,
|
|
36777
36426
|
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
36778
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: {
|
|
36427
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
36428
|
+
type: Input
|
|
36429
|
+
}], link: [{
|
|
36779
36430
|
type: Input
|
|
36780
36431
|
}], aggregation: [{
|
|
36781
36432
|
type: Input
|
|
@@ -36948,6 +36599,7 @@ class TableViewComponent {
|
|
|
36948
36599
|
constructor(dataService, translateService) {
|
|
36949
36600
|
this.dataService = dataService;
|
|
36950
36601
|
this.translateService = translateService;
|
|
36602
|
+
this.cacheActive = true;
|
|
36951
36603
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36952
36604
|
this.loading = false;
|
|
36953
36605
|
this.error = null;
|
|
@@ -36965,7 +36617,7 @@ class TableViewComponent {
|
|
|
36965
36617
|
}), startWith(undefined), shareReplay(1));
|
|
36966
36618
|
}
|
|
36967
36619
|
getDatasetReader(link) {
|
|
36968
|
-
return this.dataService.getDataset(link);
|
|
36620
|
+
return this.dataService.getDataset(link, this.cacheActive);
|
|
36969
36621
|
}
|
|
36970
36622
|
onTableSelect(event) {
|
|
36971
36623
|
console.log(event);
|
|
@@ -36988,7 +36640,7 @@ class TableViewComponent {
|
|
|
36988
36640
|
this.loading = false;
|
|
36989
36641
|
}
|
|
36990
36642
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, deps: [{ token: DataService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36991
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableViewComponent, isStandalone: true, selector: "gn-ui-table-view", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36643
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableViewComponent, isStandalone: true, selector: "gn-ui-table-view", inputs: { cacheActive: "cacheActive", link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36992
36644
|
}
|
|
36993
36645
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, decorators: [{
|
|
36994
36646
|
type: Component,
|
|
@@ -36999,7 +36651,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36999
36651
|
PopupAlertComponent,
|
|
37000
36652
|
TranslateModule,
|
|
37001
36653
|
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
37002
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: {
|
|
36654
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
36655
|
+
type: Input
|
|
36656
|
+
}], link: [{
|
|
37003
36657
|
type: Input
|
|
37004
36658
|
}] } });
|
|
37005
36659
|
|
|
@@ -37018,7 +36672,15 @@ class MdViewFacade {
|
|
|
37018
36672
|
this.isPresent$ = this.store.pipe(select(getMetadataUuid), map$1((uuid) => !!uuid));
|
|
37019
36673
|
this.isMetadataLoading$ = this.store.pipe(select(getMetadataIsLoading));
|
|
37020
36674
|
this.metadata$ = this.store.pipe(select(getMetadata), filter((md) => !!md));
|
|
36675
|
+
this.featureCatalog$ = this.store.pipe(select(getFeatureCatalog));
|
|
37021
36676
|
this.isIncomplete$ = this.store.pipe(select(getMetadataIsIncomplete), filter((incomplete) => incomplete !== null));
|
|
36677
|
+
this.isHighUpdateFrequency$ = this.metadata$.pipe(map$1((record) => {
|
|
36678
|
+
if (record.updateFrequency instanceof Object) {
|
|
36679
|
+
return (record.updateFrequency.per === 'day' &&
|
|
36680
|
+
record.updateFrequency.updatedTimes > 1);
|
|
36681
|
+
}
|
|
36682
|
+
return record.updateFrequency === 'continual';
|
|
36683
|
+
}));
|
|
37022
36684
|
this.error$ = this.store.pipe(select(getMetadataError));
|
|
37023
36685
|
this.related$ = this.store.pipe(select(getRelated));
|
|
37024
36686
|
this.chartConfig$ = this.store.pipe(select(getChartConfig));
|
|
@@ -37114,6 +36776,11 @@ class MdViewEffects {
|
|
|
37114
36776
|
}
|
|
37115
36777
|
return loadFullMetadataSuccess({ full: record });
|
|
37116
36778
|
}), catchError((error) => of(loadFullMetadataFailure({ otherError: error.message })))));
|
|
36779
|
+
this.loadFeatureCatalog$ = createEffect(() => this.actions$.pipe(ofType(loadFullMetadataSuccess), filter(({ full }) => full !== undefined), switchMap$1(({ full }) => this.recordsRepository.getFeatureCatalog(full)), map$1((featureCatalog) => loadFeatureCatalogSuccess({
|
|
36780
|
+
datasetCatalog: featureCatalog,
|
|
36781
|
+
})), catchError((error) => of(loadFeatureCatalogFailure({
|
|
36782
|
+
error: error.message,
|
|
36783
|
+
})))));
|
|
37117
36784
|
/*
|
|
37118
36785
|
Related effects
|
|
37119
36786
|
*/
|
|
@@ -37699,10 +37366,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37699
37366
|
}] } });
|
|
37700
37367
|
|
|
37701
37368
|
class DataViewComponent {
|
|
37369
|
+
set exceedsLimit(value) {
|
|
37370
|
+
this.excludeWfs$.next(value);
|
|
37371
|
+
}
|
|
37702
37372
|
constructor(mdViewFacade) {
|
|
37703
37373
|
this.mdViewFacade = mdViewFacade;
|
|
37704
37374
|
this.displaySource = true;
|
|
37705
37375
|
this.chartConfig$ = new BehaviorSubject(null);
|
|
37376
|
+
this.cacheActive$ = this.mdViewFacade.isHighUpdateFrequency$.pipe(map$1((highF) => !highF));
|
|
37377
|
+
this.hidePreview = false;
|
|
37378
|
+
this.excludeWfs$ = new BehaviorSubject(false);
|
|
37706
37379
|
this.compatibleDataLinks$ = combineLatest([
|
|
37707
37380
|
this.mdViewFacade.dataLinks$,
|
|
37708
37381
|
this.mdViewFacade.geoDataLinks$,
|
|
@@ -37713,7 +37386,7 @@ class DataViewComponent {
|
|
|
37713
37386
|
}));
|
|
37714
37387
|
this.dropdownChoices$ = this.compatibleDataLinks$.pipe(tap$1((links) => {
|
|
37715
37388
|
if (links.indexOf(this.selectedLink$.value) === -1) {
|
|
37716
|
-
this.
|
|
37389
|
+
this.selectLink(JSON.stringify(links[0]));
|
|
37717
37390
|
}
|
|
37718
37391
|
}), map$1((links) => links.map((link) => ({
|
|
37719
37392
|
label: getLinkLabel(link),
|
|
@@ -37727,10 +37400,20 @@ class DataViewComponent {
|
|
|
37727
37400
|
selectLink(linkAsString) {
|
|
37728
37401
|
const link = JSON.parse(linkAsString);
|
|
37729
37402
|
link.url = new URL(link.url);
|
|
37730
|
-
this.
|
|
37403
|
+
this.excludeWfs$
|
|
37404
|
+
.pipe(tap$1((excludeWfs) => {
|
|
37405
|
+
this.hidePreview =
|
|
37406
|
+
link['accessServiceProtocol'] === 'wfs' &&
|
|
37407
|
+
excludeWfs &&
|
|
37408
|
+
this.mode === 'chart'
|
|
37409
|
+
? true
|
|
37410
|
+
: false;
|
|
37411
|
+
this.selectedLink$.next(link);
|
|
37412
|
+
}))
|
|
37413
|
+
.subscribe();
|
|
37731
37414
|
}
|
|
37732
37415
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, deps: [{ token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37733
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[460px]\">\n
|
|
37416
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource", exceedsLimit: "exceedsLimit" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <ng-container *ngIf=\"hidePreview; else dataView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #dataView>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TableViewComponent, selector: "gn-ui-table-view", inputs: ["cacheActive", "link"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["cacheActive", "link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37734
37417
|
}
|
|
37735
37418
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, decorators: [{
|
|
37736
37419
|
type: Component,
|
|
@@ -37740,11 +37423,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37740
37423
|
TableViewComponent,
|
|
37741
37424
|
TranslateModule,
|
|
37742
37425
|
ChartViewComponent,
|
|
37743
|
-
|
|
37426
|
+
PopupAlertComponent,
|
|
37427
|
+
], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <ng-container *ngIf=\"hidePreview; else dataView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #dataView>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n </ng-template>\n</div>\n" }]
|
|
37744
37428
|
}], ctorParameters: () => [{ type: MdViewFacade }], propDecorators: { mode: [{
|
|
37745
37429
|
type: Input
|
|
37746
37430
|
}], displaySource: [{
|
|
37747
37431
|
type: Input
|
|
37432
|
+
}], exceedsLimit: [{
|
|
37433
|
+
type: Input
|
|
37748
37434
|
}], chartConfig$: [{
|
|
37749
37435
|
type: Output
|
|
37750
37436
|
}] } });
|
|
@@ -37916,7 +37602,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37916
37602
|
marker('map.dropdown.placeholder');
|
|
37917
37603
|
marker('wfs.feature.limit');
|
|
37918
37604
|
class MapViewComponent {
|
|
37919
|
-
set
|
|
37605
|
+
set exceedsLimit(value) {
|
|
37920
37606
|
this.excludeWfs$.next(value);
|
|
37921
37607
|
}
|
|
37922
37608
|
toggleLegend() {
|
|
@@ -37935,6 +37621,7 @@ class MapViewComponent {
|
|
|
37935
37621
|
this.changeRef = changeRef;
|
|
37936
37622
|
this.displaySource = true;
|
|
37937
37623
|
this.excludeWfs$ = new BehaviorSubject(false);
|
|
37624
|
+
this.hidePreview = false;
|
|
37938
37625
|
this.showLegend = true;
|
|
37939
37626
|
this.legendExists = false;
|
|
37940
37627
|
this.compatibleMapLinks$ = combineLatest([
|
|
@@ -37961,9 +37648,10 @@ class MapViewComponent {
|
|
|
37961
37648
|
return of([]);
|
|
37962
37649
|
}
|
|
37963
37650
|
if (excludeWfs && link.accessServiceProtocol === 'wfs') {
|
|
37964
|
-
this.
|
|
37651
|
+
this.hidePreview = true;
|
|
37965
37652
|
return of([]);
|
|
37966
37653
|
}
|
|
37654
|
+
this.hidePreview = false;
|
|
37967
37655
|
this.loading = true;
|
|
37968
37656
|
this.error = null;
|
|
37969
37657
|
return this.getLayerFromLink(link).pipe(map$1((layer) => [layer]), catchError((e) => {
|
|
@@ -38033,7 +37721,8 @@ class MapViewComponent {
|
|
|
38033
37721
|
link.accessServiceProtocol === 'esriRest' ||
|
|
38034
37722
|
link.accessServiceProtocol === 'ogcFeatures')) ||
|
|
38035
37723
|
link.type === 'download') {
|
|
38036
|
-
|
|
37724
|
+
const cacheActive = true; // TODO implement whether should be true or false
|
|
37725
|
+
return this.dataService.readAsGeoJson(link, cacheActive).pipe(map$1((data) => ({
|
|
38037
37726
|
type: 'geojson',
|
|
38038
37727
|
data,
|
|
38039
37728
|
})));
|
|
@@ -38044,7 +37733,7 @@ class MapViewComponent {
|
|
|
38044
37733
|
this.selectedLinkIndex$.next(link);
|
|
38045
37734
|
}
|
|
38046
37735
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, deps: [{ token: MdViewFacade }, { token: MapUtilsService }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38047
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: {
|
|
37736
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { exceedsLimit: "exceedsLimit", displaySource: "displaySource" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38048
37737
|
}
|
|
38049
37738
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, decorators: [{
|
|
38050
37739
|
type: Component,
|
|
@@ -38060,8 +37749,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38060
37749
|
ExternalViewerButtonComponent,
|
|
38061
37750
|
ButtonComponent,
|
|
38062
37751
|
MapLegendComponent,
|
|
38063
|
-
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <
|
|
38064
|
-
}], ctorParameters: () => [{ type: MdViewFacade }, { type: MapUtilsService }, { type: DataService }, { type: i0.ChangeDetectorRef }], propDecorators: {
|
|
37752
|
+
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n" }]
|
|
37753
|
+
}], ctorParameters: () => [{ type: MdViewFacade }, { type: MapUtilsService }, { type: DataService }, { type: i0.ChangeDetectorRef }], propDecorators: { exceedsLimit: [{
|
|
38065
37754
|
type: Input
|
|
38066
37755
|
}], displaySource: [{
|
|
38067
37756
|
type: Input
|
|
@@ -38548,8 +38237,8 @@ const DEFAULT_CONFIGURATION = {
|
|
|
38548
38237
|
labelKey: marker('editor.record.form.page.description'),
|
|
38549
38238
|
sections: [
|
|
38550
38239
|
TITLE_SECTION,
|
|
38551
|
-
ABOUT_SECTION,
|
|
38552
38240
|
CLASSIFICATION_SECTION,
|
|
38241
|
+
ABOUT_SECTION,
|
|
38553
38242
|
GEOGRAPHICAL_COVERAGE_SECTION,
|
|
38554
38243
|
],
|
|
38555
38244
|
},
|
|
@@ -38894,9 +38583,8 @@ var WizardFieldType;
|
|
|
38894
38583
|
(function (WizardFieldType) {
|
|
38895
38584
|
WizardFieldType[WizardFieldType["TEXT"] = 0] = "TEXT";
|
|
38896
38585
|
WizardFieldType[WizardFieldType["TEXT_AREA"] = 1] = "TEXT_AREA";
|
|
38897
|
-
WizardFieldType[WizardFieldType["
|
|
38898
|
-
WizardFieldType[WizardFieldType["
|
|
38899
|
-
WizardFieldType[WizardFieldType["DROPDOWN"] = 4] = "DROPDOWN";
|
|
38586
|
+
WizardFieldType[WizardFieldType["DATA_PICKER"] = 2] = "DATA_PICKER";
|
|
38587
|
+
WizardFieldType[WizardFieldType["DROPDOWN"] = 3] = "DROPDOWN";
|
|
38900
38588
|
})(WizardFieldType || (WizardFieldType = {}));
|
|
38901
38589
|
|
|
38902
38590
|
class WizardService {
|
|
@@ -39018,9 +38706,6 @@ class WizardFieldComponent {
|
|
|
39018
38706
|
case WizardFieldType.TEXT: {
|
|
39019
38707
|
return data || '';
|
|
39020
38708
|
}
|
|
39021
|
-
case WizardFieldType.CHIPS: {
|
|
39022
|
-
return data ? JSON.parse(data) : [];
|
|
39023
|
-
}
|
|
39024
38709
|
case WizardFieldType.TEXT_AREA: {
|
|
39025
38710
|
return data || '';
|
|
39026
38711
|
}
|
|
@@ -39050,10 +38735,6 @@ class WizardFieldComponent {
|
|
|
39050
38735
|
this.initializeTextInputListener();
|
|
39051
38736
|
break;
|
|
39052
38737
|
}
|
|
39053
|
-
case WizardFieldType.CHIPS: {
|
|
39054
|
-
this.initializeChipsListener();
|
|
39055
|
-
break;
|
|
39056
|
-
}
|
|
39057
38738
|
case WizardFieldType.TEXT_AREA: {
|
|
39058
38739
|
this.initializeTextAreaListener();
|
|
39059
38740
|
return;
|
|
@@ -39073,11 +38754,6 @@ class WizardFieldComponent {
|
|
|
39073
38754
|
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, value);
|
|
39074
38755
|
}));
|
|
39075
38756
|
}
|
|
39076
|
-
initializeChipsListener() {
|
|
39077
|
-
this.subs.add(this.chips.itemsChange.subscribe((items) => {
|
|
39078
|
-
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, JSON.stringify(items));
|
|
39079
|
-
}));
|
|
39080
|
-
}
|
|
39081
38757
|
initializeTextAreaListener() {
|
|
39082
38758
|
this.subs.add(this.textArea.valueChange.subscribe((value) => {
|
|
39083
38759
|
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, value);
|
|
@@ -39111,7 +38787,7 @@ class WizardFieldComponent {
|
|
|
39111
38787
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
39112
38788
|
},
|
|
39113
38789
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
39114
|
-
], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "
|
|
38790
|
+
], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:#fff;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i1$8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39115
38791
|
}
|
|
39116
38792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardFieldComponent, decorators: [{
|
|
39117
38793
|
type: Component,
|
|
@@ -39123,15 +38799,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39123
38799
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
39124
38800
|
},
|
|
39125
38801
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
39126
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"
|
|
38802
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:#fff;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"] }]
|
|
39127
38803
|
}], ctorParameters: () => [{ type: WizardService }, { type: i0.ChangeDetectorRef }], propDecorators: { wizardFieldConfig: [{
|
|
39128
38804
|
type: Input
|
|
39129
38805
|
}], searchText: [{
|
|
39130
38806
|
type: ViewChild,
|
|
39131
38807
|
args: ['searchText']
|
|
39132
|
-
}], chips: [{
|
|
39133
|
-
type: ViewChild,
|
|
39134
|
-
args: ['chips']
|
|
39135
38808
|
}], textArea: [{
|
|
39136
38809
|
type: ViewChild,
|
|
39137
38810
|
args: ['textArea']
|
|
@@ -39338,15 +39011,15 @@ class ImportRecordComponent {
|
|
|
39338
39011
|
importRecord(url) {
|
|
39339
39012
|
this.isRecordImportInProgress = true;
|
|
39340
39013
|
this.recordsRepository.duplicateExternalRecord(url).subscribe({
|
|
39341
|
-
next: (
|
|
39342
|
-
if (
|
|
39014
|
+
next: (uuid) => {
|
|
39015
|
+
if (uuid) {
|
|
39343
39016
|
this.notificationsService.showNotification({
|
|
39344
39017
|
type: 'success',
|
|
39345
39018
|
title: this.translateService.instant('editor.record.importFromExternalFile.success.title'),
|
|
39346
39019
|
text: `${this.translateService.instant('editor.record.importFromExternalFile.success.body')}`,
|
|
39347
39020
|
}, 2500);
|
|
39348
39021
|
this.router
|
|
39349
|
-
.navigate(['/edit',
|
|
39022
|
+
.navigate(['/edit', uuid])
|
|
39350
39023
|
.catch((err) => console.error(err));
|
|
39351
39024
|
}
|
|
39352
39025
|
this.closeImportMenu.next();
|
|
@@ -39438,7 +39111,7 @@ class GenericKeywordsComponent {
|
|
|
39438
39111
|
provideIcons({
|
|
39439
39112
|
matWarningAmberOutline,
|
|
39440
39113
|
}),
|
|
39441
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.record.form.keywords.place.withoutExtent' | translate\"\n class=\"badge-warning\"\n name=\"matWarningAmberOutline\"\n ></ng-icon>\n </gn-ui-badge>\n </div>\n</div>\n", styles: [".badge-warning{font-size:1.4em}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39114
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.record.form.keywords.place.withoutExtent' | translate\"\n class=\"badge-warning\"\n name=\"matWarningAmberOutline\"\n ></ng-icon>\n </gn-ui-badge>\n </div>\n</div>\n", styles: [".badge-warning{font-size:1.4em}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39442
39115
|
}
|
|
39443
39116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericKeywordsComponent, decorators: [{
|
|
39444
39117
|
type: Component,
|
|
@@ -39708,7 +39381,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39708
39381
|
|
|
39709
39382
|
class FormFieldRichComponent {
|
|
39710
39383
|
constructor() {
|
|
39711
|
-
this.placeholder = '
|
|
39384
|
+
this.placeholder = '';
|
|
39712
39385
|
this.valueChange = new EventEmitter();
|
|
39713
39386
|
this.preview = false;
|
|
39714
39387
|
}
|
|
@@ -39951,19 +39624,16 @@ class FormFieldContactsForResourceComponent {
|
|
|
39951
39624
|
this.organizationsServiceInterface = organizationsServiceInterface;
|
|
39952
39625
|
this.valueChange = new EventEmitter();
|
|
39953
39626
|
this.contactsForRessourceByRole = new Map();
|
|
39954
|
-
this.
|
|
39955
|
-
|
|
39956
|
-
'custodian',
|
|
39957
|
-
'owner',
|
|
39958
|
-
'point_of_contact',
|
|
39959
|
-
'author',
|
|
39960
|
-
];
|
|
39627
|
+
this.roleValues = RoleValues;
|
|
39628
|
+
this.rolesToPick = this.roleValues.filter((role) => role !== 'other' && role !== 'unspecified');
|
|
39961
39629
|
this.roleSectionsToDisplay = [];
|
|
39962
39630
|
this.allOrganizations = new Map();
|
|
39963
39631
|
/**
|
|
39964
39632
|
* gn-ui-autocomplete
|
|
39965
39633
|
*/
|
|
39966
|
-
this.displayWithFn = (user) =>
|
|
39634
|
+
this.displayWithFn = (user) => user.name
|
|
39635
|
+
? `${user.name} ${user.surname} ${user.organisation ? `(${user.organisation})` : ''}`
|
|
39636
|
+
: ``;
|
|
39967
39637
|
/**
|
|
39968
39638
|
* gn-ui-autocomplete
|
|
39969
39639
|
*/
|
|
@@ -40055,7 +39725,7 @@ class FormFieldContactsForResourceComponent {
|
|
|
40055
39725
|
provideNgIconsConfig({
|
|
40056
39726
|
size: '1.5rem',
|
|
40057
39727
|
}),
|
|
40058
|
-
], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39728
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n *ngIf=\"role !== 'unspecified' && role !== 'other'\"\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40059
39729
|
}
|
|
40060
39730
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsForResourceComponent, decorators: [{
|
|
40061
39731
|
type: Component,
|
|
@@ -40074,7 +39744,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40074
39744
|
provideNgIconsConfig({
|
|
40075
39745
|
size: '1.5rem',
|
|
40076
39746
|
}),
|
|
40077
|
-
], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
39747
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n *ngIf=\"role !== 'unspecified' && role !== 'other'\"\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
40078
39748
|
}], ctorParameters: () => [{ type: PlatformServiceInterface }, { type: OrganizationsServiceInterface }], propDecorators: { value: [{
|
|
40079
39749
|
type: Input
|
|
40080
39750
|
}], valueChange: [{
|
|
@@ -40153,7 +39823,7 @@ class FormFieldContactsComponent {
|
|
|
40153
39823
|
this.subscription.unsubscribe();
|
|
40154
39824
|
}
|
|
40155
39825
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, deps: [{ token: PlatformServiceInterface }, { token: OrganizationsServiceInterface }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldContactsComponent, isStandalone: true, selector: "gn-ui-form-field-contacts", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'editor.record.form.field.contacts.placeholder' | translate\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 text-sm border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39826
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldContactsComponent, isStandalone: true, selector: "gn-ui-form-field-contacts", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'editor.record.form.field.contacts.placeholder' | translate\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 text-sm border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40157
39827
|
}
|
|
40158
39828
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, decorators: [{
|
|
40159
39829
|
type: Component,
|
|
@@ -40502,7 +40172,7 @@ class OnlineServiceResourceInputComponent {
|
|
|
40502
40172
|
provideNgIconsConfig({
|
|
40503
40173
|
size: '1.5em',
|
|
40504
40174
|
}),
|
|
40505
|
-
], ngImport: i0, template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"_service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n (change)=\"resetAllFormFields()\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (uploadClick)=\"handleUploadClick($event)\"\n (valueChange)=\"handleUrlValueChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"_service.url?.toString()\"\n [showValidateButton]=\"activeLayerSuggestion\"\n >\n <ng-content *ngIf=\"activeLayerSuggestion\">\n <ng-icon name=\"iconoirRefresh\"></ng-icon>\n </ng-content>\n </gn-ui-url-input>\n\n <p class=\"text-sm text-red-500 pl-4\" *ngIf=\"errorMessage\" translate>\n editor.record.form.field.onlineResource.edit.identifier.error\n </p>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"_service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n *ngIf=\"\n !activeLayerSuggestion ||\n (_service.url && errorMessage) ||\n (modifyMode && (layers$ | async).length === 0)\n \"\n ></gn-ui-text-input>\n <gn-ui-autocomplete\n class=\"border-b border-gray-300 pb-4\"\n [placeholder]=\"\n 'editor.record.form.field.onlineResource.edit.identifier.select.label'\n | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleSelectValue($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"0\"\n [clearOnSelection]=\"false\"\n *ngIf=\"activeLayerSuggestion && (layers$ | async)?.length > 0\"\n >\n </gn-ui-autocomplete>\n <gn-ui-button\n (buttonClick)=\"submit()\"\n [disabled]=\"disabled || !_service.identifierInService\"\n type=\"primary\"\n *ngIf=\"\n !modifyMode &&\n ((activeLayerSuggestion && (layers$ | async)) ||\n !activeLayerSuggestion ||\n (_service.url && errorMessage))\n \"\n >\n <span class=\"text-white font-bold\" translate>\n editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i4$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40175
|
+
], ngImport: i0, template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"_service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n (change)=\"resetAllFormFields()\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (uploadClick)=\"handleUploadClick($event)\"\n (valueChange)=\"handleUrlValueChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"_service.url?.toString()\"\n [showValidateButton]=\"activeLayerSuggestion\"\n >\n <ng-content *ngIf=\"activeLayerSuggestion\">\n <ng-icon name=\"iconoirRefresh\"></ng-icon>\n </ng-content>\n </gn-ui-url-input>\n\n <p class=\"text-sm text-red-500 pl-4\" *ngIf=\"errorMessage\" translate>\n editor.record.form.field.onlineResource.edit.identifier.error\n </p>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"_service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n *ngIf=\"\n !activeLayerSuggestion ||\n (_service.url && errorMessage) ||\n (modifyMode && (layers$ | async).length === 0)\n \"\n ></gn-ui-text-input>\n <gn-ui-autocomplete\n class=\"border-b border-gray-300 pb-4\"\n [placeholder]=\"\n 'editor.record.form.field.onlineResource.edit.identifier.select.label'\n | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleSelectValue($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"0\"\n [clearOnSelection]=\"false\"\n *ngIf=\"activeLayerSuggestion && (layers$ | async)?.length > 0\"\n >\n </gn-ui-autocomplete>\n <gn-ui-button\n (buttonClick)=\"submit()\"\n [disabled]=\"disabled || !_service.identifierInService\"\n type=\"primary\"\n *ngIf=\"\n !modifyMode &&\n ((activeLayerSuggestion && (layers$ | async)) ||\n !activeLayerSuggestion ||\n (_service.url && errorMessage))\n \"\n >\n <span class=\"text-white font-bold\" translate>\n editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i4$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40506
40176
|
}
|
|
40507
40177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, decorators: [{
|
|
40508
40178
|
type: Component,
|
|
@@ -41097,7 +40767,7 @@ class ConstraintCardComponent {
|
|
|
41097
40767
|
provideNgIconsConfig({
|
|
41098
40768
|
size: '1.5rem',
|
|
41099
40769
|
}),
|
|
41100
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [
|
|
40770
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [placeholder]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41101
40771
|
}
|
|
41102
40772
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConstraintCardComponent, decorators: [{
|
|
41103
40773
|
type: Component,
|
|
@@ -41115,7 +40785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41115
40785
|
provideNgIconsConfig({
|
|
41116
40786
|
size: '1.5rem',
|
|
41117
40787
|
}),
|
|
41118
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [
|
|
40788
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [placeholder]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
41119
40789
|
}], propDecorators: { label: [{
|
|
41120
40790
|
type: Input
|
|
41121
40791
|
}], constraint: [{
|
|
@@ -41774,5 +41444,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41774
41444
|
* Generated bundle index. Do not edit.
|
|
41775
41445
|
*/
|
|
41776
41446
|
|
|
41777
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
41447
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
41778
41448
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|