geonetwork-ui 2.5.0-dev.77e75b46a → 2.5.0-dev.8be73f10b
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 +50 -32
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +23 -3
- 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/geo-table-view/geo-table-view.component.mjs +18 -16
- 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 +16 -18
- 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/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 +3 -2
- 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/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/feature-record.module.mjs +6 -7
- 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/dataviz/src/index.mjs +3 -3
- package/esm2022/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.mjs +51 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +133 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.data.source.mjs +24 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.mjs +82 -0
- 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/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/index.mjs +3 -1
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
- package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +7 -3
- 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 +35 -9
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +14 -10
- package/esm2022/translations/de.json +10 -75
- package/esm2022/translations/en.json +10 -75
- package/esm2022/translations/es.json +9 -74
- package/esm2022/translations/fr.json +22 -87
- package/esm2022/translations/it.json +27 -91
- package/esm2022/translations/nl.json +9 -74
- package/esm2022/translations/pt.json +9 -74
- package/fesm2022/geonetwork-ui.mjs +911 -975
- 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 +3 -1
- 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/geo-table-view/geo-table-view.component.d.ts +7 -9
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-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 +5 -7
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.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.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/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/feature-record.module.d.ts +2 -2
- package/libs/feature/record/src/lib/feature-record.module.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/dataviz/src/index.d.ts +2 -2
- package/libs/ui/dataviz/src/index.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts +14 -0
- package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +45 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts +12 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts +10 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts.map +1 -0
- 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/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/index.d.ts +3 -1
- package/libs/util/data-fetcher/src/index.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/model.d.ts +1 -1
- package/libs/util/data-fetcher/src/lib/model.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 +55 -32
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +42 -7
- 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 +75 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -1
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +3 -3
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +17 -15
- 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.html +4 -3
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +10 -18
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +1 -0
- 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/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/feature-record.module.ts +6 -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/dataviz/src/index.ts +2 -2
- package/src/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.ts +52 -0
- package/src/libs/ui/dataviz/src/lib/{table/table.component.css → data-table/data-table.component.css} +4 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +67 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +173 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts +33 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +84 -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/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/index.ts +3 -0
- package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
- package/src/libs/util/data-fetcher/src/lib/model.ts +6 -2
- 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 +53 -8
- package/src/libs/util/data-fetcher/src/lib/utils.ts +38 -32
- package/translations/de.json +10 -75
- package/translations/en.json +10 -75
- package/translations/es.json +9 -74
- package/translations/fr.json +22 -87
- package/translations/it.json +27 -91
- package/translations/nl.json +9 -74
- package/translations/pt.json +9 -74
- package/translations/sk.json +9 -74
- package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +0 -61
- package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +0 -40
- 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/dataviz/src/lib/table/table.component.d.ts +0 -29
- package/libs/ui/dataviz/src/lib/table/table.component.d.ts.map +0 -1
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +0 -11
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +0 -1
- 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/dataviz/src/lib/table/table.component.html +0 -40
- package/src/libs/ui/dataviz/src/lib/table/table.component.ts +0 -80
- package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +0 -40
- 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
|
@@ -16,7 +16,7 @@ import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-comp
|
|
|
16
16
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
17
17
|
import { map as map$1, catchError, tap as tap$1, shareReplay, filter, startWith, withLatestFrom, switchMap as switchMap$1, take, mergeMap, throttleTime, distinctUntilChanged, debounceTime, finalize, first as first$1, share, pairwise, delay, defaultIfEmpty, toArray } from 'rxjs/operators';
|
|
18
18
|
import * as i1$2 from '@angular/common';
|
|
19
|
-
import { CommonModule, NgOptimizedImage, DatePipe, NgIf
|
|
19
|
+
import { CommonModule, NgOptimizedImage, DatePipe, NgIf } from '@angular/common';
|
|
20
20
|
import { of, map as map$2, lastValueFrom, Subject, switchMap, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, fromEvent, animationFrameScheduler, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, filter as filter$1, tap as tap$2, Observable, buffer, debounceTime as debounceTime$1, combineLatestWith, catchError as catchError$1, timer, takeUntil, EMPTY, mergeMap as mergeMap$1, startWith as startWith$1, withLatestFrom as withLatestFrom$1, shareReplay as shareReplay$1, pairwise as pairwise$1 } from 'rxjs';
|
|
21
21
|
import { lt, valid, coerce, satisfies, ltr } from 'semver';
|
|
22
22
|
import chroma from 'chroma-js';
|
|
@@ -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';
|
|
@@ -59,7 +58,7 @@ import * as i1$b from '@angular/material/dialog';
|
|
|
59
58
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
60
59
|
import * as i2$3 from '@angular/material/tabs';
|
|
61
60
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
62
|
-
import * as i1$
|
|
61
|
+
import * as i1$e from '@angular/router';
|
|
63
62
|
import { RouterLink, RouterModule, RouteReuseStrategy } from '@angular/router';
|
|
64
63
|
import { marked } from 'marked';
|
|
65
64
|
import Duration from 'duration-relativetimeformat';
|
|
@@ -89,16 +88,16 @@ import { parseISO } from 'date-fns/parseISO';
|
|
|
89
88
|
import { WFS, GeoJSON as GeoJSON$1 } from 'ol/format';
|
|
90
89
|
import { tablerFolderOpen } from '@ng-icons/tabler-icons';
|
|
91
90
|
import { Chart, BarController, BarElement, CategoryScale, LinearScale, LineController, LineElement, PointElement, PieController, ArcElement, ScatterController, Tooltip, Colors, Legend } from 'chart.js';
|
|
92
|
-
import * as i4 from '@angular/cdk/scrolling';
|
|
93
91
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
94
|
-
import * as
|
|
92
|
+
import * as i3$1 from '@angular/material/sort';
|
|
95
93
|
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
96
|
-
import * as
|
|
94
|
+
import * as i2$4 from '@angular/material/table';
|
|
97
95
|
import { MatTableModule } from '@angular/material/table';
|
|
98
|
-
import * as
|
|
99
|
-
import {
|
|
96
|
+
import * as i4 from '@angular/material/paginator';
|
|
97
|
+
import { MatPaginatorIntl, MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
|
|
98
|
+
import { LetDirective } from '@ngrx/component';
|
|
100
99
|
import axios from 'axios';
|
|
101
|
-
import * as i1$
|
|
100
|
+
import * as i1$d from '@angular/platform-browser';
|
|
102
101
|
import { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';
|
|
103
102
|
import { Polygon } from 'ol/geom';
|
|
104
103
|
import * as i4$1 from '@angular/material/radio';
|
|
@@ -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",
|
|
@@ -19190,6 +19118,12 @@ var de = {
|
|
|
19190
19118
|
"share.tab.webComponent": "Integrieren",
|
|
19191
19119
|
"table.loading.data": "Daten werden geladen...",
|
|
19192
19120
|
"table.object.count": "Objekte in diesem Datensatz",
|
|
19121
|
+
"table.paginator.firstPage": "Erste Seite",
|
|
19122
|
+
"table.paginator.itemsPerPage": "Elemente pro Seite",
|
|
19123
|
+
"table.paginator.lastPage": "Letzte Seite",
|
|
19124
|
+
"table.paginator.nextPage": "Nächste Seite",
|
|
19125
|
+
"table.paginator.previousPage": "Vorherige Seite",
|
|
19126
|
+
"table.paginator.rangeLabel": "{startIndex} - {endIndex} von {length}",
|
|
19193
19127
|
"table.select.data": "Datenquelle",
|
|
19194
19128
|
"tooltip.html.copy": "HTML kopieren",
|
|
19195
19129
|
"tooltip.id.copy": "Eindeutige Kennung kopieren",
|
|
@@ -19231,8 +19165,6 @@ var en = {
|
|
|
19231
19165
|
"chart.type.lineSmooth": "smooth line chart",
|
|
19232
19166
|
"chart.type.pie": "pie chart",
|
|
19233
19167
|
"dashboard.catalog.allRecords": "Datasets",
|
|
19234
|
-
"dashboard.catalog.contacts": "Contacts",
|
|
19235
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
19236
19168
|
"dashboard.createRecord": "New dataset",
|
|
19237
19169
|
"dashboard.importRecord": "Import",
|
|
19238
19170
|
"dashboard.importRecord.importExternal": "Import an external file",
|
|
@@ -19245,29 +19177,10 @@ var en = {
|
|
|
19245
19177
|
"dashboard.records.myDraft": "My drafts",
|
|
19246
19178
|
"dashboard.records.myRecords": "My datasets",
|
|
19247
19179
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
19248
|
-
"dashboard.records.templates": "Templates",
|
|
19249
19180
|
"dashboard.records.userDetail": "Name",
|
|
19250
19181
|
"dashboard.records.userEmail": "Email",
|
|
19251
19182
|
"dashboard.records.username": "Username",
|
|
19252
19183
|
"dashboard.records.users": "{count, plural, =1{user} other{users}}",
|
|
19253
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
|
|
19254
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Gathering dataset \n information",
|
|
19255
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n data",
|
|
19256
|
-
"datafeeder.analysisProgressBar.subtitle": "The analysis may take several minutes, please wait.",
|
|
19257
|
-
"datafeeder.analysisProgressBar.title": "Analysis in progress",
|
|
19258
|
-
"datafeeder.datasetValidation.datasetInformation": "The provided dataset contains {number} entities",
|
|
19259
|
-
"datafeeder.datasetValidation.submitButton": "OK, my data is correct",
|
|
19260
|
-
"datafeeder.datasetValidation.title": "Make sure your data is correct",
|
|
19261
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
19262
|
-
"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",
|
|
19263
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Sample of the first 5 lines* of the dataset:",
|
|
19264
|
-
"datafeeder.form.abstract": "How would you describe your dataset?",
|
|
19265
|
-
"datafeeder.form.datepicker": "Do you know when the dataset was created?",
|
|
19266
|
-
"datafeeder.form.description": "Finally, please describe the process used to create the dataset",
|
|
19267
|
-
"datafeeder.form.dropdown": "For which scale was it created?",
|
|
19268
|
-
"datafeeder.form.tags": "Select one or more tags that fit your dataset",
|
|
19269
|
-
"datafeeder.form.title": "Give your dataset the best title",
|
|
19270
|
-
"datafeeder.formsPage.title": "Tell us more about your dataset",
|
|
19271
19184
|
"datafeeder.month.april": "April",
|
|
19272
19185
|
"datafeeder.month.august": "August",
|
|
19273
19186
|
"datafeeder.month.december": "December",
|
|
@@ -19280,59 +19193,6 @@ var en = {
|
|
|
19280
19193
|
"datafeeder.month.november": "November",
|
|
19281
19194
|
"datafeeder.month.october": "October",
|
|
19282
19195
|
"datafeeder.month.september": "September",
|
|
19283
|
-
"datafeeder.publish.hint": "You can safely exit this page, you will be notified when the process is over",
|
|
19284
|
-
"datafeeder.publish.illustration.title": "Another dataset \n to publish?",
|
|
19285
|
-
"datafeeder.publish.subtitle": "Publishing may take several minutes.",
|
|
19286
|
-
"datafeeder.publish.title": "Thank you! \n Your dataset is being published",
|
|
19287
|
-
"datafeeder.publish.upload": "Upload it now",
|
|
19288
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Metadata record",
|
|
19289
|
-
"datafeeder.publishSuccess.illustration.title": "Done, all is good!",
|
|
19290
|
-
"datafeeder.publishSuccess.mapViewer": "Map viewer",
|
|
19291
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
19292
|
-
"datafeeder.publishSuccess.subtitle": "View your data in:",
|
|
19293
|
-
"datafeeder.publishSuccess.title": "Congratulations! \n Your dataset has been published",
|
|
19294
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Upload another dataset",
|
|
19295
|
-
"datafeeder.summarizePage.illustration": "No mistake? Let's go!",
|
|
19296
|
-
"datafeeder.summarizePage.previous": "Previous",
|
|
19297
|
-
"datafeeder.summarizePage.submit": "Submit",
|
|
19298
|
-
"datafeeder.summarizePage.title": "You're almost there...",
|
|
19299
|
-
"datafeeder.upload.acceptedFormats": "Accepted file formats:",
|
|
19300
|
-
"datafeeder.upload.checkboxLabel": "I hold the rights to publish this dataset",
|
|
19301
|
-
"datafeeder.upload.error.subtitle.analysis": "Check that the file contains a valid geospatial dataset",
|
|
19302
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Please check that the file is valid",
|
|
19303
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Remember: only SHP",
|
|
19304
|
-
"datafeeder.upload.error.subtitle.fileSize": "Remember: {size} MB maximum",
|
|
19305
|
-
"datafeeder.upload.error.title.analysis": "Error during the dataset analysis",
|
|
19306
|
-
"datafeeder.upload.error.title.cantOpenFile": "Error while opening the file",
|
|
19307
|
-
"datafeeder.upload.error.title.fileFormat": "The selected file format is not supported",
|
|
19308
|
-
"datafeeder.upload.error.title.fileHasntSelected": "No file selected",
|
|
19309
|
-
"datafeeder.upload.error.title.fileSize": "The file size is too large",
|
|
19310
|
-
"datafeeder.upload.error.title.noRightsToSendData": "You are not allowed to publish this dataset",
|
|
19311
|
-
"datafeeder.upload.illustration.enrichment": "Enrichment",
|
|
19312
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
19313
|
-
"datafeeder.upload.illustration.title": "Adding data \n has never been easier",
|
|
19314
|
-
"datafeeder.upload.illustration.validation": "Validation",
|
|
19315
|
-
"datafeeder.upload.illustration.verification": "Verification",
|
|
19316
|
-
"datafeeder.upload.inputLabel": "Import your file",
|
|
19317
|
-
"datafeeder.upload.maxFileSize": "Maximum file size is {size} MB",
|
|
19318
|
-
"datafeeder.upload.title": "Upload your dataset",
|
|
19319
|
-
"datafeeder.upload.uploadButton": "Upload",
|
|
19320
|
-
"datafeeder.validation.csv.delimiter": "Delimiter",
|
|
19321
|
-
"datafeeder.validation.csv.delimiter.comma": "Comma",
|
|
19322
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Semicolon",
|
|
19323
|
-
"datafeeder.validation.csv.lat.field": "Latitude column",
|
|
19324
|
-
"datafeeder.validation.csv.lng.field": "Longitude column",
|
|
19325
|
-
"datafeeder.validation.csv.quote.double": "Double quote",
|
|
19326
|
-
"datafeeder.validation.csv.quote.none": "None",
|
|
19327
|
-
"datafeeder.validation.csv.quote.simple": "Single quote",
|
|
19328
|
-
"datafeeder.validation.csv.quoteChar": "Quote separator",
|
|
19329
|
-
"datafeeder.validation.encoding": "Encoding",
|
|
19330
|
-
"datafeeder.validation.extent.title": "Here is the dataset extent",
|
|
19331
|
-
"datafeeder.validation.extent.title.unknown": "The projection system is unknown",
|
|
19332
|
-
"datafeeder.validation.projection": "Spatial reference system:",
|
|
19333
|
-
"datafeeder.validation.projection.unknown": "Choose a spatial reference system",
|
|
19334
|
-
"datafeeder.validation.sample.title": "And a sample entity from the dataset",
|
|
19335
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Please fill in mandatory fields",
|
|
19336
19196
|
"datafeeder.wizardSummarize.createdAt": "Created at",
|
|
19337
19197
|
"datafeeder.wizardSummarize.scale": "Scale",
|
|
19338
19198
|
"datahub.header.datasets": "Datasets",
|
|
@@ -19636,9 +19496,10 @@ var en = {
|
|
|
19636
19496
|
"record.action.download": "Download",
|
|
19637
19497
|
"record.action.duplicate": "Duplicate",
|
|
19638
19498
|
"record.action.duplicating": "Duplicating...",
|
|
19499
|
+
"record.action.rollback": "Rollback",
|
|
19639
19500
|
"record.action.view": "View",
|
|
19640
19501
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
19641
|
-
"record.feature.limit": "
|
|
19502
|
+
"record.feature.limit": "Preview disabled due to too many elements",
|
|
19642
19503
|
"record.metadata.about": "Description",
|
|
19643
19504
|
"record.metadata.api": "API",
|
|
19644
19505
|
"record.metadata.api.form.closeButton": "Close",
|
|
@@ -19758,6 +19619,8 @@ var en = {
|
|
|
19758
19619
|
"search.error.recordNotFound": "The dataset with identifier \"{ id }\" could not be found.",
|
|
19759
19620
|
"search.field.any.placeholder": "Search datasets ...",
|
|
19760
19621
|
"search.field.sortBy": "Sort by:",
|
|
19622
|
+
"search.filters.availableServices.download": "",
|
|
19623
|
+
"search.filters.availableServices.view": "",
|
|
19761
19624
|
"search.filters.changeDate": "Updated",
|
|
19762
19625
|
"search.filters.clear": "Reset",
|
|
19763
19626
|
"search.filters.contact": "Contacts",
|
|
@@ -19800,6 +19663,12 @@ var en = {
|
|
|
19800
19663
|
"share.tab.webComponent": "Integrate",
|
|
19801
19664
|
"table.loading.data": "Loading data...",
|
|
19802
19665
|
"table.object.count": "Objects in this dataset",
|
|
19666
|
+
"table.paginator.firstPage": "First page",
|
|
19667
|
+
"table.paginator.itemsPerPage": "Items per page",
|
|
19668
|
+
"table.paginator.lastPage": "Last page",
|
|
19669
|
+
"table.paginator.nextPage": "Next page",
|
|
19670
|
+
"table.paginator.previousPage": "Previous page",
|
|
19671
|
+
"table.paginator.rangeLabel": "{startIndex} - {endIndex} of {length}",
|
|
19803
19672
|
"table.select.data": "Data source",
|
|
19804
19673
|
"tooltip.html.copy": "Copy HTML",
|
|
19805
19674
|
"tooltip.id.copy": "Copy unique identifier",
|
|
@@ -19841,8 +19710,6 @@ var es = {
|
|
|
19841
19710
|
"chart.type.lineSmooth": "gráfico de líneas suave",
|
|
19842
19711
|
"chart.type.pie": "gráfico circular",
|
|
19843
19712
|
"dashboard.catalog.allRecords": "",
|
|
19844
|
-
"dashboard.catalog.contacts": "",
|
|
19845
|
-
"dashboard.catalog.thesaurus": "",
|
|
19846
19713
|
"dashboard.createRecord": "",
|
|
19847
19714
|
"dashboard.importRecord": "",
|
|
19848
19715
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -19855,29 +19722,10 @@ var es = {
|
|
|
19855
19722
|
"dashboard.records.myDraft": "Mis borradores",
|
|
19856
19723
|
"dashboard.records.myRecords": "Mis Registros",
|
|
19857
19724
|
"dashboard.records.search": "Buscar \"{searchText}\"",
|
|
19858
|
-
"dashboard.records.templates": "",
|
|
19859
19725
|
"dashboard.records.userDetail": "",
|
|
19860
19726
|
"dashboard.records.userEmail": "",
|
|
19861
19727
|
"dashboard.records.username": "",
|
|
19862
19728
|
"dashboard.records.users": "",
|
|
19863
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
19864
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
19865
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
19866
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
19867
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
19868
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
19869
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
19870
|
-
"datafeeder.datasetValidation.title": "",
|
|
19871
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
19872
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
19873
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
19874
|
-
"datafeeder.form.abstract": "",
|
|
19875
|
-
"datafeeder.form.datepicker": "",
|
|
19876
|
-
"datafeeder.form.description": "",
|
|
19877
|
-
"datafeeder.form.dropdown": "",
|
|
19878
|
-
"datafeeder.form.tags": "",
|
|
19879
|
-
"datafeeder.form.title": "",
|
|
19880
|
-
"datafeeder.formsPage.title": "",
|
|
19881
19729
|
"datafeeder.month.april": "",
|
|
19882
19730
|
"datafeeder.month.august": "",
|
|
19883
19731
|
"datafeeder.month.december": "",
|
|
@@ -19890,59 +19738,6 @@ var es = {
|
|
|
19890
19738
|
"datafeeder.month.november": "",
|
|
19891
19739
|
"datafeeder.month.october": "",
|
|
19892
19740
|
"datafeeder.month.september": "",
|
|
19893
|
-
"datafeeder.publish.hint": "",
|
|
19894
|
-
"datafeeder.publish.illustration.title": "",
|
|
19895
|
-
"datafeeder.publish.subtitle": "",
|
|
19896
|
-
"datafeeder.publish.title": "",
|
|
19897
|
-
"datafeeder.publish.upload": "",
|
|
19898
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
19899
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
19900
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
19901
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
19902
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
19903
|
-
"datafeeder.publishSuccess.title": "",
|
|
19904
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
19905
|
-
"datafeeder.summarizePage.illustration": "",
|
|
19906
|
-
"datafeeder.summarizePage.previous": "",
|
|
19907
|
-
"datafeeder.summarizePage.submit": "",
|
|
19908
|
-
"datafeeder.summarizePage.title": "",
|
|
19909
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
19910
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
19911
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
19912
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
19913
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
19914
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
19915
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
19916
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
19917
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
19918
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
19919
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
19920
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
19921
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
19922
|
-
"datafeeder.upload.illustration.import": "",
|
|
19923
|
-
"datafeeder.upload.illustration.title": "",
|
|
19924
|
-
"datafeeder.upload.illustration.validation": "",
|
|
19925
|
-
"datafeeder.upload.illustration.verification": "",
|
|
19926
|
-
"datafeeder.upload.inputLabel": "",
|
|
19927
|
-
"datafeeder.upload.maxFileSize": "",
|
|
19928
|
-
"datafeeder.upload.title": "",
|
|
19929
|
-
"datafeeder.upload.uploadButton": "",
|
|
19930
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
19931
|
-
"datafeeder.validation.csv.delimiter.comma": "Coma",
|
|
19932
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Punto y coma",
|
|
19933
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
19934
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
19935
|
-
"datafeeder.validation.csv.quote.double": "Comillas dobles",
|
|
19936
|
-
"datafeeder.validation.csv.quote.none": "Ninguno",
|
|
19937
|
-
"datafeeder.validation.csv.quote.simple": "Comillas simples",
|
|
19938
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
19939
|
-
"datafeeder.validation.encoding": "",
|
|
19940
|
-
"datafeeder.validation.extent.title": "",
|
|
19941
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
19942
|
-
"datafeeder.validation.projection": "",
|
|
19943
|
-
"datafeeder.validation.projection.unknown": "",
|
|
19944
|
-
"datafeeder.validation.sample.title": "",
|
|
19945
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
19946
19741
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
19947
19742
|
"datafeeder.wizardSummarize.scale": "",
|
|
19948
19743
|
"datahub.header.datasets": "",
|
|
@@ -20246,6 +20041,7 @@ var es = {
|
|
|
20246
20041
|
"record.action.download": "",
|
|
20247
20042
|
"record.action.duplicate": "",
|
|
20248
20043
|
"record.action.duplicating": "",
|
|
20044
|
+
"record.action.rollback": "",
|
|
20249
20045
|
"record.action.view": "",
|
|
20250
20046
|
"record.externalViewer.open": "",
|
|
20251
20047
|
"record.feature.limit": "",
|
|
@@ -20368,6 +20164,8 @@ var es = {
|
|
|
20368
20164
|
"search.error.recordNotFound": "",
|
|
20369
20165
|
"search.field.any.placeholder": "",
|
|
20370
20166
|
"search.field.sortBy": "",
|
|
20167
|
+
"search.filters.availableServices.download": "",
|
|
20168
|
+
"search.filters.availableServices.view": "",
|
|
20371
20169
|
"search.filters.changeDate": "Última actualización",
|
|
20372
20170
|
"search.filters.clear": "",
|
|
20373
20171
|
"search.filters.contact": "",
|
|
@@ -20410,6 +20208,12 @@ var es = {
|
|
|
20410
20208
|
"share.tab.webComponent": "",
|
|
20411
20209
|
"table.loading.data": "",
|
|
20412
20210
|
"table.object.count": "",
|
|
20211
|
+
"table.paginator.firstPage": "Primera página",
|
|
20212
|
+
"table.paginator.itemsPerPage": "Elementos por página",
|
|
20213
|
+
"table.paginator.lastPage": "Última página",
|
|
20214
|
+
"table.paginator.nextPage": "Página siguiente",
|
|
20215
|
+
"table.paginator.previousPage": "Página anterior",
|
|
20216
|
+
"table.paginator.rangeLabel": "{startIndex} - {endIndex} de {length}",
|
|
20413
20217
|
"table.select.data": "",
|
|
20414
20218
|
"tooltip.html.copy": "",
|
|
20415
20219
|
"tooltip.id.copy": "",
|
|
@@ -20451,8 +20255,6 @@ var fr = {
|
|
|
20451
20255
|
"chart.type.lineSmooth": "ligne lisse",
|
|
20452
20256
|
"chart.type.pie": "camembert",
|
|
20453
20257
|
"dashboard.catalog.allRecords": "Jeux de données",
|
|
20454
|
-
"dashboard.catalog.contacts": "Annuaire",
|
|
20455
|
-
"dashboard.catalog.thesaurus": "Thésaurus",
|
|
20456
20258
|
"dashboard.createRecord": "Nouveau jeu de données",
|
|
20457
20259
|
"dashboard.importRecord": "Importer",
|
|
20458
20260
|
"dashboard.importRecord.importExternal": "Importer un jeu de données externe",
|
|
@@ -20465,29 +20267,10 @@ var fr = {
|
|
|
20465
20267
|
"dashboard.records.myDraft": "Mes brouillons",
|
|
20466
20268
|
"dashboard.records.myRecords": "Mes jeux de données",
|
|
20467
20269
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
20468
|
-
"dashboard.records.templates": "Modèles pré-remplis",
|
|
20469
20270
|
"dashboard.records.userDetail": "Nom",
|
|
20470
20271
|
"dashboard.records.userEmail": "Email",
|
|
20471
20272
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
20472
20273
|
"dashboard.records.users": "{count, plural, =1{utilisateur} other{utilisateurs}}",
|
|
20473
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Détection du \n format de fichier",
|
|
20474
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Récupération des informations \n sur le jeu de données",
|
|
20475
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Échantillonnage \n des données",
|
|
20476
|
-
"datafeeder.analysisProgressBar.subtitle": "L'analyse peut prendre plusieurs minutes, merci de patienter.",
|
|
20477
|
-
"datafeeder.analysisProgressBar.title": "Analyse en cours",
|
|
20478
|
-
"datafeeder.datasetValidation.datasetInformation": "Le jeu de données fourni contient {number} entités",
|
|
20479
|
-
"datafeeder.datasetValidation.submitButton": "OK, mes données sont correctes",
|
|
20480
|
-
"datafeeder.datasetValidation.title": "Vérifiez que vos données sont correctes",
|
|
20481
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
20482
|
-
"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é",
|
|
20483
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Résumé des 5 premières lignes* du CSV :",
|
|
20484
|
-
"datafeeder.form.abstract": "Comment décrire votre jeu de données ?",
|
|
20485
|
-
"datafeeder.form.datepicker": "Savez-vous quand la donnée a été créée ?",
|
|
20486
|
-
"datafeeder.form.description": "Enfin, décrivez le processus utilisé pour créer la donnée",
|
|
20487
|
-
"datafeeder.form.dropdown": "Et pour quelle échelle ?",
|
|
20488
|
-
"datafeeder.form.tags": "Choisissez un ou plusieurs mots-clés correspondant à vos données",
|
|
20489
|
-
"datafeeder.form.title": "Donnez un titre à votre jeu de données",
|
|
20490
|
-
"datafeeder.formsPage.title": "Dites-nous en plus sur ces données",
|
|
20491
20274
|
"datafeeder.month.april": "Avril",
|
|
20492
20275
|
"datafeeder.month.august": "Août",
|
|
20493
20276
|
"datafeeder.month.december": "Décembre",
|
|
@@ -20500,59 +20283,6 @@ var fr = {
|
|
|
20500
20283
|
"datafeeder.month.november": "Novembre",
|
|
20501
20284
|
"datafeeder.month.october": "Octobre",
|
|
20502
20285
|
"datafeeder.month.september": "Septembre",
|
|
20503
|
-
"datafeeder.publish.hint": "Vous pouvez quitter cette page en toute sécurité, vous serez prévenus quand le processus sera terminé",
|
|
20504
|
-
"datafeeder.publish.illustration.title": "Une autre donnée \n à publier ?",
|
|
20505
|
-
"datafeeder.publish.subtitle": "La publication peut prendre plusieurs minutes.",
|
|
20506
|
-
"datafeeder.publish.title": "Merci! \n Vos données sont en cours de publication",
|
|
20507
|
-
"datafeeder.publish.upload": "Télécharger maintenant",
|
|
20508
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Fiche de métadonnées",
|
|
20509
|
-
"datafeeder.publishSuccess.illustration.title": "Terminé, tout s'est bien passé !",
|
|
20510
|
-
"datafeeder.publishSuccess.mapViewer": "Visualiseur",
|
|
20511
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
20512
|
-
"datafeeder.publishSuccess.subtitle": "Visualisez vos données :",
|
|
20513
|
-
"datafeeder.publishSuccess.title": "Félicitations! \n Vos données ont été publiées",
|
|
20514
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Importer une autre donnée",
|
|
20515
|
-
"datafeeder.summarizePage.illustration": "Pas d'erreur ? C'est parti !",
|
|
20516
|
-
"datafeeder.summarizePage.previous": "Précédent",
|
|
20517
|
-
"datafeeder.summarizePage.submit": "Publier",
|
|
20518
|
-
"datafeeder.summarizePage.title": "On y est presque...",
|
|
20519
|
-
"datafeeder.upload.acceptedFormats": "Formats de fichier acceptés :",
|
|
20520
|
-
"datafeeder.upload.checkboxLabel": "J'ai le droit de publier cette donnée",
|
|
20521
|
-
"datafeeder.upload.error.subtitle.analysis": "Le fichier transféré contient-il des données géographiques valides ?",
|
|
20522
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Vérifiez la validité du fichier sélectionné",
|
|
20523
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Rappel : uniquement des SHP",
|
|
20524
|
-
"datafeeder.upload.error.subtitle.fileSize": "Rappel : {size} Mo maximum",
|
|
20525
|
-
"datafeeder.upload.error.title.analysis": "Erreur lors de l'analyse des données",
|
|
20526
|
-
"datafeeder.upload.error.title.cantOpenFile": "Erreur lors de l'ouverture du fichier",
|
|
20527
|
-
"datafeeder.upload.error.title.fileFormat": "Le format du fichier n'est pas supporté",
|
|
20528
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Aucun fichier n'a été sélectionné",
|
|
20529
|
-
"datafeeder.upload.error.title.fileSize": "La taille du fichier est trop importante",
|
|
20530
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Vous n'avez pas validé les droits de publication",
|
|
20531
|
-
"datafeeder.upload.illustration.enrichment": "Enrichissement",
|
|
20532
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
20533
|
-
"datafeeder.upload.illustration.title": "Ajouter des données n'a jamais été aussi simple",
|
|
20534
|
-
"datafeeder.upload.illustration.validation": "Validation",
|
|
20535
|
-
"datafeeder.upload.illustration.verification": "Vérification",
|
|
20536
|
-
"datafeeder.upload.inputLabel": "Ajouter votre fichier",
|
|
20537
|
-
"datafeeder.upload.maxFileSize": "La taille maximale est {size} Mo",
|
|
20538
|
-
"datafeeder.upload.title": "Importez vos données",
|
|
20539
|
-
"datafeeder.upload.uploadButton": "Transférer",
|
|
20540
|
-
"datafeeder.validation.csv.delimiter": "Séparateur de colonne",
|
|
20541
|
-
"datafeeder.validation.csv.delimiter.comma": "Virgule",
|
|
20542
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Point-virgule",
|
|
20543
|
-
"datafeeder.validation.csv.lat.field": "Colonne latitude",
|
|
20544
|
-
"datafeeder.validation.csv.lng.field": "Colonne longitude",
|
|
20545
|
-
"datafeeder.validation.csv.quote.double": "Double guillemets",
|
|
20546
|
-
"datafeeder.validation.csv.quote.none": "Aucun",
|
|
20547
|
-
"datafeeder.validation.csv.quote.simple": "Simple guillemet",
|
|
20548
|
-
"datafeeder.validation.csv.quoteChar": "Séparateur de texte",
|
|
20549
|
-
"datafeeder.validation.encoding": "Encodage",
|
|
20550
|
-
"datafeeder.validation.extent.title": "Voici l'emprise du jeu de données",
|
|
20551
|
-
"datafeeder.validation.extent.title.unknown": "Le système de projection est inconnu",
|
|
20552
|
-
"datafeeder.validation.projection": "Projection :",
|
|
20553
|
-
"datafeeder.validation.projection.unknown": "Choisissez une projection",
|
|
20554
|
-
"datafeeder.validation.sample.title": "Et un exemple d'objet",
|
|
20555
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Veuillez remplir les champs obligatoires",
|
|
20556
20286
|
"datafeeder.wizardSummarize.createdAt": "Créée le",
|
|
20557
20287
|
"datafeeder.wizardSummarize.scale": "Échelle",
|
|
20558
20288
|
"datahub.header.datasets": "Données",
|
|
@@ -20592,7 +20322,7 @@ var fr = {
|
|
|
20592
20322
|
"domain.contact.role.point_of_contact": "Point de contact",
|
|
20593
20323
|
"domain.contact.role.principal_investigator": "Chercheur principal",
|
|
20594
20324
|
"domain.contact.role.processor": "Processeur",
|
|
20595
|
-
"domain.contact.role.publisher": "
|
|
20325
|
+
"domain.contact.role.publisher": "Producteur",
|
|
20596
20326
|
"domain.contact.role.resource_provider": "Fournisseur",
|
|
20597
20327
|
"domain.contact.role.rights_holder": "Détenteur des droits",
|
|
20598
20328
|
"domain.contact.role.sponsor": "Sponsor",
|
|
@@ -20656,7 +20386,7 @@ var fr = {
|
|
|
20656
20386
|
"editor.record.form.constraint.otherConstraints": "Autres contraintes",
|
|
20657
20387
|
"editor.record.form.constraint.securityConstraints": "Contraintes de sécurité",
|
|
20658
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.",
|
|
20659
|
-
"editor.record.form.field.abstract": "
|
|
20389
|
+
"editor.record.form.field.abstract": "Description",
|
|
20660
20390
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20661
20391
|
"editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
|
|
20662
20392
|
"editor.record.form.field.contacts.placeholder": "Choisissez un contact",
|
|
@@ -20698,14 +20428,14 @@ var fr = {
|
|
|
20698
20428
|
"editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
|
|
20699
20429
|
"editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
|
|
20700
20430
|
"editor.record.form.keywords.placeholder": "Sélectionnez un mot-clé",
|
|
20701
|
-
"editor.record.form.license.cc-by": "",
|
|
20702
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
20703
|
-
"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",
|
|
20704
20434
|
"editor.record.form.license.etalab": "Licence Ouverte (Etalab)",
|
|
20705
20435
|
"editor.record.form.license.etalab-v2": "Licence Ouverte v2.0 (Etalab)",
|
|
20706
|
-
"editor.record.form.license.odbl": "",
|
|
20707
|
-
"editor.record.form.license.odc-by": "",
|
|
20708
|
-
"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",
|
|
20709
20439
|
"editor.record.form.license.unknown": "Inconnue ou absente",
|
|
20710
20440
|
"editor.record.form.page.accessAndContact": "Informations pour l'utilisation",
|
|
20711
20441
|
"editor.record.form.page.description": "Description du jeu de données",
|
|
@@ -20758,7 +20488,7 @@ var fr = {
|
|
|
20758
20488
|
"editor.record.resourceError.closeMessage": "Compris",
|
|
20759
20489
|
"editor.record.resourceError.title": "Erreur avec les pièces jointes",
|
|
20760
20490
|
"editor.record.saveStatus.draftWithChangesPending": "Sauvegardé - Modifications non publiées",
|
|
20761
|
-
"editor.record.saveStatus.recordNotPublished": "",
|
|
20491
|
+
"editor.record.saveStatus.recordNotPublished": "Sauvegardé - non publié",
|
|
20762
20492
|
"editor.record.saveStatus.recordUpToDate": "Sauvegardé - Jeu de données à jour",
|
|
20763
20493
|
"editor.record.undo.confirmation.cancelText": "Garder les modifications",
|
|
20764
20494
|
"editor.record.undo.confirmation.confirmText": "Retirer les modifications",
|
|
@@ -20768,7 +20498,7 @@ var fr = {
|
|
|
20768
20498
|
"editor.record.undo.tooltip.enabled": "Cliquer sur ce bouton pour annuler les modifications apportées à ce jeu de données",
|
|
20769
20499
|
"editor.record.upToDate": "Ce jeu de données est à jour",
|
|
20770
20500
|
"editor.sidebar.logout": "Se déconnecter",
|
|
20771
|
-
"editor.sidebar.menu.editor": "",
|
|
20501
|
+
"editor.sidebar.menu.editor": "Editeur",
|
|
20772
20502
|
"editor.temporary.disabled": "Pas encore implémenté",
|
|
20773
20503
|
"externalviewer.dataset.unnamed": "Couche du datahub",
|
|
20774
20504
|
"facets.block.title.OrgForResource": "Organisation",
|
|
@@ -20816,7 +20546,7 @@ var fr = {
|
|
|
20816
20546
|
"map.add.layer": "Ajouter une couche",
|
|
20817
20547
|
"map.add.layer.catalog": "Du catalogue",
|
|
20818
20548
|
"map.add.layer.file": "À partir d'un fichier",
|
|
20819
|
-
"map.add.layer.ogc.api": "",
|
|
20549
|
+
"map.add.layer.ogc.api": "Depuis un service OGC API",
|
|
20820
20550
|
"map.add.layer.wfs": "Depuis un service WFS",
|
|
20821
20551
|
"map.add.layer.wms": "Depuis un service WMS",
|
|
20822
20552
|
"map.addFromFile.placeholder": "Cliquez ou déposez un fichier ici",
|
|
@@ -20829,7 +20559,7 @@ var fr = {
|
|
|
20829
20559
|
"map.loading.data": "Chargement des données...",
|
|
20830
20560
|
"map.loading.service": "Chargement du service...",
|
|
20831
20561
|
"map.navigation.message": "Veuillez utiliser CTRL + souris (ou deux doigts sur mobile) pour naviguer sur la carte",
|
|
20832
|
-
"map.ogc.urlInput.hint": "",
|
|
20562
|
+
"map.ogc.urlInput.hint": "Entrez l'URL du service OGC API",
|
|
20833
20563
|
"map.select.layer": "Source de données",
|
|
20834
20564
|
"map.wfs.urlInput.hint": "Entrez l'URL du service WFS",
|
|
20835
20565
|
"map.wms.urlInput.hint": "Entrez l'URL du service WMS",
|
|
@@ -20856,9 +20586,10 @@ var fr = {
|
|
|
20856
20586
|
"record.action.download": "Télécharger",
|
|
20857
20587
|
"record.action.duplicate": "Dupliquer",
|
|
20858
20588
|
"record.action.duplicating": "Duplication...",
|
|
20589
|
+
"record.action.rollback": "Restaurer",
|
|
20859
20590
|
"record.action.view": "Voir",
|
|
20860
20591
|
"record.externalViewer.open": "Ouvrir dans le visualiseur externe",
|
|
20861
|
-
"record.feature.limit": "
|
|
20592
|
+
"record.feature.limit": "L’aperçu a été désactivé en raison d’un trop grand nombre d'éléments",
|
|
20862
20593
|
"record.metadata.about": "Description",
|
|
20863
20594
|
"record.metadata.api": "API",
|
|
20864
20595
|
"record.metadata.api.form.closeButton": "Fermer",
|
|
@@ -20978,6 +20709,8 @@ var fr = {
|
|
|
20978
20709
|
"search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
|
|
20979
20710
|
"search.field.any.placeholder": "Rechercher un jeu de données...",
|
|
20980
20711
|
"search.field.sortBy": "Trier par :",
|
|
20712
|
+
"search.filters.availableServices.download": "",
|
|
20713
|
+
"search.filters.availableServices.view": "",
|
|
20981
20714
|
"search.filters.changeDate": "Mise à jour",
|
|
20982
20715
|
"search.filters.clear": "Réinitialiser",
|
|
20983
20716
|
"search.filters.contact": "Contacts",
|
|
@@ -21020,6 +20753,12 @@ var fr = {
|
|
|
21020
20753
|
"share.tab.webComponent": "Intégrer",
|
|
21021
20754
|
"table.loading.data": "Chargement des données...",
|
|
21022
20755
|
"table.object.count": "enregistrements dans ces données",
|
|
20756
|
+
"table.paginator.firstPage": "Première page",
|
|
20757
|
+
"table.paginator.itemsPerPage": "Éléments par page",
|
|
20758
|
+
"table.paginator.lastPage": "Dernière page",
|
|
20759
|
+
"table.paginator.nextPage": "Page suivante",
|
|
20760
|
+
"table.paginator.previousPage": "Page précédente",
|
|
20761
|
+
"table.paginator.rangeLabel": "{startIndex} - {endIndex} sur {length}",
|
|
21023
20762
|
"table.select.data": "Source de données",
|
|
21024
20763
|
"tooltip.html.copy": "Copier le HTML",
|
|
21025
20764
|
"tooltip.id.copy": "Copier l'identifiant unique",
|
|
@@ -21061,8 +20800,6 @@ var it = {
|
|
|
21061
20800
|
"chart.type.lineSmooth": "grafico a linea liscia",
|
|
21062
20801
|
"chart.type.pie": "grafico a torta",
|
|
21063
20802
|
"dashboard.catalog.allRecords": "Datasets",
|
|
21064
|
-
"dashboard.catalog.contacts": "Contatti",
|
|
21065
|
-
"dashboard.catalog.thesaurus": "Thesauri",
|
|
21066
20803
|
"dashboard.createRecord": "Crea un record",
|
|
21067
20804
|
"dashboard.importRecord": "Importare",
|
|
21068
20805
|
"dashboard.importRecord.importExternal": "Importare un dataset esterno",
|
|
@@ -21075,29 +20812,10 @@ var it = {
|
|
|
21075
20812
|
"dashboard.records.myDraft": "Le mie bozze",
|
|
21076
20813
|
"dashboard.records.myRecords": "I miei dati",
|
|
21077
20814
|
"dashboard.records.search": "Risultati per \"{searchText}\"",
|
|
21078
|
-
"dashboard.records.templates": "Modelli precompilati",
|
|
21079
20815
|
"dashboard.records.userDetail": "Nome",
|
|
21080
20816
|
"dashboard.records.userEmail": "Email",
|
|
21081
20817
|
"dashboard.records.username": "Nome utente",
|
|
21082
20818
|
"dashboard.records.users": "utenti",
|
|
21083
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Rilevamento del formato dei file",
|
|
21084
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Recupero delle informazioni dal dataset",
|
|
21085
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Campionatura dei dati",
|
|
21086
|
-
"datafeeder.analysisProgressBar.subtitle": "L'analisi potrebbe richiedere alcuni minuti, si prega di attendere.",
|
|
21087
|
-
"datafeeder.analysisProgressBar.title": "Analisi in corso",
|
|
21088
|
-
"datafeeder.datasetValidation.datasetInformation": "Il dataset fornito contiene {number} entità",
|
|
21089
|
-
"datafeeder.datasetValidation.submitButton": "OK, i miei dati sono corretti",
|
|
21090
|
-
"datafeeder.datasetValidation.title": "Controllare che i dati siano corretti",
|
|
21091
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
21092
|
-
"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",
|
|
21093
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Riepilogo delle prime 5 righe del CSV:",
|
|
21094
|
-
"datafeeder.form.abstract": "Come descrivere il suo dataset?",
|
|
21095
|
-
"datafeeder.form.datepicker": "Sa quando è stato creato il suo dataset ?",
|
|
21096
|
-
"datafeeder.form.description": "Infine, descrivere il processo utilizzato per creare il dataset",
|
|
21097
|
-
"datafeeder.form.dropdown": "Per quale scala è stato creato?",
|
|
21098
|
-
"datafeeder.form.tags": "Seleziona uno o più parole chiave che corrispondano al suo dataset",
|
|
21099
|
-
"datafeeder.form.title": "Dà al suo dataset il miglior titolo",
|
|
21100
|
-
"datafeeder.formsPage.title": "Diteci di più sul suo dataset",
|
|
21101
20819
|
"datafeeder.month.april": "Aprile",
|
|
21102
20820
|
"datafeeder.month.august": "Agosto",
|
|
21103
20821
|
"datafeeder.month.december": "Dicembre",
|
|
@@ -21110,59 +20828,6 @@ var it = {
|
|
|
21110
20828
|
"datafeeder.month.november": "Novembre",
|
|
21111
20829
|
"datafeeder.month.october": "Ottobre",
|
|
21112
20830
|
"datafeeder.month.september": "Settembre",
|
|
21113
|
-
"datafeeder.publish.hint": "Puo lasciare questa pagina in sicurezza, sarà avvisato quando il processo sarà completo",
|
|
21114
|
-
"datafeeder.publish.illustration.title": "Un altro dato da pubblicare?",
|
|
21115
|
-
"datafeeder.publish.subtitle": "La pubblicazione potrebbe richiedere alcuni minuti.",
|
|
21116
|
-
"datafeeder.publish.title": "Grazie! \n I suei dati sono in fase di pubblicazione",
|
|
21117
|
-
"datafeeder.publish.upload": "Carica ora",
|
|
21118
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Scheda di metadati",
|
|
21119
|
-
"datafeeder.publishSuccess.illustration.title": "Completato, tutto è andato bene!",
|
|
21120
|
-
"datafeeder.publishSuccess.mapViewer": "Visualizzatore",
|
|
21121
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
21122
|
-
"datafeeder.publishSuccess.subtitle": "Visualizzare i dati:",
|
|
21123
|
-
"datafeeder.publishSuccess.title": "Congratulazioni! \n I suoi dati sono stati pubblicati",
|
|
21124
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Caricare un altro dato",
|
|
21125
|
-
"datafeeder.summarizePage.illustration": "Nessun errore? Avanti!",
|
|
21126
|
-
"datafeeder.summarizePage.previous": "Precedente",
|
|
21127
|
-
"datafeeder.summarizePage.submit": "Pubblica",
|
|
21128
|
-
"datafeeder.summarizePage.title": "Ci siamo quasi...",
|
|
21129
|
-
"datafeeder.upload.acceptedFormats": "Formati di file accettati:",
|
|
21130
|
-
"datafeeder.upload.checkboxLabel": "Ho il diritto di pubblicare questi dati",
|
|
21131
|
-
"datafeeder.upload.error.subtitle.analysis": "Il file trasferito contiene dati geografici validi?",
|
|
21132
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Verifica la validità del file selezionato",
|
|
21133
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Ricorda: solo SHP",
|
|
21134
|
-
"datafeeder.upload.error.subtitle.fileSize": "Ricorda: dimensione massima {size} MB",
|
|
21135
|
-
"datafeeder.upload.error.title.analysis": "Errore durante l'analisi dei dati",
|
|
21136
|
-
"datafeeder.upload.error.title.cantOpenFile": "Errore durante l'apertura del file",
|
|
21137
|
-
"datafeeder.upload.error.title.fileFormat": "Formato del file non supportato",
|
|
21138
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Nessun file selezionato",
|
|
21139
|
-
"datafeeder.upload.error.title.fileSize": "Dimensione del file troppo grande",
|
|
21140
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Non avete validato i diritti di pubblicazione",
|
|
21141
|
-
"datafeeder.upload.illustration.enrichment": "Arricchimento",
|
|
21142
|
-
"datafeeder.upload.illustration.import": "Importazione",
|
|
21143
|
-
"datafeeder.upload.illustration.title": "Aggiungere dati non è mai stato così facile",
|
|
21144
|
-
"datafeeder.upload.illustration.validation": "Validazione",
|
|
21145
|
-
"datafeeder.upload.illustration.verification": "Verifica",
|
|
21146
|
-
"datafeeder.upload.inputLabel": "Aggiunge il suo file",
|
|
21147
|
-
"datafeeder.upload.maxFileSize": "Dimensione massima: {size} MB",
|
|
21148
|
-
"datafeeder.upload.title": "Importa i suoi dati",
|
|
21149
|
-
"datafeeder.upload.uploadButton": "Carica",
|
|
21150
|
-
"datafeeder.validation.csv.delimiter": "Separatore di colonne",
|
|
21151
|
-
"datafeeder.validation.csv.delimiter.comma": "Virgola",
|
|
21152
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Punto e virgola",
|
|
21153
|
-
"datafeeder.validation.csv.lat.field": "Colonna di latitudine",
|
|
21154
|
-
"datafeeder.validation.csv.lng.field": "Colonna di longitudine",
|
|
21155
|
-
"datafeeder.validation.csv.quote.double": "Virgolette doppie",
|
|
21156
|
-
"datafeeder.validation.csv.quote.none": "Nessun",
|
|
21157
|
-
"datafeeder.validation.csv.quote.simple": "Citazione semplice",
|
|
21158
|
-
"datafeeder.validation.csv.quoteChar": "Separatore di testo",
|
|
21159
|
-
"datafeeder.validation.encoding": "Codifica",
|
|
21160
|
-
"datafeeder.validation.extent.title": "Ecco l'estensione del dataset",
|
|
21161
|
-
"datafeeder.validation.extent.title.unknown": "Sistema di proiezione sconosciuto",
|
|
21162
|
-
"datafeeder.validation.projection": "Proiezione:",
|
|
21163
|
-
"datafeeder.validation.projection.unknown": "Seleziona una proiezione",
|
|
21164
|
-
"datafeeder.validation.sample.title": "E un esempio di oggetto",
|
|
21165
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Si prega di compilare i campi obbligatori",
|
|
21166
20831
|
"datafeeder.wizardSummarize.createdAt": "Creato il",
|
|
21167
20832
|
"datafeeder.wizardSummarize.scale": "Scala",
|
|
21168
20833
|
"datahub.header.datasets": "Dati",
|
|
@@ -21246,9 +20911,9 @@ var it = {
|
|
|
21246
20911
|
"editor.record.deleteError.title": "Errore durante l'eliminazione",
|
|
21247
20912
|
"editor.record.deleteSuccess.body": "Il dataset è stato eliminato correttamente",
|
|
21248
20913
|
"editor.record.deleteSuccess.title": "Eliminazione riuscita",
|
|
21249
|
-
"editor.record.error.back": "",
|
|
21250
|
-
"editor.record.error.explanation": "",
|
|
21251
|
-
"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",
|
|
21252
20917
|
"editor.record.form.bottomButtons.comeBackLater": "Ritorna più tardi",
|
|
21253
20918
|
"editor.record.form.bottomButtons.next": "Avanti",
|
|
21254
20919
|
"editor.record.form.bottomButtons.previous": "Precedente",
|
|
@@ -21308,18 +20973,18 @@ var it = {
|
|
|
21308
20973
|
"editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
|
|
21309
20974
|
"editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
21310
20975
|
"editor.record.form.keywords.placeholder": "Seleziona una parola chiave",
|
|
21311
|
-
"editor.record.form.license.cc-by": "",
|
|
21312
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
21313
|
-
"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",
|
|
21314
20979
|
"editor.record.form.license.etalab": "Licenza aperta (Etalab)",
|
|
21315
20980
|
"editor.record.form.license.etalab-v2": "Licenza aperta v2.0 (Etalab)",
|
|
21316
|
-
"editor.record.form.license.odbl": "",
|
|
21317
|
-
"editor.record.form.license.odc-by": "",
|
|
21318
|
-
"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",
|
|
21319
20984
|
"editor.record.form.license.unknown": "Sconosciuto o assente",
|
|
21320
20985
|
"editor.record.form.page.accessAndContact": "Informazioni per l'uso",
|
|
21321
20986
|
"editor.record.form.page.description": "Descrizione del dataset",
|
|
21322
|
-
"editor.record.form.page.resources": "",
|
|
20987
|
+
"editor.record.form.page.resources": "Risorse",
|
|
21323
20988
|
"editor.record.form.section.about.description": "Queste informazioni riguardano il dataset",
|
|
21324
20989
|
"editor.record.form.section.about.label": "Informazioni sul dataset",
|
|
21325
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.).",
|
|
@@ -21346,7 +21011,7 @@ var it = {
|
|
|
21346
21011
|
"editor.record.loadError.body": "Impossibile caricare il dataset:",
|
|
21347
21012
|
"editor.record.loadError.closeMessage": "Capito",
|
|
21348
21013
|
"editor.record.loadError.title": "Errore durante il caricamento",
|
|
21349
|
-
"editor.record.lock.reason": "",
|
|
21014
|
+
"editor.record.lock.reason": "Non è un editore di uno dei gruppi autorizzati",
|
|
21350
21015
|
"editor.record.onlineResource.protocol.other": "Altro",
|
|
21351
21016
|
"editor.record.onlineResourceError.body": "Ha successo un'errore durante l'aggiunta della risorsa:",
|
|
21352
21017
|
"editor.record.onlineResourceError.closeMessage": "Capito",
|
|
@@ -21368,7 +21033,7 @@ var it = {
|
|
|
21368
21033
|
"editor.record.resourceError.closeMessage": "Capito",
|
|
21369
21034
|
"editor.record.resourceError.title": "Errore con gli allegati",
|
|
21370
21035
|
"editor.record.saveStatus.draftWithChangesPending": "Salvato - Modifiche non pubblicate",
|
|
21371
|
-
"editor.record.saveStatus.recordNotPublished": "",
|
|
21036
|
+
"editor.record.saveStatus.recordNotPublished": "Salvato - non pubblicato",
|
|
21372
21037
|
"editor.record.saveStatus.recordUpToDate": "Salvato - Dataset aggiornato",
|
|
21373
21038
|
"editor.record.undo.confirmation.cancelText": "Mantieni le modifiche",
|
|
21374
21039
|
"editor.record.undo.confirmation.confirmText": "Annulla le modifiche",
|
|
@@ -21378,7 +21043,7 @@ var it = {
|
|
|
21378
21043
|
"editor.record.undo.tooltip.enabled": "Fare clic su questo pulsante per annullare le modifiche apportate a questo dataset",
|
|
21379
21044
|
"editor.record.upToDate": "Questo dataset è aggiornato",
|
|
21380
21045
|
"editor.sidebar.logout": "Esci",
|
|
21381
|
-
"editor.sidebar.menu.editor": "",
|
|
21046
|
+
"editor.sidebar.menu.editor": "Editore",
|
|
21382
21047
|
"editor.temporary.disabled": "Non ancora implementato",
|
|
21383
21048
|
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
21384
21049
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
@@ -21426,7 +21091,7 @@ var it = {
|
|
|
21426
21091
|
"map.add.layer": "Aggiungere un layer",
|
|
21427
21092
|
"map.add.layer.catalog": "Dal catalogo",
|
|
21428
21093
|
"map.add.layer.file": "Da un file",
|
|
21429
|
-
"map.add.layer.ogc.api": "",
|
|
21094
|
+
"map.add.layer.ogc.api": "Da OGC API",
|
|
21430
21095
|
"map.add.layer.wfs": "Da un WFS",
|
|
21431
21096
|
"map.add.layer.wms": "Da un WMS",
|
|
21432
21097
|
"map.addFromFile.placeholder": "Clicca o trascina un file qui",
|
|
@@ -21439,7 +21104,7 @@ var it = {
|
|
|
21439
21104
|
"map.loading.data": "Caricamento dati...",
|
|
21440
21105
|
"map.loading.service": "Caricamento del servizio...",
|
|
21441
21106
|
"map.navigation.message": "Si prega di utilizzare CTRL + mouse (o due dita su mobile) per navigare sulla mappa",
|
|
21442
|
-
"map.ogc.urlInput.hint": "",
|
|
21107
|
+
"map.ogc.urlInput.hint": "Inserisci URL del servizio OGC API",
|
|
21443
21108
|
"map.select.layer": "Sorgente dati",
|
|
21444
21109
|
"map.wfs.urlInput.hint": "Inserisci URL del servizio WFS",
|
|
21445
21110
|
"map.wms.urlInput.hint": "Inserisci URL del servizio WMS",
|
|
@@ -21465,10 +21130,11 @@ var it = {
|
|
|
21465
21130
|
"record.action.delete": "Elimina",
|
|
21466
21131
|
"record.action.download": "Scarica",
|
|
21467
21132
|
"record.action.duplicate": "Duplicato",
|
|
21468
|
-
"record.action.duplicating": "",
|
|
21133
|
+
"record.action.duplicating": "Duplicazione",
|
|
21134
|
+
"record.action.rollback": "Annulla",
|
|
21469
21135
|
"record.action.view": "Visualizza",
|
|
21470
21136
|
"record.externalViewer.open": "Aprire nel visualizzatore esterno",
|
|
21471
|
-
"record.feature.limit": "La
|
|
21137
|
+
"record.feature.limit": "La visualizzazione è stata disabilitata a causa di troppi elementi ",
|
|
21472
21138
|
"record.metadata.about": "Descrizione",
|
|
21473
21139
|
"record.metadata.api": "API",
|
|
21474
21140
|
"record.metadata.api.form.closeButton": "Chiude",
|
|
@@ -21588,6 +21254,8 @@ var it = {
|
|
|
21588
21254
|
"search.error.recordNotFound": "Impossibile trovare questi dati.",
|
|
21589
21255
|
"search.field.any.placeholder": "Cerca un dataset...",
|
|
21590
21256
|
"search.field.sortBy": "Ordina per:",
|
|
21257
|
+
"search.filters.availableServices.download": "",
|
|
21258
|
+
"search.filters.availableServices.view": "",
|
|
21591
21259
|
"search.filters.changeDate": "Aggiornato",
|
|
21592
21260
|
"search.filters.clear": "Ripristina",
|
|
21593
21261
|
"search.filters.contact": "Contatti",
|
|
@@ -21630,6 +21298,12 @@ var it = {
|
|
|
21630
21298
|
"share.tab.webComponent": "Incorporare",
|
|
21631
21299
|
"table.loading.data": "Caricamento dei dati...",
|
|
21632
21300
|
"table.object.count": "record in questi dati",
|
|
21301
|
+
"table.paginator.firstPage": "Prima pagina",
|
|
21302
|
+
"table.paginator.itemsPerPage": "Elementi per pagina",
|
|
21303
|
+
"table.paginator.lastPage": "Ultima pagina",
|
|
21304
|
+
"table.paginator.nextPage": "Pagina successiva",
|
|
21305
|
+
"table.paginator.previousPage": "Pagina precedente",
|
|
21306
|
+
"table.paginator.rangeLabel": "{startIndex} - {endIndex} di {total}",
|
|
21633
21307
|
"table.select.data": "Sorgente dati",
|
|
21634
21308
|
"tooltip.html.copy": "Copiare il HTML",
|
|
21635
21309
|
"tooltip.id.copy": "Copiare l'identificatore unico",
|
|
@@ -21637,6 +21311,7 @@ var it = {
|
|
|
21637
21311
|
"tooltip.url.open": "Aprire l'URL",
|
|
21638
21312
|
"ui.readLess": "Ridurre",
|
|
21639
21313
|
"ui.readMore": "Leggere di più",
|
|
21314
|
+
"wfs.aggregations.notsupported": "Aggregazioni non supportate per i servizi WFS",
|
|
21640
21315
|
"wfs.feature.limit": "Troppi oggetti per visualizzare il WFS layer!",
|
|
21641
21316
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
21642
21317
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
@@ -21671,8 +21346,6 @@ var nl = {
|
|
|
21671
21346
|
"chart.type.lineSmooth": "glad lijndiagram",
|
|
21672
21347
|
"chart.type.pie": "cirkeldiagram",
|
|
21673
21348
|
"dashboard.catalog.allRecords": "",
|
|
21674
|
-
"dashboard.catalog.contacts": "",
|
|
21675
|
-
"dashboard.catalog.thesaurus": "",
|
|
21676
21349
|
"dashboard.createRecord": "",
|
|
21677
21350
|
"dashboard.importRecord": "",
|
|
21678
21351
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -21685,29 +21358,10 @@ var nl = {
|
|
|
21685
21358
|
"dashboard.records.myDraft": "Mijn concepten",
|
|
21686
21359
|
"dashboard.records.myRecords": "Mijn Records",
|
|
21687
21360
|
"dashboard.records.search": "Zoeken naar \"{searchText}\"",
|
|
21688
|
-
"dashboard.records.templates": "",
|
|
21689
21361
|
"dashboard.records.userDetail": "",
|
|
21690
21362
|
"dashboard.records.userEmail": "",
|
|
21691
21363
|
"dashboard.records.username": "",
|
|
21692
21364
|
"dashboard.records.users": "",
|
|
21693
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
21694
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
21695
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
21696
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
21697
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
21698
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
21699
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
21700
|
-
"datafeeder.datasetValidation.title": "",
|
|
21701
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
21702
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
21703
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
21704
|
-
"datafeeder.form.abstract": "",
|
|
21705
|
-
"datafeeder.form.datepicker": "",
|
|
21706
|
-
"datafeeder.form.description": "",
|
|
21707
|
-
"datafeeder.form.dropdown": "",
|
|
21708
|
-
"datafeeder.form.tags": "",
|
|
21709
|
-
"datafeeder.form.title": "",
|
|
21710
|
-
"datafeeder.formsPage.title": "",
|
|
21711
21365
|
"datafeeder.month.april": "",
|
|
21712
21366
|
"datafeeder.month.august": "",
|
|
21713
21367
|
"datafeeder.month.december": "",
|
|
@@ -21720,59 +21374,6 @@ var nl = {
|
|
|
21720
21374
|
"datafeeder.month.november": "",
|
|
21721
21375
|
"datafeeder.month.october": "",
|
|
21722
21376
|
"datafeeder.month.september": "",
|
|
21723
|
-
"datafeeder.publish.hint": "",
|
|
21724
|
-
"datafeeder.publish.illustration.title": "",
|
|
21725
|
-
"datafeeder.publish.subtitle": "",
|
|
21726
|
-
"datafeeder.publish.title": "",
|
|
21727
|
-
"datafeeder.publish.upload": "",
|
|
21728
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
21729
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
21730
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
21731
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
21732
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
21733
|
-
"datafeeder.publishSuccess.title": "",
|
|
21734
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
21735
|
-
"datafeeder.summarizePage.illustration": "",
|
|
21736
|
-
"datafeeder.summarizePage.previous": "",
|
|
21737
|
-
"datafeeder.summarizePage.submit": "",
|
|
21738
|
-
"datafeeder.summarizePage.title": "",
|
|
21739
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
21740
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
21741
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
21742
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
21743
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
21744
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
21745
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
21746
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
21747
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
21748
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
21749
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
21750
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
21751
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
21752
|
-
"datafeeder.upload.illustration.import": "",
|
|
21753
|
-
"datafeeder.upload.illustration.title": "",
|
|
21754
|
-
"datafeeder.upload.illustration.validation": "",
|
|
21755
|
-
"datafeeder.upload.illustration.verification": "",
|
|
21756
|
-
"datafeeder.upload.inputLabel": "",
|
|
21757
|
-
"datafeeder.upload.maxFileSize": "",
|
|
21758
|
-
"datafeeder.upload.title": "",
|
|
21759
|
-
"datafeeder.upload.uploadButton": "",
|
|
21760
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
21761
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
21762
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
21763
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
21764
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
21765
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
21766
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
21767
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
21768
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
21769
|
-
"datafeeder.validation.encoding": "",
|
|
21770
|
-
"datafeeder.validation.extent.title": "",
|
|
21771
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
21772
|
-
"datafeeder.validation.projection": "",
|
|
21773
|
-
"datafeeder.validation.projection.unknown": "",
|
|
21774
|
-
"datafeeder.validation.sample.title": "",
|
|
21775
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
21776
21377
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
21777
21378
|
"datafeeder.wizardSummarize.scale": "",
|
|
21778
21379
|
"datahub.header.datasets": "",
|
|
@@ -22076,6 +21677,7 @@ var nl = {
|
|
|
22076
21677
|
"record.action.download": "",
|
|
22077
21678
|
"record.action.duplicate": "",
|
|
22078
21679
|
"record.action.duplicating": "",
|
|
21680
|
+
"record.action.rollback": "",
|
|
22079
21681
|
"record.action.view": "",
|
|
22080
21682
|
"record.externalViewer.open": "",
|
|
22081
21683
|
"record.feature.limit": "",
|
|
@@ -22198,6 +21800,8 @@ var nl = {
|
|
|
22198
21800
|
"search.error.recordNotFound": "",
|
|
22199
21801
|
"search.field.any.placeholder": "",
|
|
22200
21802
|
"search.field.sortBy": "",
|
|
21803
|
+
"search.filters.availableServices.download": "",
|
|
21804
|
+
"search.filters.availableServices.view": "",
|
|
22201
21805
|
"search.filters.changeDate": "",
|
|
22202
21806
|
"search.filters.clear": "",
|
|
22203
21807
|
"search.filters.contact": "",
|
|
@@ -22240,6 +21844,12 @@ var nl = {
|
|
|
22240
21844
|
"share.tab.webComponent": "",
|
|
22241
21845
|
"table.loading.data": "",
|
|
22242
21846
|
"table.object.count": "",
|
|
21847
|
+
"table.paginator.firstPage": "",
|
|
21848
|
+
"table.paginator.itemsPerPage": "",
|
|
21849
|
+
"table.paginator.lastPage": "",
|
|
21850
|
+
"table.paginator.nextPage": "",
|
|
21851
|
+
"table.paginator.previousPage": "",
|
|
21852
|
+
"table.paginator.rangeLabel": "",
|
|
22243
21853
|
"table.select.data": "",
|
|
22244
21854
|
"tooltip.html.copy": "",
|
|
22245
21855
|
"tooltip.id.copy": "",
|
|
@@ -22281,8 +21891,6 @@ var pt = {
|
|
|
22281
21891
|
"chart.type.lineSmooth": "gráfico de linha suave",
|
|
22282
21892
|
"chart.type.pie": "gráfico de pizza",
|
|
22283
21893
|
"dashboard.catalog.allRecords": "",
|
|
22284
|
-
"dashboard.catalog.contacts": "",
|
|
22285
|
-
"dashboard.catalog.thesaurus": "",
|
|
22286
21894
|
"dashboard.createRecord": "",
|
|
22287
21895
|
"dashboard.importRecord": "",
|
|
22288
21896
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -22295,29 +21903,10 @@ var pt = {
|
|
|
22295
21903
|
"dashboard.records.myDraft": "Meus rascunhos",
|
|
22296
21904
|
"dashboard.records.myRecords": "Meus Registros",
|
|
22297
21905
|
"dashboard.records.search": "Buscar por \"{searchText}\"",
|
|
22298
|
-
"dashboard.records.templates": "",
|
|
22299
21906
|
"dashboard.records.userDetail": "",
|
|
22300
21907
|
"dashboard.records.userEmail": "",
|
|
22301
21908
|
"dashboard.records.username": "",
|
|
22302
21909
|
"dashboard.records.users": "",
|
|
22303
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
22304
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
22305
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
22306
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
22307
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
22308
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
22309
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
22310
|
-
"datafeeder.datasetValidation.title": "",
|
|
22311
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
22312
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
22313
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
22314
|
-
"datafeeder.form.abstract": "",
|
|
22315
|
-
"datafeeder.form.datepicker": "",
|
|
22316
|
-
"datafeeder.form.description": "",
|
|
22317
|
-
"datafeeder.form.dropdown": "",
|
|
22318
|
-
"datafeeder.form.tags": "",
|
|
22319
|
-
"datafeeder.form.title": "",
|
|
22320
|
-
"datafeeder.formsPage.title": "",
|
|
22321
21910
|
"datafeeder.month.april": "",
|
|
22322
21911
|
"datafeeder.month.august": "",
|
|
22323
21912
|
"datafeeder.month.december": "",
|
|
@@ -22330,59 +21919,6 @@ var pt = {
|
|
|
22330
21919
|
"datafeeder.month.november": "",
|
|
22331
21920
|
"datafeeder.month.october": "",
|
|
22332
21921
|
"datafeeder.month.september": "",
|
|
22333
|
-
"datafeeder.publish.hint": "",
|
|
22334
|
-
"datafeeder.publish.illustration.title": "",
|
|
22335
|
-
"datafeeder.publish.subtitle": "",
|
|
22336
|
-
"datafeeder.publish.title": "",
|
|
22337
|
-
"datafeeder.publish.upload": "",
|
|
22338
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
22339
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
22340
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
22341
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
22342
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
22343
|
-
"datafeeder.publishSuccess.title": "",
|
|
22344
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
22345
|
-
"datafeeder.summarizePage.illustration": "",
|
|
22346
|
-
"datafeeder.summarizePage.previous": "",
|
|
22347
|
-
"datafeeder.summarizePage.submit": "",
|
|
22348
|
-
"datafeeder.summarizePage.title": "",
|
|
22349
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
22350
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
22351
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
22352
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
22353
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
22354
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
22355
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
22356
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
22357
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
22358
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
22359
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
22360
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
22361
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
22362
|
-
"datafeeder.upload.illustration.import": "",
|
|
22363
|
-
"datafeeder.upload.illustration.title": "",
|
|
22364
|
-
"datafeeder.upload.illustration.validation": "",
|
|
22365
|
-
"datafeeder.upload.illustration.verification": "",
|
|
22366
|
-
"datafeeder.upload.inputLabel": "",
|
|
22367
|
-
"datafeeder.upload.maxFileSize": "",
|
|
22368
|
-
"datafeeder.upload.title": "",
|
|
22369
|
-
"datafeeder.upload.uploadButton": "",
|
|
22370
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
22371
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
22372
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
22373
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
22374
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
22375
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
22376
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
22377
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
22378
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
22379
|
-
"datafeeder.validation.encoding": "",
|
|
22380
|
-
"datafeeder.validation.extent.title": "",
|
|
22381
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
22382
|
-
"datafeeder.validation.projection": "",
|
|
22383
|
-
"datafeeder.validation.projection.unknown": "",
|
|
22384
|
-
"datafeeder.validation.sample.title": "",
|
|
22385
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
22386
21922
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
22387
21923
|
"datafeeder.wizardSummarize.scale": "",
|
|
22388
21924
|
"datahub.header.datasets": "",
|
|
@@ -22686,6 +22222,7 @@ var pt = {
|
|
|
22686
22222
|
"record.action.download": "",
|
|
22687
22223
|
"record.action.duplicate": "",
|
|
22688
22224
|
"record.action.duplicating": "",
|
|
22225
|
+
"record.action.rollback": "",
|
|
22689
22226
|
"record.action.view": "",
|
|
22690
22227
|
"record.externalViewer.open": "",
|
|
22691
22228
|
"record.feature.limit": "",
|
|
@@ -22808,6 +22345,8 @@ var pt = {
|
|
|
22808
22345
|
"search.error.recordNotFound": "",
|
|
22809
22346
|
"search.field.any.placeholder": "",
|
|
22810
22347
|
"search.field.sortBy": "",
|
|
22348
|
+
"search.filters.availableServices.download": "",
|
|
22349
|
+
"search.filters.availableServices.view": "",
|
|
22811
22350
|
"search.filters.changeDate": "",
|
|
22812
22351
|
"search.filters.clear": "",
|
|
22813
22352
|
"search.filters.contact": "",
|
|
@@ -22850,6 +22389,12 @@ var pt = {
|
|
|
22850
22389
|
"share.tab.webComponent": "",
|
|
22851
22390
|
"table.loading.data": "",
|
|
22852
22391
|
"table.object.count": "",
|
|
22392
|
+
"table.paginator.firstPage": "",
|
|
22393
|
+
"table.paginator.itemsPerPage": "",
|
|
22394
|
+
"table.paginator.lastPage": "",
|
|
22395
|
+
"table.paginator.nextPage": "",
|
|
22396
|
+
"table.paginator.previousPage": "",
|
|
22397
|
+
"table.paginator.rangeLabel": "",
|
|
22853
22398
|
"table.select.data": "",
|
|
22854
22399
|
"tooltip.html.copy": "",
|
|
22855
22400
|
"tooltip.id.copy": "",
|
|
@@ -23043,6 +22588,16 @@ class Gn4FieldMapper {
|
|
|
23043
22588
|
isOpenData: (output, source) => this.addExtra({
|
|
23044
22589
|
isOpenData: selectField(source, 'isOpenData') !== 'false',
|
|
23045
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
|
+
},
|
|
23046
22601
|
isPublishedToAll: (output, source) => this.addExtra({
|
|
23047
22602
|
isPublishedToAll: selectField(source, 'isPublishedToAll'),
|
|
23048
22603
|
}, output),
|
|
@@ -23360,7 +22915,7 @@ class ElasticsearchService {
|
|
|
23360
22915
|
this.runtimeFields = {};
|
|
23361
22916
|
this.lang3 = this.langService.iso3;
|
|
23362
22917
|
}
|
|
23363
|
-
getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields =
|
|
22918
|
+
getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields = null, searchFilters = {}, configFilters = {}, uuids, geometry) {
|
|
23364
22919
|
const payload = {
|
|
23365
22920
|
aggregations,
|
|
23366
22921
|
from,
|
|
@@ -23368,7 +22923,7 @@ class ElasticsearchService {
|
|
|
23368
22923
|
sort: this.buildPayloadSort(sortBy),
|
|
23369
22924
|
query: this.buildPayloadQuery(searchFilters, configFilters, uuids, geometry),
|
|
23370
22925
|
...(size > 0 ? { track_total_hits: true } : {}),
|
|
23371
|
-
_source: requestFields,
|
|
22926
|
+
...(requestFields && { _source: requestFields }),
|
|
23372
22927
|
};
|
|
23373
22928
|
this.processRuntimeFields(payload);
|
|
23374
22929
|
return payload;
|
|
@@ -23428,7 +22983,7 @@ class ElasticsearchService {
|
|
|
23428
22983
|
},
|
|
23429
22984
|
};
|
|
23430
22985
|
}
|
|
23431
|
-
getRelatedRecordPayload(
|
|
22986
|
+
getRelatedRecordPayload(record, size = 6, _source = [...ES_SOURCE_SUMMARY, 'allKeywords', 'createDate']) {
|
|
23432
22987
|
return {
|
|
23433
22988
|
query: {
|
|
23434
22989
|
bool: {
|
|
@@ -23438,9 +22993,21 @@ class ElasticsearchService {
|
|
|
23438
22993
|
fields: [
|
|
23439
22994
|
'resourceTitleObject.default',
|
|
23440
22995
|
'resourceAbstractObject.default',
|
|
23441
|
-
'
|
|
22996
|
+
'allKeywords',
|
|
22997
|
+
],
|
|
22998
|
+
like: [
|
|
22999
|
+
{
|
|
23000
|
+
doc: {
|
|
23001
|
+
resourceTitleObject: {
|
|
23002
|
+
default: record.title,
|
|
23003
|
+
},
|
|
23004
|
+
resourceAbstractObject: {
|
|
23005
|
+
default: record.abstract,
|
|
23006
|
+
},
|
|
23007
|
+
allKeywords: record.keywords.map((keyword) => keyword.label),
|
|
23008
|
+
},
|
|
23009
|
+
},
|
|
23442
23010
|
],
|
|
23443
|
-
like: title,
|
|
23444
23011
|
min_term_freq: 1,
|
|
23445
23012
|
max_query_terms: 12,
|
|
23446
23013
|
},
|
|
@@ -23456,7 +23023,7 @@ class ElasticsearchService {
|
|
|
23456
23023
|
},
|
|
23457
23024
|
},
|
|
23458
23025
|
],
|
|
23459
|
-
must_not: [{ wildcard: { uuid:
|
|
23026
|
+
must_not: [{ wildcard: { uuid: record.uniqueIdentifier } }],
|
|
23460
23027
|
},
|
|
23461
23028
|
},
|
|
23462
23029
|
size,
|
|
@@ -23503,6 +23070,7 @@ class ElasticsearchService {
|
|
|
23503
23070
|
return this.metadataLang === 'current';
|
|
23504
23071
|
}
|
|
23505
23072
|
filtersToQuery(filters) {
|
|
23073
|
+
const addQuote = (key) => (/^\/.+\/$/.test(key) ? key : `"${key}"`);
|
|
23506
23074
|
const makeQuery = (filter) => {
|
|
23507
23075
|
if (typeof filter === 'string') {
|
|
23508
23076
|
return filter;
|
|
@@ -23510,9 +23078,9 @@ class ElasticsearchService {
|
|
|
23510
23078
|
return Object.keys(filter)
|
|
23511
23079
|
.map((key) => {
|
|
23512
23080
|
if (filter[key] === true) {
|
|
23513
|
-
return
|
|
23081
|
+
return addQuote(key);
|
|
23514
23082
|
}
|
|
23515
|
-
return
|
|
23083
|
+
return `-${addQuote(key)}`;
|
|
23516
23084
|
})
|
|
23517
23085
|
.join(' OR ');
|
|
23518
23086
|
};
|
|
@@ -23555,16 +23123,26 @@ class ElasticsearchService {
|
|
|
23555
23123
|
].filter(Boolean);
|
|
23556
23124
|
return queryParts.length > 0 ? queryParts : undefined;
|
|
23557
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
|
+
}
|
|
23558
23143
|
buildPayloadQuery({ any, ...fieldSearchFilters }, configFilters, uuids, geometry) {
|
|
23559
23144
|
const must = [];
|
|
23560
|
-
const must_not =
|
|
23561
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23562
|
-
'service',
|
|
23563
|
-
'map',
|
|
23564
|
-
'map/static',
|
|
23565
|
-
'mapDigital',
|
|
23566
|
-
]),
|
|
23567
|
-
};
|
|
23145
|
+
const must_not = this.mustNotFilters();
|
|
23568
23146
|
const should = [];
|
|
23569
23147
|
const filter = [this.queryFilterOnValues('isTemplate', 'n')];
|
|
23570
23148
|
if (any) {
|
|
@@ -23650,14 +23228,7 @@ class ElasticsearchService {
|
|
|
23650
23228
|
},
|
|
23651
23229
|
},
|
|
23652
23230
|
],
|
|
23653
|
-
must_not:
|
|
23654
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23655
|
-
'service',
|
|
23656
|
-
'map',
|
|
23657
|
-
'map/static',
|
|
23658
|
-
'mapDigital',
|
|
23659
|
-
]),
|
|
23660
|
-
},
|
|
23231
|
+
must_not: this.mustNotFilters(),
|
|
23661
23232
|
},
|
|
23662
23233
|
},
|
|
23663
23234
|
_source: ['resourceTitleObject', 'uuid'],
|
|
@@ -23758,13 +23329,15 @@ class ElasticsearchService {
|
|
|
23758
23329
|
switch (aggregation.type) {
|
|
23759
23330
|
case 'filters':
|
|
23760
23331
|
return {
|
|
23761
|
-
filters:
|
|
23762
|
-
|
|
23763
|
-
|
|
23764
|
-
|
|
23765
|
-
|
|
23766
|
-
|
|
23767
|
-
|
|
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
|
+
},
|
|
23768
23341
|
};
|
|
23769
23342
|
case 'terms':
|
|
23770
23343
|
return {
|
|
@@ -23872,12 +23445,32 @@ class Gn4Repository {
|
|
|
23872
23445
|
}
|
|
23873
23446
|
getRecord(uniqueIdentifier) {
|
|
23874
23447
|
return this.gn4SearchApi
|
|
23875
|
-
.search('bucket',
|
|
23448
|
+
.search('bucket', ['fcats'], JSON.stringify(this.gn4SearchHelper.getMetadataByIdPayload(uniqueIdentifier)))
|
|
23876
23449
|
.pipe(map$1((results) => results.hits.hits[0]), switchMap((record) => record ? this.gn4Mapper.readRecord(record) : of(null)));
|
|
23877
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
|
+
}
|
|
23878
23471
|
getSimilarRecords(similarTo) {
|
|
23879
23472
|
return this.gn4SearchApi
|
|
23880
|
-
.search('bucket', null, JSON.stringify(this.gn4SearchHelper.getRelatedRecordPayload(similarTo
|
|
23473
|
+
.search('bucket', null, JSON.stringify(this.gn4SearchHelper.getRelatedRecordPayload(similarTo, 3)))
|
|
23881
23474
|
.pipe(switchMap((results) => this.gn4Mapper.readRecords(results.hits.hits)));
|
|
23882
23475
|
}
|
|
23883
23476
|
aggregate(params) {
|
|
@@ -26260,66 +25853,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26260
25853
|
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" }]
|
|
26261
25854
|
}] });
|
|
26262
25855
|
|
|
26263
|
-
class StepBarComponent {
|
|
26264
|
-
constructor(cdr) {
|
|
26265
|
-
this.cdr = cdr;
|
|
26266
|
-
this.currentStep = 1;
|
|
26267
|
-
this.type = 'default';
|
|
26268
|
-
}
|
|
26269
|
-
get stepCounter() {
|
|
26270
|
-
return new Array(this.steps);
|
|
26271
|
-
}
|
|
26272
|
-
get color() {
|
|
26273
|
-
switch (this.type) {
|
|
26274
|
-
case 'default':
|
|
26275
|
-
return {
|
|
26276
|
-
outerBar: 'bg-gray-200',
|
|
26277
|
-
innerBar: 'bg-gray-100',
|
|
26278
|
-
};
|
|
26279
|
-
case 'primary':
|
|
26280
|
-
return {
|
|
26281
|
-
outerBar: 'bg-primary',
|
|
26282
|
-
innerBar: 'bg-primary-lighter',
|
|
26283
|
-
};
|
|
26284
|
-
case 'secondary':
|
|
26285
|
-
return {
|
|
26286
|
-
outerBar: 'bg-secondary',
|
|
26287
|
-
innerBar: 'bg-secondary-lighter',
|
|
26288
|
-
};
|
|
26289
|
-
}
|
|
26290
|
-
}
|
|
26291
|
-
getCircleColor(index) {
|
|
26292
|
-
return index === this.currentStep
|
|
26293
|
-
? 'bg-black'
|
|
26294
|
-
: index < this.currentStep
|
|
26295
|
-
? 'bg-white'
|
|
26296
|
-
: this.color.innerBar;
|
|
26297
|
-
}
|
|
26298
|
-
getChecked(index) {
|
|
26299
|
-
return index + 1 < this.currentStep;
|
|
26300
|
-
}
|
|
26301
|
-
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 }); }
|
|
26302
|
-
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"] }] }); }
|
|
26303
|
-
}
|
|
26304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepBarComponent, decorators: [{
|
|
26305
|
-
type: Component,
|
|
26306
|
-
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"] }]
|
|
26307
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { steps: [{
|
|
26308
|
-
type: Input
|
|
26309
|
-
}], currentStep: [{
|
|
26310
|
-
type: Input
|
|
26311
|
-
}], type: [{
|
|
26312
|
-
type: Input
|
|
26313
|
-
}] } });
|
|
26314
|
-
|
|
26315
25856
|
class UiWidgetsModule {
|
|
26316
25857
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
26317
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, declarations: [ColorScaleComponent
|
|
25858
|
+
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,
|
|
26318
25859
|
FormsModule,
|
|
26319
25860
|
ReactiveFormsModule,
|
|
26320
25861
|
TagInputModule,
|
|
26321
25862
|
UtilSharedModule,
|
|
26322
|
-
MatProgressSpinnerModule]
|
|
25863
|
+
MatProgressSpinnerModule] }); }
|
|
26323
25864
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, imports: [CommonModule,
|
|
26324
25865
|
TranslateModule.forChild(),
|
|
26325
25866
|
NgxDropzoneModule,
|
|
@@ -26332,7 +25873,7 @@ class UiWidgetsModule {
|
|
|
26332
25873
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, decorators: [{
|
|
26333
25874
|
type: NgModule,
|
|
26334
25875
|
args: [{
|
|
26335
|
-
declarations: [ColorScaleComponent
|
|
25876
|
+
declarations: [ColorScaleComponent],
|
|
26336
25877
|
imports: [
|
|
26337
25878
|
CommonModule,
|
|
26338
25879
|
TranslateModule.forChild(),
|
|
@@ -26343,7 +25884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26343
25884
|
UtilSharedModule,
|
|
26344
25885
|
MatProgressSpinnerModule,
|
|
26345
25886
|
],
|
|
26346
|
-
exports: [
|
|
25887
|
+
exports: [],
|
|
26347
25888
|
}]
|
|
26348
25889
|
}] });
|
|
26349
25890
|
|
|
@@ -26587,6 +26128,7 @@ class AutocompleteComponent {
|
|
|
26587
26128
|
this.minCharacterCount = 3;
|
|
26588
26129
|
// this will show a submit button next to the input; if false, a search icon will appear on the left
|
|
26589
26130
|
this.allowSubmit = false;
|
|
26131
|
+
this.forceTrackPosition = false;
|
|
26590
26132
|
this.itemSelected = new EventEmitter();
|
|
26591
26133
|
this.inputSubmitted = new EventEmitter();
|
|
26592
26134
|
this.inputCleared = new EventEmitter();
|
|
@@ -26596,12 +26138,30 @@ class AutocompleteComponent {
|
|
|
26596
26138
|
this.lastInputValue$ = new ReplaySubject(1);
|
|
26597
26139
|
this.error = null;
|
|
26598
26140
|
this.subscription = new Subscription();
|
|
26141
|
+
this.lastPosition = null;
|
|
26599
26142
|
this.displayWithFn = (item) => item.toString();
|
|
26600
26143
|
this.displayWithFnInternal = (item) => {
|
|
26601
26144
|
if (item === null || item === undefined)
|
|
26602
26145
|
return null;
|
|
26603
26146
|
return this.displayWithFn(item);
|
|
26604
26147
|
};
|
|
26148
|
+
/**
|
|
26149
|
+
* !!! This function is used only for web component mode,
|
|
26150
|
+
* the autocomplete dropdown may not update its position
|
|
26151
|
+
* if the page or container is disabling wind scroll.
|
|
26152
|
+
*/
|
|
26153
|
+
this.trackPosition = () => {
|
|
26154
|
+
const dropdownOpened = this.triggerRef && this.triggerRef.panelOpen;
|
|
26155
|
+
const rect = this.inputRef.nativeElement.getBoundingClientRect();
|
|
26156
|
+
if (dropdownOpened &&
|
|
26157
|
+
(!this.lastPosition ||
|
|
26158
|
+
rect.top !== this.lastPosition.top ||
|
|
26159
|
+
rect.left !== this.lastPosition.left)) {
|
|
26160
|
+
this.triggerRef.updatePosition();
|
|
26161
|
+
}
|
|
26162
|
+
this.lastPosition = rect;
|
|
26163
|
+
requestAnimationFrame(this.trackPosition);
|
|
26164
|
+
};
|
|
26605
26165
|
}
|
|
26606
26166
|
ngOnChanges(changes) {
|
|
26607
26167
|
const { value } = changes;
|
|
@@ -26620,7 +26180,12 @@ class AutocompleteComponent {
|
|
|
26620
26180
|
const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap$1(() => {
|
|
26621
26181
|
this.searching = true;
|
|
26622
26182
|
this.error = null;
|
|
26623
|
-
}), switchMap$1((value) => this.action(value)),
|
|
26183
|
+
}), switchMap$1((value) => this.action(value)), tap$1((suggestions) => {
|
|
26184
|
+
// forcing the panel to open if there are suggestions
|
|
26185
|
+
if (suggestions.length > 0) {
|
|
26186
|
+
this.triggerRef?.openPanel();
|
|
26187
|
+
}
|
|
26188
|
+
}), catchError((error) => {
|
|
26624
26189
|
this.error = error.message;
|
|
26625
26190
|
return of([]);
|
|
26626
26191
|
}), finalize(() => (this.searching = false)));
|
|
@@ -26648,9 +26213,23 @@ class AutocompleteComponent {
|
|
|
26648
26213
|
this.inputRef.nativeElement.focus();
|
|
26649
26214
|
this.cdRef.detectChanges();
|
|
26650
26215
|
}
|
|
26216
|
+
this.startTrackingPosition();
|
|
26217
|
+
}
|
|
26218
|
+
/**
|
|
26219
|
+
* !!! This function is used only for web component mode,
|
|
26220
|
+
* the autocomplete dropdown may not update its position
|
|
26221
|
+
* if the page or container is disabling wind scroll.
|
|
26222
|
+
*/
|
|
26223
|
+
startTrackingPosition() {
|
|
26224
|
+
if (this.forceTrackPosition) {
|
|
26225
|
+
requestAnimationFrame(this.trackPosition);
|
|
26226
|
+
}
|
|
26651
26227
|
}
|
|
26652
26228
|
ngOnDestroy() {
|
|
26653
26229
|
this.subscription?.unsubscribe();
|
|
26230
|
+
if (this.intervalIdPosition) {
|
|
26231
|
+
clearInterval(this.intervalIdPosition);
|
|
26232
|
+
}
|
|
26654
26233
|
}
|
|
26655
26234
|
updateInputValue(value) {
|
|
26656
26235
|
if (value) {
|
|
@@ -26698,7 +26277,7 @@ class AutocompleteComponent {
|
|
|
26698
26277
|
}
|
|
26699
26278
|
}
|
|
26700
26279
|
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 }); }
|
|
26701
|
-
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: [
|
|
26280
|
+
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: [
|
|
26702
26281
|
provideIcons({
|
|
26703
26282
|
iconoirSearch,
|
|
26704
26283
|
matClose,
|
|
@@ -26743,6 +26322,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26743
26322
|
type: Input
|
|
26744
26323
|
}], allowSubmit: [{
|
|
26745
26324
|
type: Input
|
|
26325
|
+
}], forceTrackPosition: [{
|
|
26326
|
+
type: Input
|
|
26746
26327
|
}], itemSelected: [{
|
|
26747
26328
|
type: Output
|
|
26748
26329
|
}], inputSubmitted: [{
|
|
@@ -26856,72 +26437,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26856
26437
|
type: Output
|
|
26857
26438
|
}] } });
|
|
26858
26439
|
|
|
26859
|
-
class ChipsInputComponent {
|
|
26860
|
-
onChange(event) {
|
|
26861
|
-
this.rawChange.next(event);
|
|
26862
|
-
}
|
|
26863
|
-
constructor(http, translate) {
|
|
26864
|
-
this.http = http;
|
|
26865
|
-
this.translate = translate;
|
|
26866
|
-
this.required = false;
|
|
26867
|
-
this.loadOnce = false;
|
|
26868
|
-
this.autocompleteItems = [];
|
|
26869
|
-
this.invalid = false;
|
|
26870
|
-
this.items = [];
|
|
26871
|
-
this.requestAutocompleteItems = (text) => {
|
|
26872
|
-
if (this.url) {
|
|
26873
|
-
if (this.loadOnce && this.loadedItems) {
|
|
26874
|
-
return this.loadedItems;
|
|
26875
|
-
}
|
|
26876
|
-
const url = this.url(text);
|
|
26877
|
-
const lang = LANG_2_TO_3_MAPPER[this.translate.currentLang.slice(0, 2)];
|
|
26878
|
-
return this.http
|
|
26879
|
-
.get(url.replace('${lang}', lang))
|
|
26880
|
-
.pipe(map$1((item) => item.map((i) => i.values[lang])));
|
|
26881
|
-
}
|
|
26882
|
-
else {
|
|
26883
|
-
return of(this.autocompleteItems || []);
|
|
26884
|
-
}
|
|
26885
|
-
};
|
|
26886
|
-
this.rawChange = new Subject();
|
|
26887
|
-
this.itemsChange = this.rawChange.pipe(distinctUntilChanged());
|
|
26888
|
-
this.subscription = new Subscription();
|
|
26889
|
-
}
|
|
26890
|
-
ngOnInit() {
|
|
26891
|
-
if (this.loadOnce) {
|
|
26892
|
-
this.loadedItems = this.requestAutocompleteItems('*').pipe(shareReplay(1));
|
|
26893
|
-
}
|
|
26894
|
-
this.items = this.selectedItems;
|
|
26895
|
-
this.subscription = this.rawChange
|
|
26896
|
-
.pipe(tap$1((v) => (this.invalid = v.length === 0)))
|
|
26897
|
-
.subscribe();
|
|
26898
|
-
this.rawChange.next(this.items);
|
|
26899
|
-
}
|
|
26900
|
-
ngOnDestroy() {
|
|
26901
|
-
this.subscription.unsubscribe();
|
|
26902
|
-
}
|
|
26903
|
-
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 }); }
|
|
26904
|
-
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"] }] }); }
|
|
26905
|
-
}
|
|
26906
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChipsInputComponent, decorators: [{
|
|
26907
|
-
type: Component,
|
|
26908
|
-
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"] }]
|
|
26909
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.TranslateService }], propDecorators: { url: [{
|
|
26910
|
-
type: Input
|
|
26911
|
-
}], placeholder: [{
|
|
26912
|
-
type: Input
|
|
26913
|
-
}], selectedItems: [{
|
|
26914
|
-
type: Input
|
|
26915
|
-
}], required: [{
|
|
26916
|
-
type: Input
|
|
26917
|
-
}], loadOnce: [{
|
|
26918
|
-
type: Input
|
|
26919
|
-
}], autocompleteItems: [{
|
|
26920
|
-
type: Input
|
|
26921
|
-
}], itemsChange: [{
|
|
26922
|
-
type: Output
|
|
26923
|
-
}] } });
|
|
26924
|
-
|
|
26925
26440
|
class CopyTextButtonComponent {
|
|
26926
26441
|
constructor() {
|
|
26927
26442
|
this.displayText = true;
|
|
@@ -28001,7 +27516,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28001
27516
|
class UiInputsModule {
|
|
28002
27517
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
28003
27518
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, declarations: [DragAndDropFileInputComponent,
|
|
28004
|
-
ChipsInputComponent,
|
|
28005
27519
|
DropdownMultiselectComponent,
|
|
28006
27520
|
ViewportIntersectorComponent,
|
|
28007
27521
|
CheckboxComponent], imports: [CommonModule, i1$1.TranslateModule, NgxDropzoneModule,
|
|
@@ -28029,7 +27543,6 @@ class UiInputsModule {
|
|
|
28029
27543
|
ButtonComponent,
|
|
28030
27544
|
DragAndDropFileInputComponent,
|
|
28031
27545
|
TextAreaComponent,
|
|
28032
|
-
ChipsInputComponent,
|
|
28033
27546
|
DropdownMultiselectComponent,
|
|
28034
27547
|
ViewportIntersectorComponent,
|
|
28035
27548
|
CheckToggleComponent,
|
|
@@ -28074,7 +27587,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28074
27587
|
args: [{
|
|
28075
27588
|
declarations: [
|
|
28076
27589
|
DragAndDropFileInputComponent,
|
|
28077
|
-
ChipsInputComponent,
|
|
28078
27590
|
DropdownMultiselectComponent,
|
|
28079
27591
|
ViewportIntersectorComponent,
|
|
28080
27592
|
CheckboxComponent,
|
|
@@ -28120,7 +27632,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28120
27632
|
ButtonComponent,
|
|
28121
27633
|
DragAndDropFileInputComponent,
|
|
28122
27634
|
TextAreaComponent,
|
|
28123
|
-
ChipsInputComponent,
|
|
28124
27635
|
DropdownMultiselectComponent,
|
|
28125
27636
|
ViewportIntersectorComponent,
|
|
28126
27637
|
CheckToggleComponent,
|
|
@@ -28786,7 +28297,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28786
28297
|
|
|
28787
28298
|
class MarkdownParserComponent {
|
|
28788
28299
|
get parsedMarkdown() {
|
|
28789
|
-
return marked.parse(this.textContent);
|
|
28300
|
+
return marked.parse(this.textContent ?? '');
|
|
28790
28301
|
}
|
|
28791
28302
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MarkdownParserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28792
28303
|
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 }); }
|
|
@@ -30030,6 +29541,7 @@ class RecordApiFormComponent {
|
|
|
30030
29541
|
maxFeatures: limit !== '-1' ? Number(limit) : undefined,
|
|
30031
29542
|
limit: limit !== '-1' ? Number(limit) : -1,
|
|
30032
29543
|
offset: offset !== '' ? Number(offset) : undefined,
|
|
29544
|
+
outputCrs: format === ('application/json' || 'geojson') ? 'EPSG:4326' : undefined,
|
|
30033
29545
|
};
|
|
30034
29546
|
if (this.endpoint instanceof WfsEndpoint) {
|
|
30035
29547
|
delete options.limit;
|
|
@@ -30161,6 +29673,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30161
29673
|
type: Input
|
|
30162
29674
|
}] } });
|
|
30163
29675
|
|
|
29676
|
+
class ApplicationBannerComponent {
|
|
29677
|
+
constructor() {
|
|
29678
|
+
this.closeEnabled = false;
|
|
29679
|
+
this.extraClass = '';
|
|
29680
|
+
this.icon = '';
|
|
29681
|
+
this.msgClass = '';
|
|
29682
|
+
this.bannerOpen = true;
|
|
29683
|
+
}
|
|
29684
|
+
set type(value) {
|
|
29685
|
+
switch (value) {
|
|
29686
|
+
case 'primary':
|
|
29687
|
+
this.msgClass = 'bg-primary-darkest border-primary text-white';
|
|
29688
|
+
this.icon = 'matWarning';
|
|
29689
|
+
break;
|
|
29690
|
+
case 'light':
|
|
29691
|
+
this.msgClass =
|
|
29692
|
+
'bg-primary-opacity-10 border-primary-lightest text-black';
|
|
29693
|
+
this.icon = 'matInfoOutline';
|
|
29694
|
+
break;
|
|
29695
|
+
case 'secondary':
|
|
29696
|
+
default:
|
|
29697
|
+
this.msgClass = 'bg-primary-opacity-50 border-primary-darker text-black';
|
|
29698
|
+
this.icon = 'matWarningAmberOutline';
|
|
29699
|
+
break;
|
|
29700
|
+
}
|
|
29701
|
+
}
|
|
29702
|
+
get classList() {
|
|
29703
|
+
if (this.message.length > 200) {
|
|
29704
|
+
return `${this.msgClass} ${this.extraClass} overflow-y-scroll items-start`;
|
|
29705
|
+
}
|
|
29706
|
+
return `${this.msgClass} ${this.extraClass} items-center`;
|
|
29707
|
+
}
|
|
29708
|
+
closeMessage() {
|
|
29709
|
+
this.bannerOpen = false;
|
|
29710
|
+
}
|
|
29711
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29712
|
+
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: [
|
|
29713
|
+
provideIcons({
|
|
29714
|
+
matWarningAmberOutline,
|
|
29715
|
+
matInfoOutline,
|
|
29716
|
+
matCloseOutline,
|
|
29717
|
+
matWarning,
|
|
29718
|
+
}),
|
|
29719
|
+
provideNgIconsConfig({ size: '1.5em' }),
|
|
29720
|
+
], 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 }); }
|
|
29721
|
+
}
|
|
29722
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, decorators: [{
|
|
29723
|
+
type: Component,
|
|
29724
|
+
args: [{ selector: 'gn-ui-application-banner', standalone: true, imports: [CommonModule, NgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
29725
|
+
provideIcons({
|
|
29726
|
+
matWarningAmberOutline,
|
|
29727
|
+
matInfoOutline,
|
|
29728
|
+
matCloseOutline,
|
|
29729
|
+
matWarning,
|
|
29730
|
+
}),
|
|
29731
|
+
provideNgIconsConfig({ size: '1.5em' }),
|
|
29732
|
+
], 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" }]
|
|
29733
|
+
}], propDecorators: { message: [{
|
|
29734
|
+
type: Input
|
|
29735
|
+
}], title: [{
|
|
29736
|
+
type: Input
|
|
29737
|
+
}], closeEnabled: [{
|
|
29738
|
+
type: Input
|
|
29739
|
+
}], extraClass: [{
|
|
29740
|
+
type: Input
|
|
29741
|
+
}], icon: [{
|
|
29742
|
+
type: Input
|
|
29743
|
+
}], type: [{
|
|
29744
|
+
type: Input
|
|
29745
|
+
}] } });
|
|
29746
|
+
|
|
30164
29747
|
class UiElementsModule {
|
|
30165
29748
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
30166
29749
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, declarations: [AvatarComponent, UserPreviewComponent], imports: [CommonModule,
|
|
@@ -30178,11 +29761,13 @@ class UiElementsModule {
|
|
|
30178
29761
|
BadgeComponent,
|
|
30179
29762
|
MaxLinesComponent,
|
|
30180
29763
|
TextInputComponent,
|
|
30181
|
-
ImageInputComponent
|
|
29764
|
+
ImageInputComponent,
|
|
29765
|
+
ApplicationBannerComponent], exports: [ThumbnailComponent,
|
|
30182
29766
|
AvatarComponent,
|
|
30183
29767
|
UserPreviewComponent,
|
|
30184
29768
|
MarkdownParserComponent,
|
|
30185
|
-
ImageInputComponent
|
|
29769
|
+
ImageInputComponent,
|
|
29770
|
+
ApplicationBannerComponent] }); }
|
|
30186
29771
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
|
|
30187
29772
|
provideNgIconsConfig({
|
|
30188
29773
|
size: '1.5em',
|
|
@@ -30201,7 +29786,8 @@ class UiElementsModule {
|
|
|
30201
29786
|
BadgeComponent,
|
|
30202
29787
|
MaxLinesComponent,
|
|
30203
29788
|
TextInputComponent,
|
|
30204
|
-
ImageInputComponent
|
|
29789
|
+
ImageInputComponent,
|
|
29790
|
+
ApplicationBannerComponent] }); }
|
|
30205
29791
|
}
|
|
30206
29792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
|
|
30207
29793
|
type: NgModule,
|
|
@@ -30225,6 +29811,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30225
29811
|
MaxLinesComponent,
|
|
30226
29812
|
TextInputComponent,
|
|
30227
29813
|
ImageInputComponent,
|
|
29814
|
+
ApplicationBannerComponent,
|
|
30228
29815
|
],
|
|
30229
29816
|
providers: [
|
|
30230
29817
|
provideNgIconsConfig({
|
|
@@ -30238,6 +29825,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30238
29825
|
UserPreviewComponent,
|
|
30239
29826
|
MarkdownParserComponent,
|
|
30240
29827
|
ImageInputComponent,
|
|
29828
|
+
ApplicationBannerComponent,
|
|
30241
29829
|
],
|
|
30242
29830
|
}]
|
|
30243
29831
|
}] });
|
|
@@ -30439,6 +30027,7 @@ class ActionMenuComponent {
|
|
|
30439
30027
|
this.duplicate = new EventEmitter();
|
|
30440
30028
|
this.delete = new EventEmitter();
|
|
30441
30029
|
this.closeActionMenu = new EventEmitter();
|
|
30030
|
+
this.rollback = new EventEmitter();
|
|
30442
30031
|
this.sectionDisplayed = 'mainMenu';
|
|
30443
30032
|
}
|
|
30444
30033
|
openMenu() {
|
|
@@ -30449,11 +30038,16 @@ class ActionMenuComponent {
|
|
|
30449
30038
|
this.cdr.markForCheck();
|
|
30450
30039
|
}
|
|
30451
30040
|
displayDeleteMenu() {
|
|
30452
|
-
this.
|
|
30041
|
+
if (this.isDraftPage) {
|
|
30042
|
+
this.sectionDisplayed = 'rollbackMenu';
|
|
30043
|
+
}
|
|
30044
|
+
else {
|
|
30045
|
+
this.sectionDisplayed = 'deleteMenu';
|
|
30046
|
+
}
|
|
30453
30047
|
this.cdr.markForCheck();
|
|
30454
30048
|
}
|
|
30455
30049
|
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 }); }
|
|
30456
|
-
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"] }] }); }
|
|
30050
|
+
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"] }] }); }
|
|
30457
30051
|
}
|
|
30458
30052
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, decorators: [{
|
|
30459
30053
|
type: Component,
|
|
@@ -30464,17 +30058,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30464
30058
|
MatDialogModule,
|
|
30465
30059
|
ConfirmationDialogComponent,
|
|
30466
30060
|
TranslateModule,
|
|
30467
|
-
], 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" }]
|
|
30061
|
+
], 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" }]
|
|
30468
30062
|
}], ctorParameters: () => [{ type: i1$b.MatDialog }, { type: i0.ChangeDetectorRef }], propDecorators: { canDuplicate: [{
|
|
30469
30063
|
type: Input
|
|
30470
30064
|
}], canDelete: [{
|
|
30471
30065
|
type: Input
|
|
30066
|
+
}], isDraftPage: [{
|
|
30067
|
+
type: Input
|
|
30472
30068
|
}], duplicate: [{
|
|
30473
30069
|
type: Output
|
|
30474
30070
|
}], delete: [{
|
|
30475
30071
|
type: Output
|
|
30476
30072
|
}], closeActionMenu: [{
|
|
30477
30073
|
type: Output
|
|
30074
|
+
}], rollback: [{
|
|
30075
|
+
type: Output
|
|
30478
30076
|
}], trigger: [{
|
|
30479
30077
|
type: ViewChild,
|
|
30480
30078
|
args: [MatMenuTrigger]
|
|
@@ -30499,6 +30097,7 @@ class ResultsTableComponent {
|
|
|
30499
30097
|
this.recordClick = new EventEmitter();
|
|
30500
30098
|
this.duplicateRecord = new EventEmitter();
|
|
30501
30099
|
this.deleteRecord = new EventEmitter();
|
|
30100
|
+
this.rollbackDraft = new EventEmitter();
|
|
30502
30101
|
this.recordsSelectedChange = new EventEmitter();
|
|
30503
30102
|
this.isActionMenuOpen = false;
|
|
30504
30103
|
}
|
|
@@ -30577,6 +30176,10 @@ class ResultsTableComponent {
|
|
|
30577
30176
|
this.deleteRecord.emit(item);
|
|
30578
30177
|
this.closeActionMenu();
|
|
30579
30178
|
}
|
|
30179
|
+
handleRollback(item) {
|
|
30180
|
+
this.rollbackDraft.emit(item);
|
|
30181
|
+
this.closeActionMenu();
|
|
30182
|
+
}
|
|
30580
30183
|
setSortBy(col, order) {
|
|
30581
30184
|
this.sortByChange.emit([col, order]);
|
|
30582
30185
|
}
|
|
@@ -30601,7 +30204,7 @@ class ResultsTableComponent {
|
|
|
30601
30204
|
this.recordsSelectedChange.emit([[record], selected]);
|
|
30602
30205
|
}
|
|
30603
30206
|
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 }); }
|
|
30604
|
-
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"] }] }); }
|
|
30207
|
+
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"] }] }); }
|
|
30605
30208
|
}
|
|
30606
30209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
30607
30210
|
type: Component,
|
|
@@ -30615,7 +30218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30615
30218
|
ActionMenuComponent,
|
|
30616
30219
|
NgIconComponent,
|
|
30617
30220
|
CdkOverlayOrigin,
|
|
30618
|
-
], 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" }]
|
|
30221
|
+
], 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" }]
|
|
30619
30222
|
}], ctorParameters: () => [{ type: i1$9.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: DateService }], propDecorators: { records: [{
|
|
30620
30223
|
type: Input
|
|
30621
30224
|
}], selectedRecordsIdentifiers: [{
|
|
@@ -30640,6 +30243,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30640
30243
|
type: Output
|
|
30641
30244
|
}], deleteRecord: [{
|
|
30642
30245
|
type: Output
|
|
30246
|
+
}], rollbackDraft: [{
|
|
30247
|
+
type: Output
|
|
30643
30248
|
}], recordsSelectedChange: [{
|
|
30644
30249
|
type: Output
|
|
30645
30250
|
}], actionMenuButtons: [{
|
|
@@ -31653,6 +31258,7 @@ class FuzzySearchComponent {
|
|
|
31653
31258
|
this.searchService = searchService;
|
|
31654
31259
|
this.recordsRepository = recordsRepository;
|
|
31655
31260
|
this.autoFocus = false;
|
|
31261
|
+
this.forceTrackPosition = false;
|
|
31656
31262
|
this.itemSelected = new EventEmitter();
|
|
31657
31263
|
this.inputSubmitted = new EventEmitter();
|
|
31658
31264
|
this.displayWithFn = (record) => record.title;
|
|
@@ -31695,16 +31301,18 @@ class FuzzySearchComponent {
|
|
|
31695
31301
|
}
|
|
31696
31302
|
}
|
|
31697
31303
|
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 }); }
|
|
31698
|
-
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 }); }
|
|
31304
|
+
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 }); }
|
|
31699
31305
|
}
|
|
31700
31306
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FuzzySearchComponent, decorators: [{
|
|
31701
31307
|
type: Component,
|
|
31702
|
-
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" }]
|
|
31308
|
+
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" }]
|
|
31703
31309
|
}], ctorParameters: () => [{ type: SearchFacade }, { type: SearchService }, { type: RecordsRepositoryInterface }], propDecorators: { autocomplete: [{
|
|
31704
31310
|
type: ViewChild,
|
|
31705
31311
|
args: [AutocompleteComponent]
|
|
31706
31312
|
}], autoFocus: [{
|
|
31707
31313
|
type: Input
|
|
31314
|
+
}], forceTrackPosition: [{
|
|
31315
|
+
type: Input
|
|
31708
31316
|
}], itemSelected: [{
|
|
31709
31317
|
type: Output
|
|
31710
31318
|
}], inputSubmitted: [{
|
|
@@ -32468,6 +32076,51 @@ class DateRangeSearchField extends SimpleSearchField {
|
|
|
32468
32076
|
return 'dateRange';
|
|
32469
32077
|
}
|
|
32470
32078
|
}
|
|
32079
|
+
marker('search.filters.availableServices.view');
|
|
32080
|
+
marker('search.filters.availableServices.download');
|
|
32081
|
+
class AvailableServicesField extends SimpleSearchField {
|
|
32082
|
+
constructor(injector) {
|
|
32083
|
+
super('availableServices', injector, 'asc');
|
|
32084
|
+
this.translateService = this.injector.get(TranslateService);
|
|
32085
|
+
this.linkProtocolViewFilter = '/OGC:WMT?S.*/';
|
|
32086
|
+
this.linkProtocolDownloadFilter = '/OGC:WFS.*/';
|
|
32087
|
+
}
|
|
32088
|
+
async getBucketLabel(bucket) {
|
|
32089
|
+
return firstValueFrom(this.translateService.get(`search.filters.availableServices.${bucket.term}`));
|
|
32090
|
+
}
|
|
32091
|
+
getAggregations() {
|
|
32092
|
+
return {
|
|
32093
|
+
availableServices: {
|
|
32094
|
+
type: 'filters',
|
|
32095
|
+
filters: {
|
|
32096
|
+
view: `+linkProtocol:${this.linkProtocolViewFilter}`,
|
|
32097
|
+
download: `+linkProtocol:${this.linkProtocolDownloadFilter}`,
|
|
32098
|
+
},
|
|
32099
|
+
},
|
|
32100
|
+
};
|
|
32101
|
+
}
|
|
32102
|
+
getFiltersForValues(values) {
|
|
32103
|
+
const filters = {};
|
|
32104
|
+
if (values.includes('view'))
|
|
32105
|
+
filters[this.linkProtocolViewFilter] = true;
|
|
32106
|
+
if (values.includes('download'))
|
|
32107
|
+
filters[this.linkProtocolDownloadFilter] = true;
|
|
32108
|
+
return of({
|
|
32109
|
+
linkProtocol: filters,
|
|
32110
|
+
});
|
|
32111
|
+
}
|
|
32112
|
+
getValuesForFilter(filters) {
|
|
32113
|
+
const linkFilter = filters.linkProtocol;
|
|
32114
|
+
if (!linkFilter)
|
|
32115
|
+
return of([]);
|
|
32116
|
+
const values = [];
|
|
32117
|
+
if (linkFilter[this.linkProtocolViewFilter])
|
|
32118
|
+
values.push('view');
|
|
32119
|
+
if (linkFilter[this.linkProtocolDownloadFilter])
|
|
32120
|
+
values.push('download');
|
|
32121
|
+
return of(values);
|
|
32122
|
+
}
|
|
32123
|
+
}
|
|
32471
32124
|
|
|
32472
32125
|
marker('search.filters.format');
|
|
32473
32126
|
marker('search.filters.inspireKeyword');
|
|
@@ -32509,6 +32162,7 @@ class FieldsService {
|
|
|
32509
32162
|
publisherOrg: new MultilingualSearchField('distributorOrgForResourceObject', this.injector, 'asc', 'key'),
|
|
32510
32163
|
user: new UserSearchField(this.injector),
|
|
32511
32164
|
changeDate: new DateRangeSearchField('changeDate', this.injector, 'desc'),
|
|
32165
|
+
availableServices: new AvailableServicesField(this.injector),
|
|
32512
32166
|
};
|
|
32513
32167
|
}
|
|
32514
32168
|
getAvailableValues(fieldName) {
|
|
@@ -32850,7 +32504,7 @@ class ResultsTableContainerComponent {
|
|
|
32850
32504
|
this.subscription.unsubscribe();
|
|
32851
32505
|
}
|
|
32852
32506
|
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 }); }
|
|
32853
|
-
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"] }] }); }
|
|
32507
|
+
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"] }] }); }
|
|
32854
32508
|
}
|
|
32855
32509
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
32856
32510
|
type: Component,
|
|
@@ -34721,7 +34375,7 @@ class AddLayerFromCatalogComponent {
|
|
|
34721
34375
|
ADDLAYER: new ResultsLayoutConfigItem(AddLayerRecordPreviewComponent, 'py-2', '', 'flex flex-col divide-y divide-y-grey-50'),
|
|
34722
34376
|
},
|
|
34723
34377
|
},
|
|
34724
|
-
], 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 }); }
|
|
34378
|
+
], 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 }); }
|
|
34725
34379
|
}
|
|
34726
34380
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLayerFromCatalogComponent, decorators: [{
|
|
34727
34381
|
type: Component,
|
|
@@ -34999,6 +34653,9 @@ const loadFullMetadata = createAction('[Metadata view] Load full metadata', prop
|
|
|
34999
34653
|
const setIncompleteMetadata = createAction('[Metadata view] Set incomplete metadata', props());
|
|
35000
34654
|
const loadFullMetadataSuccess = createAction('[Metadata view] Load full metadata success', props());
|
|
35001
34655
|
const loadFullMetadataFailure = createAction('[Metadata view] Load full metadata failure', props());
|
|
34656
|
+
const loadFeatureCatalog = createAction("[Metadata view] Load metadata's feature catalog", props());
|
|
34657
|
+
const loadFeatureCatalogSuccess = createAction('[Metadata view] Load metadata feature catalog success', props());
|
|
34658
|
+
const loadFeatureCatalogFailure = createAction('[Metadata view] Load metadata feature catalog failure', props());
|
|
35002
34659
|
const closeMetadata = createAction('[Metadata view] close');
|
|
35003
34660
|
/*
|
|
35004
34661
|
Related actions
|
|
@@ -35024,6 +34681,9 @@ var mdview_actions = /*#__PURE__*/Object.freeze({
|
|
|
35024
34681
|
addUserFeedbackFailure: addUserFeedbackFailure,
|
|
35025
34682
|
addUserFeedbackSuccess: addUserFeedbackSuccess,
|
|
35026
34683
|
closeMetadata: closeMetadata,
|
|
34684
|
+
loadFeatureCatalog: loadFeatureCatalog,
|
|
34685
|
+
loadFeatureCatalogFailure: loadFeatureCatalogFailure,
|
|
34686
|
+
loadFeatureCatalogSuccess: loadFeatureCatalogSuccess,
|
|
35027
34687
|
loadFullMetadata: loadFullMetadata,
|
|
35028
34688
|
loadFullMetadataFailure: loadFullMetadataFailure,
|
|
35029
34689
|
loadFullMetadataSuccess: loadFullMetadataSuccess,
|
|
@@ -35041,6 +34701,8 @@ const initialMetadataViewState = {
|
|
|
35041
34701
|
loadingFull: false,
|
|
35042
34702
|
allUserFeedbacksLoading: false,
|
|
35043
34703
|
addUserFeedbackLoading: false,
|
|
34704
|
+
featureCatalogLoading: false,
|
|
34705
|
+
featureCatalogError: null,
|
|
35044
34706
|
};
|
|
35045
34707
|
const metadataViewReducer = createReducer(initialMetadataViewState,
|
|
35046
34708
|
/*
|
|
@@ -35100,6 +34762,22 @@ on(loadUserFeedbacks, (state) => ({
|
|
|
35100
34762
|
error: { otherError, notFound },
|
|
35101
34763
|
addUserFeedbackLoading: false,
|
|
35102
34764
|
allUserFeedbacksLoading: false,
|
|
34765
|
+
})),
|
|
34766
|
+
/**
|
|
34767
|
+
* FeatureCatalog reducers
|
|
34768
|
+
*/
|
|
34769
|
+
on(loadFeatureCatalog, (state) => ({
|
|
34770
|
+
...state,
|
|
34771
|
+
featureCatalogError: null,
|
|
34772
|
+
featureCatalogLoading: true,
|
|
34773
|
+
})), on(loadFeatureCatalogSuccess, (state, { datasetCatalog }) => ({
|
|
34774
|
+
...state,
|
|
34775
|
+
featureCatalog: datasetCatalog,
|
|
34776
|
+
featureCatalogLoading: false,
|
|
34777
|
+
})), on(loadFeatureCatalogFailure, (state, { error }) => ({
|
|
34778
|
+
...state,
|
|
34779
|
+
featureCatalogError: error,
|
|
34780
|
+
featureCatalogLoading: false,
|
|
35103
34781
|
})));
|
|
35104
34782
|
function reducer$1(metadataViewState, action) {
|
|
35105
34783
|
return metadataViewReducer(metadataViewState, action);
|
|
@@ -35128,6 +34806,11 @@ const getChartConfig = createSelector(getMdViewState, (state) => state.chartConf
|
|
|
35128
34806
|
const getUserFeedbacks = createSelector(getMdViewState, (state) => state.userFeedbacks);
|
|
35129
34807
|
const getAllUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.allUserFeedbacksLoading);
|
|
35130
34808
|
const getAddUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.addUserFeedbackLoading);
|
|
34809
|
+
/*
|
|
34810
|
+
Feature Catalog Selectors
|
|
34811
|
+
*/
|
|
34812
|
+
const getFeatureCatalog = createSelector(getMdViewState, (state) => state.featureCatalog);
|
|
34813
|
+
const getFeatureCatalogIsLoading = createSelector(getMdViewState, (state) => state.featureCatalogLoading);
|
|
35131
34814
|
|
|
35132
34815
|
class FetchError {
|
|
35133
34816
|
constructor(type, info, httpStatus = 0) {
|
|
@@ -35137,8 +34820,12 @@ class FetchError {
|
|
|
35137
34820
|
this.stack = null;
|
|
35138
34821
|
this.message = `An error happened in the data fetcher, type: ${type}, info: ${info}`;
|
|
35139
34822
|
}
|
|
35140
|
-
static http(code) {
|
|
35141
|
-
|
|
34823
|
+
static http(code, body) {
|
|
34824
|
+
const info = body
|
|
34825
|
+
? `Error ${code}
|
|
34826
|
+
${body}`
|
|
34827
|
+
: `${code}`;
|
|
34828
|
+
return new FetchError('http', info, code);
|
|
35142
34829
|
}
|
|
35143
34830
|
static corsOrNetwork(message) {
|
|
35144
34831
|
return new FetchError('network', message, 0);
|
|
@@ -35239,30 +34926,34 @@ function fetchHeaders(url) {
|
|
|
35239
34926
|
return parseHeaders(response.headers);
|
|
35240
34927
|
});
|
|
35241
34928
|
}
|
|
35242
|
-
function fetchDataAsText(url) {
|
|
35243
|
-
|
|
34929
|
+
function fetchDataAsText(url, cacheActive) {
|
|
34930
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35244
34931
|
.catch((error) => {
|
|
35245
34932
|
throw FetchError.corsOrNetwork(error.message);
|
|
35246
34933
|
})
|
|
35247
34934
|
.then(async (response) => {
|
|
35248
34935
|
if (!response.ok) {
|
|
35249
|
-
|
|
34936
|
+
const clonedResponse = response.clone();
|
|
34937
|
+
throw FetchError.http(response.status, await clonedResponse.text());
|
|
35250
34938
|
}
|
|
35251
|
-
|
|
35252
|
-
|
|
34939
|
+
const clonedResponse = response.clone();
|
|
34940
|
+
return clonedResponse.text();
|
|
34941
|
+
});
|
|
34942
|
+
return cacheActive ? useCache(fetchFactory, url, 'asText') : fetchFactory();
|
|
35253
34943
|
}
|
|
35254
|
-
function fetchDataAsArrayBuffer(url) {
|
|
35255
|
-
|
|
34944
|
+
function fetchDataAsArrayBuffer(url, cacheActive) {
|
|
34945
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35256
34946
|
.catch((error) => {
|
|
35257
34947
|
throw FetchError.corsOrNetwork(error.message);
|
|
35258
34948
|
})
|
|
35259
34949
|
.then(async (response) => {
|
|
35260
34950
|
if (!response.ok) {
|
|
35261
|
-
throw FetchError.http(response.status);
|
|
34951
|
+
throw FetchError.http(response.status, await response.text());
|
|
35262
34952
|
}
|
|
35263
34953
|
// convert to a numeric array so that we can store the response in cache
|
|
35264
34954
|
return Array.from(new Uint8Array(await response.arrayBuffer()));
|
|
35265
|
-
})
|
|
34955
|
+
});
|
|
34956
|
+
return (cacheActive ? useCache(fetchFactory, url, 'asArrayBuffer') : fetchFactory()).then((array) => {
|
|
35266
34957
|
return new Uint8Array(array).buffer;
|
|
35267
34958
|
});
|
|
35268
34959
|
}
|
|
@@ -35408,68 +35099,6 @@ function getJsonDataItemsProxy(items) {
|
|
|
35408
35099
|
});
|
|
35409
35100
|
}
|
|
35410
35101
|
|
|
35411
|
-
class BaseReader {
|
|
35412
|
-
constructor(url) {
|
|
35413
|
-
this.url = url;
|
|
35414
|
-
this.selected = null;
|
|
35415
|
-
this.groupedBy = null;
|
|
35416
|
-
this.aggregations = null;
|
|
35417
|
-
this.filter = null;
|
|
35418
|
-
this.sort = null;
|
|
35419
|
-
this.startIndex = null;
|
|
35420
|
-
this.count = null;
|
|
35421
|
-
}
|
|
35422
|
-
load() {
|
|
35423
|
-
throw new Error('not implemented');
|
|
35424
|
-
}
|
|
35425
|
-
get properties() {
|
|
35426
|
-
throw new Error('not implemented');
|
|
35427
|
-
}
|
|
35428
|
-
get info() {
|
|
35429
|
-
throw new Error('not implemented');
|
|
35430
|
-
}
|
|
35431
|
-
read() {
|
|
35432
|
-
throw new Error('not implemented');
|
|
35433
|
-
}
|
|
35434
|
-
selectAll() {
|
|
35435
|
-
this.groupedBy = null;
|
|
35436
|
-
this.aggregations = null;
|
|
35437
|
-
this.selected = null;
|
|
35438
|
-
this.filter = null;
|
|
35439
|
-
this.startIndex = null;
|
|
35440
|
-
this.count = null;
|
|
35441
|
-
return this;
|
|
35442
|
-
}
|
|
35443
|
-
select(...selectedFields) {
|
|
35444
|
-
this.selected = selectedFields;
|
|
35445
|
-
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35446
|
-
this.groupedBy = null;
|
|
35447
|
-
return this;
|
|
35448
|
-
}
|
|
35449
|
-
groupBy(...groupBy) {
|
|
35450
|
-
this.groupedBy = groupBy;
|
|
35451
|
-
this.selected = null; // clear normal field selection when aggregating
|
|
35452
|
-
return this;
|
|
35453
|
-
}
|
|
35454
|
-
aggregate(...aggregations) {
|
|
35455
|
-
this.aggregations = aggregations;
|
|
35456
|
-
return this;
|
|
35457
|
-
}
|
|
35458
|
-
where(filter) {
|
|
35459
|
-
this.filter = filter;
|
|
35460
|
-
return this;
|
|
35461
|
-
}
|
|
35462
|
-
orderBy(...fieldSorts) {
|
|
35463
|
-
this.sort = fieldSorts;
|
|
35464
|
-
return this;
|
|
35465
|
-
}
|
|
35466
|
-
limit(startIndex, count) {
|
|
35467
|
-
this.startIndex = startIndex;
|
|
35468
|
-
this.count = count;
|
|
35469
|
-
return this;
|
|
35470
|
-
}
|
|
35471
|
-
}
|
|
35472
|
-
|
|
35473
35102
|
function filterToSql(filter) {
|
|
35474
35103
|
const operator = filter[0];
|
|
35475
35104
|
const args = filter.slice(1);
|
|
@@ -35563,7 +35192,80 @@ function generateSqlQuery(selected = null, filter = null, sort = null, startInde
|
|
|
35563
35192
|
return sqlSelect + sqlFrom + sqlGroupBy + sqlOrderBy + sqlWhere + sqlLimit;
|
|
35564
35193
|
}
|
|
35565
35194
|
|
|
35566
|
-
class
|
|
35195
|
+
class BaseReader {
|
|
35196
|
+
constructor(url) {
|
|
35197
|
+
this.url = url;
|
|
35198
|
+
this.selected = null;
|
|
35199
|
+
this.groupedBy = null;
|
|
35200
|
+
this.aggregations = null;
|
|
35201
|
+
this.filter = null;
|
|
35202
|
+
this.sort = null;
|
|
35203
|
+
this.startIndex = null;
|
|
35204
|
+
this.count = null;
|
|
35205
|
+
}
|
|
35206
|
+
load() {
|
|
35207
|
+
throw new Error('not implemented');
|
|
35208
|
+
}
|
|
35209
|
+
get properties() {
|
|
35210
|
+
throw new Error('not implemented');
|
|
35211
|
+
}
|
|
35212
|
+
get info() {
|
|
35213
|
+
throw new Error('not implemented');
|
|
35214
|
+
}
|
|
35215
|
+
read() {
|
|
35216
|
+
throw new Error('not implemented');
|
|
35217
|
+
}
|
|
35218
|
+
selectAll() {
|
|
35219
|
+
this.groupedBy = null;
|
|
35220
|
+
this.aggregations = null;
|
|
35221
|
+
this.selected = null;
|
|
35222
|
+
this.filter = null;
|
|
35223
|
+
this.startIndex = null;
|
|
35224
|
+
this.count = null;
|
|
35225
|
+
return this;
|
|
35226
|
+
}
|
|
35227
|
+
select(...selectedFields) {
|
|
35228
|
+
this.selected = selectedFields;
|
|
35229
|
+
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35230
|
+
this.groupedBy = null;
|
|
35231
|
+
return this;
|
|
35232
|
+
}
|
|
35233
|
+
groupBy(...groupBy) {
|
|
35234
|
+
this.groupedBy = groupBy;
|
|
35235
|
+
this.selected = null; // clear normal field selection when aggregating
|
|
35236
|
+
return this;
|
|
35237
|
+
}
|
|
35238
|
+
aggregate(...aggregations) {
|
|
35239
|
+
this.aggregations = aggregations;
|
|
35240
|
+
return this;
|
|
35241
|
+
}
|
|
35242
|
+
where(filter) {
|
|
35243
|
+
this.filter = filter;
|
|
35244
|
+
return this;
|
|
35245
|
+
}
|
|
35246
|
+
orderBy(...fieldSorts) {
|
|
35247
|
+
this.sort = fieldSorts;
|
|
35248
|
+
return this;
|
|
35249
|
+
}
|
|
35250
|
+
limit(startIndex, count) {
|
|
35251
|
+
this.startIndex = startIndex;
|
|
35252
|
+
this.count = count;
|
|
35253
|
+
return this;
|
|
35254
|
+
}
|
|
35255
|
+
}
|
|
35256
|
+
|
|
35257
|
+
class BaseCacheReader extends BaseReader {
|
|
35258
|
+
constructor(url, cacheActive = true) {
|
|
35259
|
+
super(url);
|
|
35260
|
+
this.url = url;
|
|
35261
|
+
this.cacheActive = cacheActive;
|
|
35262
|
+
}
|
|
35263
|
+
setCacheActive(value) {
|
|
35264
|
+
this.cacheActive = value;
|
|
35265
|
+
}
|
|
35266
|
+
}
|
|
35267
|
+
|
|
35268
|
+
class BaseFileReader extends BaseCacheReader {
|
|
35567
35269
|
getData() {
|
|
35568
35270
|
throw new Error('not implemented');
|
|
35569
35271
|
}
|
|
@@ -35627,7 +35329,7 @@ function parseCsv(text) {
|
|
|
35627
35329
|
}
|
|
35628
35330
|
class CsvReader extends BaseFileReader {
|
|
35629
35331
|
getData() {
|
|
35630
|
-
return fetchDataAsText(this.url).then(parseCsv);
|
|
35332
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseCsv);
|
|
35631
35333
|
}
|
|
35632
35334
|
}
|
|
35633
35335
|
|
|
@@ -35644,7 +35346,7 @@ function parseJson(text) {
|
|
|
35644
35346
|
}
|
|
35645
35347
|
class JsonReader extends BaseFileReader {
|
|
35646
35348
|
getData() {
|
|
35647
|
-
return fetchDataAsText(this.url).then(parseJson);
|
|
35349
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseJson);
|
|
35648
35350
|
}
|
|
35649
35351
|
}
|
|
35650
35352
|
|
|
@@ -35663,7 +35365,7 @@ function parseGeojson(text) {
|
|
|
35663
35365
|
}
|
|
35664
35366
|
class GeojsonReader extends BaseFileReader {
|
|
35665
35367
|
getData() {
|
|
35666
|
-
return fetchDataAsText(this.url).then(parseGeojson);
|
|
35368
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseGeojson);
|
|
35667
35369
|
}
|
|
35668
35370
|
}
|
|
35669
35371
|
|
|
@@ -35685,7 +35387,7 @@ function parseExcel(buffer) {
|
|
|
35685
35387
|
}
|
|
35686
35388
|
class ExcelReader extends BaseFileReader {
|
|
35687
35389
|
getData() {
|
|
35688
|
-
return fetchDataAsArrayBuffer(this.url).then(parseExcel);
|
|
35390
|
+
return fetchDataAsArrayBuffer(this.url, this.cacheActive).then(parseExcel);
|
|
35689
35391
|
}
|
|
35690
35392
|
}
|
|
35691
35393
|
|
|
@@ -35712,25 +35414,39 @@ function parseGml(text, namespace, version) {
|
|
|
35712
35414
|
throw Error("Couldn't retrieve namespace url");
|
|
35713
35415
|
}
|
|
35714
35416
|
class GmlReader extends BaseFileReader {
|
|
35715
|
-
constructor(url, namespace, version) {
|
|
35417
|
+
constructor(url, namespace, version, cacheActive = true) {
|
|
35716
35418
|
super(url);
|
|
35419
|
+
this.url = url;
|
|
35717
35420
|
this.namespace = namespace;
|
|
35718
35421
|
this.version = version;
|
|
35422
|
+
this.cacheActive = cacheActive;
|
|
35719
35423
|
}
|
|
35720
35424
|
getData() {
|
|
35721
|
-
return fetchDataAsText(this.url).then((text) => parseGml(text, this.namespace, this.version));
|
|
35425
|
+
return fetchDataAsText(this.url, this.cacheActive).then((text) => parseGml(text, this.namespace, this.version));
|
|
35722
35426
|
}
|
|
35723
35427
|
}
|
|
35724
35428
|
|
|
35725
|
-
class WfsReader extends
|
|
35726
|
-
constructor(url, wfsEndpoint, featureTypeName) {
|
|
35727
|
-
super(url);
|
|
35429
|
+
class WfsReader extends BaseCacheReader {
|
|
35430
|
+
constructor(url, wfsEndpoint, featureTypeName, cacheActive) {
|
|
35431
|
+
super(url, cacheActive);
|
|
35728
35432
|
this.endpoint = wfsEndpoint;
|
|
35729
35433
|
this.featureTypeName = featureTypeName;
|
|
35730
35434
|
this.version = this.endpoint.getVersion();
|
|
35731
35435
|
}
|
|
35732
35436
|
get properties() {
|
|
35733
|
-
return this.
|
|
35437
|
+
return this.endpoint
|
|
35438
|
+
.getFeatureTypeFull(this.featureTypeName)
|
|
35439
|
+
.then((featureType) => Object.keys(featureType.properties).map((prop) => {
|
|
35440
|
+
const originalType = featureType.properties[prop];
|
|
35441
|
+
const type = originalType === 'float' || originalType === 'integer'
|
|
35442
|
+
? 'number'
|
|
35443
|
+
: originalType; // FIXME: ogc-client typing is incorrect, should be a string union
|
|
35444
|
+
return {
|
|
35445
|
+
name: prop,
|
|
35446
|
+
label: prop,
|
|
35447
|
+
type,
|
|
35448
|
+
};
|
|
35449
|
+
}));
|
|
35734
35450
|
}
|
|
35735
35451
|
get info() {
|
|
35736
35452
|
return this.endpoint.getFeatureTypeFull(this.featureTypeName).then((result) => ({
|
|
@@ -35767,13 +35483,18 @@ class WfsReader extends BaseReader {
|
|
|
35767
35483
|
throw new Error('wfs.geojsongml.notsupported');
|
|
35768
35484
|
}
|
|
35769
35485
|
}
|
|
35770
|
-
getData() {
|
|
35486
|
+
async getData(aggregation, groupedBy) {
|
|
35487
|
+
if (aggregation || groupedBy) {
|
|
35488
|
+
return { items: await this.getQueryData() };
|
|
35489
|
+
}
|
|
35771
35490
|
const asJson = this.endpoint.supportsJson(this.featureTypeName);
|
|
35491
|
+
const attributes = this.selected ?? undefined;
|
|
35772
35492
|
let url = this.endpoint.getFeatureUrl(this.featureTypeName, {
|
|
35773
35493
|
...(this.startIndex !== null && { startIndex: this.startIndex }),
|
|
35774
35494
|
...(this.count !== null && { maxFeatures: this.count }),
|
|
35775
35495
|
asJson,
|
|
35776
35496
|
outputCrs: 'EPSG:4326',
|
|
35497
|
+
attributes,
|
|
35777
35498
|
// sortBy: this.sort // TODO: no sort in ogc-client?
|
|
35778
35499
|
});
|
|
35779
35500
|
if (Array.isArray(this.sort) && this.sort.length > 0) {
|
|
@@ -35784,19 +35505,26 @@ class WfsReader extends BaseReader {
|
|
|
35784
35505
|
// Direct update on string url to prevent encoding of +A and +D
|
|
35785
35506
|
url = `${url}${finalUrl.search ? '&' : ''}SORTBY=${sorts}`;
|
|
35786
35507
|
}
|
|
35787
|
-
return fetchDataAsText(url).then((text) => asJson
|
|
35508
|
+
return fetchDataAsText(url, this.cacheActive).then((text) => asJson
|
|
35788
35509
|
? parseGeojson(text)
|
|
35789
35510
|
: parseGml(text, this.featureTypeName, this.version));
|
|
35790
35511
|
}
|
|
35512
|
+
async getQueryData() {
|
|
35513
|
+
const items = (await this.getData()).items;
|
|
35514
|
+
const jsonItems = getJsonDataItemsProxy(items);
|
|
35515
|
+
const query = generateSqlQuery(this.selected, this.filter, this.sort, this.startIndex, this.count, this.groupedBy, this.aggregations);
|
|
35516
|
+
const result = await import('alasql').then((module) => module.default(query, [jsonItems]));
|
|
35517
|
+
return result.map(jsonToGeojsonFeature);
|
|
35518
|
+
}
|
|
35791
35519
|
load() {
|
|
35792
35520
|
// Nothing to load for Wfs
|
|
35793
35521
|
}
|
|
35794
35522
|
async read() {
|
|
35795
|
-
return (await this.getData()).items;
|
|
35523
|
+
return (await this.getData(this.aggregations, this.groupedBy)).items;
|
|
35796
35524
|
}
|
|
35797
35525
|
}
|
|
35798
35526
|
|
|
35799
|
-
async function openDataset(url, typeHint, options) {
|
|
35527
|
+
async function openDataset(url, typeHint, options, cacheActive) {
|
|
35800
35528
|
const fileType = await inferDatasetType(url, typeHint);
|
|
35801
35529
|
let reader;
|
|
35802
35530
|
try {
|
|
@@ -35820,6 +35548,7 @@ async function openDataset(url, typeHint, options) {
|
|
|
35820
35548
|
reader = await WfsReader.createReader(url, options.wfsFeatureType);
|
|
35821
35549
|
break;
|
|
35822
35550
|
}
|
|
35551
|
+
reader.setCacheActive(cacheActive);
|
|
35823
35552
|
reader.load();
|
|
35824
35553
|
return reader;
|
|
35825
35554
|
}
|
|
@@ -35836,8 +35565,8 @@ async function openDataset(url, typeHint, options) {
|
|
|
35836
35565
|
* 2. otherwise, look for a Content-Type header in the response with a supported mime type
|
|
35837
35566
|
* 3. if no valid mime type was found, look for an explicit file extension in the url (.csv, .geojson etc.)
|
|
35838
35567
|
*/
|
|
35839
|
-
async function readDataset(url, typeHint, options) {
|
|
35840
|
-
const reader = await openDataset(url, typeHint, options);
|
|
35568
|
+
async function readDataset(url, typeHint, options, cacheActive = true) {
|
|
35569
|
+
const reader = await openDataset(url, typeHint, options, cacheActive);
|
|
35841
35570
|
try {
|
|
35842
35571
|
return await reader.read();
|
|
35843
35572
|
}
|
|
@@ -35941,18 +35670,28 @@ class DataService {
|
|
|
35941
35670
|
}
|
|
35942
35671
|
getDownloadLinksFromWfs(wfsLink) {
|
|
35943
35672
|
// Pour DL toutes les données
|
|
35944
|
-
return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) =>
|
|
35945
|
-
|
|
35946
|
-
|
|
35947
|
-
|
|
35948
|
-
|
|
35949
|
-
}))
|
|
35673
|
+
return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) => {
|
|
35674
|
+
if (urls.geojson) {
|
|
35675
|
+
urls.all['application/json'] = urls.geojson;
|
|
35676
|
+
}
|
|
35677
|
+
return urls;
|
|
35678
|
+
}), map$1((urls) => {
|
|
35679
|
+
const resources = Object.keys(urls.all).map((format) => ({
|
|
35680
|
+
...wfsLink,
|
|
35681
|
+
name: wfsLink.name,
|
|
35682
|
+
type: 'download',
|
|
35683
|
+
url: new URL(urls.all[format]),
|
|
35684
|
+
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
35685
|
+
}));
|
|
35686
|
+
return resources;
|
|
35687
|
+
}));
|
|
35950
35688
|
}
|
|
35951
35689
|
async getDownloadLinksFromOgcApiFeatures(ogcApiLink) {
|
|
35952
35690
|
const collectionInfo = await this.getDownloadUrlsFromOgcApi(ogcApiLink.url.href);
|
|
35953
35691
|
return Object.keys(collectionInfo.bulkDownloadLinks).map((downloadLink) => {
|
|
35954
35692
|
return {
|
|
35955
35693
|
...ogcApiLink,
|
|
35694
|
+
name: collectionInfo.id,
|
|
35956
35695
|
type: 'download',
|
|
35957
35696
|
url: new URL(collectionInfo.bulkDownloadLinks[downloadLink]),
|
|
35958
35697
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(downloadLink)),
|
|
@@ -35988,18 +35727,18 @@ class DataService {
|
|
|
35988
35727
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
35989
35728
|
}));
|
|
35990
35729
|
}
|
|
35991
|
-
readAsGeoJson(link) {
|
|
35992
|
-
return this.getDataset(link).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
35730
|
+
readAsGeoJson(link, cacheActive) {
|
|
35731
|
+
return this.getDataset(link, cacheActive).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
35993
35732
|
type: 'FeatureCollection',
|
|
35994
35733
|
features,
|
|
35995
35734
|
})));
|
|
35996
35735
|
}
|
|
35997
|
-
getDataset(link) {
|
|
35736
|
+
getDataset(link, cacheActive) {
|
|
35998
35737
|
if (link.type === 'service' && link.accessServiceProtocol === 'wfs') {
|
|
35999
35738
|
const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString());
|
|
36000
35739
|
return from(openDataset(wfsUrlEndpoint, 'wfs', {
|
|
36001
35740
|
wfsFeatureType: link.name,
|
|
36002
|
-
}));
|
|
35741
|
+
}, cacheActive));
|
|
36003
35742
|
}
|
|
36004
35743
|
else if (link.type === 'download') {
|
|
36005
35744
|
const linkProxifiedUrl = this.proxy.getProxiedUrl(link.url.toString());
|
|
@@ -36007,18 +35746,18 @@ class DataService {
|
|
|
36007
35746
|
const supportedType = SupportedTypes.indexOf(format) > -1
|
|
36008
35747
|
? format
|
|
36009
35748
|
: undefined;
|
|
36010
|
-
return from(openDataset(linkProxifiedUrl, supportedType)).pipe();
|
|
35749
|
+
return from(openDataset(linkProxifiedUrl, supportedType, undefined, cacheActive)).pipe();
|
|
36011
35750
|
}
|
|
36012
35751
|
else if (link.type === 'service' &&
|
|
36013
35752
|
link.accessServiceProtocol === 'esriRest') {
|
|
36014
35753
|
const url = this.getDownloadUrlFromEsriRest(link.url.toString(), 'geojson');
|
|
36015
|
-
return from(openDataset(url, 'geojson')).pipe();
|
|
35754
|
+
return from(openDataset(url, 'geojson', undefined, cacheActive)).pipe();
|
|
36016
35755
|
}
|
|
36017
35756
|
else if (link.type === 'service' &&
|
|
36018
35757
|
link.accessServiceProtocol === 'ogcFeatures') {
|
|
36019
35758
|
return from(this.getDownloadUrlsFromOgcApi(link.url.href)).pipe(switchMap$1((collectionInfo) => {
|
|
36020
35759
|
const geojsonUrl = collectionInfo.jsonDownloadLink;
|
|
36021
|
-
return openDataset(geojsonUrl, 'geojson');
|
|
35760
|
+
return openDataset(geojsonUrl, 'geojson', undefined, cacheActive);
|
|
36022
35761
|
}), tap$1((url) => {
|
|
36023
35762
|
if (url === null) {
|
|
36024
35763
|
throw new Error('wfs.geojsongml.notsupported');
|
|
@@ -36265,22 +36004,136 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36265
36004
|
args: ['chartCanvas']
|
|
36266
36005
|
}] } });
|
|
36267
36006
|
|
|
36268
|
-
|
|
36269
|
-
|
|
36270
|
-
|
|
36271
|
-
|
|
36272
|
-
|
|
36273
|
-
this.
|
|
36274
|
-
|
|
36275
|
-
|
|
36007
|
+
class DataTableDataSource {
|
|
36008
|
+
constructor() {
|
|
36009
|
+
this.dataItems$ = new BehaviorSubject([]);
|
|
36010
|
+
}
|
|
36011
|
+
connect() {
|
|
36012
|
+
return this.dataItems$.asObservable().pipe(map$1((items) => items.map((item) => ({
|
|
36013
|
+
id: item.id,
|
|
36014
|
+
...item.properties,
|
|
36015
|
+
}))));
|
|
36016
|
+
}
|
|
36017
|
+
disconnect() {
|
|
36018
|
+
this.dataItems$.complete();
|
|
36019
|
+
}
|
|
36020
|
+
async showData(itemsPromise) {
|
|
36021
|
+
const items = await itemsPromise;
|
|
36022
|
+
this.dataItems$.next(items);
|
|
36023
|
+
}
|
|
36024
|
+
clearData() {
|
|
36025
|
+
this.dataItems$.next([]);
|
|
36026
|
+
}
|
|
36027
|
+
}
|
|
36028
|
+
|
|
36029
|
+
class CustomMatPaginatorIntl extends MatPaginatorIntl {
|
|
36030
|
+
constructor(translate) {
|
|
36031
|
+
super();
|
|
36032
|
+
this.translate = translate;
|
|
36033
|
+
this.changes = new Subject();
|
|
36034
|
+
this.setLabels();
|
|
36035
|
+
this.translate.onLangChange.subscribe(() => {
|
|
36036
|
+
this.setLabels();
|
|
36037
|
+
this.changes.next();
|
|
36038
|
+
});
|
|
36039
|
+
}
|
|
36040
|
+
setLabels() {
|
|
36041
|
+
this.itemsPerPageLabel = this.translate.instant('table.paginator.itemsPerPage');
|
|
36042
|
+
this.nextPageLabel = this.translate.instant('table.paginator.nextPage');
|
|
36043
|
+
this.previousPageLabel = this.translate.instant('table.paginator.previousPage');
|
|
36044
|
+
this.firstPageLabel = this.translate.instant('table.paginator.firstPage');
|
|
36045
|
+
this.lastPageLabel = this.translate.instant('table.paginator.lastPage');
|
|
36046
|
+
this.getRangeLabel = this.getRangeLabelIntl;
|
|
36047
|
+
this.changes.next();
|
|
36048
|
+
}
|
|
36049
|
+
getRangeLabelIntl(page, pageSize, length) {
|
|
36050
|
+
if (length === 0 || pageSize === 0) {
|
|
36051
|
+
return this.translate.instant('table.paginator.rangeLabel', {
|
|
36052
|
+
startIndex: 0,
|
|
36053
|
+
endIndex: 0,
|
|
36054
|
+
length,
|
|
36055
|
+
});
|
|
36056
|
+
}
|
|
36057
|
+
const startIndex = page * pageSize;
|
|
36058
|
+
const endIndex = startIndex < length
|
|
36059
|
+
? Math.min(startIndex + pageSize, length)
|
|
36060
|
+
: startIndex + pageSize;
|
|
36061
|
+
return this.translate.instant('table.paginator.rangeLabel', {
|
|
36062
|
+
startIndex: startIndex + 1,
|
|
36063
|
+
endIndex,
|
|
36064
|
+
length,
|
|
36065
|
+
});
|
|
36276
36066
|
}
|
|
36277
|
-
|
|
36067
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMatPaginatorIntl, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36068
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMatPaginatorIntl }); }
|
|
36069
|
+
}
|
|
36070
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMatPaginatorIntl, decorators: [{
|
|
36071
|
+
type: Injectable
|
|
36072
|
+
}], ctorParameters: () => [{ type: i1$1.TranslateService }] });
|
|
36073
|
+
|
|
36074
|
+
const rowIdPrefix = 'table-item-';
|
|
36075
|
+
class DataTableComponent {
|
|
36076
|
+
set dataset(value) {
|
|
36077
|
+
this.properties$.next(null);
|
|
36078
|
+
this.dataset_ = value;
|
|
36079
|
+
this.dataset_.load();
|
|
36080
|
+
this.dataset_.properties.then((properties) => this.properties$.next(properties.map((p) => p.name)));
|
|
36081
|
+
this.dataset_.info.then((info) => (this.count = info.itemsCount));
|
|
36082
|
+
}
|
|
36083
|
+
constructor(eltRef, cdr, translateService) {
|
|
36278
36084
|
this.eltRef = eltRef;
|
|
36085
|
+
this.cdr = cdr;
|
|
36086
|
+
this.translateService = translateService;
|
|
36279
36087
|
this.selected = new EventEmitter();
|
|
36088
|
+
this.properties$ = new BehaviorSubject(null);
|
|
36089
|
+
this.loading$ = new BehaviorSubject(false);
|
|
36090
|
+
this.error = null;
|
|
36091
|
+
}
|
|
36092
|
+
ngOnInit() {
|
|
36093
|
+
this.dataSource = new DataTableDataSource();
|
|
36280
36094
|
}
|
|
36281
36095
|
ngAfterViewInit() {
|
|
36282
36096
|
this.headerHeight =
|
|
36283
36097
|
this.eltRef.nativeElement.querySelector('thead').offsetHeight;
|
|
36098
|
+
this.setPagination();
|
|
36099
|
+
this.cdr.detectChanges();
|
|
36100
|
+
}
|
|
36101
|
+
ngOnChanges() {
|
|
36102
|
+
this.setPagination();
|
|
36103
|
+
}
|
|
36104
|
+
setSort(sort) {
|
|
36105
|
+
if (!this.dataset_)
|
|
36106
|
+
return;
|
|
36107
|
+
if (!sort.active) {
|
|
36108
|
+
this.dataset_.orderBy();
|
|
36109
|
+
}
|
|
36110
|
+
else {
|
|
36111
|
+
this.dataset_.orderBy([sort.direction || 'asc', sort.active]);
|
|
36112
|
+
}
|
|
36113
|
+
this.readData();
|
|
36114
|
+
}
|
|
36115
|
+
setPagination() {
|
|
36116
|
+
if (!this.paginator)
|
|
36117
|
+
return;
|
|
36118
|
+
if (!this.dataset_)
|
|
36119
|
+
return;
|
|
36120
|
+
this.dataset_.limit(this.paginator.pageIndex * this.paginator.pageSize, this.paginator.pageSize);
|
|
36121
|
+
this.readData();
|
|
36122
|
+
}
|
|
36123
|
+
async readData() {
|
|
36124
|
+
this.loading$.next(true);
|
|
36125
|
+
// wait for properties to be read
|
|
36126
|
+
const properties = await firstValueFrom(this.properties$.pipe(filter$1((p) => !!p)));
|
|
36127
|
+
const propsWithoutGeom = properties.filter((p) => !p.toLowerCase().startsWith('geom'));
|
|
36128
|
+
this.dataset_.select(...propsWithoutGeom);
|
|
36129
|
+
try {
|
|
36130
|
+
await this.dataSource.showData(this.dataset_.read());
|
|
36131
|
+
this.error = null;
|
|
36132
|
+
}
|
|
36133
|
+
catch (error) {
|
|
36134
|
+
this.handleError(error);
|
|
36135
|
+
}
|
|
36136
|
+
this.loading$.next(false);
|
|
36284
36137
|
}
|
|
36285
36138
|
scrollToItem(itemId) {
|
|
36286
36139
|
const row = this.eltRef.nativeElement.querySelector(`#${this.getRowEltId(itemId)}`);
|
|
@@ -36289,20 +36142,36 @@ class TableComponent {
|
|
|
36289
36142
|
getRowEltId(id) {
|
|
36290
36143
|
return rowIdPrefix + id;
|
|
36291
36144
|
}
|
|
36292
|
-
|
|
36293
|
-
|
|
36145
|
+
handleError(error) {
|
|
36146
|
+
this.dataSource.clearData();
|
|
36147
|
+
if (error instanceof FetchError) {
|
|
36148
|
+
this.error = this.translateService.instant(`dataset.error.${error.type}`, {
|
|
36149
|
+
info: error.info,
|
|
36150
|
+
});
|
|
36151
|
+
console.warn(error.message);
|
|
36152
|
+
}
|
|
36153
|
+
else {
|
|
36154
|
+
this.error = this.translateService.instant(error.message);
|
|
36155
|
+
console.warn(error.stack || error);
|
|
36156
|
+
}
|
|
36157
|
+
}
|
|
36158
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36159
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataTableComponent, isStandalone: true, selector: "gn-ui-data-table", inputs: { dataset: "dataset", activeId: "activeId" }, outputs: { selected: "selected" }, providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container *ngFor=\"let prop of properties\" [matColumnDef]=\"prop\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ prop }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[prop] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"row.id === activeId\"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky 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 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n > <span translate>table.object.count</span>.\n </div>\n\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}.mat-mdc-paginator{background:none}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2$4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2$4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i3$1.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: ScrollingModule }, { 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: "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: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36294
36160
|
}
|
|
36295
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
36161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
36296
36162
|
type: Component,
|
|
36297
36163
|
args: [{ standalone: true, imports: [
|
|
36298
36164
|
MatTableModule,
|
|
36299
36165
|
MatSortModule,
|
|
36300
|
-
|
|
36166
|
+
MatPaginatorModule,
|
|
36301
36167
|
ScrollingModule,
|
|
36302
|
-
NgForOf,
|
|
36303
36168
|
TranslateModule,
|
|
36304
|
-
|
|
36305
|
-
|
|
36169
|
+
CommonModule,
|
|
36170
|
+
LoadingMaskComponent,
|
|
36171
|
+
PopupAlertComponent,
|
|
36172
|
+
LetDirective,
|
|
36173
|
+
], providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], selector: 'gn-ui-data-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container *ngFor=\"let prop of properties\" [matColumnDef]=\"prop\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ prop }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[prop] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"row.id === activeId\"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky 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 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n > <span translate>table.object.count</span>.\n </div>\n\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}.mat-mdc-paginator{background:none}\n"] }]
|
|
36174
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: { dataset: [{
|
|
36306
36175
|
type: Input
|
|
36307
36176
|
}], activeId: [{
|
|
36308
36177
|
type: Input
|
|
@@ -36310,48 +36179,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36310
36179
|
type: Output
|
|
36311
36180
|
}], sort: [{
|
|
36312
36181
|
type: ViewChild,
|
|
36313
|
-
args: [MatSort
|
|
36182
|
+
args: [MatSort]
|
|
36183
|
+
}], paginator: [{
|
|
36184
|
+
type: ViewChild,
|
|
36185
|
+
args: [MatPaginator]
|
|
36314
36186
|
}] } });
|
|
36315
36187
|
|
|
36316
|
-
const
|
|
36317
|
-
|
|
36318
|
-
|
|
36319
|
-
|
|
36320
|
-
|
|
36321
|
-
|
|
36322
|
-
|
|
36323
|
-
|
|
36324
|
-
|
|
36325
|
-
|
|
36326
|
-
|
|
36327
|
-
|
|
36328
|
-
|
|
36329
|
-
|
|
36330
|
-
|
|
36331
|
-
|
|
36332
|
-
|
|
36333
|
-
|
|
36334
|
-
|
|
36335
|
-
|
|
36336
|
-
|
|
36337
|
-
|
|
36338
|
-
|
|
36339
|
-
|
|
36340
|
-
|
|
36341
|
-
|
|
36342
|
-
|
|
36343
|
-
|
|
36344
|
-
|
|
36345
|
-
|
|
36346
|
-
|
|
36347
|
-
|
|
36348
|
-
|
|
36349
|
-
|
|
36350
|
-
|
|
36351
|
-
|
|
36352
|
-
|
|
36353
|
-
|
|
36354
|
-
|
|
36188
|
+
const tableItemsFixture = {
|
|
36189
|
+
items: [
|
|
36190
|
+
{
|
|
36191
|
+
type: 'Feature',
|
|
36192
|
+
geometry: null,
|
|
36193
|
+
properties: {
|
|
36194
|
+
id: '0001',
|
|
36195
|
+
firstName: 'John',
|
|
36196
|
+
lastName: 'Lennon',
|
|
36197
|
+
},
|
|
36198
|
+
},
|
|
36199
|
+
{
|
|
36200
|
+
type: 'Feature',
|
|
36201
|
+
geometry: null,
|
|
36202
|
+
properties: {
|
|
36203
|
+
id: '0002',
|
|
36204
|
+
firstName: 'Ozzy',
|
|
36205
|
+
lastName: 'Osbourne',
|
|
36206
|
+
},
|
|
36207
|
+
},
|
|
36208
|
+
{
|
|
36209
|
+
type: 'Feature',
|
|
36210
|
+
geometry: null,
|
|
36211
|
+
properties: {
|
|
36212
|
+
id: '0003',
|
|
36213
|
+
firstName: 'Claude',
|
|
36214
|
+
lastName: 'François',
|
|
36215
|
+
},
|
|
36216
|
+
},
|
|
36217
|
+
],
|
|
36218
|
+
properties: [
|
|
36219
|
+
{ name: 'id', label: 'id', type: 'string' },
|
|
36220
|
+
{ name: 'firstName', label: 'Firstname', type: 'string' },
|
|
36221
|
+
{ name: 'lastName', label: 'Lastname', type: 'string' },
|
|
36222
|
+
],
|
|
36223
|
+
};
|
|
36224
|
+
const someHabTableItemFixture = {
|
|
36225
|
+
items: [
|
|
36226
|
+
{
|
|
36227
|
+
type: 'Feature',
|
|
36228
|
+
geometry: null,
|
|
36229
|
+
properties: {
|
|
36230
|
+
id: '1',
|
|
36231
|
+
name: 'France',
|
|
36232
|
+
pop: 50500000,
|
|
36233
|
+
},
|
|
36234
|
+
},
|
|
36235
|
+
{
|
|
36236
|
+
type: 'Feature',
|
|
36237
|
+
geometry: null,
|
|
36238
|
+
properties: {
|
|
36239
|
+
id: '2',
|
|
36240
|
+
name: 'Italy',
|
|
36241
|
+
pop: 155878789655,
|
|
36242
|
+
},
|
|
36243
|
+
},
|
|
36244
|
+
{
|
|
36245
|
+
type: 'Feature',
|
|
36246
|
+
geometry: null,
|
|
36247
|
+
properties: {
|
|
36248
|
+
id: '3',
|
|
36249
|
+
name: 'UK',
|
|
36250
|
+
pop: 31522456,
|
|
36251
|
+
},
|
|
36252
|
+
},
|
|
36253
|
+
{
|
|
36254
|
+
type: 'Feature',
|
|
36255
|
+
geometry: null,
|
|
36256
|
+
properties: {
|
|
36257
|
+
id: '4',
|
|
36258
|
+
name: 'US',
|
|
36259
|
+
pop: 3215448888,
|
|
36260
|
+
},
|
|
36261
|
+
},
|
|
36262
|
+
],
|
|
36263
|
+
properties: [
|
|
36264
|
+
{ name: 'id', label: 'ID', type: 'string' },
|
|
36265
|
+
{ name: 'name', label: 'Name', type: 'string' },
|
|
36266
|
+
{ name: 'pop', label: 'Population', type: 'number' },
|
|
36267
|
+
],
|
|
36268
|
+
};
|
|
36355
36269
|
|
|
36356
36270
|
marker('chart.type.bar');
|
|
36357
36271
|
marker('chart.type.barHorizontal');
|
|
@@ -36408,6 +36322,7 @@ class ChartViewComponent {
|
|
|
36408
36322
|
this.dataService = dataService;
|
|
36409
36323
|
this.changeDetector = changeDetector;
|
|
36410
36324
|
this.translateService = translateService;
|
|
36325
|
+
this.cacheActive = true;
|
|
36411
36326
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36412
36327
|
this.aggregation$ = new BehaviorSubject('sum');
|
|
36413
36328
|
this.xProperty$ = new BehaviorSubject(undefined);
|
|
@@ -36437,7 +36352,7 @@ class ChartViewComponent {
|
|
|
36437
36352
|
this.dataset$ = this.currentLink$.pipe(filter((link) => !!link), switchMap$1((link) => {
|
|
36438
36353
|
this.error = null;
|
|
36439
36354
|
this.loading = true;
|
|
36440
|
-
return this.dataService.getDataset(link).pipe(catchError((error) => {
|
|
36355
|
+
return this.dataService.getDataset(link, this.cacheActive).pipe(catchError((error) => {
|
|
36441
36356
|
this.handleError(error);
|
|
36442
36357
|
return EMPTY;
|
|
36443
36358
|
}));
|
|
@@ -36506,7 +36421,7 @@ class ChartViewComponent {
|
|
|
36506
36421
|
this.changeDetector.detectChanges();
|
|
36507
36422
|
}
|
|
36508
36423
|
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 }); }
|
|
36509
|
-
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 }); }
|
|
36424
|
+
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 }); }
|
|
36510
36425
|
}
|
|
36511
36426
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, decorators: [{
|
|
36512
36427
|
type: Component,
|
|
@@ -36518,7 +36433,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36518
36433
|
LoadingMaskComponent,
|
|
36519
36434
|
PopupAlertComponent,
|
|
36520
36435
|
], 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" }]
|
|
36521
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: {
|
|
36436
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
36437
|
+
type: Input
|
|
36438
|
+
}], link: [{
|
|
36522
36439
|
type: Input
|
|
36523
36440
|
}], aggregation: [{
|
|
36524
36441
|
type: Input
|
|
@@ -36593,22 +36510,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36593
36510
|
}] } });
|
|
36594
36511
|
|
|
36595
36512
|
class GeoTableViewComponent {
|
|
36596
|
-
get features() {
|
|
36597
|
-
return this.data.features;
|
|
36598
|
-
}
|
|
36599
36513
|
constructor(changeRef) {
|
|
36600
36514
|
this.changeRef = changeRef;
|
|
36601
|
-
this.data = { type: 'FeatureCollection', features: [] };
|
|
36602
36515
|
this.subscription = new Subscription();
|
|
36603
36516
|
}
|
|
36604
|
-
ngOnInit() {
|
|
36605
|
-
this.
|
|
36606
|
-
this.mapContext = this.initMapContext();
|
|
36517
|
+
async ngOnInit() {
|
|
36518
|
+
this.mapContext = await this.initMapContext();
|
|
36607
36519
|
}
|
|
36608
36520
|
onTableSelect(tableEntry) {
|
|
36609
36521
|
const { id } = tableEntry;
|
|
36610
36522
|
this.selectionId = id;
|
|
36611
|
-
this.selection = this.getFeatureFromId(id)
|
|
36523
|
+
// this.selection = this.getFeatureFromId(id)
|
|
36612
36524
|
if (this.selection) {
|
|
36613
36525
|
this.animateToFeature(this.selection);
|
|
36614
36526
|
}
|
|
@@ -36629,7 +36541,8 @@ class GeoTableViewComponent {
|
|
|
36629
36541
|
...f.properties,
|
|
36630
36542
|
}));
|
|
36631
36543
|
}
|
|
36632
|
-
initMapContext() {
|
|
36544
|
+
async initMapContext() {
|
|
36545
|
+
this.dataset.selectAll();
|
|
36633
36546
|
return {
|
|
36634
36547
|
layers: [
|
|
36635
36548
|
{
|
|
@@ -36638,7 +36551,11 @@ class GeoTableViewComponent {
|
|
|
36638
36551
|
},
|
|
36639
36552
|
{
|
|
36640
36553
|
type: 'geojson',
|
|
36641
|
-
data:
|
|
36554
|
+
data: {
|
|
36555
|
+
type: 'FeatureCollection',
|
|
36556
|
+
// FIXME: we're not getting geojson here
|
|
36557
|
+
features: await this.dataset.read(),
|
|
36558
|
+
},
|
|
36642
36559
|
},
|
|
36643
36560
|
],
|
|
36644
36561
|
view: {
|
|
@@ -36662,18 +36579,19 @@ class GeoTableViewComponent {
|
|
|
36662
36579
|
// })
|
|
36663
36580
|
}
|
|
36664
36581
|
getFeatureFromId(id) {
|
|
36665
|
-
|
|
36582
|
+
// FIXME: restore this once we need it?
|
|
36583
|
+
// return this.features.find((feature) => feature.id === id)
|
|
36666
36584
|
}
|
|
36667
36585
|
ngOnDestroy() {
|
|
36668
36586
|
this.subscription.unsubscribe();
|
|
36669
36587
|
}
|
|
36670
36588
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoTableViewComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36671
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GeoTableViewComponent, isStandalone: true, selector: "gn-ui-geo-table-view", inputs: {
|
|
36589
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GeoTableViewComponent, isStandalone: true, selector: "gn-ui-geo-table-view", inputs: { dataset: "dataset" }, viewQueries: [{ propertyName: "uiTable", first: true, predicate: ["table"], descendants: true }, { propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-row h-full overflow-auto\">\n <gn-ui-data-table\n #table\n class=\"w-1/2 overflow-auto\"\n [dataset]=\"dataset\"\n [activeId]=\"selectionId\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-map-container\n #mapContainer\n class=\"w-1/2 h-full\"\n [context]=\"mapContext\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <gn-ui-feature-detail\n style=\"width: 300px\"\n class=\"p-3 shrink-0 overflow-auto\"\n [feature]=\"selection\"\n ></gn-ui-feature-detail>\n</div>\n", styles: [""], dependencies: [{ 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: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36672
36590
|
}
|
|
36673
36591
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoTableViewComponent, decorators: [{
|
|
36674
36592
|
type: Component,
|
|
36675
|
-
args: [{ selector: 'gn-ui-geo-table-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
36676
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: {
|
|
36593
|
+
args: [{ selector: 'gn-ui-geo-table-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MapContainerComponent, FeatureDetailComponent, DataTableComponent], standalone: true, template: "<div class=\"flex flex-row h-full overflow-auto\">\n <gn-ui-data-table\n #table\n class=\"w-1/2 overflow-auto\"\n [dataset]=\"dataset\"\n [activeId]=\"selectionId\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-map-container\n #mapContainer\n class=\"w-1/2 h-full\"\n [context]=\"mapContext\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <gn-ui-feature-detail\n style=\"width: 300px\"\n class=\"p-3 shrink-0 overflow-auto\"\n [feature]=\"selection\"\n ></gn-ui-feature-detail>\n</div>\n" }]
|
|
36594
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { dataset: [{
|
|
36677
36595
|
type: Input
|
|
36678
36596
|
}], uiTable: [{
|
|
36679
36597
|
type: ViewChild,
|
|
@@ -36690,29 +36608,25 @@ class TableViewComponent {
|
|
|
36690
36608
|
constructor(dataService, translateService) {
|
|
36691
36609
|
this.dataService = dataService;
|
|
36692
36610
|
this.translateService = translateService;
|
|
36611
|
+
this.cacheActive = true;
|
|
36693
36612
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36694
36613
|
this.loading = false;
|
|
36695
36614
|
this.error = null;
|
|
36696
36615
|
this.tableData$ = this.currentLink$.pipe(switchMap$1((link) => {
|
|
36697
36616
|
this.error = null;
|
|
36698
36617
|
if (!link)
|
|
36699
|
-
return of(
|
|
36618
|
+
return of(undefined);
|
|
36700
36619
|
this.loading = true;
|
|
36701
|
-
return this.
|
|
36702
|
-
id: item.id,
|
|
36703
|
-
...item.properties,
|
|
36704
|
-
}))), catchError((error) => {
|
|
36620
|
+
return this.getDatasetReader(link).pipe(catchError((error) => {
|
|
36705
36621
|
this.handleError(error);
|
|
36706
|
-
return of(
|
|
36622
|
+
return of(undefined);
|
|
36707
36623
|
}), finalize(() => {
|
|
36708
36624
|
this.loading = false;
|
|
36709
36625
|
}));
|
|
36710
|
-
}), startWith(
|
|
36626
|
+
}), startWith(undefined), shareReplay(1));
|
|
36711
36627
|
}
|
|
36712
|
-
|
|
36713
|
-
return this.dataService
|
|
36714
|
-
.getDataset(link)
|
|
36715
|
-
.pipe(switchMap$1((dataset) => dataset.read()));
|
|
36628
|
+
getDatasetReader(link) {
|
|
36629
|
+
return this.dataService.getDataset(link, this.cacheActive);
|
|
36716
36630
|
}
|
|
36717
36631
|
onTableSelect(event) {
|
|
36718
36632
|
console.log(event);
|
|
@@ -36735,18 +36649,20 @@ class TableViewComponent {
|
|
|
36735
36649
|
this.loading = false;
|
|
36736
36650
|
}
|
|
36737
36651
|
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 }); }
|
|
36738
|
-
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-table\n class=\"overflow-auto grow\"\n [
|
|
36652
|
+
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 }); }
|
|
36739
36653
|
}
|
|
36740
36654
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, decorators: [{
|
|
36741
36655
|
type: Component,
|
|
36742
36656
|
args: [{ selector: 'gn-ui-table-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
36743
36657
|
CommonModule,
|
|
36744
|
-
|
|
36658
|
+
DataTableComponent,
|
|
36745
36659
|
LoadingMaskComponent,
|
|
36746
36660
|
PopupAlertComponent,
|
|
36747
36661
|
TranslateModule,
|
|
36748
|
-
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-table\n class=\"overflow-auto grow\"\n [
|
|
36749
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: {
|
|
36662
|
+
], 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" }]
|
|
36663
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
36664
|
+
type: Input
|
|
36665
|
+
}], link: [{
|
|
36750
36666
|
type: Input
|
|
36751
36667
|
}] } });
|
|
36752
36668
|
|
|
@@ -36765,7 +36681,15 @@ class MdViewFacade {
|
|
|
36765
36681
|
this.isPresent$ = this.store.pipe(select(getMetadataUuid), map$1((uuid) => !!uuid));
|
|
36766
36682
|
this.isMetadataLoading$ = this.store.pipe(select(getMetadataIsLoading));
|
|
36767
36683
|
this.metadata$ = this.store.pipe(select(getMetadata), filter((md) => !!md));
|
|
36684
|
+
this.featureCatalog$ = this.store.pipe(select(getFeatureCatalog));
|
|
36768
36685
|
this.isIncomplete$ = this.store.pipe(select(getMetadataIsIncomplete), filter((incomplete) => incomplete !== null));
|
|
36686
|
+
this.isHighUpdateFrequency$ = this.metadata$.pipe(map$1((record) => {
|
|
36687
|
+
if (record.updateFrequency instanceof Object) {
|
|
36688
|
+
return (record.updateFrequency.per === 'day' &&
|
|
36689
|
+
record.updateFrequency.updatedTimes > 1);
|
|
36690
|
+
}
|
|
36691
|
+
return record.updateFrequency === 'continual';
|
|
36692
|
+
}));
|
|
36769
36693
|
this.error$ = this.store.pipe(select(getMetadataError));
|
|
36770
36694
|
this.related$ = this.store.pipe(select(getRelated));
|
|
36771
36695
|
this.chartConfig$ = this.store.pipe(select(getChartConfig));
|
|
@@ -36861,6 +36785,11 @@ class MdViewEffects {
|
|
|
36861
36785
|
}
|
|
36862
36786
|
return loadFullMetadataSuccess({ full: record });
|
|
36863
36787
|
}), catchError((error) => of(loadFullMetadataFailure({ otherError: error.message })))));
|
|
36788
|
+
this.loadFeatureCatalog$ = createEffect(() => this.actions$.pipe(ofType(loadFullMetadataSuccess), filter(({ full }) => full !== undefined), switchMap$1(({ full }) => this.recordsRepository.getFeatureCatalog(full)), map$1((featureCatalog) => loadFeatureCatalogSuccess({
|
|
36789
|
+
datasetCatalog: featureCatalog,
|
|
36790
|
+
})), catchError((error) => of(loadFeatureCatalogFailure({
|
|
36791
|
+
error: error.message,
|
|
36792
|
+
})))));
|
|
36864
36793
|
/*
|
|
36865
36794
|
Related effects
|
|
36866
36795
|
*/
|
|
@@ -37323,7 +37252,7 @@ class FeatureRecordModule {
|
|
|
37323
37252
|
MatTabsModule,
|
|
37324
37253
|
UiWidgetsModule,
|
|
37325
37254
|
TranslateModule,
|
|
37326
|
-
|
|
37255
|
+
DataTableComponent,
|
|
37327
37256
|
NgIconsModule,
|
|
37328
37257
|
DropdownSelectorComponent] }); }
|
|
37329
37258
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureRecordModule, providers: [
|
|
@@ -37342,7 +37271,7 @@ class FeatureRecordModule {
|
|
|
37342
37271
|
MatTabsModule,
|
|
37343
37272
|
UiWidgetsModule,
|
|
37344
37273
|
TranslateModule,
|
|
37345
|
-
|
|
37274
|
+
DataTableComponent,
|
|
37346
37275
|
NgIconsModule,
|
|
37347
37276
|
DropdownSelectorComponent] }); }
|
|
37348
37277
|
}
|
|
@@ -37361,7 +37290,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37361
37290
|
MatTabsModule,
|
|
37362
37291
|
UiWidgetsModule,
|
|
37363
37292
|
TranslateModule,
|
|
37364
|
-
|
|
37293
|
+
DataTableComponent,
|
|
37365
37294
|
NgIconsModule,
|
|
37366
37295
|
DropdownSelectorComponent,
|
|
37367
37296
|
],
|
|
@@ -37446,10 +37375,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37446
37375
|
}] } });
|
|
37447
37376
|
|
|
37448
37377
|
class DataViewComponent {
|
|
37378
|
+
set exceedsLimit(value) {
|
|
37379
|
+
this.excludeWfs$.next(value);
|
|
37380
|
+
}
|
|
37449
37381
|
constructor(mdViewFacade) {
|
|
37450
37382
|
this.mdViewFacade = mdViewFacade;
|
|
37451
37383
|
this.displaySource = true;
|
|
37452
37384
|
this.chartConfig$ = new BehaviorSubject(null);
|
|
37385
|
+
this.cacheActive$ = this.mdViewFacade.isHighUpdateFrequency$.pipe(map$1((highF) => !highF));
|
|
37386
|
+
this.hidePreview = false;
|
|
37387
|
+
this.excludeWfs$ = new BehaviorSubject(false);
|
|
37453
37388
|
this.compatibleDataLinks$ = combineLatest([
|
|
37454
37389
|
this.mdViewFacade.dataLinks$,
|
|
37455
37390
|
this.mdViewFacade.geoDataLinks$,
|
|
@@ -37460,7 +37395,7 @@ class DataViewComponent {
|
|
|
37460
37395
|
}));
|
|
37461
37396
|
this.dropdownChoices$ = this.compatibleDataLinks$.pipe(tap$1((links) => {
|
|
37462
37397
|
if (links.indexOf(this.selectedLink$.value) === -1) {
|
|
37463
|
-
this.
|
|
37398
|
+
this.selectLink(JSON.stringify(links[0]));
|
|
37464
37399
|
}
|
|
37465
37400
|
}), map$1((links) => links.map((link) => ({
|
|
37466
37401
|
label: getLinkLabel(link),
|
|
@@ -37474,10 +37409,20 @@ class DataViewComponent {
|
|
|
37474
37409
|
selectLink(linkAsString) {
|
|
37475
37410
|
const link = JSON.parse(linkAsString);
|
|
37476
37411
|
link.url = new URL(link.url);
|
|
37477
|
-
this.
|
|
37412
|
+
this.excludeWfs$
|
|
37413
|
+
.pipe(tap$1((excludeWfs) => {
|
|
37414
|
+
this.hidePreview =
|
|
37415
|
+
link['accessServiceProtocol'] === 'wfs' &&
|
|
37416
|
+
excludeWfs &&
|
|
37417
|
+
this.mode === 'chart'
|
|
37418
|
+
? true
|
|
37419
|
+
: false;
|
|
37420
|
+
this.selectedLink$.next(link);
|
|
37421
|
+
}))
|
|
37422
|
+
.subscribe();
|
|
37478
37423
|
}
|
|
37479
37424
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, deps: [{ token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37480
|
-
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-[
|
|
37425
|
+
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 }); }
|
|
37481
37426
|
}
|
|
37482
37427
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, decorators: [{
|
|
37483
37428
|
type: Component,
|
|
@@ -37487,11 +37432,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37487
37432
|
TableViewComponent,
|
|
37488
37433
|
TranslateModule,
|
|
37489
37434
|
ChartViewComponent,
|
|
37490
|
-
|
|
37435
|
+
PopupAlertComponent,
|
|
37436
|
+
], 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" }]
|
|
37491
37437
|
}], ctorParameters: () => [{ type: MdViewFacade }], propDecorators: { mode: [{
|
|
37492
37438
|
type: Input
|
|
37493
37439
|
}], displaySource: [{
|
|
37494
37440
|
type: Input
|
|
37441
|
+
}], exceedsLimit: [{
|
|
37442
|
+
type: Input
|
|
37495
37443
|
}], chartConfig$: [{
|
|
37496
37444
|
type: Output
|
|
37497
37445
|
}] } });
|
|
@@ -37663,7 +37611,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37663
37611
|
marker('map.dropdown.placeholder');
|
|
37664
37612
|
marker('wfs.feature.limit');
|
|
37665
37613
|
class MapViewComponent {
|
|
37666
|
-
set
|
|
37614
|
+
set exceedsLimit(value) {
|
|
37667
37615
|
this.excludeWfs$.next(value);
|
|
37668
37616
|
}
|
|
37669
37617
|
toggleLegend() {
|
|
@@ -37682,6 +37630,7 @@ class MapViewComponent {
|
|
|
37682
37630
|
this.changeRef = changeRef;
|
|
37683
37631
|
this.displaySource = true;
|
|
37684
37632
|
this.excludeWfs$ = new BehaviorSubject(false);
|
|
37633
|
+
this.hidePreview = false;
|
|
37685
37634
|
this.showLegend = true;
|
|
37686
37635
|
this.legendExists = false;
|
|
37687
37636
|
this.compatibleMapLinks$ = combineLatest([
|
|
@@ -37708,9 +37657,10 @@ class MapViewComponent {
|
|
|
37708
37657
|
return of([]);
|
|
37709
37658
|
}
|
|
37710
37659
|
if (excludeWfs && link.accessServiceProtocol === 'wfs') {
|
|
37711
|
-
this.
|
|
37660
|
+
this.hidePreview = true;
|
|
37712
37661
|
return of([]);
|
|
37713
37662
|
}
|
|
37663
|
+
this.hidePreview = false;
|
|
37714
37664
|
this.loading = true;
|
|
37715
37665
|
this.error = null;
|
|
37716
37666
|
return this.getLayerFromLink(link).pipe(map$1((layer) => [layer]), catchError((e) => {
|
|
@@ -37780,7 +37730,8 @@ class MapViewComponent {
|
|
|
37780
37730
|
link.accessServiceProtocol === 'esriRest' ||
|
|
37781
37731
|
link.accessServiceProtocol === 'ogcFeatures')) ||
|
|
37782
37732
|
link.type === 'download') {
|
|
37783
|
-
|
|
37733
|
+
const cacheActive = true; // TODO implement whether should be true or false
|
|
37734
|
+
return this.dataService.readAsGeoJson(link, cacheActive).pipe(map$1((data) => ({
|
|
37784
37735
|
type: 'geojson',
|
|
37785
37736
|
data,
|
|
37786
37737
|
})));
|
|
@@ -37791,7 +37742,7 @@ class MapViewComponent {
|
|
|
37791
37742
|
this.selectedLinkIndex$.next(link);
|
|
37792
37743
|
}
|
|
37793
37744
|
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 }); }
|
|
37794
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: {
|
|
37745
|
+
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 }); }
|
|
37795
37746
|
}
|
|
37796
37747
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, decorators: [{
|
|
37797
37748
|
type: Component,
|
|
@@ -37807,8 +37758,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37807
37758
|
ExternalViewerButtonComponent,
|
|
37808
37759
|
ButtonComponent,
|
|
37809
37760
|
MapLegendComponent,
|
|
37810
|
-
], 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 <
|
|
37811
|
-
}], ctorParameters: () => [{ type: MdViewFacade }, { type: MapUtilsService }, { type: DataService }, { type: i0.ChangeDetectorRef }], propDecorators: {
|
|
37761
|
+
], 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" }]
|
|
37762
|
+
}], ctorParameters: () => [{ type: MdViewFacade }, { type: MapUtilsService }, { type: DataService }, { type: i0.ChangeDetectorRef }], propDecorators: { exceedsLimit: [{
|
|
37812
37763
|
type: Input
|
|
37813
37764
|
}], displaySource: [{
|
|
37814
37765
|
type: Input
|
|
@@ -38034,7 +37985,7 @@ class RecordMetaComponent {
|
|
|
38034
37985
|
this.meta.removeTag('property="og:url"');
|
|
38035
37986
|
this.meta.removeTag('property="og:title"');
|
|
38036
37987
|
}
|
|
38037
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecordMetaComponent, deps: [{ token: i1$
|
|
37988
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecordMetaComponent, deps: [{ token: i1$d.Meta }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38038
37989
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RecordMetaComponent, isStandalone: true, selector: "gn-ui-record-meta", inputs: { metadata: "metadata" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38039
37990
|
}
|
|
38040
37991
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecordMetaComponent, decorators: [{
|
|
@@ -38045,7 +37996,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38045
37996
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38046
37997
|
standalone: true,
|
|
38047
37998
|
}]
|
|
38048
|
-
}], ctorParameters: () => [{ type: i1$
|
|
37999
|
+
}], ctorParameters: () => [{ type: i1$d.Meta }], propDecorators: { metadata: [{
|
|
38049
38000
|
type: Input
|
|
38050
38001
|
}] } });
|
|
38051
38002
|
|
|
@@ -38295,8 +38246,8 @@ const DEFAULT_CONFIGURATION = {
|
|
|
38295
38246
|
labelKey: marker('editor.record.form.page.description'),
|
|
38296
38247
|
sections: [
|
|
38297
38248
|
TITLE_SECTION,
|
|
38298
|
-
ABOUT_SECTION,
|
|
38299
38249
|
CLASSIFICATION_SECTION,
|
|
38250
|
+
ABOUT_SECTION,
|
|
38300
38251
|
GEOGRAPHICAL_COVERAGE_SECTION,
|
|
38301
38252
|
],
|
|
38302
38253
|
},
|
|
@@ -38641,9 +38592,8 @@ var WizardFieldType;
|
|
|
38641
38592
|
(function (WizardFieldType) {
|
|
38642
38593
|
WizardFieldType[WizardFieldType["TEXT"] = 0] = "TEXT";
|
|
38643
38594
|
WizardFieldType[WizardFieldType["TEXT_AREA"] = 1] = "TEXT_AREA";
|
|
38644
|
-
WizardFieldType[WizardFieldType["
|
|
38645
|
-
WizardFieldType[WizardFieldType["
|
|
38646
|
-
WizardFieldType[WizardFieldType["DROPDOWN"] = 4] = "DROPDOWN";
|
|
38595
|
+
WizardFieldType[WizardFieldType["DATA_PICKER"] = 2] = "DATA_PICKER";
|
|
38596
|
+
WizardFieldType[WizardFieldType["DROPDOWN"] = 3] = "DROPDOWN";
|
|
38647
38597
|
})(WizardFieldType || (WizardFieldType = {}));
|
|
38648
38598
|
|
|
38649
38599
|
class WizardService {
|
|
@@ -38765,9 +38715,6 @@ class WizardFieldComponent {
|
|
|
38765
38715
|
case WizardFieldType.TEXT: {
|
|
38766
38716
|
return data || '';
|
|
38767
38717
|
}
|
|
38768
|
-
case WizardFieldType.CHIPS: {
|
|
38769
|
-
return data ? JSON.parse(data) : [];
|
|
38770
|
-
}
|
|
38771
38718
|
case WizardFieldType.TEXT_AREA: {
|
|
38772
38719
|
return data || '';
|
|
38773
38720
|
}
|
|
@@ -38797,10 +38744,6 @@ class WizardFieldComponent {
|
|
|
38797
38744
|
this.initializeTextInputListener();
|
|
38798
38745
|
break;
|
|
38799
38746
|
}
|
|
38800
|
-
case WizardFieldType.CHIPS: {
|
|
38801
|
-
this.initializeChipsListener();
|
|
38802
|
-
break;
|
|
38803
|
-
}
|
|
38804
38747
|
case WizardFieldType.TEXT_AREA: {
|
|
38805
38748
|
this.initializeTextAreaListener();
|
|
38806
38749
|
return;
|
|
@@ -38820,11 +38763,6 @@ class WizardFieldComponent {
|
|
|
38820
38763
|
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, value);
|
|
38821
38764
|
}));
|
|
38822
38765
|
}
|
|
38823
|
-
initializeChipsListener() {
|
|
38824
|
-
this.subs.add(this.chips.itemsChange.subscribe((items) => {
|
|
38825
|
-
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, JSON.stringify(items));
|
|
38826
|
-
}));
|
|
38827
|
-
}
|
|
38828
38766
|
initializeTextAreaListener() {
|
|
38829
38767
|
this.subs.add(this.textArea.valueChange.subscribe((value) => {
|
|
38830
38768
|
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, value);
|
|
@@ -38858,7 +38796,7 @@ class WizardFieldComponent {
|
|
|
38858
38796
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
38859
38797
|
},
|
|
38860
38798
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
38861
|
-
], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "
|
|
38799
|
+
], 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 }); }
|
|
38862
38800
|
}
|
|
38863
38801
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardFieldComponent, decorators: [{
|
|
38864
38802
|
type: Component,
|
|
@@ -38870,15 +38808,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38870
38808
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
38871
38809
|
},
|
|
38872
38810
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
38873
|
-
], 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=\"
|
|
38811
|
+
], 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"] }]
|
|
38874
38812
|
}], ctorParameters: () => [{ type: WizardService }, { type: i0.ChangeDetectorRef }], propDecorators: { wizardFieldConfig: [{
|
|
38875
38813
|
type: Input
|
|
38876
38814
|
}], searchText: [{
|
|
38877
38815
|
type: ViewChild,
|
|
38878
38816
|
args: ['searchText']
|
|
38879
|
-
}], chips: [{
|
|
38880
|
-
type: ViewChild,
|
|
38881
|
-
args: ['chips']
|
|
38882
38817
|
}], textArea: [{
|
|
38883
38818
|
type: ViewChild,
|
|
38884
38819
|
args: ['textArea']
|
|
@@ -39109,7 +39044,7 @@ class ImportRecordComponent {
|
|
|
39109
39044
|
},
|
|
39110
39045
|
});
|
|
39111
39046
|
}
|
|
39112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImportRecordComponent, deps: [{ token: i1$
|
|
39047
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImportRecordComponent, deps: [{ token: i1$e.Router }, { token: i1$1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: NotificationsService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39113
39048
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImportRecordComponent, isStandalone: true, selector: "gn-ui-import-record", outputs: { closeImportMenu: "closeImportMenu" }, providers: [
|
|
39114
39049
|
provideIcons({
|
|
39115
39050
|
iconoirImport,
|
|
@@ -39140,7 +39075,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39140
39075
|
size: '1.5em',
|
|
39141
39076
|
}),
|
|
39142
39077
|
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\" translate\n >dashboard.importRecord.importExternal.title</span\n >\n <span translate>dashboard.importRecord.importExternal.subtitle</span>\n </div>\n <gn-ui-url-input\n (uploadClick)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n" }]
|
|
39143
|
-
}], ctorParameters: () => [{ type: i1$
|
|
39078
|
+
}], ctorParameters: () => [{ type: i1$e.Router }, { type: i1$1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: NotificationsService }, { type: RecordsRepositoryInterface }], propDecorators: { closeImportMenu: [{
|
|
39144
39079
|
type: Output
|
|
39145
39080
|
}] } });
|
|
39146
39081
|
|
|
@@ -39185,7 +39120,7 @@ class GenericKeywordsComponent {
|
|
|
39185
39120
|
provideIcons({
|
|
39186
39121
|
matWarningAmberOutline,
|
|
39187
39122
|
}),
|
|
39188
|
-
], 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 }); }
|
|
39123
|
+
], 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 }); }
|
|
39189
39124
|
}
|
|
39190
39125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericKeywordsComponent, decorators: [{
|
|
39191
39126
|
type: Component,
|
|
@@ -39455,7 +39390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39455
39390
|
|
|
39456
39391
|
class FormFieldRichComponent {
|
|
39457
39392
|
constructor() {
|
|
39458
|
-
this.placeholder = '
|
|
39393
|
+
this.placeholder = '';
|
|
39459
39394
|
this.valueChange = new EventEmitter();
|
|
39460
39395
|
this.preview = false;
|
|
39461
39396
|
}
|
|
@@ -39704,6 +39639,7 @@ class FormFieldContactsForResourceComponent {
|
|
|
39704
39639
|
'owner',
|
|
39705
39640
|
'point_of_contact',
|
|
39706
39641
|
'author',
|
|
39642
|
+
'publisher',
|
|
39707
39643
|
];
|
|
39708
39644
|
this.roleSectionsToDisplay = [];
|
|
39709
39645
|
this.allOrganizations = new Map();
|
|
@@ -39802,7 +39738,7 @@ class FormFieldContactsForResourceComponent {
|
|
|
39802
39738
|
provideNgIconsConfig({
|
|
39803
39739
|
size: '1.5rem',
|
|
39804
39740
|
}),
|
|
39805
|
-
], 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 }); }
|
|
39741
|
+
], 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", "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 }); }
|
|
39806
39742
|
}
|
|
39807
39743
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsForResourceComponent, decorators: [{
|
|
39808
39744
|
type: Component,
|
|
@@ -39900,7 +39836,7 @@ class FormFieldContactsComponent {
|
|
|
39900
39836
|
this.subscription.unsubscribe();
|
|
39901
39837
|
}
|
|
39902
39838
|
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 }); }
|
|
39903
|
-
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 }); }
|
|
39839
|
+
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 }); }
|
|
39904
39840
|
}
|
|
39905
39841
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, decorators: [{
|
|
39906
39842
|
type: Component,
|
|
@@ -40249,7 +40185,7 @@ class OnlineServiceResourceInputComponent {
|
|
|
40249
40185
|
provideNgIconsConfig({
|
|
40250
40186
|
size: '1.5em',
|
|
40251
40187
|
}),
|
|
40252
|
-
], 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 }); }
|
|
40188
|
+
], 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 }); }
|
|
40253
40189
|
}
|
|
40254
40190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, decorators: [{
|
|
40255
40191
|
type: Component,
|
|
@@ -40844,7 +40780,7 @@ class ConstraintCardComponent {
|
|
|
40844
40780
|
provideNgIconsConfig({
|
|
40845
40781
|
size: '1.5rem',
|
|
40846
40782
|
}),
|
|
40847
|
-
], 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 [
|
|
40783
|
+
], 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 }); }
|
|
40848
40784
|
}
|
|
40849
40785
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConstraintCardComponent, decorators: [{
|
|
40850
40786
|
type: Component,
|
|
@@ -40862,7 +40798,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40862
40798
|
provideNgIconsConfig({
|
|
40863
40799
|
size: '1.5rem',
|
|
40864
40800
|
}),
|
|
40865
|
-
], 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 [
|
|
40801
|
+
], 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"] }]
|
|
40866
40802
|
}], propDecorators: { label: [{
|
|
40867
40803
|
type: Input
|
|
40868
40804
|
}], constraint: [{
|
|
@@ -41140,7 +41076,7 @@ class RouterService {
|
|
|
41140
41076
|
getOrganizationPageRoute() {
|
|
41141
41077
|
return ROUTER_ROUTE_ORGANIZATION;
|
|
41142
41078
|
}
|
|
41143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, deps: [{ token: ROUTER_CONFIG }, { token: i1$
|
|
41079
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, deps: [{ token: ROUTER_CONFIG }, { token: i1$e.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41144
41080
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, providedIn: 'root' }); }
|
|
41145
41081
|
}
|
|
41146
41082
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, decorators: [{
|
|
@@ -41151,7 +41087,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41151
41087
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
41152
41088
|
type: Inject,
|
|
41153
41089
|
args: [ROUTER_CONFIG]
|
|
41154
|
-
}] }, { type: i1$
|
|
41090
|
+
}] }, { type: i1$e.Router }] });
|
|
41155
41091
|
|
|
41156
41092
|
const goAction = createAction('[Router] Go', props());
|
|
41157
41093
|
const backAction = createAction('[Router] Back');
|
|
@@ -41456,12 +41392,12 @@ class RouterEffects {
|
|
|
41456
41392
|
this.navigateBack$ = createEffect(() => this._actions$.pipe(ofType(backAction), tap$1(() => this._location.back())), { dispatch: false });
|
|
41457
41393
|
this.navigateForward$ = createEffect(() => this._actions$.pipe(ofType(forwardAction), tap$1(() => this._location.forward())), { dispatch: false });
|
|
41458
41394
|
}
|
|
41459
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, deps: [{ token: i1$c.Actions }, { token: i1$
|
|
41395
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, deps: [{ token: i1$c.Actions }, { token: i1$e.Router }, { token: i1$2.Location }, { token: RouterFacade }, { token: ROUTER_CONFIG }, { token: FieldsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41460
41396
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects }); }
|
|
41461
41397
|
}
|
|
41462
41398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, decorators: [{
|
|
41463
41399
|
type: Injectable
|
|
41464
|
-
}], ctorParameters: () => [{ type: i1$c.Actions }, { type: i1$
|
|
41400
|
+
}], ctorParameters: () => [{ type: i1$c.Actions }, { type: i1$e.Router }, { type: i1$2.Location }, { type: RouterFacade }, { type: undefined, decorators: [{
|
|
41465
41401
|
type: Inject,
|
|
41466
41402
|
args: [ROUTER_CONFIG]
|
|
41467
41403
|
}] }, { type: FieldsService }] });
|
|
@@ -41521,5 +41457,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41521
41457
|
* Generated bundle index. Do not edit.
|
|
41522
41458
|
*/
|
|
41523
41459
|
|
|
41524
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, 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, 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, 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, TableComponent, 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, tableItemFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
41460
|
+
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, 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, 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 };
|
|
41525
41461
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|