geonetwork-ui 2.4.0-dev.503109c9 → 2.4.0-dev.575f30f2
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +10 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +5 -5
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +7 -4
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +10 -7
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +7 -14
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +28 -18
- package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +18 -2
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +78 -39
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +41 -7
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.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 +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +4 -16
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +4 -2
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +93 -0
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +71 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +11 -29
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.mjs +19 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +23 -10
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +148 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +86 -11
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +4 -8
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +36 -7
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +35 -59
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +12 -5
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +34 -6
- package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +2 -2
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +4 -2
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/index.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +6 -6
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/index.mjs +5 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -4
- package/esm2022/libs/ui/inputs/src/lib/badge/badge.component.mjs +5 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +8 -1
- package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +11 -4
- package/esm2022/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.mjs +9 -3
- package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +87 -0
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +5 -4
- package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +4 -4
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +4 -3
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/index.mjs +3 -1
- package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +5 -3
- package/esm2022/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.mjs +29 -0
- package/esm2022/libs/ui/layout/src/lib/sortable-list/sortable-list.component.mjs +43 -0
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +3 -3
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/bytes-convert.mjs +4 -1
- package/esm2022/translations/de.json +20 -0
- package/esm2022/translations/en.json +20 -0
- package/esm2022/translations/es.json +20 -0
- package/esm2022/translations/fr.json +21 -1
- package/esm2022/translations/it.json +20 -0
- package/esm2022/translations/nl.json +20 -0
- package/esm2022/translations/pt.json +20 -0
- package/fesm2022/geonetwork-ui.mjs +3136 -2523
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +1 -0
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +3 -3
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +2 -2
- package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +1 -1
- package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +4 -5
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +7 -6
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +6 -0
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +12 -7
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +21 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -6
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +15 -0
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +7 -0
- 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 -2
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +6 -6
- 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 +3 -3
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +1 -5
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts +2 -1
- package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +33 -0
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts +15 -0
- package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +2 -5
- 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-date-updated/form-field-date-updated.component.d.ts +9 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-date-updated/form-field-date-updated.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +5 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +35 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +20 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts +1 -3
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts +7 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +9 -15
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +5 -3
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +3 -2
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +9 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +6 -0
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts +5 -5
- package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +3 -3
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -2
- package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -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.facade.d.ts +7 -7
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -7
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts +2 -2
- package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
- package/libs/ui/inputs/src/index.d.ts +4 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/badge/badge.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +24 -0
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +0 -1
- package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +2 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts +2 -2
- package/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
- package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts +20 -0
- package/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts +14 -0
- package/libs/ui/layout/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -6
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/bytes-convert.d.ts +2 -1
- package/libs/util/shared/src/lib/utils/bytes-convert.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +18 -16
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +4 -4
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +12 -4
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +14 -8
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +4 -12
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +13 -15
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +48 -36
- package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +20 -1
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +132 -68
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -3
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +7 -7
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +26 -0
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +10 -0
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +216 -175
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +3 -3
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +3 -3
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -6
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -4
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +12 -24
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +1 -13
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +43 -0
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +129 -0
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.html +35 -0
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +79 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +13 -23
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +7 -44
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-resource-updated/form-field-resource-updated.component.ts → form-field-date-updated/form-field-date-updated.component.ts} +4 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +3 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +35 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.css +8 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +34 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +182 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +11 -5
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +93 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +13 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +0 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +7 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +62 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.css +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +23 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +37 -69
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +4 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +16 -14
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +27 -20
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +10 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +31 -29
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +2 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +37 -5
- package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +12 -0
- package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.ts +7 -7
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -3
- package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +2 -2
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -2
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +5 -1
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
- package/src/libs/ui/elements/src/index.ts +1 -1
- package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -7
- package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -3
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +13 -20
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -1
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +5 -0
- package/src/libs/ui/inputs/src/index.ts +4 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +25 -18
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +38 -24
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +4 -1
- package/src/libs/ui/inputs/src/lib/badge/badge.component.html +12 -3
- package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +15 -1
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.css +7 -2
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.html +13 -6
- package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +7 -1
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.css +7 -2
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.html +27 -23
- package/src/libs/ui/inputs/src/lib/date-range-picker/date-range-picker.component.ts +7 -1
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.css +4 -0
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +7 -3
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.css +4 -0
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +30 -22
- package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +4 -3
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +0 -1
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +1 -2
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -1
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +1 -1
- package/src/libs/ui/layout/src/index.ts +2 -0
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +8 -3
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +4 -3
- package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.css +0 -0
- package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.html +15 -0
- package/src/libs/ui/layout/src/lib/modal-dialog/modal-dialog.component.ts +44 -0
- package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +37 -0
- package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.ts +13 -16
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +4 -2
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -3
- package/src/libs/util/shared/src/lib/links/link-utils.ts +6 -6
- package/src/libs/util/shared/src/lib/services/theme.service.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/bytes-convert.ts +4 -1
- package/tailwind.base.config.js +1 -0
- package/tailwind.base.css +35 -4
- package/translations/de.json +20 -0
- package/translations/en.json +20 -0
- package/translations/es.json +20 -0
- package/translations/fr.json +21 -1
- package/translations/it.json +20 -0
- package/translations/nl.json +20 -0
- package/translations/pt.json +20 -0
- package/translations/sk.json +20 -0
- package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +0 -96
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.mjs +0 -19
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.mjs +0 -17
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.mjs +0 -17
- package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +0 -39
- package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +0 -27
- package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts +0 -9
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts +0 -8
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts +0 -8
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +0 -17
- package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +0 -9
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +0 -113
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.html +0 -7
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.ts +0 -16
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.html +0 -13
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.ts +0 -16
- package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +0 -29
- /package/src/libs/feature/editor/src/lib/components/{overview-upload/overview-upload.component.css → import-record/import-record.component.css} +0 -0
- /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-resource-updated/form-field-resource-updated.component.css → online-resource-card/online-resource-card.component.css} +0 -0
- /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-temporal-extents/form-field-temporal-extents-date/form-field-temporal-extents-date.component.css → form-field-date-updated/form-field-date-updated.component.css} +0 -0
- /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-resource-updated/form-field-resource-updated.component.html → form-field-date-updated/form-field-date-updated.component.html} +0 -0
- /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-temporal-extents/form-field-temporal-extents-range/form-field-temporal-extents-range.component.css → form-field-online-link-resources/form-field-online-link-resources.component.css} +0 -0
- /package/src/libs/ui/{elements → layout}/src/lib/sortable-list/sortable-list.component.css +0 -0
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
<div class="w-full h-full flex flex-col gap-2">
|
|
6
6
|
<div class="flex-1 group relative">
|
|
7
7
|
<img
|
|
8
|
-
class="w-full
|
|
8
|
+
class="w-full object-cover border-2 border-gray-300 rounded-lg h-[172px]"
|
|
9
9
|
[alt]="altText"
|
|
10
10
|
loading="lazy"
|
|
11
11
|
[src]="previewUrl"
|
|
12
12
|
/>
|
|
13
13
|
<gn-ui-button
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
14
|
+
type="outline"
|
|
15
|
+
style="--gn-ui-button-height: 40px; --gn-ui-button-width: 40px"
|
|
16
|
+
extraClass="absolute right-2 bottom-2 invisible group-hover:visible bg-background"
|
|
17
17
|
(buttonClick)="handleDelete()"
|
|
18
18
|
>
|
|
19
19
|
<mat-icon class="material-symbols-outlined">delete</mat-icon>
|
|
@@ -24,21 +24,23 @@
|
|
|
24
24
|
[placeholder]="'input.image.altTextPlaceholder' | translate"
|
|
25
25
|
[value]="altText ?? ''"
|
|
26
26
|
(valueChange)="handleAltTextChange($event)"
|
|
27
|
+
extraClass="gn-ui-editor-textarea"
|
|
27
28
|
></gn-ui-text-input>
|
|
28
|
-
<div class="flex flex-row gap-2">
|
|
29
|
-
<gn-ui-button
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<mat-icon class="material-symbols-outlined me-1">delete</mat-icon>
|
|
29
|
+
<div class="flex flex-row gap-2 mt-2">
|
|
30
|
+
<gn-ui-button type="gray" (buttonClick)="handleDelete()">
|
|
31
|
+
<mat-icon class="material-symbols-outlined me-1 text-primary"
|
|
32
|
+
>delete</mat-icon
|
|
33
|
+
>
|
|
34
34
|
{{ 'input.image.delete' | translate }}
|
|
35
35
|
</gn-ui-button>
|
|
36
36
|
<gn-ui-button
|
|
37
37
|
*ngIf="!showAltTextInput"
|
|
38
|
-
|
|
38
|
+
type="gray"
|
|
39
39
|
(buttonClick)="toggleAltTextInput()"
|
|
40
40
|
>
|
|
41
|
-
<mat-icon class="material-symbols-outlined me-1"
|
|
41
|
+
<mat-icon class="material-symbols-outlined me-1 text-primary"
|
|
42
|
+
>add</mat-icon
|
|
43
|
+
>
|
|
42
44
|
{{ 'input.image.displayAltTextInput' | translate }}
|
|
43
45
|
</gn-ui-button>
|
|
44
46
|
</div>
|
|
@@ -49,11 +51,17 @@
|
|
|
49
51
|
<div class="w-full h-full flex flex-col gap-2">
|
|
50
52
|
<label
|
|
51
53
|
gnUiFilesDrop
|
|
52
|
-
class="flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4"
|
|
54
|
+
class="flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100"
|
|
53
55
|
[ngClass]="{
|
|
54
56
|
'border-primary-lighter bg-primary-white': dragFilesOver,
|
|
55
|
-
'border-gray-300': !dragFilesOver
|
|
57
|
+
'border-gray-300': !dragFilesOver,
|
|
58
|
+
'cursor-pointer hover:border-gray-500':
|
|
59
|
+
!isUploadInProgress && !uploadError && !showUrlInput
|
|
56
60
|
}"
|
|
61
|
+
[attr.tabindex]="
|
|
62
|
+
isUploadInProgress || uploadError || showUrlInput ? null : 0
|
|
63
|
+
"
|
|
64
|
+
(keydown.enter)="fileInput.click()"
|
|
57
65
|
(dragFilesOver)="handleDragFilesOver($event)"
|
|
58
66
|
(dropFiles)="handleDropFiles($event)"
|
|
59
67
|
>
|
|
@@ -75,7 +83,7 @@
|
|
|
75
83
|
|
|
76
84
|
<div
|
|
77
85
|
*ngIf="isUploadInProgress && !uploadError"
|
|
78
|
-
class="w-14 h-14 grid items-center justify-center"
|
|
86
|
+
class="w-14 h-14 grid items-center justify-center relative"
|
|
79
87
|
>
|
|
80
88
|
<div class="text-gray-100 absolute">
|
|
81
89
|
<mat-progress-spinner
|
|
@@ -112,12 +120,13 @@
|
|
|
112
120
|
? 'font-bold text-blue-500 cursor-pointer'
|
|
113
121
|
: 'font-medium text-gray-500'
|
|
114
122
|
"
|
|
115
|
-
(click)="handleSecondaryTextClick()"
|
|
123
|
+
(click)="handleSecondaryTextClick($event)"
|
|
116
124
|
>
|
|
117
125
|
{{ getSecondaryText() | translate }}
|
|
118
126
|
</p>
|
|
119
127
|
</div>
|
|
120
128
|
<input
|
|
129
|
+
#fileInput
|
|
121
130
|
type="file"
|
|
122
131
|
class="hidden"
|
|
123
132
|
(change)="handleFileInput($event)"
|
|
@@ -125,12 +134,11 @@
|
|
|
125
134
|
/>
|
|
126
135
|
</label>
|
|
127
136
|
|
|
128
|
-
<div *ngIf="!showUrlInput" class="flex-none">
|
|
129
|
-
<gn-ui-button
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
<mat-icon class="material-symbols-outlined me-1">link</mat-icon>
|
|
137
|
+
<div *ngIf="!showUrlInput" class="flex-none mt-2">
|
|
138
|
+
<gn-ui-button (buttonClick)="displayUrlInput()" type="gray">
|
|
139
|
+
<mat-icon class="material-symbols-outlined me-1 text-primary"
|
|
140
|
+
>link</mat-icon
|
|
141
|
+
>
|
|
134
142
|
{{ 'input.image.displayUrlInput' | translate }}
|
|
135
143
|
</gn-ui-button>
|
|
136
144
|
</div>
|
|
@@ -144,11 +144,12 @@ export class ImageInputComponent {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
handleSecondaryTextClick() {
|
|
147
|
+
handleSecondaryTextClick(event: Event) {
|
|
148
148
|
if (this.uploadError) {
|
|
149
149
|
this.handleRetry()
|
|
150
150
|
} else if (this.uploadProgress) {
|
|
151
151
|
this.handleCancel()
|
|
152
|
+
event.preventDefault()
|
|
152
153
|
}
|
|
153
154
|
}
|
|
154
155
|
|
|
@@ -11,15 +11,16 @@
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.mat-button-toggle-appearance-standard {
|
|
14
|
-
color:
|
|
14
|
+
color: black;
|
|
15
15
|
background-color: var(--color-gray-200);
|
|
16
16
|
border-radius: 4px;
|
|
17
17
|
border-left: none;
|
|
18
|
+
font-family: var(--font-family-main);
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
.mat-button-toggle-appearance-standard.mat-button-toggle-checked {
|
|
21
|
-
background-color:
|
|
22
|
-
color: var(--color-
|
|
22
|
+
background-color: black;
|
|
23
|
+
color: var(--color-background);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content {
|
|
@@ -10,7 +10,6 @@ import { MatButtonToggleModule } from '@angular/material/button-toggle'
|
|
|
10
10
|
|
|
11
11
|
export type SwitchToggleOption = {
|
|
12
12
|
label: string
|
|
13
|
-
value: string
|
|
14
13
|
checked: boolean
|
|
15
14
|
}
|
|
16
15
|
|
|
@@ -30,7 +29,7 @@ export class SwitchToggleComponent {
|
|
|
30
29
|
|
|
31
30
|
onChange(selectedOption: SwitchToggleOption) {
|
|
32
31
|
this.options.find(
|
|
33
|
-
(option) => option.
|
|
32
|
+
(option) => option.label === selectedOption.label
|
|
34
33
|
).checked = true
|
|
35
34
|
|
|
36
35
|
this.selectedValue.emit(selectedOption)
|
|
@@ -20,7 +20,7 @@ export class TextAreaComponent implements AfterViewInit {
|
|
|
20
20
|
@Input() value = ''
|
|
21
21
|
@Input() disabled = false
|
|
22
22
|
@Input() extraClass = ''
|
|
23
|
-
@Input() placeholder
|
|
23
|
+
@Input() placeholder = ''
|
|
24
24
|
@Input() required = false
|
|
25
25
|
|
|
26
26
|
rawChange = new Subject<string>()
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
[disabled]="disabled || input.value === ''"
|
|
31
31
|
(buttonClick)="handleChange(input)"
|
|
32
32
|
>
|
|
33
|
-
<mat-icon class="material-symbols-outlined text-[20px] leading-[
|
|
33
|
+
<mat-icon class="material-symbols-outlined text-[20px] leading-[24px]">
|
|
34
34
|
arrow_upward
|
|
35
35
|
</mat-icon>
|
|
36
36
|
</gn-ui-button>
|
|
@@ -8,4 +8,6 @@ export * from './lib/interactive-table/interactive-table-column/interactive-tabl
|
|
|
8
8
|
export * from './lib/interactive-table/interactive-table.component'
|
|
9
9
|
export * from './lib/sticky-header/sticky-header.component'
|
|
10
10
|
export * from './lib/block-list/block-list.component'
|
|
11
|
+
export * from './lib/sortable-list/sortable-list.component'
|
|
12
|
+
export * from './lib/modal-dialog/modal-dialog.component'
|
|
11
13
|
export * from './lib/ui-layout.module'
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
<div class="h-full flex flex-col">
|
|
1
|
+
<div class="h-full flex flex-col" *ngIf="label; else onlyContent">
|
|
2
2
|
<div class="flex-none w-full flex flex-row items-center">
|
|
3
3
|
<span class="flex-none font-bold">{{ label }}</span>
|
|
4
4
|
<div class="flex-1 flex justify-end items-center">
|
|
5
5
|
<ng-content select="[form-field-interaction]"></ng-content>
|
|
6
6
|
<span
|
|
7
|
+
*ngIf="hint"
|
|
7
8
|
class="material-symbols-outlined m-2 gn-ui-icon-small"
|
|
8
9
|
[matTooltip]="hint"
|
|
9
10
|
matTooltipPosition="above"
|
|
@@ -12,7 +13,11 @@
|
|
|
12
13
|
</span>
|
|
13
14
|
</div>
|
|
14
15
|
</div>
|
|
15
|
-
<div class="flex-1
|
|
16
|
-
<ng-
|
|
16
|
+
<div class="flex-1 mt-2">
|
|
17
|
+
<ng-container *ngTemplateOutlet="onlyContent"> </ng-container>
|
|
17
18
|
</div>
|
|
18
19
|
</div>
|
|
20
|
+
|
|
21
|
+
<ng-template #onlyContent>
|
|
22
|
+
<ng-content></ng-content>
|
|
23
|
+
</ng-template>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core'
|
|
2
2
|
import { MatIconModule } from '@angular/material/icon'
|
|
3
3
|
import { MatTooltipModule } from '@angular/material/tooltip'
|
|
4
|
+
import { CommonModule } from '@angular/common'
|
|
4
5
|
|
|
5
6
|
@Component({
|
|
6
7
|
selector: 'gn-ui-form-field-wrapper',
|
|
@@ -8,9 +9,9 @@ import { MatTooltipModule } from '@angular/material/tooltip'
|
|
|
8
9
|
styleUrls: ['./form-field-wrapper.component.css'],
|
|
9
10
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10
11
|
standalone: true,
|
|
11
|
-
imports: [MatIconModule, MatTooltipModule],
|
|
12
|
+
imports: [MatIconModule, MatTooltipModule, CommonModule],
|
|
12
13
|
})
|
|
13
14
|
export class FormFieldWrapperComponent {
|
|
14
|
-
@Input() label
|
|
15
|
-
@Input() hint
|
|
15
|
+
@Input() label?: string
|
|
16
|
+
@Input() hint?: string
|
|
16
17
|
}
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<h1 mat-dialog-title>{{ data.title }}</h1>
|
|
2
|
+
<div mat-dialog-content>
|
|
3
|
+
<ng-container
|
|
4
|
+
*ngTemplateOutlet="data.body; context: { $implicit: data.bodyContext }"
|
|
5
|
+
></ng-container>
|
|
6
|
+
</div>
|
|
7
|
+
<div mat-dialog-actions>
|
|
8
|
+
<gn-ui-button (buttonClick)="onCancel()">{{ data.cancelText }}</gn-ui-button>
|
|
9
|
+
<gn-ui-button
|
|
10
|
+
(buttonClick)="onConfirm()"
|
|
11
|
+
class="ml-2"
|
|
12
|
+
data-cy="confirm-button"
|
|
13
|
+
>{{ data.confirmText }}</gn-ui-button
|
|
14
|
+
>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ChangeDetectionStrategy,
|
|
3
|
+
Component,
|
|
4
|
+
Inject,
|
|
5
|
+
TemplateRef,
|
|
6
|
+
} from '@angular/core'
|
|
7
|
+
import { CommonModule } from '@angular/common'
|
|
8
|
+
import {
|
|
9
|
+
MAT_DIALOG_DATA,
|
|
10
|
+
MatDialogModule,
|
|
11
|
+
MatDialogRef,
|
|
12
|
+
} from '@angular/material/dialog'
|
|
13
|
+
import { ButtonComponent } from '../../../../../../libs/ui/inputs/src'
|
|
14
|
+
|
|
15
|
+
export interface ModalDialogData {
|
|
16
|
+
title: string
|
|
17
|
+
body: TemplateRef<unknown>
|
|
18
|
+
bodyContext: unknown
|
|
19
|
+
confirmText: string
|
|
20
|
+
cancelText: string
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@Component({
|
|
24
|
+
selector: 'gn-ui-modal-dialog',
|
|
25
|
+
standalone: true,
|
|
26
|
+
imports: [CommonModule, MatDialogModule, ButtonComponent],
|
|
27
|
+
templateUrl: './modal-dialog.component.html',
|
|
28
|
+
styleUrls: ['./modal-dialog.component.css'],
|
|
29
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
30
|
+
})
|
|
31
|
+
export class ModalDialogComponent {
|
|
32
|
+
constructor(
|
|
33
|
+
public dialogRef: MatDialogRef<ModalDialogComponent>,
|
|
34
|
+
@Inject(MAT_DIALOG_DATA) public data: ModalDialogData
|
|
35
|
+
) {}
|
|
36
|
+
|
|
37
|
+
onConfirm() {
|
|
38
|
+
this.dialogRef.close(true)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
onCancel() {
|
|
42
|
+
this.dialogRef.close(false)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<div
|
|
2
|
+
cdkDropList
|
|
3
|
+
class="sortable-list flex flex-col gap-3 p-2"
|
|
4
|
+
(cdkDropListDropped)="drop($event)"
|
|
5
|
+
>
|
|
6
|
+
<ng-container *ngFor="let item of items; index as index; trackBy: trackByFn">
|
|
7
|
+
<div class="sortable-box bg-white flex items-center" cdkDrag>
|
|
8
|
+
<span
|
|
9
|
+
cdkDragHandle
|
|
10
|
+
class="material-symbols-outlined mx-[10px] cursor-grab gn-ui-icon-medium flex-none"
|
|
11
|
+
>
|
|
12
|
+
drag_handle
|
|
13
|
+
</span>
|
|
14
|
+
<div class="flex-1">
|
|
15
|
+
<ng-container
|
|
16
|
+
*ngTemplateOutlet="
|
|
17
|
+
elementTemplate;
|
|
18
|
+
context: { $implicit: item, index }
|
|
19
|
+
"
|
|
20
|
+
></ng-container>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<gn-ui-button
|
|
24
|
+
type="light"
|
|
25
|
+
style="
|
|
26
|
+
--gn-ui-button-padding: 0px;
|
|
27
|
+
--gn-ui-button-width: 24px;
|
|
28
|
+
--gn-ui-button-height: 24px;
|
|
29
|
+
"
|
|
30
|
+
class="ml-[8px] mr-[10px]"
|
|
31
|
+
(buttonClick)="removeItem(index)"
|
|
32
|
+
data-cy="remove-item"
|
|
33
|
+
><span class="material-symbols-outlined gn-ui-icon-medium">close</span>
|
|
34
|
+
</gn-ui-button>
|
|
35
|
+
</div>
|
|
36
|
+
</ng-container>
|
|
37
|
+
</div>
|
|
@@ -5,21 +5,17 @@ import {
|
|
|
5
5
|
CdkDropList,
|
|
6
6
|
moveItemInArray,
|
|
7
7
|
} from '@angular/cdk/drag-drop'
|
|
8
|
-
import {
|
|
8
|
+
import { CommonModule } from '@angular/common'
|
|
9
9
|
import {
|
|
10
10
|
ChangeDetectionStrategy,
|
|
11
11
|
Component,
|
|
12
12
|
EventEmitter,
|
|
13
13
|
Input,
|
|
14
14
|
Output,
|
|
15
|
-
|
|
15
|
+
TemplateRef,
|
|
16
16
|
} from '@angular/core'
|
|
17
17
|
import { MatIconModule } from '@angular/material/icon'
|
|
18
|
-
|
|
19
|
-
export type DynamicElement = {
|
|
20
|
-
component: Type<unknown>
|
|
21
|
-
inputs: Record<string, unknown>
|
|
22
|
-
}
|
|
18
|
+
import { ButtonComponent } from '../../../../../../libs/ui/inputs/src'
|
|
23
19
|
|
|
24
20
|
@Component({
|
|
25
21
|
selector: 'gn-ui-sortable-list',
|
|
@@ -28,26 +24,27 @@ export type DynamicElement = {
|
|
|
28
24
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
29
25
|
standalone: true,
|
|
30
26
|
imports: [
|
|
31
|
-
|
|
32
|
-
NgComponentOutlet,
|
|
27
|
+
CommonModule,
|
|
33
28
|
CdkDropList,
|
|
34
29
|
CdkDrag,
|
|
35
30
|
CdkDragHandle,
|
|
36
31
|
MatIconModule,
|
|
32
|
+
ButtonComponent,
|
|
37
33
|
],
|
|
38
34
|
})
|
|
39
35
|
export class SortableListComponent {
|
|
40
|
-
@Input()
|
|
41
|
-
@
|
|
36
|
+
@Input() elementTemplate: TemplateRef<unknown>
|
|
37
|
+
@Input() items: unknown[]
|
|
38
|
+
@Output() itemsOrderChange = new EventEmitter<unknown[]>()
|
|
42
39
|
|
|
43
40
|
drop(event: CdkDragDrop<string[]>) {
|
|
44
|
-
moveItemInArray(this.
|
|
45
|
-
this.
|
|
41
|
+
moveItemInArray(this.items, event.previousIndex, event.currentIndex)
|
|
42
|
+
this.itemsOrderChange.emit([...this.items])
|
|
46
43
|
}
|
|
47
44
|
|
|
48
|
-
|
|
49
|
-
this.
|
|
50
|
-
this.
|
|
45
|
+
removeItem(index: number) {
|
|
46
|
+
this.items = this.items.filter((_, i) => i !== index)
|
|
47
|
+
this.itemsOrderChange.emit(this.items)
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
trackByFn(index: number) {
|
|
@@ -64,12 +64,14 @@ export class ResultsTableComponent {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
getRecordFormats(record: CatalogRecord): FileFormat[] {
|
|
67
|
-
if (record.kind === 'service' || !('
|
|
67
|
+
if (record.kind === 'service' || !('onlineResources' in record)) {
|
|
68
68
|
return []
|
|
69
69
|
}
|
|
70
70
|
const formats = Array.from(
|
|
71
71
|
new Set(
|
|
72
|
-
record.
|
|
72
|
+
record.onlineResources.map((onlineResource) =>
|
|
73
|
+
getFileFormat(onlineResource)
|
|
74
|
+
)
|
|
73
75
|
)
|
|
74
76
|
).filter((format) => !!format)
|
|
75
77
|
formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a))
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core'
|
|
2
|
-
import {
|
|
2
|
+
import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
3
3
|
import { getFileFormat } from './link-utils'
|
|
4
|
+
|
|
4
5
|
export enum LinkUsage {
|
|
5
6
|
API = 'api',
|
|
6
7
|
MAP_API = 'mapapi',
|
|
@@ -15,7 +16,7 @@ export enum LinkUsage {
|
|
|
15
16
|
providedIn: 'root',
|
|
16
17
|
})
|
|
17
18
|
export class LinkClassifierService {
|
|
18
|
-
getUsagesForLink(link:
|
|
19
|
+
getUsagesForLink(link: DatasetOnlineResource): LinkUsage[] {
|
|
19
20
|
switch (link.type) {
|
|
20
21
|
case 'service': {
|
|
21
22
|
switch (link.accessServiceProtocol) {
|
|
@@ -51,7 +52,7 @@ export class LinkClassifierService {
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
hasUsage(link:
|
|
55
|
+
hasUsage(link: DatasetOnlineResource, usage: LinkUsage) {
|
|
55
56
|
return this.getUsagesForLink(link).indexOf(usage) > -1
|
|
56
57
|
}
|
|
57
58
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker'
|
|
2
|
-
import {
|
|
2
|
+
import { DatasetOnlineResource } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
3
3
|
|
|
4
4
|
marker('downloads.wfs.featuretype.not.found')
|
|
5
5
|
|
|
@@ -131,7 +131,7 @@ export function getFormatPriority(linkFormat: FileFormat): number {
|
|
|
131
131
|
return 0
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
export function getLinkPriority(link:
|
|
134
|
+
export function getLinkPriority(link: DatasetOnlineResource): number {
|
|
135
135
|
return getFormatPriority(getFileFormat(link))
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -155,7 +155,7 @@ export function getFileFormatFromServiceOutput(
|
|
|
155
155
|
return null
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
export function getFileFormat(link:
|
|
158
|
+
export function getFileFormat(link: DatasetOnlineResource): FileFormat {
|
|
159
159
|
if ('mimeType' in link) {
|
|
160
160
|
const mimeTypeFormat = mimeTypeToFormat(link.mimeType)
|
|
161
161
|
if (mimeTypeFormat !== null) {
|
|
@@ -172,7 +172,7 @@ export function getFileFormat(link: DatasetDistribution): FileFormat {
|
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
export function isFormatInQueryParam(
|
|
175
|
-
link:
|
|
175
|
+
link: DatasetOnlineResource,
|
|
176
176
|
alias: string
|
|
177
177
|
): boolean {
|
|
178
178
|
const queryParams = link.url.searchParams
|
|
@@ -194,7 +194,7 @@ export function mimeTypeToFormat(mimeType: string): FileFormat {
|
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
export function checkFileFormat(
|
|
197
|
-
link:
|
|
197
|
+
link: DatasetOnlineResource,
|
|
198
198
|
format: FileFormat
|
|
199
199
|
): boolean {
|
|
200
200
|
return (
|
|
@@ -214,7 +214,7 @@ export function getBadgeColor(linkFormat: FileFormat): string {
|
|
|
214
214
|
return 'var(--color-gray-700)' // Default color ?
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
export function getLinkLabel(link:
|
|
217
|
+
export function getLinkLabel(link: DatasetOnlineResource): string {
|
|
218
218
|
let format = ''
|
|
219
219
|
switch (link.type) {
|
|
220
220
|
case 'service':
|
|
@@ -109,6 +109,7 @@ export class ThemeService {
|
|
|
109
109
|
applyColor('gray-700', scale(0.7))
|
|
110
110
|
applyColor('gray-800', scale(0.8))
|
|
111
111
|
applyColor('gray-900', scale(0.9))
|
|
112
|
+
applyColor('gray-950', scale(0.95))
|
|
112
113
|
|
|
113
114
|
if (mainFont) {
|
|
114
115
|
document.documentElement.style.setProperty(`--font-family-main`, mainFont)
|
package/tailwind.base.config.js
CHANGED
package/tailwind.base.css
CHANGED
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
/* PLEASE NOTE: all Tailwind components should be prefixed by `gn-ui` */
|
|
6
6
|
@layer components {
|
|
7
|
+
.container-sm {
|
|
8
|
+
max-width: 640px;
|
|
9
|
+
}
|
|
10
|
+
.container-md {
|
|
11
|
+
max-width: 768px;
|
|
12
|
+
}
|
|
13
|
+
.container-lg {
|
|
14
|
+
max-width: 1024px;
|
|
15
|
+
}
|
|
16
|
+
|
|
7
17
|
/* TODO: add prefix */
|
|
8
18
|
.card-shadow {
|
|
9
19
|
@apply shadow-xl hover:shadow-xl-hover transition-shadow;
|
|
@@ -65,8 +75,10 @@
|
|
|
65
75
|
text-[length:--font-size] leading-none
|
|
66
76
|
p-[--padding] rounded-[--rounded] w-[--width] h-[--height] overflow-hidden
|
|
67
77
|
bg-[--background] transition-all duration-100
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
outline-none
|
|
79
|
+
relative
|
|
80
|
+
disabled:opacity-50 disabled:pointer-events-none
|
|
81
|
+
focus:z-10 active:z-10 hover:z-10;
|
|
70
82
|
}
|
|
71
83
|
/* makes sure icons will not make the buttons grow vertically */
|
|
72
84
|
.gn-ui-btn mat-icon.mat-icon {
|
|
@@ -93,6 +105,18 @@
|
|
|
93
105
|
border border-secondary focus:ring-4 focus:ring-secondary-lightest;
|
|
94
106
|
}
|
|
95
107
|
|
|
108
|
+
.gn-ui-btn-gray {
|
|
109
|
+
@apply gn-ui-btn text-black
|
|
110
|
+
bg-gray-100 hover:bg-gray-200 focus:bg-gray-200 active:bg-gray-300
|
|
111
|
+
border border-gray-100 focus:ring-4 focus:ring-gray-50;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.gn-ui-btn-black {
|
|
115
|
+
@apply gn-ui-btn text-white
|
|
116
|
+
bg-black hover:bg-gray-950 focus:bg-gray-950 active:bg-gray-900
|
|
117
|
+
border border-black focus:ring-4 focus:ring-gray-300;
|
|
118
|
+
}
|
|
119
|
+
|
|
96
120
|
.gn-ui-btn-outline {
|
|
97
121
|
@apply gn-ui-btn text-main
|
|
98
122
|
hover:text-primary-darker focus:text-primary-darker active:text-primary-black
|
|
@@ -135,12 +159,19 @@
|
|
|
135
159
|
.gn-ui-text-input {
|
|
136
160
|
--rounded: var(--gn-ui-text-input-rounded, 0.25em);
|
|
137
161
|
--padding: var(--gn-ui-text-input-padding, 0.6em);
|
|
138
|
-
|
|
139
|
-
|
|
162
|
+
--font-size: var(--gn-ui-text-input-font-size, 1em);
|
|
163
|
+
--border-size: var(--gn-ui-text-input-border-size, 2px);
|
|
164
|
+
@apply appearance-none border-[length:--border-size] p-[--padding] rounded-[--rounded] w-full transition-colors duration-75
|
|
165
|
+
text-[length:--font-size] leading-none border-gray-300 text-main placeholder-gray-800
|
|
140
166
|
focus:outline-none focus:border-main hover:border-main
|
|
141
167
|
disabled:cursor-not-allowed disabled:border-gray-100 disabled:placeholder-gray-300 disabled:text-gray-700 disabled:bg-white;
|
|
142
168
|
}
|
|
143
169
|
|
|
170
|
+
/* GENERIC CARD */
|
|
171
|
+
.gn-ui-card {
|
|
172
|
+
@apply flex flex-row border border-gray-200 rounded-xl p-4 gap-2 w-full;
|
|
173
|
+
}
|
|
174
|
+
|
|
144
175
|
/* TODO: add prefix */
|
|
145
176
|
.card-icon {
|
|
146
177
|
@apply text-primary opacity-50 group-hover:text-secondary group-hover:opacity-100 transition-colors transition-opacity;
|