geonetwork-ui 2.4.0-dev.656babc7 → 2.4.0-dev.71a43b38
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/repository/src/lib/gn4/gn4-repository.mjs +14 -5
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +2 -1
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +2 -2
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +9 -5
- package/esm2022/libs/common/domain/src/lib/model/record/organization.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/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
- package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
- package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
- package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -6
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +4 -4
- package/esm2022/libs/feature/dataviz/src/lib/feature-dataviz.module.mjs +7 -4
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +6 -4
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +16 -44
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +64 -50
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +12 -35
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +5 -5
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +12 -6
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +42 -23
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +13 -5
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +49 -15
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +7 -4
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +8 -12
- package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
- package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +9 -2
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +8 -1
- package/esm2022/libs/feature/search/src/index.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +7 -4
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +49 -0
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +7 -3
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +5 -5
- package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +5 -2
- package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -8
- package/esm2022/libs/ui/elements/src/index.mjs +1 -2
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +5 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +4 -4
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +24 -5
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -9
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +59 -26
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +2 -7
- package/esm2022/libs/ui/layout/src/index.mjs +2 -1
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +1 -1
- package/esm2022/libs/ui/search/src/index.mjs +2 -1
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +120 -0
- package/esm2022/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.mjs +5 -3
- package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +1 -6
- package/esm2022/translations/de.json +66 -34
- package/esm2022/translations/en.json +37 -5
- package/esm2022/translations/es.json +37 -5
- package/esm2022/translations/fr.json +38 -6
- package/esm2022/translations/it.json +37 -5
- package/esm2022/translations/nl.json +37 -5
- package/esm2022/translations/pt.json +37 -5
- package/fesm2022/geonetwork-ui.mjs +1070 -697
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +2 -1
- 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 +3 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
- package/libs/feature/catalog/src/index.d.ts +1 -0
- package/libs/feature/catalog/src/index.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
- package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
- package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/feature-dataviz.module.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +1 -0
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +1 -0
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts +14 -24
- 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-update-frequency/form-field-update-frequency.component.d.ts +6 -6
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +5 -10
- 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/services/editor.service.d.ts +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
- package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
- package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +1 -1
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts +2 -1
- package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +25 -0
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
- package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +2 -1
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
- package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +0 -1
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
- package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +19 -19
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +7 -4
- 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 +35 -36
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +1 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
- package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
- package/libs/ui/search/src/index.d.ts +1 -0
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +30 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
- package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts +1 -1
- package/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +10 -11
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +21 -8
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +1 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +26 -15
- package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +5 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
- package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +28 -0
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +8 -0
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
- package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
- package/src/libs/feature/catalog/src/index.ts +1 -0
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +0 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
- package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
- package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
- package/src/libs/feature/dataviz/src/lib/feature-dataviz.module.ts +2 -1
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +2 -0
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +35 -29
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +1 -0
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +2 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +23 -63
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +95 -86
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +2 -22
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +11 -44
- package/src/libs/feature/editor/src/lib/fields.config.ts +4 -4
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +20 -6
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
- package/src/libs/feature/record/src/lib/feature-record.module.ts +3 -2
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +42 -31
- package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +9 -1
- package/src/libs/feature/search/src/index.ts +1 -1
- package/src/libs/feature/search/src/lib/feature-search.module.ts +2 -1
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +2 -2
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +9 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +49 -0
- package/src/libs/feature/search/src/lib/state/search.facade.ts +5 -0
- package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +16 -2
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
- package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -0
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
- package/src/libs/ui/elements/src/index.ts +0 -1
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
- package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
- package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -4
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.css +0 -1
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +23 -19
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +79 -27
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +31 -0
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +38 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
- package/src/libs/ui/layout/src/index.ts +1 -0
- package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +1 -0
- package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
- package/src/libs/ui/search/src/index.ts +1 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
- package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +8 -8
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +138 -0
- package/src/libs/ui/widgets/src/lib/popup-alert/popup-alert.component.ts +4 -0
- package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -3
- package/translations/de.json +66 -34
- package/translations/en.json +37 -5
- package/translations/es.json +37 -5
- package/translations/fr.json +38 -6
- package/translations/it.json +37 -5
- package/translations/nl.json +37 -5
- package/translations/pt.json +37 -5
- package/translations/sk.json +38 -6
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -136
- package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -36
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
- package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -171
- /package/src/libs/feature/search/src/lib/results-table/{results-table.component.css → results-table-container.component.css} +0 -0
- /package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.css +0 -0
|
@@ -8,11 +8,11 @@ import * as i1$1 from '@ngx-translate/core';
|
|
|
8
8
|
import { TranslateCompiler, TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
9
9
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
10
10
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
11
|
-
import { map as map$1, catchError, tap as tap$1, shareReplay, filter, startWith, withLatestFrom, switchMap as switchMap$1, take, delay,
|
|
11
|
+
import { map as map$1, catchError, tap as tap$1, shareReplay, filter, startWith, withLatestFrom, switchMap as switchMap$1, take, delay, distinctUntilChanged, debounceTime, finalize, throttleTime, first as first$1, share, pairwise, mergeMap, defaultIfEmpty, toArray } from 'rxjs/operators';
|
|
12
12
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
13
13
|
import * as i1$3 from '@angular/common';
|
|
14
14
|
import { CommonModule, NgFor, NgComponentOutlet, NgOptimizedImage, NgForOf } from '@angular/common';
|
|
15
|
-
import { of, map as map$2, lastValueFrom, switchMap, throwError, combineLatest, from, takeLast, forkJoin, firstValueFrom, Subject, merge, BehaviorSubject, fromEvent, timer, Subscription,
|
|
15
|
+
import { of, map as map$2, lastValueFrom, switchMap, throwError, combineLatest, from, takeLast, forkJoin, firstValueFrom, Subject, merge, BehaviorSubject, fromEvent, timer, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, debounceTime as debounceTime$1, filter as filter$1, animationFrameScheduler, tap as tap$2, Observable, buffer, combineLatestWith, catchError as catchError$1, takeUntil, EMPTY, exhaustMap, mergeMap as mergeMap$1, withLatestFrom as withLatestFrom$1, startWith as startWith$1, pairwise as pairwise$1 } from 'rxjs';
|
|
16
16
|
import { valid, coerce, satisfies, ltr } from 'semver';
|
|
17
17
|
import * as i1$2 from '@ngrx/store';
|
|
18
18
|
import { createAction, props, createReducer, on, createFeatureSelector, createSelector, select, StoreModule, Store } from '@ngrx/store';
|
|
@@ -48,28 +48,28 @@ import { MVT, WFS, GeoJSON as GeoJSON$1 } from 'ol/format';
|
|
|
48
48
|
import VectorTileLayer from 'ol/layer/VectorTile';
|
|
49
49
|
import OGCMapTile from 'ol/source/OGCMapTile.js';
|
|
50
50
|
import ImageLayer from 'ol/layer/Image';
|
|
51
|
-
import * as i2$
|
|
51
|
+
import * as i2$5 from '@angular/material/tabs';
|
|
52
52
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
53
|
-
import * as i2$
|
|
54
|
-
import {
|
|
55
|
-
import * as
|
|
53
|
+
import * as i2$2 from '@angular/forms';
|
|
54
|
+
import { FormsModule, ReactiveFormsModule, UntypedFormControl, FormArray, FormControl } from '@angular/forms';
|
|
55
|
+
import * as i2$1 from '@angular/material/autocomplete';
|
|
56
56
|
import { MatAutocompleteTrigger, MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
57
|
-
import * as
|
|
57
|
+
import * as i3$1 from 'ngx-dropzone';
|
|
58
|
+
import { NgxDropzoneModule } from 'ngx-dropzone';
|
|
59
|
+
import * as i5 from 'ngx-chips';
|
|
60
|
+
import { TagInputModule } from 'ngx-chips';
|
|
61
|
+
import * as i1$4 from '@angular/material/progress-spinner';
|
|
62
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
63
|
+
import * as i3 from '@angular/material/core';
|
|
58
64
|
import { MatNativeDateModule, MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
59
|
-
import * as i1$
|
|
65
|
+
import * as i1$5 from '@angular/material/checkbox';
|
|
60
66
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
61
|
-
import * as
|
|
62
|
-
import { TagInputModule } from 'ngx-chips';
|
|
63
|
-
import * as i2$2 from '@angular/material/tooltip';
|
|
67
|
+
import * as i2$3 from '@angular/material/tooltip';
|
|
64
68
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
65
|
-
import * as i2$
|
|
69
|
+
import * as i2$4 from '@angular/material/datepicker';
|
|
66
70
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
67
|
-
import * as
|
|
68
|
-
import { NgxDropzoneModule } from 'ngx-dropzone';
|
|
69
|
-
import * as i1$5 from '@angular/cdk/overlay';
|
|
71
|
+
import * as i1$6 from '@angular/cdk/overlay';
|
|
70
72
|
import { CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
|
71
|
-
import * as i1$6 from '@angular/material/progress-spinner';
|
|
72
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
73
73
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
74
74
|
import { MatInputModule } from '@angular/material/input';
|
|
75
75
|
import * as i1$7 from '@angular/router';
|
|
@@ -89,19 +89,19 @@ import { Polygon } from 'ol/geom';
|
|
|
89
89
|
import { queryDataGouvFr, queryGeonames, queryGeoadmin } from '@geospatial-sdk/geocoding';
|
|
90
90
|
import { trigger, transition, animate, keyframes, style } from '@angular/animations';
|
|
91
91
|
import { Chart, BarController, BarElement, CategoryScale, LinearScale, LineController, LineElement, PointElement, PieController, ArcElement, ScatterController, Tooltip, Colors, Legend } from 'chart.js';
|
|
92
|
-
import * as i4
|
|
92
|
+
import * as i4 from '@angular/cdk/scrolling';
|
|
93
93
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
94
|
-
import * as i2$
|
|
94
|
+
import * as i2$6 from '@angular/material/sort';
|
|
95
95
|
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
96
96
|
import * as i1$9 from '@angular/material/table';
|
|
97
97
|
import { MatTableModule } from '@angular/material/table';
|
|
98
|
-
import * as i3$
|
|
98
|
+
import * as i3$2 from 'ng-table-virtual-scroll';
|
|
99
99
|
import { TableVirtualScrollDataSource, TableVirtualScrollModule } from 'ng-table-virtual-scroll';
|
|
100
100
|
import * as Papa from 'papaparse';
|
|
101
101
|
import parseDate from 'date-fns/parse';
|
|
102
102
|
import parseIsoDate from 'date-fns/parseISO';
|
|
103
103
|
import { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';
|
|
104
|
-
import * as i3$
|
|
104
|
+
import * as i3$3 from '@ngrx/router-store';
|
|
105
105
|
import { getRouterSelectors, routerReducer, StoreRouterConnectingModule, FullRouterStateSerializer } from '@ngrx/router-store';
|
|
106
106
|
import { navigation } from '@ngrx/router-store/data-persistence';
|
|
107
107
|
|
|
@@ -17306,9 +17306,10 @@ var next$6 = "weiter";
|
|
|
17306
17306
|
var previous$6 = "zurück";
|
|
17307
17307
|
var records$6 = "Datensätze";
|
|
17308
17308
|
var de = {
|
|
17309
|
+
"Add Layer As": "",
|
|
17309
17310
|
"button.login": "",
|
|
17310
17311
|
"catalog.figures.datasets": "{count, plural, =0{Datensätze} one{Datensatz} other{Datensätze}}",
|
|
17311
|
-
"catalog.figures.
|
|
17312
|
+
"catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
|
|
17312
17313
|
"chart.aggregation.average": "Durchschnitt",
|
|
17313
17314
|
"chart.aggregation.count": "Anzahl",
|
|
17314
17315
|
"chart.aggregation.max": "Maximum",
|
|
@@ -17324,16 +17325,22 @@ var de = {
|
|
|
17324
17325
|
"chart.type.line": "Liniendiagramm",
|
|
17325
17326
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
17326
17327
|
"chart.type.pie": "Kreisdiagramm",
|
|
17328
|
+
"dashboard.catalog.allRecords": "Metadatenkatalog",
|
|
17329
|
+
"dashboard.catalog.calendar": "Kalender",
|
|
17330
|
+
"dashboard.catalog.contacts": "Kontakte",
|
|
17331
|
+
"dashboard.catalog.discussion": "Diskussion",
|
|
17332
|
+
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
17327
17333
|
"dashboard.createRecord": "Neuer Eintrag",
|
|
17334
|
+
"dashboard.labels.catalog": "Katalog",
|
|
17328
17335
|
"dashboard.labels.mySpace": "Mein Bereich",
|
|
17329
17336
|
"dashboard.records.all": "Katalog",
|
|
17330
17337
|
"dashboard.records.hasDraft": "",
|
|
17331
17338
|
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
17332
17339
|
"dashboard.records.myLibrary": "Meine Bibliothek",
|
|
17333
|
-
"dashboard.records.myOrg": "Meine Organisation",
|
|
17334
17340
|
"dashboard.records.myRecords": "Meine Datensätze",
|
|
17335
17341
|
"dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
|
|
17336
17342
|
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
17343
|
+
"dashboard.records.templates": "Vorlagen",
|
|
17337
17344
|
"dashboard.records.userDetail": "Name",
|
|
17338
17345
|
"dashboard.records.userEmail": "E-Mail",
|
|
17339
17346
|
"dashboard.records.username": "Benutzername",
|
|
@@ -17349,6 +17356,8 @@ var de = {
|
|
|
17349
17356
|
"datafeeder.datasetValidation.submitButton": "OK, meine Daten sind korrekt",
|
|
17350
17357
|
"datafeeder.datasetValidation.title": "Stellen Sie sicher, dass Ihre Daten korrekt sind",
|
|
17351
17358
|
"datafeeder.datasetValidation.unknown": " - ",
|
|
17359
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
17360
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
17352
17361
|
"datafeeder.form.abstract": "Wie würden Sie Ihren Datensatz beschreiben?",
|
|
17353
17362
|
"datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
|
|
17354
17363
|
"datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
|
|
@@ -17376,6 +17385,7 @@ var de = {
|
|
|
17376
17385
|
"datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
|
|
17377
17386
|
"datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
|
|
17378
17387
|
"datafeeder.publishSuccess.mapViewer": "Kartenviewer",
|
|
17388
|
+
"datafeeder.publishSuccess.ogcFeature": "",
|
|
17379
17389
|
"datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
|
|
17380
17390
|
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
|
|
17381
17391
|
"datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
|
|
@@ -17404,6 +17414,15 @@ var de = {
|
|
|
17404
17414
|
"datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
|
|
17405
17415
|
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
17406
17416
|
"datafeeder.upload.uploadButton": "Hochladen",
|
|
17417
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
17418
|
+
"datafeeder.validation.csv.delimiter.comma": "",
|
|
17419
|
+
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
17420
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
17421
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
17422
|
+
"datafeeder.validation.csv.quote.double": "",
|
|
17423
|
+
"datafeeder.validation.csv.quote.none": "",
|
|
17424
|
+
"datafeeder.validation.csv.quote.simple": "",
|
|
17425
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
17407
17426
|
"datafeeder.validation.encoding": "Codierung",
|
|
17408
17427
|
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
17409
17428
|
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
@@ -17417,7 +17436,7 @@ var de = {
|
|
|
17417
17436
|
"datahub.header.lastRecords": "Die neuesten",
|
|
17418
17437
|
"datahub.header.myfavorites": "Meine Favoriten",
|
|
17419
17438
|
"datahub.header.news": "Startseite",
|
|
17420
|
-
"datahub.header.
|
|
17439
|
+
"datahub.header.organizations": "Organisationen",
|
|
17421
17440
|
"datahub.header.popularRecords": "Die beliebtesten",
|
|
17422
17441
|
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
|
|
17423
17442
|
"datahub.news.contact.contactus": "Kontaktieren Sie uns",
|
|
@@ -17453,37 +17472,42 @@ var de = {
|
|
|
17453
17472
|
"downloads.format.unknown": "unbekannt",
|
|
17454
17473
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
17455
17474
|
dropFile: dropFile$6,
|
|
17475
|
+
"editor.record.form.abstract": "Kurzbeschreibung",
|
|
17476
|
+
"editor.record.form.keywords": "Schlüsselwörter",
|
|
17456
17477
|
"editor.record.form.license": "Lizenz",
|
|
17457
|
-
"editor.record.form.license.cc-by": "",
|
|
17458
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
17459
|
-
"editor.record.form.license.cc-zero": "",
|
|
17460
|
-
"editor.record.form.license.etalab": "",
|
|
17461
|
-
"editor.record.form.license.etalab-v2": "",
|
|
17462
|
-
"editor.record.form.license.odbl": "",
|
|
17463
|
-
"editor.record.form.license.odc-by": "",
|
|
17464
|
-
"editor.record.form.license.pddl": "",
|
|
17478
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
17479
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
17480
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
17481
|
+
"editor.record.form.license.etalab": "Offene Lizenz (Etalab)",
|
|
17482
|
+
"editor.record.form.license.etalab-v2": "Offene Lizenz v2.0 (Etalab)",
|
|
17483
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
17484
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
17485
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
17465
17486
|
"editor.record.form.license.unknown": "Unbekannt oder nicht vorhanden",
|
|
17466
|
-
"editor.record.form.
|
|
17467
|
-
"editor.record.form.
|
|
17468
|
-
"editor.record.form.
|
|
17469
|
-
"editor.record.form.temporalExtents
|
|
17470
|
-
"editor.record.form.temporalExtents.
|
|
17471
|
-
"editor.record.form.temporalExtents.
|
|
17472
|
-
"editor.record.form.
|
|
17473
|
-
"editor.record.form.
|
|
17474
|
-
"editor.record.
|
|
17475
|
-
"editor.record.
|
|
17476
|
-
"editor.record.
|
|
17477
|
-
"editor.record.
|
|
17478
|
-
"editor.record.
|
|
17479
|
-
"editor.record.
|
|
17480
|
-
"editor.record.
|
|
17481
|
-
"editor.record.
|
|
17482
|
-
"editor.record.
|
|
17483
|
-
"editor.record.
|
|
17484
|
-
"editor.record.
|
|
17485
|
-
"editor.record.
|
|
17486
|
-
"editor.record.
|
|
17487
|
+
"editor.record.form.metadata.title": "Metadaten-Titel",
|
|
17488
|
+
"editor.record.form.record.updated": "Datensatz zuletzt aktualisiert",
|
|
17489
|
+
"editor.record.form.resourceUpdated": "Letztes Aktualisierungsdatum",
|
|
17490
|
+
"editor.record.form.temporalExtents": "Zeitlicher Umfang",
|
|
17491
|
+
"editor.record.form.temporalExtents.addDate": "Zeitpunkt",
|
|
17492
|
+
"editor.record.form.temporalExtents.addRange": "Zeitraum",
|
|
17493
|
+
"editor.record.form.temporalExtents.date": "Datum",
|
|
17494
|
+
"editor.record.form.temporalExtents.range": "Datumsbereich",
|
|
17495
|
+
"editor.record.form.unique.identifier": "Eindeutige Kennung (ID)",
|
|
17496
|
+
"editor.record.form.updateFrequency": "Aktualisierungshäufigkeit",
|
|
17497
|
+
"editor.record.form.updateFrequency.planned": "Die Daten sollten regelmäßig aktualisiert werden.",
|
|
17498
|
+
"editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
|
|
17499
|
+
"editor.record.loadError.closeMessage": "Verstanden",
|
|
17500
|
+
"editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
|
|
17501
|
+
"editor.record.publish": "Diesen Datensatz veröffentlichen",
|
|
17502
|
+
"editor.record.publishError.body": "Der Datensatz konnte nicht veröffentlicht werden:",
|
|
17503
|
+
"editor.record.publishError.closeMessage": "Verstanden",
|
|
17504
|
+
"editor.record.publishError.title": "Fehler beim Veröffentlichen des Datensatzes",
|
|
17505
|
+
"editor.record.publishSuccess.body": "Der Datensatz wurde erfolgreich veröffentlicht!",
|
|
17506
|
+
"editor.record.publishSuccess.title": "Veröffentlichung erfolgreich",
|
|
17507
|
+
"editor.record.saveStatus.asDraftOnly": "Nur als Entwurf gespeichert - noch nicht veröffentlicht",
|
|
17508
|
+
"editor.record.saveStatus.draftWithChangesPending": "Als Entwurf gespeichert - Änderungen stehen aus",
|
|
17509
|
+
"editor.record.saveStatus.recordUpToDate": "Datensatz ist auf dem neuesten Stand",
|
|
17510
|
+
"editor.record.upToDate": "Dieser Datensatz ist auf dem neuesten Stand",
|
|
17487
17511
|
"externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
|
|
17488
17512
|
"facets.block.title.OrgForResource": "Organisation",
|
|
17489
17513
|
"facets.block.title.availableInServices": "Verfügbar für",
|
|
@@ -17552,6 +17576,10 @@ var de = {
|
|
|
17552
17576
|
"organisations.sortBy.nameDesc": "Name Z → A",
|
|
17553
17577
|
"organisations.sortBy.recordCountAsc": "Veröffentlichungen 0 → 9",
|
|
17554
17578
|
"organisations.sortBy.recordCountDesc": "Veröffentlichungen 9 → 0",
|
|
17579
|
+
"organization.details.lastPublishedDatasets": "",
|
|
17580
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
17581
|
+
"organization.details.mailContact": "",
|
|
17582
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
17555
17583
|
"pagination.nextPage": "Nächste Seite",
|
|
17556
17584
|
"pagination.page": "Seite",
|
|
17557
17585
|
"pagination.pageOf": "von",
|
|
@@ -17589,7 +17617,7 @@ var de = {
|
|
|
17589
17617
|
"record.metadata.preview": "Vorschau",
|
|
17590
17618
|
"record.metadata.producer": "Datenproduzent",
|
|
17591
17619
|
"record.metadata.publication": "Veröffentlichungsdatum",
|
|
17592
|
-
"record.metadata.publications": "Veröffentlichungen",
|
|
17620
|
+
"record.metadata.publications": "{count, plural, =0{Veröffentlichungsdatum} one{Veröffentlichungsdatum} other{Veröffentlichungen}}",
|
|
17593
17621
|
"record.metadata.quality": "Metadatenqualität",
|
|
17594
17622
|
"record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
|
|
17595
17623
|
"record.metadata.quality.contact.success": "Kontakt angegeben",
|
|
@@ -17649,6 +17677,8 @@ var de = {
|
|
|
17649
17677
|
"results.sortBy.relevancy": "Relevanz",
|
|
17650
17678
|
"search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
|
|
17651
17679
|
"search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
|
|
17680
|
+
"search.error.organizationHasNoDataset": "",
|
|
17681
|
+
"search.error.organizationNotFound": "",
|
|
17652
17682
|
"search.error.receivedError": "Ein Fehler ist aufgetreten",
|
|
17653
17683
|
"search.error.recordHasnolink": "",
|
|
17654
17684
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
@@ -17676,9 +17706,11 @@ var de = {
|
|
|
17676
17706
|
"search.filters.minimize": "Minimieren",
|
|
17677
17707
|
"search.filters.myRecords": "Nur meine Datensätze anzeigen",
|
|
17678
17708
|
"search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Datensätze angezeigt; Datensätze, die von anderen erstellt wurden, werden nicht angezeigt.",
|
|
17709
|
+
"search.filters.organization": "",
|
|
17679
17710
|
"search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
|
|
17711
|
+
"search.filters.producerOrg": "",
|
|
17680
17712
|
"search.filters.publicationYear": "Veröffentlichungsjahr",
|
|
17681
|
-
"search.filters.
|
|
17713
|
+
"search.filters.publisherOrg": "",
|
|
17682
17714
|
"search.filters.representationType": "Repräsentationstyp",
|
|
17683
17715
|
"search.filters.resourceType": "Ressourcentyp",
|
|
17684
17716
|
"search.filters.standard": "Standard",
|
|
@@ -17709,9 +17741,10 @@ var next$5 = "next";
|
|
|
17709
17741
|
var previous$5 = "previous";
|
|
17710
17742
|
var records$5 = "records";
|
|
17711
17743
|
var en = {
|
|
17744
|
+
"Add Layer As": "",
|
|
17712
17745
|
"button.login": "Log in",
|
|
17713
17746
|
"catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
|
|
17714
|
-
"catalog.figures.
|
|
17747
|
+
"catalog.figures.organizations": "{count, plural, =0{organizations} one{organization} other{organizations}}",
|
|
17715
17748
|
"chart.aggregation.average": "average",
|
|
17716
17749
|
"chart.aggregation.count": "count",
|
|
17717
17750
|
"chart.aggregation.max": "max",
|
|
@@ -17727,16 +17760,22 @@ var en = {
|
|
|
17727
17760
|
"chart.type.line": "line chart",
|
|
17728
17761
|
"chart.type.lineSmooth": "smooth line chart",
|
|
17729
17762
|
"chart.type.pie": "pie chart",
|
|
17763
|
+
"dashboard.catalog.allRecords": "Metadata records",
|
|
17764
|
+
"dashboard.catalog.calendar": "Calendar",
|
|
17765
|
+
"dashboard.catalog.contacts": "Contacts",
|
|
17766
|
+
"dashboard.catalog.discussion": "Discussion",
|
|
17767
|
+
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
17730
17768
|
"dashboard.createRecord": "New record",
|
|
17769
|
+
"dashboard.labels.catalog": "Catalog",
|
|
17731
17770
|
"dashboard.labels.mySpace": "My space",
|
|
17732
17771
|
"dashboard.records.all": "Metadata records",
|
|
17733
17772
|
"dashboard.records.hasDraft": "draft",
|
|
17734
17773
|
"dashboard.records.myDraft": "My drafts",
|
|
17735
17774
|
"dashboard.records.myLibrary": "My library",
|
|
17736
|
-
"dashboard.records.myOrg": "Organization",
|
|
17737
17775
|
"dashboard.records.myRecords": "My Records",
|
|
17738
17776
|
"dashboard.records.publishedRecords": "{count, plural, =1{published record} other{published records}}",
|
|
17739
17777
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
17778
|
+
"dashboard.records.templates": "Templates",
|
|
17740
17779
|
"dashboard.records.userDetail": "Name",
|
|
17741
17780
|
"dashboard.records.userEmail": "Email",
|
|
17742
17781
|
"dashboard.records.username": "Username",
|
|
@@ -17752,6 +17791,8 @@ var en = {
|
|
|
17752
17791
|
"datafeeder.datasetValidation.submitButton": "OK, my data are correct",
|
|
17753
17792
|
"datafeeder.datasetValidation.title": "Make sure your data are correct",
|
|
17754
17793
|
"datafeeder.datasetValidation.unknown": " - ",
|
|
17794
|
+
"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",
|
|
17795
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "Sample of the first 5 lines* of the dataset:",
|
|
17755
17796
|
"datafeeder.form.abstract": "How would you describe your dataset?",
|
|
17756
17797
|
"datafeeder.form.datepicker": "Do you know when the dataset was created?",
|
|
17757
17798
|
"datafeeder.form.description": "Finally, please describe the process that was used to create the dataset",
|
|
@@ -17779,6 +17820,7 @@ var en = {
|
|
|
17779
17820
|
"datafeeder.publishSuccess.geonetworkRecord": "Metadata record",
|
|
17780
17821
|
"datafeeder.publishSuccess.illustration.title": "Done, all is good!",
|
|
17781
17822
|
"datafeeder.publishSuccess.mapViewer": "Map viewer",
|
|
17823
|
+
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
17782
17824
|
"datafeeder.publishSuccess.subtitle": "View your data in:",
|
|
17783
17825
|
"datafeeder.publishSuccess.title": "Congratulation! \n Your dataset has been published",
|
|
17784
17826
|
"datafeeder.publishSuccess.uploadAnotherData": "Upload another dataset",
|
|
@@ -17807,6 +17849,15 @@ var en = {
|
|
|
17807
17849
|
"datafeeder.upload.maxFileSize": "Maximum file size is {size} MB",
|
|
17808
17850
|
"datafeeder.upload.title": "Upload your dataset",
|
|
17809
17851
|
"datafeeder.upload.uploadButton": "Upload",
|
|
17852
|
+
"datafeeder.validation.csv.delimiter": "Delimiter",
|
|
17853
|
+
"datafeeder.validation.csv.delimiter.comma": "Comma",
|
|
17854
|
+
"datafeeder.validation.csv.delimiter.semicolon": "Semicolon",
|
|
17855
|
+
"datafeeder.validation.csv.lat.field": "Latitude column",
|
|
17856
|
+
"datafeeder.validation.csv.lng.field": "Longitude column",
|
|
17857
|
+
"datafeeder.validation.csv.quote.double": "Double quote",
|
|
17858
|
+
"datafeeder.validation.csv.quote.none": "None",
|
|
17859
|
+
"datafeeder.validation.csv.quote.simple": "Simple quote",
|
|
17860
|
+
"datafeeder.validation.csv.quoteChar": "Quote separator",
|
|
17810
17861
|
"datafeeder.validation.encoding": "encoding",
|
|
17811
17862
|
"datafeeder.validation.extent.title": "Here is the dataset extent",
|
|
17812
17863
|
"datafeeder.validation.extent.title.unknown": "The projection system is unknown",
|
|
@@ -17820,7 +17871,7 @@ var en = {
|
|
|
17820
17871
|
"datahub.header.lastRecords": "The latest",
|
|
17821
17872
|
"datahub.header.myfavorites": "My favorites",
|
|
17822
17873
|
"datahub.header.news": "Home",
|
|
17823
|
-
"datahub.header.
|
|
17874
|
+
"datahub.header.organizations": "Organizations",
|
|
17824
17875
|
"datahub.header.popularRecords": "The most popular",
|
|
17825
17876
|
"datahub.header.title.html": "<div class=\"text-white\">Discover open<br> data from my Organization</div>",
|
|
17826
17877
|
"datahub.news.contact.contactus": "Contact us",
|
|
@@ -17856,6 +17907,8 @@ var en = {
|
|
|
17856
17907
|
"downloads.format.unknown": "unknown",
|
|
17857
17908
|
"downloads.wfs.featuretype.not.found": "The layer was not found",
|
|
17858
17909
|
dropFile: dropFile$5,
|
|
17910
|
+
"editor.record.form.abstract": "Abstract",
|
|
17911
|
+
"editor.record.form.keywords": "Keywords",
|
|
17859
17912
|
"editor.record.form.license": "License",
|
|
17860
17913
|
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
17861
17914
|
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
@@ -17866,12 +17919,15 @@ var en = {
|
|
|
17866
17919
|
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
17867
17920
|
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
17868
17921
|
"editor.record.form.license.unknown": "Unknown or absent",
|
|
17922
|
+
"editor.record.form.metadata.title": "Metadata title",
|
|
17923
|
+
"editor.record.form.record.updated": "Record updated",
|
|
17869
17924
|
"editor.record.form.resourceUpdated": "Last update date",
|
|
17870
17925
|
"editor.record.form.temporalExtents": "Temporal extent",
|
|
17871
17926
|
"editor.record.form.temporalExtents.addDate": "Time instant",
|
|
17872
17927
|
"editor.record.form.temporalExtents.addRange": "Time period",
|
|
17873
17928
|
"editor.record.form.temporalExtents.date": "Date",
|
|
17874
17929
|
"editor.record.form.temporalExtents.range": "Date range",
|
|
17930
|
+
"editor.record.form.unique.identifier": "Unique identifier",
|
|
17875
17931
|
"editor.record.form.updateFrequency": "Update frequency",
|
|
17876
17932
|
"editor.record.form.updateFrequency.planned": "The data should be updated regularly.",
|
|
17877
17933
|
"editor.record.loadError.body": "The record could not be loaded:",
|
|
@@ -17955,6 +18011,10 @@ var en = {
|
|
|
17955
18011
|
"organisations.sortBy.nameDesc": "Name Z → A",
|
|
17956
18012
|
"organisations.sortBy.recordCountAsc": "Publications 0 → 9",
|
|
17957
18013
|
"organisations.sortBy.recordCountDesc": "Publications 9 → 0",
|
|
18014
|
+
"organization.details.lastPublishedDatasets": "",
|
|
18015
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
18016
|
+
"organization.details.mailContact": "Contact by email",
|
|
18017
|
+
"organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}",
|
|
17958
18018
|
"pagination.nextPage": "Next page",
|
|
17959
18019
|
"pagination.page": "page",
|
|
17960
18020
|
"pagination.pageOf": "of",
|
|
@@ -17992,7 +18052,7 @@ var en = {
|
|
|
17992
18052
|
"record.metadata.preview": "Preview",
|
|
17993
18053
|
"record.metadata.producer": "Data producer",
|
|
17994
18054
|
"record.metadata.publication": "Date of publication",
|
|
17995
|
-
"record.metadata.publications": "publications",
|
|
18055
|
+
"record.metadata.publications": "{count, plural, =0{publication} one{publication} other{publications}}",
|
|
17996
18056
|
"record.metadata.quality": "Metadata Quality",
|
|
17997
18057
|
"record.metadata.quality.contact.failed": "Contact is not specified",
|
|
17998
18058
|
"record.metadata.quality.contact.success": "Contact is specified",
|
|
@@ -18052,6 +18112,8 @@ var en = {
|
|
|
18052
18112
|
"results.sortBy.relevancy": "Relevancy",
|
|
18053
18113
|
"search.autocomplete.error": "Suggestions could not be fetched:",
|
|
18054
18114
|
"search.error.couldNotReachApi": "The API could not be reached",
|
|
18115
|
+
"search.error.organizationHasNoDataset": "This organization has no dataset yet.",
|
|
18116
|
+
"search.error.organizationNotFound": "This organization could not be found.",
|
|
18055
18117
|
"search.error.receivedError": "An error was received",
|
|
18056
18118
|
"search.error.recordHasnolink": "This record currently has no link yet, please come back later.",
|
|
18057
18119
|
"search.error.recordNotFound": "The record with identifier \"{ id }\" could not be found.",
|
|
@@ -18079,9 +18141,11 @@ var en = {
|
|
|
18079
18141
|
"search.filters.minimize": "Minimize",
|
|
18080
18142
|
"search.filters.myRecords": "Show only my records",
|
|
18081
18143
|
"search.filters.myRecordsHelp": "When this is enabled, records only created by myself are shown; records created by others will not show up.",
|
|
18144
|
+
"search.filters.organization": "Organization",
|
|
18082
18145
|
"search.filters.otherRecords": "Showing records from another person",
|
|
18146
|
+
"search.filters.producerOrg": "Producer",
|
|
18083
18147
|
"search.filters.publicationYear": "Publication year",
|
|
18084
|
-
"search.filters.
|
|
18148
|
+
"search.filters.publisherOrg": "Publisher",
|
|
18085
18149
|
"search.filters.representationType": "Representation type",
|
|
18086
18150
|
"search.filters.resourceType": "Resource type",
|
|
18087
18151
|
"search.filters.standard": "Standard",
|
|
@@ -18112,9 +18176,10 @@ var next$4 = "";
|
|
|
18112
18176
|
var previous$4 = "";
|
|
18113
18177
|
var records$4 = "";
|
|
18114
18178
|
var es = {
|
|
18179
|
+
"Add Layer As": "",
|
|
18115
18180
|
"button.login": "",
|
|
18116
18181
|
"catalog.figures.datasets": "conjuntos de datos",
|
|
18117
|
-
"catalog.figures.
|
|
18182
|
+
"catalog.figures.organizations": "organizaciones",
|
|
18118
18183
|
"chart.aggregation.average": "promedio",
|
|
18119
18184
|
"chart.aggregation.count": "conteo",
|
|
18120
18185
|
"chart.aggregation.max": "máximo",
|
|
@@ -18130,16 +18195,22 @@ var es = {
|
|
|
18130
18195
|
"chart.type.line": "gráfico de líneas",
|
|
18131
18196
|
"chart.type.lineSmooth": "gráfico de líneas suave",
|
|
18132
18197
|
"chart.type.pie": "gráfico circular",
|
|
18198
|
+
"dashboard.catalog.allRecords": "",
|
|
18199
|
+
"dashboard.catalog.calendar": "",
|
|
18200
|
+
"dashboard.catalog.contacts": "",
|
|
18201
|
+
"dashboard.catalog.discussion": "",
|
|
18202
|
+
"dashboard.catalog.thesaurus": "",
|
|
18133
18203
|
"dashboard.createRecord": "",
|
|
18204
|
+
"dashboard.labels.catalog": "Catálogo",
|
|
18134
18205
|
"dashboard.labels.mySpace": "Mi espacio",
|
|
18135
18206
|
"dashboard.records.all": "Catálogo",
|
|
18136
18207
|
"dashboard.records.hasDraft": "",
|
|
18137
18208
|
"dashboard.records.myDraft": "Mis borradores",
|
|
18138
18209
|
"dashboard.records.myLibrary": "Mi biblioteca",
|
|
18139
|
-
"dashboard.records.myOrg": "Organización",
|
|
18140
18210
|
"dashboard.records.myRecords": "Mis Registros",
|
|
18141
18211
|
"dashboard.records.publishedRecords": "",
|
|
18142
18212
|
"dashboard.records.search": "Buscar \"{searchText}\"",
|
|
18213
|
+
"dashboard.records.templates": "",
|
|
18143
18214
|
"dashboard.records.userDetail": "",
|
|
18144
18215
|
"dashboard.records.userEmail": "",
|
|
18145
18216
|
"dashboard.records.username": "",
|
|
@@ -18155,6 +18226,8 @@ var es = {
|
|
|
18155
18226
|
"datafeeder.datasetValidation.submitButton": "",
|
|
18156
18227
|
"datafeeder.datasetValidation.title": "",
|
|
18157
18228
|
"datafeeder.datasetValidation.unknown": "",
|
|
18229
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
18230
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
18158
18231
|
"datafeeder.form.abstract": "",
|
|
18159
18232
|
"datafeeder.form.datepicker": "",
|
|
18160
18233
|
"datafeeder.form.description": "",
|
|
@@ -18182,6 +18255,7 @@ var es = {
|
|
|
18182
18255
|
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
18183
18256
|
"datafeeder.publishSuccess.illustration.title": "",
|
|
18184
18257
|
"datafeeder.publishSuccess.mapViewer": "",
|
|
18258
|
+
"datafeeder.publishSuccess.ogcFeature": "",
|
|
18185
18259
|
"datafeeder.publishSuccess.subtitle": "",
|
|
18186
18260
|
"datafeeder.publishSuccess.title": "",
|
|
18187
18261
|
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
@@ -18210,6 +18284,15 @@ var es = {
|
|
|
18210
18284
|
"datafeeder.upload.maxFileSize": "",
|
|
18211
18285
|
"datafeeder.upload.title": "",
|
|
18212
18286
|
"datafeeder.upload.uploadButton": "",
|
|
18287
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
18288
|
+
"datafeeder.validation.csv.delimiter.comma": "Coma",
|
|
18289
|
+
"datafeeder.validation.csv.delimiter.semicolon": "Punto y coma",
|
|
18290
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
18291
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
18292
|
+
"datafeeder.validation.csv.quote.double": "Comillas dobles",
|
|
18293
|
+
"datafeeder.validation.csv.quote.none": "Ninguno",
|
|
18294
|
+
"datafeeder.validation.csv.quote.simple": "Comillas simples",
|
|
18295
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
18213
18296
|
"datafeeder.validation.encoding": "",
|
|
18214
18297
|
"datafeeder.validation.extent.title": "",
|
|
18215
18298
|
"datafeeder.validation.extent.title.unknown": "",
|
|
@@ -18223,7 +18306,7 @@ var es = {
|
|
|
18223
18306
|
"datahub.header.lastRecords": "",
|
|
18224
18307
|
"datahub.header.myfavorites": "",
|
|
18225
18308
|
"datahub.header.news": "",
|
|
18226
|
-
"datahub.header.
|
|
18309
|
+
"datahub.header.organizations": "",
|
|
18227
18310
|
"datahub.header.popularRecords": "",
|
|
18228
18311
|
"datahub.header.title.html": "",
|
|
18229
18312
|
"datahub.news.contact.contactus": "",
|
|
@@ -18259,6 +18342,8 @@ var es = {
|
|
|
18259
18342
|
"downloads.format.unknown": "",
|
|
18260
18343
|
"downloads.wfs.featuretype.not.found": "",
|
|
18261
18344
|
dropFile: dropFile$4,
|
|
18345
|
+
"editor.record.form.abstract": "",
|
|
18346
|
+
"editor.record.form.keywords": "",
|
|
18262
18347
|
"editor.record.form.license": "",
|
|
18263
18348
|
"editor.record.form.license.cc-by": "",
|
|
18264
18349
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -18269,12 +18354,15 @@ var es = {
|
|
|
18269
18354
|
"editor.record.form.license.odc-by": "",
|
|
18270
18355
|
"editor.record.form.license.pddl": "",
|
|
18271
18356
|
"editor.record.form.license.unknown": "",
|
|
18357
|
+
"editor.record.form.metadata.title": "",
|
|
18358
|
+
"editor.record.form.record.updated": "",
|
|
18272
18359
|
"editor.record.form.resourceUpdated": "",
|
|
18273
18360
|
"editor.record.form.temporalExtents": "",
|
|
18274
18361
|
"editor.record.form.temporalExtents.addDate": "",
|
|
18275
18362
|
"editor.record.form.temporalExtents.addRange": "",
|
|
18276
18363
|
"editor.record.form.temporalExtents.date": "",
|
|
18277
18364
|
"editor.record.form.temporalExtents.range": "",
|
|
18365
|
+
"editor.record.form.unique.identifier": "",
|
|
18278
18366
|
"editor.record.form.updateFrequency": "",
|
|
18279
18367
|
"editor.record.form.updateFrequency.planned": "",
|
|
18280
18368
|
"editor.record.loadError.body": "",
|
|
@@ -18358,6 +18446,10 @@ var es = {
|
|
|
18358
18446
|
"organisations.sortBy.nameDesc": "",
|
|
18359
18447
|
"organisations.sortBy.recordCountAsc": "",
|
|
18360
18448
|
"organisations.sortBy.recordCountDesc": "",
|
|
18449
|
+
"organization.details.lastPublishedDatasets": "",
|
|
18450
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
18451
|
+
"organization.details.mailContact": "",
|
|
18452
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
18361
18453
|
"pagination.nextPage": "",
|
|
18362
18454
|
"pagination.page": "",
|
|
18363
18455
|
"pagination.pageOf": "",
|
|
@@ -18395,7 +18487,7 @@ var es = {
|
|
|
18395
18487
|
"record.metadata.preview": "",
|
|
18396
18488
|
"record.metadata.producer": "",
|
|
18397
18489
|
"record.metadata.publication": "",
|
|
18398
|
-
"record.metadata.publications": "",
|
|
18490
|
+
"record.metadata.publications": "{count, plural, =0{} one{} other{}}",
|
|
18399
18491
|
"record.metadata.quality": "",
|
|
18400
18492
|
"record.metadata.quality.contact.failed": "",
|
|
18401
18493
|
"record.metadata.quality.contact.success": "",
|
|
@@ -18455,6 +18547,8 @@ var es = {
|
|
|
18455
18547
|
"results.sortBy.relevancy": "",
|
|
18456
18548
|
"search.autocomplete.error": "",
|
|
18457
18549
|
"search.error.couldNotReachApi": "",
|
|
18550
|
+
"search.error.organizationHasNoDataset": "",
|
|
18551
|
+
"search.error.organizationNotFound": "",
|
|
18458
18552
|
"search.error.receivedError": "",
|
|
18459
18553
|
"search.error.recordHasnolink": "",
|
|
18460
18554
|
"search.error.recordNotFound": "",
|
|
@@ -18482,9 +18576,11 @@ var es = {
|
|
|
18482
18576
|
"search.filters.minimize": "",
|
|
18483
18577
|
"search.filters.myRecords": "",
|
|
18484
18578
|
"search.filters.myRecordsHelp": "",
|
|
18579
|
+
"search.filters.organization": "",
|
|
18485
18580
|
"search.filters.otherRecords": "",
|
|
18581
|
+
"search.filters.producerOrg": "",
|
|
18486
18582
|
"search.filters.publicationYear": "",
|
|
18487
|
-
"search.filters.
|
|
18583
|
+
"search.filters.publisherOrg": "",
|
|
18488
18584
|
"search.filters.representationType": "",
|
|
18489
18585
|
"search.filters.resourceType": "",
|
|
18490
18586
|
"search.filters.standard": "",
|
|
@@ -18515,9 +18611,10 @@ var next$3 = "suivant";
|
|
|
18515
18611
|
var previous$3 = "précédent";
|
|
18516
18612
|
var records$3 = "enregistrements";
|
|
18517
18613
|
var fr = {
|
|
18614
|
+
"Add Layer As": "",
|
|
18518
18615
|
"button.login": "Se connecter",
|
|
18519
18616
|
"catalog.figures.datasets": "{count, plural, =0{données} one{donnée} other{données}}",
|
|
18520
|
-
"catalog.figures.
|
|
18617
|
+
"catalog.figures.organizations": "{count, plural, =0{organisations} one{organisation} other{organisations}}",
|
|
18521
18618
|
"chart.aggregation.average": "moyenne",
|
|
18522
18619
|
"chart.aggregation.count": "nombre",
|
|
18523
18620
|
"chart.aggregation.max": "maximum",
|
|
@@ -18533,16 +18630,22 @@ var fr = {
|
|
|
18533
18630
|
"chart.type.line": "ligne",
|
|
18534
18631
|
"chart.type.lineSmooth": "ligne lisse",
|
|
18535
18632
|
"chart.type.pie": "camembert",
|
|
18633
|
+
"dashboard.catalog.allRecords": "Fiches de métadonnée",
|
|
18634
|
+
"dashboard.catalog.calendar": "Calendrier",
|
|
18635
|
+
"dashboard.catalog.contacts": "Annuaire",
|
|
18636
|
+
"dashboard.catalog.discussion": "Discussions",
|
|
18637
|
+
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
18536
18638
|
"dashboard.createRecord": "Nouvel enregistrement",
|
|
18639
|
+
"dashboard.labels.catalog": "Catalogue",
|
|
18537
18640
|
"dashboard.labels.mySpace": "Mon espace",
|
|
18538
18641
|
"dashboard.records.all": "Catalogue",
|
|
18539
18642
|
"dashboard.records.hasDraft": "brouillon",
|
|
18540
18643
|
"dashboard.records.myDraft": "Mes brouillons",
|
|
18541
18644
|
"dashboard.records.myLibrary": "Ma bibliothèque",
|
|
18542
|
-
"dashboard.records.myOrg": "Mon organisation",
|
|
18543
18645
|
"dashboard.records.myRecords": "Mes fiches publiées",
|
|
18544
18646
|
"dashboard.records.publishedRecords": "{count, plural, =1{donnée publiée} other{données publiées}}",
|
|
18545
18647
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
18648
|
+
"dashboard.records.templates": "Modèles pré-remplis",
|
|
18546
18649
|
"dashboard.records.userDetail": "Nom",
|
|
18547
18650
|
"dashboard.records.userEmail": "Email",
|
|
18548
18651
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
@@ -18558,6 +18661,8 @@ var fr = {
|
|
|
18558
18661
|
"datafeeder.datasetValidation.submitButton": "OK, mes données sont correctes",
|
|
18559
18662
|
"datafeeder.datasetValidation.title": "Vérifiez que vos données sont correctes",
|
|
18560
18663
|
"datafeeder.datasetValidation.unknown": " - ",
|
|
18664
|
+
"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érifier que le fichier est bien formatté",
|
|
18665
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "Résumé des 5 premières lignes* du CSV :",
|
|
18561
18666
|
"datafeeder.form.abstract": "Comment décrire votre jeu de données ?",
|
|
18562
18667
|
"datafeeder.form.datepicker": "Savez-vous quand la donnée a été créée ?",
|
|
18563
18668
|
"datafeeder.form.description": "Enfin, décrivez le processus utilisé pour créer la donnée",
|
|
@@ -18584,7 +18689,8 @@ var fr = {
|
|
|
18584
18689
|
"datafeeder.publish.upload": "Upload maintenant",
|
|
18585
18690
|
"datafeeder.publishSuccess.geonetworkRecord": "Fiche de métadonnée",
|
|
18586
18691
|
"datafeeder.publishSuccess.illustration.title": "Terminé, tout s'est bien passé !",
|
|
18587
|
-
"datafeeder.publishSuccess.mapViewer": "
|
|
18692
|
+
"datafeeder.publishSuccess.mapViewer": "Visualiseur",
|
|
18693
|
+
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
18588
18694
|
"datafeeder.publishSuccess.subtitle": "Visualisez vos données :",
|
|
18589
18695
|
"datafeeder.publishSuccess.title": "Félicitations! \n Vos données ont été publiées",
|
|
18590
18696
|
"datafeeder.publishSuccess.uploadAnotherData": "Importer une autre donnée",
|
|
@@ -18613,6 +18719,15 @@ var fr = {
|
|
|
18613
18719
|
"datafeeder.upload.maxFileSize": "La taille maximale est {size} Mo",
|
|
18614
18720
|
"datafeeder.upload.title": "Importez vos données",
|
|
18615
18721
|
"datafeeder.upload.uploadButton": "Transférer",
|
|
18722
|
+
"datafeeder.validation.csv.delimiter": "Séparateur de colonne",
|
|
18723
|
+
"datafeeder.validation.csv.delimiter.comma": "Virgule",
|
|
18724
|
+
"datafeeder.validation.csv.delimiter.semicolon": "Point-virgule",
|
|
18725
|
+
"datafeeder.validation.csv.lat.field": "Colonne latitude",
|
|
18726
|
+
"datafeeder.validation.csv.lng.field": "Colonne longitude",
|
|
18727
|
+
"datafeeder.validation.csv.quote.double": "Double guillemets",
|
|
18728
|
+
"datafeeder.validation.csv.quote.none": "Aucun",
|
|
18729
|
+
"datafeeder.validation.csv.quote.simple": "Simple guillemet",
|
|
18730
|
+
"datafeeder.validation.csv.quoteChar": "Séparateur de texte",
|
|
18616
18731
|
"datafeeder.validation.encoding": "encodage",
|
|
18617
18732
|
"datafeeder.validation.extent.title": "Voici l'emprise du jeu de données",
|
|
18618
18733
|
"datafeeder.validation.extent.title.unknown": "Le système de projection est inconnu",
|
|
@@ -18626,7 +18741,7 @@ var fr = {
|
|
|
18626
18741
|
"datahub.header.lastRecords": "Les plus récentes",
|
|
18627
18742
|
"datahub.header.myfavorites": "Mes favoris",
|
|
18628
18743
|
"datahub.header.news": "Accueil",
|
|
18629
|
-
"datahub.header.
|
|
18744
|
+
"datahub.header.organizations": "Organisations",
|
|
18630
18745
|
"datahub.header.popularRecords": "Les plus appréciées",
|
|
18631
18746
|
"datahub.header.title.html": "<div class=\"text-white\">Toutes les données<br>publiques de mon organisation</div>",
|
|
18632
18747
|
"datahub.news.contact.contactus": "Contactez-nous",
|
|
@@ -18662,6 +18777,8 @@ var fr = {
|
|
|
18662
18777
|
"downloads.format.unknown": "inconnu",
|
|
18663
18778
|
"downloads.wfs.featuretype.not.found": "La couche n'a pas été retrouvée",
|
|
18664
18779
|
dropFile: dropFile$3,
|
|
18780
|
+
"editor.record.form.abstract": "",
|
|
18781
|
+
"editor.record.form.keywords": "",
|
|
18665
18782
|
"editor.record.form.license": "Licence",
|
|
18666
18783
|
"editor.record.form.license.cc-by": "",
|
|
18667
18784
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -18672,12 +18789,15 @@ var fr = {
|
|
|
18672
18789
|
"editor.record.form.license.odc-by": "",
|
|
18673
18790
|
"editor.record.form.license.pddl": "",
|
|
18674
18791
|
"editor.record.form.license.unknown": "Non-reconnue ou absente",
|
|
18792
|
+
"editor.record.form.metadata.title": "",
|
|
18793
|
+
"editor.record.form.record.updated": "",
|
|
18675
18794
|
"editor.record.form.resourceUpdated": "Date de dernière révision",
|
|
18676
18795
|
"editor.record.form.temporalExtents": "Étendue temporelle",
|
|
18677
18796
|
"editor.record.form.temporalExtents.addDate": "Date déterminée",
|
|
18678
18797
|
"editor.record.form.temporalExtents.addRange": "Période de temps",
|
|
18679
18798
|
"editor.record.form.temporalExtents.date": "Date concernée",
|
|
18680
18799
|
"editor.record.form.temporalExtents.range": "Période concernée",
|
|
18800
|
+
"editor.record.form.unique.identifier": "",
|
|
18681
18801
|
"editor.record.form.updateFrequency": "Fréquence de mise à jour",
|
|
18682
18802
|
"editor.record.form.updateFrequency.planned": "Ces données doivent être mise à jour régulièrement.",
|
|
18683
18803
|
"editor.record.loadError.body": "",
|
|
@@ -18761,6 +18881,10 @@ var fr = {
|
|
|
18761
18881
|
"organisations.sortBy.nameDesc": "Nom Z → A",
|
|
18762
18882
|
"organisations.sortBy.recordCountAsc": "Données 0 → 9",
|
|
18763
18883
|
"organisations.sortBy.recordCountDesc": "Données 9 → 0",
|
|
18884
|
+
"organization.details.lastPublishedDatasets": "",
|
|
18885
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
18886
|
+
"organization.details.mailContact": "Contacter par mail",
|
|
18887
|
+
"organization.header.recordCount": "{count, plural, =0{donnée} one{donnée} other{données}}",
|
|
18764
18888
|
"pagination.nextPage": "Page suivante",
|
|
18765
18889
|
"pagination.page": "page",
|
|
18766
18890
|
"pagination.pageOf": "sur",
|
|
@@ -18798,7 +18922,7 @@ var fr = {
|
|
|
18798
18922
|
"record.metadata.preview": "Aperçu",
|
|
18799
18923
|
"record.metadata.producer": "Producteur de la donnée",
|
|
18800
18924
|
"record.metadata.publication": "Date de publication",
|
|
18801
|
-
"record.metadata.publications": "données",
|
|
18925
|
+
"record.metadata.publications": "{count, plural, =0{donnée} one{donnée} other{données}}",
|
|
18802
18926
|
"record.metadata.quality": "Qualité des métadonnées",
|
|
18803
18927
|
"record.metadata.quality.contact.failed": "Contact n'est pas renseigné",
|
|
18804
18928
|
"record.metadata.quality.contact.success": "Contact est renseigné",
|
|
@@ -18858,6 +18982,8 @@ var fr = {
|
|
|
18858
18982
|
"results.sortBy.relevancy": "Pertinence",
|
|
18859
18983
|
"search.autocomplete.error": "Les suggestions ne peuvent pas être récupérées",
|
|
18860
18984
|
"search.error.couldNotReachApi": "Problème de connexion à l'API",
|
|
18985
|
+
"search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de données.",
|
|
18986
|
+
"search.error.organizationNotFound": "L'organisation n'a pas pu être trouvée.",
|
|
18861
18987
|
"search.error.receivedError": "Erreur retournée",
|
|
18862
18988
|
"search.error.recordHasnolink": "Ce dataset n'a pas encore de lien, réessayez plus tard s'il vous plaît.",
|
|
18863
18989
|
"search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
|
|
@@ -18885,9 +19011,11 @@ var fr = {
|
|
|
18885
19011
|
"search.filters.minimize": "Réduire",
|
|
18886
19012
|
"search.filters.myRecords": "Voir mes données",
|
|
18887
19013
|
"search.filters.myRecordsHelp": "Quand activé, n'affiche que les données créées avec mon utilisateur. Les données créées par les autres utilisateurs ne sont pas affichées.",
|
|
19014
|
+
"search.filters.organization": "Organisation",
|
|
18888
19015
|
"search.filters.otherRecords": "Affichage des données d'un autre utilisateur",
|
|
19016
|
+
"search.filters.producerOrg": "Producteur",
|
|
18889
19017
|
"search.filters.publicationYear": "Année de publication",
|
|
18890
|
-
"search.filters.
|
|
19018
|
+
"search.filters.publisherOrg": "Distributeur",
|
|
18891
19019
|
"search.filters.representationType": "Type de représentation",
|
|
18892
19020
|
"search.filters.resourceType": "Type de ressource",
|
|
18893
19021
|
"search.filters.standard": "Standard",
|
|
@@ -18918,9 +19046,10 @@ var next$2 = "successivo";
|
|
|
18918
19046
|
var previous$2 = "precedente";
|
|
18919
19047
|
var records$2 = "record";
|
|
18920
19048
|
var it = {
|
|
19049
|
+
"Add Layer As": "",
|
|
18921
19050
|
"button.login": "",
|
|
18922
19051
|
"catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
|
|
18923
|
-
"catalog.figures.
|
|
19052
|
+
"catalog.figures.organizations": "{count, plural, =0{organizzazioni} one{organizzazione} other{organizzazioni}}",
|
|
18924
19053
|
"chart.aggregation.average": "media",
|
|
18925
19054
|
"chart.aggregation.count": "conteggio",
|
|
18926
19055
|
"chart.aggregation.max": "massimo",
|
|
@@ -18936,16 +19065,22 @@ var it = {
|
|
|
18936
19065
|
"chart.type.line": "grafico a linee",
|
|
18937
19066
|
"chart.type.lineSmooth": "grafico a linea liscia",
|
|
18938
19067
|
"chart.type.pie": "grafico a torta",
|
|
19068
|
+
"dashboard.catalog.allRecords": "",
|
|
19069
|
+
"dashboard.catalog.calendar": "",
|
|
19070
|
+
"dashboard.catalog.contacts": "",
|
|
19071
|
+
"dashboard.catalog.discussion": "",
|
|
19072
|
+
"dashboard.catalog.thesaurus": "",
|
|
18939
19073
|
"dashboard.createRecord": "Crea un record",
|
|
19074
|
+
"dashboard.labels.catalog": "Catalogo",
|
|
18940
19075
|
"dashboard.labels.mySpace": "Il mio spazio",
|
|
18941
19076
|
"dashboard.records.all": "Catalogo",
|
|
18942
19077
|
"dashboard.records.hasDraft": "",
|
|
18943
19078
|
"dashboard.records.myDraft": "Le mie bozze",
|
|
18944
19079
|
"dashboard.records.myLibrary": "La mia biblioteca",
|
|
18945
|
-
"dashboard.records.myOrg": "La mia organizzazione",
|
|
18946
19080
|
"dashboard.records.myRecords": "I miei dati",
|
|
18947
19081
|
"dashboard.records.publishedRecords": "dati pubblicati",
|
|
18948
19082
|
"dashboard.records.search": "Risultati per \"{searchText}\"",
|
|
19083
|
+
"dashboard.records.templates": "",
|
|
18949
19084
|
"dashboard.records.userDetail": "Nome",
|
|
18950
19085
|
"dashboard.records.userEmail": "Email",
|
|
18951
19086
|
"dashboard.records.username": "Nome utente",
|
|
@@ -18961,6 +19096,8 @@ var it = {
|
|
|
18961
19096
|
"datafeeder.datasetValidation.submitButton": "OK, i miei dati sono corretti",
|
|
18962
19097
|
"datafeeder.datasetValidation.title": "Controllare che i dati siano corretti",
|
|
18963
19098
|
"datafeeder.datasetValidation.unknown": " - ",
|
|
19099
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
19100
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
18964
19101
|
"datafeeder.form.abstract": "Come descrivere il suo dataset?",
|
|
18965
19102
|
"datafeeder.form.datepicker": "Sa quando è stato creato il suo dataset ?",
|
|
18966
19103
|
"datafeeder.form.description": "Infine, descrivere il processo utilizzato per creare il dataset",
|
|
@@ -18988,6 +19125,7 @@ var it = {
|
|
|
18988
19125
|
"datafeeder.publishSuccess.geonetworkRecord": "Scheda di metadati",
|
|
18989
19126
|
"datafeeder.publishSuccess.illustration.title": "Completato, tutto è andato bene!",
|
|
18990
19127
|
"datafeeder.publishSuccess.mapViewer": "Visualizzatore",
|
|
19128
|
+
"datafeeder.publishSuccess.ogcFeature": "",
|
|
18991
19129
|
"datafeeder.publishSuccess.subtitle": "Visualizzare i dati:",
|
|
18992
19130
|
"datafeeder.publishSuccess.title": "Congratulazioni! \n I suoi dati sono stati pubblicati",
|
|
18993
19131
|
"datafeeder.publishSuccess.uploadAnotherData": "Caricare un altro dato",
|
|
@@ -19016,6 +19154,15 @@ var it = {
|
|
|
19016
19154
|
"datafeeder.upload.maxFileSize": "Dimensione massima: {size} MB",
|
|
19017
19155
|
"datafeeder.upload.title": "Importa i suoi dati",
|
|
19018
19156
|
"datafeeder.upload.uploadButton": "Carica",
|
|
19157
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
19158
|
+
"datafeeder.validation.csv.delimiter.comma": "",
|
|
19159
|
+
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
19160
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
19161
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
19162
|
+
"datafeeder.validation.csv.quote.double": "",
|
|
19163
|
+
"datafeeder.validation.csv.quote.none": "",
|
|
19164
|
+
"datafeeder.validation.csv.quote.simple": "",
|
|
19165
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
19019
19166
|
"datafeeder.validation.encoding": "Codifica",
|
|
19020
19167
|
"datafeeder.validation.extent.title": "Ecco l'estensione del dataset",
|
|
19021
19168
|
"datafeeder.validation.extent.title.unknown": "Sistema di proiezione sconosciuto",
|
|
@@ -19029,7 +19176,7 @@ var it = {
|
|
|
19029
19176
|
"datahub.header.lastRecords": "Ultimi",
|
|
19030
19177
|
"datahub.header.myfavorites": "Miei preferiti",
|
|
19031
19178
|
"datahub.header.news": "Home",
|
|
19032
|
-
"datahub.header.
|
|
19179
|
+
"datahub.header.organizations": "Organizzazioni",
|
|
19033
19180
|
"datahub.header.popularRecords": "Più popolari",
|
|
19034
19181
|
"datahub.header.title.html": "<div class=\"text-white\">Tutti i dati<br>pubblici della mia organizzazione</div>",
|
|
19035
19182
|
"datahub.news.contact.contactus": "Contattateci",
|
|
@@ -19065,6 +19212,8 @@ var it = {
|
|
|
19065
19212
|
"downloads.format.unknown": "sconosciuto",
|
|
19066
19213
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
19067
19214
|
dropFile: dropFile$2,
|
|
19215
|
+
"editor.record.form.abstract": "",
|
|
19216
|
+
"editor.record.form.keywords": "",
|
|
19068
19217
|
"editor.record.form.license": "Licenza",
|
|
19069
19218
|
"editor.record.form.license.cc-by": "",
|
|
19070
19219
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -19075,12 +19224,15 @@ var it = {
|
|
|
19075
19224
|
"editor.record.form.license.odc-by": "",
|
|
19076
19225
|
"editor.record.form.license.pddl": "",
|
|
19077
19226
|
"editor.record.form.license.unknown": "Non riconosciuta o assente",
|
|
19227
|
+
"editor.record.form.metadata.title": "",
|
|
19228
|
+
"editor.record.form.record.updated": "",
|
|
19078
19229
|
"editor.record.form.resourceUpdated": "",
|
|
19079
19230
|
"editor.record.form.temporalExtents": "",
|
|
19080
19231
|
"editor.record.form.temporalExtents.addDate": "",
|
|
19081
19232
|
"editor.record.form.temporalExtents.addRange": "",
|
|
19082
19233
|
"editor.record.form.temporalExtents.date": "",
|
|
19083
19234
|
"editor.record.form.temporalExtents.range": "",
|
|
19235
|
+
"editor.record.form.unique.identifier": "",
|
|
19084
19236
|
"editor.record.form.updateFrequency": "",
|
|
19085
19237
|
"editor.record.form.updateFrequency.planned": "",
|
|
19086
19238
|
"editor.record.loadError.body": "",
|
|
@@ -19164,6 +19316,10 @@ var it = {
|
|
|
19164
19316
|
"organisations.sortBy.nameDesc": "Nome Z → A",
|
|
19165
19317
|
"organisations.sortBy.recordCountAsc": "Dati 0 → 9",
|
|
19166
19318
|
"organisations.sortBy.recordCountDesc": "Dati 9 → 0",
|
|
19319
|
+
"organization.details.lastPublishedDatasets": "",
|
|
19320
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
19321
|
+
"organization.details.mailContact": "",
|
|
19322
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
19167
19323
|
"pagination.nextPage": "Pagina successiva",
|
|
19168
19324
|
"pagination.page": "pagina",
|
|
19169
19325
|
"pagination.pageOf": "di",
|
|
@@ -19201,7 +19357,7 @@ var it = {
|
|
|
19201
19357
|
"record.metadata.preview": "Anteprima",
|
|
19202
19358
|
"record.metadata.producer": "Produttore dei dati",
|
|
19203
19359
|
"record.metadata.publication": "Data di pubblicazione",
|
|
19204
|
-
"record.metadata.publications": "pubblicazioni",
|
|
19360
|
+
"record.metadata.publications": "{count, plural, =0{pubblicazione} one{pubblicazione} other{pubblicazioni}}",
|
|
19205
19361
|
"record.metadata.quality": "Qualità dei metadati",
|
|
19206
19362
|
"record.metadata.quality.contact.failed": "Il contatto non è specificato",
|
|
19207
19363
|
"record.metadata.quality.contact.success": "Il contatto è specificato",
|
|
@@ -19261,6 +19417,8 @@ var it = {
|
|
|
19261
19417
|
"results.sortBy.relevancy": "Rilevanza",
|
|
19262
19418
|
"search.autocomplete.error": "Impossibile recuperare le suggerimenti",
|
|
19263
19419
|
"search.error.couldNotReachApi": "Problema di connessione all'API",
|
|
19420
|
+
"search.error.organizationHasNoDataset": "",
|
|
19421
|
+
"search.error.organizationNotFound": "",
|
|
19264
19422
|
"search.error.receivedError": "Errore ricevuto",
|
|
19265
19423
|
"search.error.recordHasnolink": "",
|
|
19266
19424
|
"search.error.recordNotFound": "Impossibile trovare questo dato",
|
|
@@ -19288,9 +19446,11 @@ var it = {
|
|
|
19288
19446
|
"search.filters.minimize": "Riduci",
|
|
19289
19447
|
"search.filters.myRecords": "Visualizza i miei dati",
|
|
19290
19448
|
"search.filters.myRecordsHelp": "Quando attivato, mostra solo i dati creati con il mio utente. I dati creati da altri utenti non sono visualizzati.",
|
|
19449
|
+
"search.filters.organization": "",
|
|
19291
19450
|
"search.filters.otherRecords": "Visualizzazione dei dati di un altro utente",
|
|
19451
|
+
"search.filters.producerOrg": "",
|
|
19292
19452
|
"search.filters.publicationYear": "Anno di pubblicazione",
|
|
19293
|
-
"search.filters.
|
|
19453
|
+
"search.filters.publisherOrg": "",
|
|
19294
19454
|
"search.filters.representationType": "Tipo di rappresentazione",
|
|
19295
19455
|
"search.filters.resourceType": "Tipo di risorsa",
|
|
19296
19456
|
"search.filters.standard": "Standard",
|
|
@@ -19321,9 +19481,10 @@ var next$1 = "";
|
|
|
19321
19481
|
var previous$1 = "";
|
|
19322
19482
|
var records$1 = "";
|
|
19323
19483
|
var nl = {
|
|
19484
|
+
"Add Layer As": "",
|
|
19324
19485
|
"button.login": "",
|
|
19325
19486
|
"catalog.figures.datasets": "datasets",
|
|
19326
|
-
"catalog.figures.
|
|
19487
|
+
"catalog.figures.organizations": "organisaties",
|
|
19327
19488
|
"chart.aggregation.average": "gemiddelde",
|
|
19328
19489
|
"chart.aggregation.count": "aantal",
|
|
19329
19490
|
"chart.aggregation.max": "max",
|
|
@@ -19339,16 +19500,22 @@ var nl = {
|
|
|
19339
19500
|
"chart.type.line": "lijndiagram",
|
|
19340
19501
|
"chart.type.lineSmooth": "glad lijndiagram",
|
|
19341
19502
|
"chart.type.pie": "cirkeldiagram",
|
|
19503
|
+
"dashboard.catalog.allRecords": "",
|
|
19504
|
+
"dashboard.catalog.calendar": "",
|
|
19505
|
+
"dashboard.catalog.contacts": "",
|
|
19506
|
+
"dashboard.catalog.discussion": "",
|
|
19507
|
+
"dashboard.catalog.thesaurus": "",
|
|
19342
19508
|
"dashboard.createRecord": "",
|
|
19509
|
+
"dashboard.labels.catalog": "Catalogus",
|
|
19343
19510
|
"dashboard.labels.mySpace": "Mijn ruimte",
|
|
19344
19511
|
"dashboard.records.all": "Catalogus",
|
|
19345
19512
|
"dashboard.records.hasDraft": "",
|
|
19346
19513
|
"dashboard.records.myDraft": "Mijn concepten",
|
|
19347
19514
|
"dashboard.records.myLibrary": "Mijn bibliotheek",
|
|
19348
|
-
"dashboard.records.myOrg": "Organisatie",
|
|
19349
19515
|
"dashboard.records.myRecords": "Mijn Records",
|
|
19350
19516
|
"dashboard.records.publishedRecords": "",
|
|
19351
19517
|
"dashboard.records.search": "Zoeken naar \"{searchText}\"",
|
|
19518
|
+
"dashboard.records.templates": "",
|
|
19352
19519
|
"dashboard.records.userDetail": "",
|
|
19353
19520
|
"dashboard.records.userEmail": "",
|
|
19354
19521
|
"dashboard.records.username": "",
|
|
@@ -19364,6 +19531,8 @@ var nl = {
|
|
|
19364
19531
|
"datafeeder.datasetValidation.submitButton": "",
|
|
19365
19532
|
"datafeeder.datasetValidation.title": "",
|
|
19366
19533
|
"datafeeder.datasetValidation.unknown": "",
|
|
19534
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
19535
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
19367
19536
|
"datafeeder.form.abstract": "",
|
|
19368
19537
|
"datafeeder.form.datepicker": "",
|
|
19369
19538
|
"datafeeder.form.description": "",
|
|
@@ -19391,6 +19560,7 @@ var nl = {
|
|
|
19391
19560
|
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
19392
19561
|
"datafeeder.publishSuccess.illustration.title": "",
|
|
19393
19562
|
"datafeeder.publishSuccess.mapViewer": "",
|
|
19563
|
+
"datafeeder.publishSuccess.ogcFeature": "",
|
|
19394
19564
|
"datafeeder.publishSuccess.subtitle": "",
|
|
19395
19565
|
"datafeeder.publishSuccess.title": "",
|
|
19396
19566
|
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
@@ -19419,6 +19589,15 @@ var nl = {
|
|
|
19419
19589
|
"datafeeder.upload.maxFileSize": "",
|
|
19420
19590
|
"datafeeder.upload.title": "",
|
|
19421
19591
|
"datafeeder.upload.uploadButton": "",
|
|
19592
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
19593
|
+
"datafeeder.validation.csv.delimiter.comma": "",
|
|
19594
|
+
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
19595
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
19596
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
19597
|
+
"datafeeder.validation.csv.quote.double": "",
|
|
19598
|
+
"datafeeder.validation.csv.quote.none": "",
|
|
19599
|
+
"datafeeder.validation.csv.quote.simple": "",
|
|
19600
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
19422
19601
|
"datafeeder.validation.encoding": "",
|
|
19423
19602
|
"datafeeder.validation.extent.title": "",
|
|
19424
19603
|
"datafeeder.validation.extent.title.unknown": "",
|
|
@@ -19432,7 +19611,7 @@ var nl = {
|
|
|
19432
19611
|
"datahub.header.lastRecords": "",
|
|
19433
19612
|
"datahub.header.myfavorites": "",
|
|
19434
19613
|
"datahub.header.news": "",
|
|
19435
|
-
"datahub.header.
|
|
19614
|
+
"datahub.header.organizations": "",
|
|
19436
19615
|
"datahub.header.popularRecords": "",
|
|
19437
19616
|
"datahub.header.title.html": "",
|
|
19438
19617
|
"datahub.news.contact.contactus": "",
|
|
@@ -19468,6 +19647,8 @@ var nl = {
|
|
|
19468
19647
|
"downloads.format.unknown": "",
|
|
19469
19648
|
"downloads.wfs.featuretype.not.found": "",
|
|
19470
19649
|
dropFile: dropFile$1,
|
|
19650
|
+
"editor.record.form.abstract": "",
|
|
19651
|
+
"editor.record.form.keywords": "",
|
|
19471
19652
|
"editor.record.form.license": "",
|
|
19472
19653
|
"editor.record.form.license.cc-by": "",
|
|
19473
19654
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -19478,12 +19659,15 @@ var nl = {
|
|
|
19478
19659
|
"editor.record.form.license.odc-by": "",
|
|
19479
19660
|
"editor.record.form.license.pddl": "",
|
|
19480
19661
|
"editor.record.form.license.unknown": "",
|
|
19662
|
+
"editor.record.form.metadata.title": "",
|
|
19663
|
+
"editor.record.form.record.updated": "",
|
|
19481
19664
|
"editor.record.form.resourceUpdated": "",
|
|
19482
19665
|
"editor.record.form.temporalExtents": "",
|
|
19483
19666
|
"editor.record.form.temporalExtents.addDate": "",
|
|
19484
19667
|
"editor.record.form.temporalExtents.addRange": "",
|
|
19485
19668
|
"editor.record.form.temporalExtents.date": "",
|
|
19486
19669
|
"editor.record.form.temporalExtents.range": "",
|
|
19670
|
+
"editor.record.form.unique.identifier": "",
|
|
19487
19671
|
"editor.record.form.updateFrequency": "",
|
|
19488
19672
|
"editor.record.form.updateFrequency.planned": "",
|
|
19489
19673
|
"editor.record.loadError.body": "",
|
|
@@ -19567,6 +19751,10 @@ var nl = {
|
|
|
19567
19751
|
"organisations.sortBy.nameDesc": "",
|
|
19568
19752
|
"organisations.sortBy.recordCountAsc": "",
|
|
19569
19753
|
"organisations.sortBy.recordCountDesc": "",
|
|
19754
|
+
"organization.details.lastPublishedDatasets": "",
|
|
19755
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
19756
|
+
"organization.details.mailContact": "",
|
|
19757
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
19570
19758
|
"pagination.nextPage": "",
|
|
19571
19759
|
"pagination.page": "",
|
|
19572
19760
|
"pagination.pageOf": "",
|
|
@@ -19604,7 +19792,7 @@ var nl = {
|
|
|
19604
19792
|
"record.metadata.preview": "",
|
|
19605
19793
|
"record.metadata.producer": "",
|
|
19606
19794
|
"record.metadata.publication": "",
|
|
19607
|
-
"record.metadata.publications": "",
|
|
19795
|
+
"record.metadata.publications": "{count, plural, =0{} one{} other{}}",
|
|
19608
19796
|
"record.metadata.quality": "",
|
|
19609
19797
|
"record.metadata.quality.contact.failed": "",
|
|
19610
19798
|
"record.metadata.quality.contact.success": "",
|
|
@@ -19664,6 +19852,8 @@ var nl = {
|
|
|
19664
19852
|
"results.sortBy.relevancy": "",
|
|
19665
19853
|
"search.autocomplete.error": "",
|
|
19666
19854
|
"search.error.couldNotReachApi": "",
|
|
19855
|
+
"search.error.organizationHasNoDataset": "",
|
|
19856
|
+
"search.error.organizationNotFound": "",
|
|
19667
19857
|
"search.error.receivedError": "",
|
|
19668
19858
|
"search.error.recordHasnolink": "",
|
|
19669
19859
|
"search.error.recordNotFound": "",
|
|
@@ -19691,9 +19881,11 @@ var nl = {
|
|
|
19691
19881
|
"search.filters.minimize": "",
|
|
19692
19882
|
"search.filters.myRecords": "",
|
|
19693
19883
|
"search.filters.myRecordsHelp": "",
|
|
19884
|
+
"search.filters.organization": "",
|
|
19694
19885
|
"search.filters.otherRecords": "",
|
|
19886
|
+
"search.filters.producerOrg": "",
|
|
19695
19887
|
"search.filters.publicationYear": "",
|
|
19696
|
-
"search.filters.
|
|
19888
|
+
"search.filters.publisherOrg": "",
|
|
19697
19889
|
"search.filters.representationType": "",
|
|
19698
19890
|
"search.filters.resourceType": "",
|
|
19699
19891
|
"search.filters.standard": "",
|
|
@@ -19724,9 +19916,10 @@ var next = "";
|
|
|
19724
19916
|
var previous = "";
|
|
19725
19917
|
var records = "";
|
|
19726
19918
|
var pt = {
|
|
19919
|
+
"Add Layer As": "",
|
|
19727
19920
|
"button.login": "",
|
|
19728
19921
|
"catalog.figures.datasets": "conjuntos de dados",
|
|
19729
|
-
"catalog.figures.
|
|
19922
|
+
"catalog.figures.organizations": "organizações",
|
|
19730
19923
|
"chart.aggregation.average": "média",
|
|
19731
19924
|
"chart.aggregation.count": "contagem",
|
|
19732
19925
|
"chart.aggregation.max": "máximo",
|
|
@@ -19742,16 +19935,22 @@ var pt = {
|
|
|
19742
19935
|
"chart.type.line": "gráfico de linha",
|
|
19743
19936
|
"chart.type.lineSmooth": "gráfico de linha suave",
|
|
19744
19937
|
"chart.type.pie": "gráfico de pizza",
|
|
19938
|
+
"dashboard.catalog.allRecords": "",
|
|
19939
|
+
"dashboard.catalog.calendar": "",
|
|
19940
|
+
"dashboard.catalog.contacts": "",
|
|
19941
|
+
"dashboard.catalog.discussion": "",
|
|
19942
|
+
"dashboard.catalog.thesaurus": "",
|
|
19745
19943
|
"dashboard.createRecord": "",
|
|
19944
|
+
"dashboard.labels.catalog": "Catálogo",
|
|
19746
19945
|
"dashboard.labels.mySpace": "Meu espaço",
|
|
19747
19946
|
"dashboard.records.all": "Catálogo",
|
|
19748
19947
|
"dashboard.records.hasDraft": "",
|
|
19749
19948
|
"dashboard.records.myDraft": "Meus rascunhos",
|
|
19750
19949
|
"dashboard.records.myLibrary": "Minha biblioteca",
|
|
19751
|
-
"dashboard.records.myOrg": "Organização",
|
|
19752
19950
|
"dashboard.records.myRecords": "Meus Registros",
|
|
19753
19951
|
"dashboard.records.publishedRecords": "",
|
|
19754
19952
|
"dashboard.records.search": "Buscar por \"{searchText}\"",
|
|
19953
|
+
"dashboard.records.templates": "",
|
|
19755
19954
|
"dashboard.records.userDetail": "",
|
|
19756
19955
|
"dashboard.records.userEmail": "",
|
|
19757
19956
|
"dashboard.records.username": "",
|
|
@@ -19767,6 +19966,8 @@ var pt = {
|
|
|
19767
19966
|
"datafeeder.datasetValidation.submitButton": "",
|
|
19768
19967
|
"datafeeder.datasetValidation.title": "",
|
|
19769
19968
|
"datafeeder.datasetValidation.unknown": "",
|
|
19969
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
19970
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
19770
19971
|
"datafeeder.form.abstract": "",
|
|
19771
19972
|
"datafeeder.form.datepicker": "",
|
|
19772
19973
|
"datafeeder.form.description": "",
|
|
@@ -19794,6 +19995,7 @@ var pt = {
|
|
|
19794
19995
|
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
19795
19996
|
"datafeeder.publishSuccess.illustration.title": "",
|
|
19796
19997
|
"datafeeder.publishSuccess.mapViewer": "",
|
|
19998
|
+
"datafeeder.publishSuccess.ogcFeature": "",
|
|
19797
19999
|
"datafeeder.publishSuccess.subtitle": "",
|
|
19798
20000
|
"datafeeder.publishSuccess.title": "",
|
|
19799
20001
|
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
@@ -19822,6 +20024,15 @@ var pt = {
|
|
|
19822
20024
|
"datafeeder.upload.maxFileSize": "",
|
|
19823
20025
|
"datafeeder.upload.title": "",
|
|
19824
20026
|
"datafeeder.upload.uploadButton": "",
|
|
20027
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
20028
|
+
"datafeeder.validation.csv.delimiter.comma": "",
|
|
20029
|
+
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
20030
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
20031
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
20032
|
+
"datafeeder.validation.csv.quote.double": "",
|
|
20033
|
+
"datafeeder.validation.csv.quote.none": "",
|
|
20034
|
+
"datafeeder.validation.csv.quote.simple": "",
|
|
20035
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
19825
20036
|
"datafeeder.validation.encoding": "",
|
|
19826
20037
|
"datafeeder.validation.extent.title": "",
|
|
19827
20038
|
"datafeeder.validation.extent.title.unknown": "",
|
|
@@ -19835,7 +20046,7 @@ var pt = {
|
|
|
19835
20046
|
"datahub.header.lastRecords": "",
|
|
19836
20047
|
"datahub.header.myfavorites": "",
|
|
19837
20048
|
"datahub.header.news": "",
|
|
19838
|
-
"datahub.header.
|
|
20049
|
+
"datahub.header.organizations": "",
|
|
19839
20050
|
"datahub.header.popularRecords": "",
|
|
19840
20051
|
"datahub.header.title.html": "",
|
|
19841
20052
|
"datahub.news.contact.contactus": "",
|
|
@@ -19871,6 +20082,8 @@ var pt = {
|
|
|
19871
20082
|
"downloads.format.unknown": "",
|
|
19872
20083
|
"downloads.wfs.featuretype.not.found": "",
|
|
19873
20084
|
dropFile: dropFile,
|
|
20085
|
+
"editor.record.form.abstract": "",
|
|
20086
|
+
"editor.record.form.keywords": "",
|
|
19874
20087
|
"editor.record.form.license": "",
|
|
19875
20088
|
"editor.record.form.license.cc-by": "",
|
|
19876
20089
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -19881,12 +20094,15 @@ var pt = {
|
|
|
19881
20094
|
"editor.record.form.license.odc-by": "",
|
|
19882
20095
|
"editor.record.form.license.pddl": "",
|
|
19883
20096
|
"editor.record.form.license.unknown": "",
|
|
20097
|
+
"editor.record.form.metadata.title": "",
|
|
20098
|
+
"editor.record.form.record.updated": "",
|
|
19884
20099
|
"editor.record.form.resourceUpdated": "",
|
|
19885
20100
|
"editor.record.form.temporalExtents": "",
|
|
19886
20101
|
"editor.record.form.temporalExtents.addDate": "",
|
|
19887
20102
|
"editor.record.form.temporalExtents.addRange": "",
|
|
19888
20103
|
"editor.record.form.temporalExtents.date": "",
|
|
19889
20104
|
"editor.record.form.temporalExtents.range": "",
|
|
20105
|
+
"editor.record.form.unique.identifier": "",
|
|
19890
20106
|
"editor.record.form.updateFrequency": "",
|
|
19891
20107
|
"editor.record.form.updateFrequency.planned": "",
|
|
19892
20108
|
"editor.record.loadError.body": "",
|
|
@@ -19970,6 +20186,10 @@ var pt = {
|
|
|
19970
20186
|
"organisations.sortBy.nameDesc": "",
|
|
19971
20187
|
"organisations.sortBy.recordCountAsc": "",
|
|
19972
20188
|
"organisations.sortBy.recordCountDesc": "",
|
|
20189
|
+
"organization.details.lastPublishedDatasets": "",
|
|
20190
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
20191
|
+
"organization.details.mailContact": "",
|
|
20192
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
19973
20193
|
"pagination.nextPage": "",
|
|
19974
20194
|
"pagination.page": "",
|
|
19975
20195
|
"pagination.pageOf": "",
|
|
@@ -20007,7 +20227,7 @@ var pt = {
|
|
|
20007
20227
|
"record.metadata.preview": "",
|
|
20008
20228
|
"record.metadata.producer": "",
|
|
20009
20229
|
"record.metadata.publication": "",
|
|
20010
|
-
"record.metadata.publications": "",
|
|
20230
|
+
"record.metadata.publications": "{count, plural, =0{} one{} other{}}",
|
|
20011
20231
|
"record.metadata.quality": "",
|
|
20012
20232
|
"record.metadata.quality.contact.failed": "",
|
|
20013
20233
|
"record.metadata.quality.contact.success": "",
|
|
@@ -20067,6 +20287,8 @@ var pt = {
|
|
|
20067
20287
|
"results.sortBy.relevancy": "",
|
|
20068
20288
|
"search.autocomplete.error": "",
|
|
20069
20289
|
"search.error.couldNotReachApi": "",
|
|
20290
|
+
"search.error.organizationHasNoDataset": "",
|
|
20291
|
+
"search.error.organizationNotFound": "",
|
|
20070
20292
|
"search.error.receivedError": "",
|
|
20071
20293
|
"search.error.recordHasnolink": "",
|
|
20072
20294
|
"search.error.recordNotFound": "",
|
|
@@ -20094,9 +20316,11 @@ var pt = {
|
|
|
20094
20316
|
"search.filters.minimize": "",
|
|
20095
20317
|
"search.filters.myRecords": "",
|
|
20096
20318
|
"search.filters.myRecordsHelp": "",
|
|
20319
|
+
"search.filters.organization": "",
|
|
20097
20320
|
"search.filters.otherRecords": "",
|
|
20321
|
+
"search.filters.producerOrg": "",
|
|
20098
20322
|
"search.filters.publicationYear": "",
|
|
20099
|
-
"search.filters.
|
|
20323
|
+
"search.filters.publisherOrg": "",
|
|
20100
20324
|
"search.filters.representationType": "",
|
|
20101
20325
|
"search.filters.resourceType": "",
|
|
20102
20326
|
"search.filters.standard": "",
|
|
@@ -21113,10 +21337,10 @@ class Gn4Repository {
|
|
|
21113
21337
|
saveRecord(record, referenceRecordSource) {
|
|
21114
21338
|
return this.serializeRecordToXml(record, referenceRecordSource).pipe(switchMap((recordXml) => this.gn4RecordsApi
|
|
21115
21339
|
.insert('METADATA', undefined, undefined, undefined, true, undefined, 'OVERWRITE', undefined, undefined, undefined, '_none_', undefined, undefined, undefined, recordXml)
|
|
21116
|
-
.pipe(map$1(() =>
|
|
21117
|
-
|
|
21118
|
-
|
|
21119
|
-
}));
|
|
21340
|
+
.pipe(map$1((response) => {
|
|
21341
|
+
const metadataId = Object.keys(response.metadataInfos)[0];
|
|
21342
|
+
return response.metadataInfos[metadataId][0].uuid;
|
|
21343
|
+
}))));
|
|
21120
21344
|
}
|
|
21121
21345
|
saveRecordAsDraft(record, referenceRecordSource) {
|
|
21122
21346
|
return this.serializeRecordToXml(record, referenceRecordSource).pipe(tap$1((recordXml) => window.localStorage.setItem(this.getLocalStorageKeyForRecord(record.uniqueIdentifier), recordXml)));
|
|
@@ -21127,6 +21351,15 @@ class Gn4Repository {
|
|
|
21127
21351
|
recordHasDraft(uniqueIdentifier) {
|
|
21128
21352
|
return (window.localStorage.getItem(this.getLocalStorageKeyForRecord(uniqueIdentifier)) !== null);
|
|
21129
21353
|
}
|
|
21354
|
+
// generated by copilot
|
|
21355
|
+
getAllDrafts() {
|
|
21356
|
+
const items = { ...window.localStorage };
|
|
21357
|
+
const drafts = Object.keys(items)
|
|
21358
|
+
.filter((key) => key.startsWith('geonetwork-ui-draft-'))
|
|
21359
|
+
.map((key) => window.localStorage.getItem(key))
|
|
21360
|
+
.filter((draft) => draft !== null);
|
|
21361
|
+
return from(Promise.all(drafts.map((draft) => findConverterForDocument(draft).readRecord(draft))));
|
|
21362
|
+
}
|
|
21130
21363
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4Repository, deps: [{ token: SearchApiService }, { token: ElasticsearchService }, { token: Gn4Converter }, { token: RecordsApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21131
21364
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4Repository }); }
|
|
21132
21365
|
}
|
|
@@ -21253,9 +21486,11 @@ class OrganizationsFromMetadataService {
|
|
|
21253
21486
|
return fullOrg;
|
|
21254
21487
|
return {
|
|
21255
21488
|
...fullOrg,
|
|
21489
|
+
email: emails[0],
|
|
21256
21490
|
...(group.description && { description: group.description }),
|
|
21257
21491
|
...(group.logo && { logoUrl: getAsUrl(`${IMAGE_URL$1}${group.logo}`) }),
|
|
21258
21492
|
...(group.website && { website: getAsUrl(group.website) }),
|
|
21493
|
+
...(group.email && { email: group.email }),
|
|
21259
21494
|
};
|
|
21260
21495
|
});
|
|
21261
21496
|
}
|
|
@@ -21356,6 +21591,7 @@ class OrganizationsFromGroupsService {
|
|
|
21356
21591
|
return {
|
|
21357
21592
|
name: group.label[lang3],
|
|
21358
21593
|
...(group.description && { description: group.description }),
|
|
21594
|
+
...(group.email && { email: group.email }),
|
|
21359
21595
|
...(group.logo && {
|
|
21360
21596
|
logoUrl: getAsUrl(`${IMAGE_URL}${group.logo}`),
|
|
21361
21597
|
}),
|
|
@@ -21620,7 +21856,7 @@ class Gn4PlatformMapper {
|
|
|
21620
21856
|
userFromApi(apiUser) {
|
|
21621
21857
|
if (!apiUser)
|
|
21622
21858
|
return null;
|
|
21623
|
-
const { enabled, emailAddresses,
|
|
21859
|
+
const { enabled, emailAddresses, organization, kind, lastLoginDate, accountNonExpired, accountNonLocked, id, credentialsNonExpired, ...user } = apiUser;
|
|
21624
21860
|
return { ...apiUser, id: id.toString() };
|
|
21625
21861
|
}
|
|
21626
21862
|
keywordsFromApi(keywords, thesaurus, lang3) {
|
|
@@ -21722,8 +21958,6 @@ class Gn4PlatformService {
|
|
|
21722
21958
|
this.allThesaurus$ = this.httpClient
|
|
21723
21959
|
.get(`${this.registriesApiService.configuration.basePath}/thesaurus?_content_type=json`)
|
|
21724
21960
|
.pipe(map$1((thesaurus) => {
|
|
21725
|
-
// FIXME: find a better way to exclude place keywords
|
|
21726
|
-
// thesaurus[0].filter((thes) => thes.dname !== 'place')
|
|
21727
21961
|
return thesaurus[0];
|
|
21728
21962
|
}), shareReplay(1));
|
|
21729
21963
|
this.me$ = this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
@@ -21767,8 +22001,14 @@ class Gn4PlatformService {
|
|
|
21767
22001
|
}
|
|
21768
22002
|
return this.keyTranslations$.pipe(map$1((translations) => translations[key]));
|
|
21769
22003
|
}
|
|
21770
|
-
searchKeywords(query) {
|
|
21771
|
-
const keywords$ = this.
|
|
22004
|
+
searchKeywords(query, keywordTypes) {
|
|
22005
|
+
const keywords$ = this.allThesaurus$.pipe(switchMap((thesaurus) => {
|
|
22006
|
+
const selectedThesauri = [];
|
|
22007
|
+
keywordTypes.map((keywordType) => {
|
|
22008
|
+
selectedThesauri.push(...thesaurus.filter((thes) => thes.dname === keywordType));
|
|
22009
|
+
});
|
|
22010
|
+
return this.registriesApiService.searchKeywords(query, this.langService.iso3, 10, 0, null, selectedThesauri.map((thes) => thes.key), null, `*${query}*`);
|
|
22011
|
+
}));
|
|
21772
22012
|
return combineLatest([keywords$, this.allThesaurus$]).pipe(map$1(([keywords, thesaurus]) => {
|
|
21773
22013
|
return this.mapper.keywordsFromApi(keywords, thesaurus, this.langService.iso3);
|
|
21774
22014
|
}));
|
|
@@ -24270,6 +24510,185 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
24270
24510
|
type: Input
|
|
24271
24511
|
}] } });
|
|
24272
24512
|
|
|
24513
|
+
class ColorScaleComponent {
|
|
24514
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorScaleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24515
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColorScaleComponent, selector: "gn-ui-color-scale", ngImport: i0, 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", styles: [""] }); }
|
|
24516
|
+
}
|
|
24517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorScaleComponent, decorators: [{
|
|
24518
|
+
type: Component,
|
|
24519
|
+
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" }]
|
|
24520
|
+
}] });
|
|
24521
|
+
|
|
24522
|
+
class ProgressBarComponent {
|
|
24523
|
+
constructor() {
|
|
24524
|
+
this.value = 0;
|
|
24525
|
+
this.type = 'default';
|
|
24526
|
+
}
|
|
24527
|
+
get progress() {
|
|
24528
|
+
return this.value > 0 ? (this.value < 100 ? this.value : 100) : 0;
|
|
24529
|
+
}
|
|
24530
|
+
get color() {
|
|
24531
|
+
switch (this.type) {
|
|
24532
|
+
case 'default':
|
|
24533
|
+
return {
|
|
24534
|
+
outerBar: 'bg-gray-200',
|
|
24535
|
+
innerBar: 'bg-gray-100',
|
|
24536
|
+
text: 'text-gray-900',
|
|
24537
|
+
};
|
|
24538
|
+
case 'primary':
|
|
24539
|
+
return {
|
|
24540
|
+
outerBar: 'bg-primary',
|
|
24541
|
+
innerBar: 'bg-primary-lighter',
|
|
24542
|
+
text: 'text-white',
|
|
24543
|
+
};
|
|
24544
|
+
case 'secondary':
|
|
24545
|
+
return {
|
|
24546
|
+
outerBar: 'bg-secondary',
|
|
24547
|
+
innerBar: 'bg-secondary-lighter',
|
|
24548
|
+
text: 'text-white',
|
|
24549
|
+
};
|
|
24550
|
+
}
|
|
24551
|
+
}
|
|
24552
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24553
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: { value: "value", type: "type" }, ngImport: i0, template: "<div class=\"flex h-full {{ color.outerBar }} rounded-t-lg rounded-b-lg\">\n <div\n [style.width.%]=\"progress\"\n class=\"flex {{\n color.innerBar\n }} my-1 mx-1 transition-width duration-500 ease-in-out rounded-t-md rounded-b-md shadow-xl\"\n >\n <div class=\"flex items-center pl-2 py-1 {{ color.text }} font-bold text-4\">\n {{ progress }}%\n </div>\n </div>\n</div>\n", styles: [".font-bold{font-weight:var(--progress-bar-font-weight, \"bold\")}\n"] }); }
|
|
24554
|
+
}
|
|
24555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
24556
|
+
type: Component,
|
|
24557
|
+
args: [{ selector: 'gn-ui-progress-bar', template: "<div class=\"flex h-full {{ color.outerBar }} rounded-t-lg rounded-b-lg\">\n <div\n [style.width.%]=\"progress\"\n class=\"flex {{\n color.innerBar\n }} my-1 mx-1 transition-width duration-500 ease-in-out rounded-t-md rounded-b-md shadow-xl\"\n >\n <div class=\"flex items-center pl-2 py-1 {{ color.text }} font-bold text-4\">\n {{ progress }}%\n </div>\n </div>\n</div>\n", styles: [".font-bold{font-weight:var(--progress-bar-font-weight, \"bold\")}\n"] }]
|
|
24558
|
+
}], propDecorators: { value: [{
|
|
24559
|
+
type: Input
|
|
24560
|
+
}], type: [{
|
|
24561
|
+
type: Input
|
|
24562
|
+
}] } });
|
|
24563
|
+
|
|
24564
|
+
class StepBarComponent {
|
|
24565
|
+
constructor(cdr) {
|
|
24566
|
+
this.cdr = cdr;
|
|
24567
|
+
this.currentStep = 1;
|
|
24568
|
+
this.type = 'default';
|
|
24569
|
+
}
|
|
24570
|
+
get stepCounter() {
|
|
24571
|
+
return new Array(this.steps);
|
|
24572
|
+
}
|
|
24573
|
+
get color() {
|
|
24574
|
+
switch (this.type) {
|
|
24575
|
+
case 'default':
|
|
24576
|
+
return {
|
|
24577
|
+
outerBar: 'bg-gray-200',
|
|
24578
|
+
innerBar: 'bg-gray-100',
|
|
24579
|
+
};
|
|
24580
|
+
case 'primary':
|
|
24581
|
+
return {
|
|
24582
|
+
outerBar: 'bg-primary',
|
|
24583
|
+
innerBar: 'bg-primary-lighter',
|
|
24584
|
+
};
|
|
24585
|
+
case 'secondary':
|
|
24586
|
+
return {
|
|
24587
|
+
outerBar: 'bg-secondary',
|
|
24588
|
+
innerBar: 'bg-secondary-lighter',
|
|
24589
|
+
};
|
|
24590
|
+
}
|
|
24591
|
+
}
|
|
24592
|
+
getCircleColor(index) {
|
|
24593
|
+
return index === this.currentStep
|
|
24594
|
+
? 'bg-black'
|
|
24595
|
+
: index < this.currentStep
|
|
24596
|
+
? 'bg-white'
|
|
24597
|
+
: this.color.innerBar;
|
|
24598
|
+
}
|
|
24599
|
+
getChecked(index) {
|
|
24600
|
+
return index + 1 < this.currentStep;
|
|
24601
|
+
}
|
|
24602
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepBarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24603
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
24604
|
+
}
|
|
24605
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepBarComponent, decorators: [{
|
|
24606
|
+
type: Component,
|
|
24607
|
+
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"] }]
|
|
24608
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { steps: [{
|
|
24609
|
+
type: Input
|
|
24610
|
+
}], currentStep: [{
|
|
24611
|
+
type: Input
|
|
24612
|
+
}], type: [{
|
|
24613
|
+
type: Input
|
|
24614
|
+
}] } });
|
|
24615
|
+
|
|
24616
|
+
class LoadingMaskComponent {
|
|
24617
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24618
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: { message: "message" }, ngImport: i0, template: "<div class=\"h-full flex flex-col justify-center items-center relative backdrop\">\n <div class=\"absolute background bg-white inset-0\"></div>\n <mat-spinner [diameter]=\"28\" class=\"relative\"></mat-spinner>\n <span class=\"text-sm text-gray-700 mt-3 relative\">{{ message }}</span>\n</div>\n", styles: ["::ng-deep .mat-spinner circle{stroke:var(--color-gray-700);opacity:.5}.backdrop{background-color:#fff6}@supports ((-webkit-backdrop-filter: blur()) or (backdrop-filter: blur())){.backdrop{background-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.background{opacity:.7}\n"], dependencies: [{ kind: "component", type: i1$4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24619
|
+
}
|
|
24620
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingMaskComponent, decorators: [{
|
|
24621
|
+
type: Component,
|
|
24622
|
+
args: [{ selector: 'gn-ui-loading-mask', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full flex flex-col justify-center items-center relative backdrop\">\n <div class=\"absolute background bg-white inset-0\"></div>\n <mat-spinner [diameter]=\"28\" class=\"relative\"></mat-spinner>\n <span class=\"text-sm text-gray-700 mt-3 relative\">{{ message }}</span>\n</div>\n", styles: ["::ng-deep .mat-spinner circle{stroke:var(--color-gray-700);opacity:.5}.backdrop{background-color:#fff6}@supports ((-webkit-backdrop-filter: blur()) or (backdrop-filter: blur())){.backdrop{background-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.background{opacity:.7}\n"] }]
|
|
24623
|
+
}], propDecorators: { message: [{
|
|
24624
|
+
type: Input
|
|
24625
|
+
}] } });
|
|
24626
|
+
|
|
24627
|
+
class SpinningLoaderComponent {
|
|
24628
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinningLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24629
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpinningLoaderComponent, selector: "gn-ui-spinning-loader", ngImport: i0, template: "<span>\n <svg\n class=\"animate-spin h-8 w-8 text-primary\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n</span>\n", styles: [""] }); }
|
|
24630
|
+
}
|
|
24631
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinningLoaderComponent, decorators: [{
|
|
24632
|
+
type: Component,
|
|
24633
|
+
args: [{ selector: 'gn-ui-spinning-loader', template: "<span>\n <svg\n class=\"animate-spin h-8 w-8 text-primary\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n</span>\n" }]
|
|
24634
|
+
}] });
|
|
24635
|
+
|
|
24636
|
+
class UiWidgetsModule {
|
|
24637
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
24638
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, declarations: [ColorScaleComponent,
|
|
24639
|
+
ProgressBarComponent,
|
|
24640
|
+
StepBarComponent,
|
|
24641
|
+
LoadingMaskComponent,
|
|
24642
|
+
SpinningLoaderComponent], imports: [CommonModule, i1$1.TranslateModule, NgxDropzoneModule,
|
|
24643
|
+
FormsModule,
|
|
24644
|
+
ReactiveFormsModule,
|
|
24645
|
+
TagInputModule,
|
|
24646
|
+
UtilSharedModule,
|
|
24647
|
+
MatProgressSpinnerModule,
|
|
24648
|
+
MatIconModule], exports: [ProgressBarComponent,
|
|
24649
|
+
StepBarComponent,
|
|
24650
|
+
LoadingMaskComponent,
|
|
24651
|
+
SpinningLoaderComponent] }); }
|
|
24652
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, imports: [CommonModule,
|
|
24653
|
+
TranslateModule.forChild(),
|
|
24654
|
+
NgxDropzoneModule,
|
|
24655
|
+
FormsModule,
|
|
24656
|
+
ReactiveFormsModule,
|
|
24657
|
+
TagInputModule,
|
|
24658
|
+
UtilSharedModule,
|
|
24659
|
+
MatProgressSpinnerModule,
|
|
24660
|
+
MatIconModule] }); }
|
|
24661
|
+
}
|
|
24662
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, decorators: [{
|
|
24663
|
+
type: NgModule,
|
|
24664
|
+
args: [{
|
|
24665
|
+
declarations: [
|
|
24666
|
+
ColorScaleComponent,
|
|
24667
|
+
ProgressBarComponent,
|
|
24668
|
+
StepBarComponent,
|
|
24669
|
+
LoadingMaskComponent,
|
|
24670
|
+
SpinningLoaderComponent,
|
|
24671
|
+
],
|
|
24672
|
+
imports: [
|
|
24673
|
+
CommonModule,
|
|
24674
|
+
TranslateModule.forChild(),
|
|
24675
|
+
NgxDropzoneModule,
|
|
24676
|
+
FormsModule,
|
|
24677
|
+
ReactiveFormsModule,
|
|
24678
|
+
TagInputModule,
|
|
24679
|
+
UtilSharedModule,
|
|
24680
|
+
MatProgressSpinnerModule,
|
|
24681
|
+
MatIconModule,
|
|
24682
|
+
],
|
|
24683
|
+
exports: [
|
|
24684
|
+
ProgressBarComponent,
|
|
24685
|
+
StepBarComponent,
|
|
24686
|
+
LoadingMaskComponent,
|
|
24687
|
+
SpinningLoaderComponent,
|
|
24688
|
+
],
|
|
24689
|
+
}]
|
|
24690
|
+
}] });
|
|
24691
|
+
|
|
24273
24692
|
class PopupAlertComponent {
|
|
24274
24693
|
constructor(changeDetector) {
|
|
24275
24694
|
this.changeDetector = changeDetector;
|
|
@@ -24300,11 +24719,11 @@ class PopupAlertComponent {
|
|
|
24300
24719
|
}, this.showDuration);
|
|
24301
24720
|
}
|
|
24302
24721
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupAlertComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24303
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: { icon: "icon", type: "type", position: "position" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"h-full relative container\">\n <div\n class=\"pointer-events-auto absolute text-white flex flex-row p-2 rounded message\"\n role=\"alert\"\n [ngClass]=\"{\n 'position-bottom': position === 'bottom',\n 'position-top': position === 'top',\n expanded: this.expanded,\n 'bg-red-500': type === 'danger',\n 'bg-yellow-500': type === 'warning',\n 'bg-blue-500': type === 'info'\n }\"\n (mouseenter)=\"expand()\"\n (mouseleave)=\"expandAndClose()\"\n >\n <mat-icon class=\"material-symbols-outlined mr-2 shrink-0 select-none\">{{\n icon\n }}</mat-icon>\n <div class=\"grow\" #content [ngClass]=\"{ invisible: !expanded }\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{pointer-events:none}.container{filter:drop-shadow(0px 4px 3px rgba(0,0,0,.2))}.message{transition:clip-path .3s cubic-bezier(.25,.46,.45,.94)}.message.expanded{clip-path:circle(100%)}.position-top{clip-path:circle(19px at 20px 20px);align-items:start;top:0;left:0}.position-bottom{clip-path:circle(19px at 20px calc(100% - 20px));align-items:end;bottom:0;left:0}.container ::ng-deep a{text-decoration:underline;font-weight:700}.container ::ng-deep a:hover{opacity:.85}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24722
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopupAlertComponent, isStandalone: true, selector: "gn-ui-popup-alert", inputs: { icon: "icon", type: "type", position: "position" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"h-full relative container\">\n <div\n class=\"pointer-events-auto absolute text-white flex flex-row p-2 rounded message\"\n role=\"alert\"\n [ngClass]=\"{\n 'position-bottom': position === 'bottom',\n 'position-top': position === 'top',\n expanded: this.expanded,\n 'bg-red-500': type === 'danger',\n 'bg-yellow-500': type === 'warning',\n 'bg-blue-500': type === 'info'\n }\"\n (mouseenter)=\"expand()\"\n (mouseleave)=\"expandAndClose()\"\n >\n <mat-icon class=\"material-symbols-outlined mr-2 shrink-0 select-none\">{{\n icon\n }}</mat-icon>\n <div class=\"grow\" #content [ngClass]=\"{ invisible: !expanded }\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{pointer-events:none}.container{filter:drop-shadow(0px 4px 3px rgba(0,0,0,.2))}.message{transition:clip-path .3s cubic-bezier(.25,.46,.45,.94)}.message.expanded{clip-path:circle(100%)}.position-top{clip-path:circle(19px at 20px 20px);align-items:start;top:0;left:0}.position-bottom{clip-path:circle(19px at 20px calc(100% - 20px));align-items:end;bottom:0;left:0}.container ::ng-deep a{text-decoration:underline;font-weight:700}.container ::ng-deep a:hover{opacity:.85}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24304
24723
|
}
|
|
24305
24724
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupAlertComponent, decorators: [{
|
|
24306
24725
|
type: Component,
|
|
24307
|
-
args: [{ selector: 'gn-ui-popup-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full relative container\">\n <div\n class=\"pointer-events-auto absolute text-white flex flex-row p-2 rounded message\"\n role=\"alert\"\n [ngClass]=\"{\n 'position-bottom': position === 'bottom',\n 'position-top': position === 'top',\n expanded: this.expanded,\n 'bg-red-500': type === 'danger',\n 'bg-yellow-500': type === 'warning',\n 'bg-blue-500': type === 'info'\n }\"\n (mouseenter)=\"expand()\"\n (mouseleave)=\"expandAndClose()\"\n >\n <mat-icon class=\"material-symbols-outlined mr-2 shrink-0 select-none\">{{\n icon\n }}</mat-icon>\n <div class=\"grow\" #content [ngClass]=\"{ invisible: !expanded }\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{pointer-events:none}.container{filter:drop-shadow(0px 4px 3px rgba(0,0,0,.2))}.message{transition:clip-path .3s cubic-bezier(.25,.46,.45,.94)}.message.expanded{clip-path:circle(100%)}.position-top{clip-path:circle(19px at 20px 20px);align-items:start;top:0;left:0}.position-bottom{clip-path:circle(19px at 20px calc(100% - 20px));align-items:end;bottom:0;left:0}.container ::ng-deep a{text-decoration:underline;font-weight:700}.container ::ng-deep a:hover{opacity:.85}\n"] }]
|
|
24726
|
+
args: [{ selector: 'gn-ui-popup-alert', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, MatIconModule], template: "<div class=\"h-full relative container\">\n <div\n class=\"pointer-events-auto absolute text-white flex flex-row p-2 rounded message\"\n role=\"alert\"\n [ngClass]=\"{\n 'position-bottom': position === 'bottom',\n 'position-top': position === 'top',\n expanded: this.expanded,\n 'bg-red-500': type === 'danger',\n 'bg-yellow-500': type === 'warning',\n 'bg-blue-500': type === 'info'\n }\"\n (mouseenter)=\"expand()\"\n (mouseleave)=\"expandAndClose()\"\n >\n <mat-icon class=\"material-symbols-outlined mr-2 shrink-0 select-none\">{{\n icon\n }}</mat-icon>\n <div class=\"grow\" #content [ngClass]=\"{ invisible: !expanded }\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{pointer-events:none}.container{filter:drop-shadow(0px 4px 3px rgba(0,0,0,.2))}.message{transition:clip-path .3s cubic-bezier(.25,.46,.45,.94)}.message.expanded{clip-path:circle(100%)}.position-top{clip-path:circle(19px at 20px 20px);align-items:start;top:0;left:0}.position-bottom{clip-path:circle(19px at 20px calc(100% - 20px));align-items:end;bottom:0;left:0}.container ::ng-deep a{text-decoration:underline;font-weight:700}.container ::ng-deep a:hover{opacity:.85}\n"] }]
|
|
24308
24727
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { icon: [{
|
|
24309
24728
|
type: Input
|
|
24310
24729
|
}], type: [{
|
|
@@ -24321,37 +24740,59 @@ class AutocompleteComponent {
|
|
|
24321
24740
|
this.cdRef = cdRef;
|
|
24322
24741
|
this.clearOnSelection = false;
|
|
24323
24742
|
this.autoFocus = false;
|
|
24743
|
+
this.minCharacterCount = 3;
|
|
24744
|
+
this.allowSubmit = true;
|
|
24324
24745
|
this.itemSelected = new EventEmitter();
|
|
24325
24746
|
this.inputSubmitted = new EventEmitter();
|
|
24326
24747
|
this.inputCleared = new EventEmitter();
|
|
24327
24748
|
this.control = new UntypedFormControl();
|
|
24328
|
-
this.subscription = new Subscription();
|
|
24329
24749
|
this.cancelEnter = true;
|
|
24330
24750
|
this.selectionSubject = new ReplaySubject(1);
|
|
24331
24751
|
this.lastInputValue$ = new ReplaySubject(1);
|
|
24332
24752
|
this.error = null;
|
|
24333
|
-
this.
|
|
24753
|
+
this.subscription = new Subscription();
|
|
24754
|
+
this.displayWithFn = (item) => item.toString();
|
|
24755
|
+
this.displayWithFnInternal = (item) => {
|
|
24756
|
+
if (item === null || item === undefined)
|
|
24757
|
+
return null;
|
|
24758
|
+
return this.displayWithFn(item);
|
|
24759
|
+
};
|
|
24334
24760
|
}
|
|
24335
24761
|
ngOnChanges(changes) {
|
|
24336
24762
|
const { value } = changes;
|
|
24337
24763
|
if (value) {
|
|
24338
|
-
const previousTextValue = this.
|
|
24339
|
-
const currentTextValue = this.
|
|
24764
|
+
const previousTextValue = this.displayWithFnInternal(value.previousValue);
|
|
24765
|
+
const currentTextValue = this.displayWithFnInternal(value.currentValue);
|
|
24340
24766
|
if (previousTextValue !== currentTextValue) {
|
|
24341
24767
|
this.updateInputValue(value.currentValue);
|
|
24342
24768
|
}
|
|
24343
24769
|
}
|
|
24344
24770
|
}
|
|
24345
24771
|
ngOnInit() {
|
|
24346
|
-
|
|
24772
|
+
const newValue$ = merge(of(''), this.inputCleared.pipe(map$1(() => '')), this.control.valueChanges.pipe(filter((value) => typeof value === 'string'), distinctUntilChanged(), debounceTime(400)));
|
|
24773
|
+
const externalValueChange$ = this.control.valueChanges.pipe(filter((value) => typeof value === 'object' && value.title), map$1((item) => item.title));
|
|
24774
|
+
// this observable emits arrays of suggestions loaded using the given action
|
|
24775
|
+
const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap$1(() => {
|
|
24776
|
+
this.searching = true;
|
|
24777
|
+
this.error = null;
|
|
24778
|
+
}), switchMap$1((value) => this.action(value)), catchError((error) => {
|
|
24347
24779
|
this.error = error.message;
|
|
24348
24780
|
return of([]);
|
|
24349
24781
|
}), finalize(() => (this.searching = false)));
|
|
24350
|
-
this.
|
|
24782
|
+
this.suggestions$ = merge(suggestionsFromAction,
|
|
24783
|
+
// if a new value is under the min char count, clear suggestions
|
|
24784
|
+
newValue$.pipe(filter((value) => value.length < this.minCharacterCount), map$1(() => [])));
|
|
24785
|
+
// close the panel whenever suggestions are cleared
|
|
24786
|
+
this.subscription.add(this.suggestions$
|
|
24787
|
+
.pipe(filter((suggestions) => suggestions.length === 0))
|
|
24788
|
+
.subscribe(() => {
|
|
24789
|
+
this.triggerRef?.closePanel();
|
|
24790
|
+
}));
|
|
24791
|
+
this.subscription.add(this.control.valueChanges.subscribe((any) => {
|
|
24351
24792
|
if (any !== '') {
|
|
24352
24793
|
this.cancelEnter = false;
|
|
24353
24794
|
}
|
|
24354
|
-
});
|
|
24795
|
+
}));
|
|
24355
24796
|
this.control.valueChanges
|
|
24356
24797
|
.pipe(filter((value) => typeof value === 'string'))
|
|
24357
24798
|
.subscribe(this.lastInputValue$);
|
|
@@ -24364,7 +24805,7 @@ class AutocompleteComponent {
|
|
|
24364
24805
|
}
|
|
24365
24806
|
}
|
|
24366
24807
|
ngOnDestroy() {
|
|
24367
|
-
this.subscription
|
|
24808
|
+
this.subscription?.unsubscribe();
|
|
24368
24809
|
}
|
|
24369
24810
|
updateInputValue(value) {
|
|
24370
24811
|
if (value) {
|
|
@@ -24381,17 +24822,14 @@ class AutocompleteComponent {
|
|
|
24381
24822
|
.pipe(take(1))
|
|
24382
24823
|
.subscribe((selection) => selection && selection.option.deselect());
|
|
24383
24824
|
this.inputRef.nativeElement.focus();
|
|
24384
|
-
this.triggerRef.closePanel();
|
|
24385
24825
|
}
|
|
24386
24826
|
handleEnter(any) {
|
|
24387
|
-
if (!this.cancelEnter) {
|
|
24827
|
+
if (!this.cancelEnter && this.allowSubmit) {
|
|
24388
24828
|
this.inputSubmitted.emit(any);
|
|
24389
|
-
this.triggerRef.closePanel();
|
|
24390
24829
|
}
|
|
24391
24830
|
}
|
|
24392
24831
|
handleClickSearch() {
|
|
24393
24832
|
this.inputSubmitted.emit(this.inputRef.nativeElement.value);
|
|
24394
|
-
this.triggerRef.closePanel();
|
|
24395
24833
|
}
|
|
24396
24834
|
handleSelection(event) {
|
|
24397
24835
|
this.cancelEnter = true;
|
|
@@ -24403,11 +24841,18 @@ class AutocompleteComponent {
|
|
|
24403
24841
|
}
|
|
24404
24842
|
}
|
|
24405
24843
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24406
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: { placeholder: "placeholder", action: "action", value: "value", clearOnSelection: "clearOnSelection", autoFocus: "autoFocus", displayWithFn: "displayWithFn" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted", inputCleared: "inputCleared" }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "autocomplete", first: true, predicate: MatAutocomplete, descendants: true }, { propertyName: "inputRef", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"relative\">\n <input\n #searchInput\n type=\"text\"\n class=\"appearance-none focus:outline-white focus:outline-2 focus:outline-dotted focus:outline-offset-2 leading-tight rounded w-full text-black shadow-xl focus:shadow-[0_0_24px_0_rgba(21,40,184,0.09)]\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"handleEnter(searchInput.value)\"\n />\n <button\n
|
|
24844
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AutocompleteComponent, isStandalone: true, selector: "gn-ui-autocomplete", inputs: { placeholder: "placeholder", action: "action", value: "value", clearOnSelection: "clearOnSelection", autoFocus: "autoFocus", minCharacterCount: "minCharacterCount", allowSubmit: "allowSubmit", displayWithFn: "displayWithFn" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted", inputCleared: "inputCleared" }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "autocomplete", first: true, predicate: MatAutocomplete, descendants: true }, { propertyName: "inputRef", first: true, predicate: ["searchInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"relative\">\n <input\n #searchInput\n type=\"text\"\n class=\"appearance-none focus:outline-white focus:outline-2 focus:outline-dotted focus:outline-offset-2 leading-tight rounded w-full text-black shadow-xl focus:shadow-[0_0_24px_0_rgba(21,40,184,0.09)]\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"handleEnter(searchInput.value)\"\n />\n <div class=\"flex flex-row absolute inset-y-0 right-0\">\n <button\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary hover:bg-gray-50 transition-all duration-100 clear-btn\"\n *ngIf=\"searchInput.value\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined\">close</mat-icon>\n </button>\n <button\n type=\"button\"\n class=\"text-primary bg-white hover:text-primary-darkest hover:bg-gray-100 border-gray-300 hover:border-gray-500 transition-all duration-100 search-btn rounded-r\"\n aria-label=\"Trigger search\"\n *ngIf=\"allowSubmit\"\n data-test=\"autocomplete-submit-btn\"\n (click)=\"handleClickSearch()\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </button>\n </div>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n class=\"absolute mt-2 w-full top-[100%] left-0\"\n icon=\"error_outline\"\n position=\"top\"\n type=\"warning\"\n >\n <span translate>search.autocomplete.error</span>\n {{ error }}\n </gn-ui-popup-alert>\n</div>\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"handleSelection($event)\"\n [displayWith]=\"displayWithFnInternal\"\n>\n <mat-option\n *ngFor=\"let suggestion of suggestions$ | async\"\n [value]=\"suggestion\"\n class=\"p-2 suggestion\"\n >\n {{ displayWithFnInternal(suggestion) }}\n </mat-option>\n</mat-autocomplete>\n", styles: [":host{--input-height: 3.5em}.clear-btn{width:var(--input-height);height:100%}.search-btn{width:var(--input-height);height:100%;border-left-width:.1em}mat-icon{width:100%;height:100%;padding:.65em;font-size:1.5em}input{height:var(--input-height);padding:1.05em;padding-right:calc(2 * var(--input-height))}input:placeholder-shown{text-overflow:ellipsis}.mat-mdc-option.suggestion.mat-mdc-option-active{background-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i2$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24407
24845
|
}
|
|
24408
24846
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
24409
24847
|
type: Component,
|
|
24410
|
-
args: [{ selector: 'gn-ui-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
24848
|
+
args: [{ selector: 'gn-ui-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
24849
|
+
MatIconModule,
|
|
24850
|
+
PopupAlertComponent,
|
|
24851
|
+
MatAutocompleteModule,
|
|
24852
|
+
CommonModule,
|
|
24853
|
+
TranslateModule,
|
|
24854
|
+
ReactiveFormsModule,
|
|
24855
|
+
], template: "<div class=\"relative\">\n <input\n #searchInput\n type=\"text\"\n class=\"appearance-none focus:outline-white focus:outline-2 focus:outline-dotted focus:outline-offset-2 leading-tight rounded w-full text-black shadow-xl focus:shadow-[0_0_24px_0_rgba(21,40,184,0.09)]\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"handleEnter(searchInput.value)\"\n />\n <div class=\"flex flex-row absolute inset-y-0 right-0\">\n <button\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary hover:bg-gray-50 transition-all duration-100 clear-btn\"\n *ngIf=\"searchInput.value\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <mat-icon class=\"material-symbols-outlined\">close</mat-icon>\n </button>\n <button\n type=\"button\"\n class=\"text-primary bg-white hover:text-primary-darkest hover:bg-gray-100 border-gray-300 hover:border-gray-500 transition-all duration-100 search-btn rounded-r\"\n aria-label=\"Trigger search\"\n *ngIf=\"allowSubmit\"\n data-test=\"autocomplete-submit-btn\"\n (click)=\"handleClickSearch()\"\n >\n <mat-icon class=\"material-symbols-outlined\">search</mat-icon>\n </button>\n </div>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n class=\"absolute mt-2 w-full top-[100%] left-0\"\n icon=\"error_outline\"\n position=\"top\"\n type=\"warning\"\n >\n <span translate>search.autocomplete.error</span>\n {{ error }}\n </gn-ui-popup-alert>\n</div>\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"handleSelection($event)\"\n [displayWith]=\"displayWithFnInternal\"\n>\n <mat-option\n *ngFor=\"let suggestion of suggestions$ | async\"\n [value]=\"suggestion\"\n class=\"p-2 suggestion\"\n >\n {{ displayWithFnInternal(suggestion) }}\n </mat-option>\n</mat-autocomplete>\n", styles: [":host{--input-height: 3.5em}.clear-btn{width:var(--input-height);height:100%}.search-btn{width:var(--input-height);height:100%;border-left-width:.1em}mat-icon{width:100%;height:100%;padding:.65em;font-size:1.5em}input{height:var(--input-height);padding:1.05em;padding-right:calc(2 * var(--input-height))}input:placeholder-shown{text-overflow:ellipsis}.mat-mdc-option.suggestion.mat-mdc-option-active{background-color:var(--color-primary-lightest)}\n"] }]
|
|
24411
24856
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
|
|
24412
24857
|
type: Input
|
|
24413
24858
|
}], action: [{
|
|
@@ -24418,6 +24863,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
24418
24863
|
type: Input
|
|
24419
24864
|
}], autoFocus: [{
|
|
24420
24865
|
type: Input
|
|
24866
|
+
}], minCharacterCount: [{
|
|
24867
|
+
type: Input
|
|
24868
|
+
}], allowSubmit: [{
|
|
24869
|
+
type: Input
|
|
24421
24870
|
}], itemSelected: [{
|
|
24422
24871
|
type: Output
|
|
24423
24872
|
}], inputSubmitted: [{
|
|
@@ -24520,7 +24969,7 @@ class CheckToggleComponent {
|
|
|
24520
24969
|
this.toggled.emit(event);
|
|
24521
24970
|
}
|
|
24522
24971
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24523
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckToggleComponent, isStandalone: true, selector: "gn-ui-check-toggle", inputs: { title: "title", label: "label", value: "value", color: "color" }, outputs: { toggled: "toggled" }, ngImport: i0, template: "<label class=\"inline-flex relative items-start cursor-pointer\" [title]=\"title\">\n <span class=\"shrink-0\">\n <input\n type=\"checkbox\"\n class=\"sr-only peer\"\n [ngModel]=\"value\"\n (ngModelChange)=\"toggle($event)\"\n />\n <div\n class=\"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-2 rounded-full peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all\"\n [class]=\"\n color === 'secondary'\n ? 'peer-focus:ring-secondary-lighter peer-checked:bg-secondary'\n : 'peer-focus:ring-primary-lighter peer-checked:bg-primary'\n \"\n ></div>\n </span>\n <span class=\"ml-3 mt-[2px] text-sm font-medium\">{{ label }}</span>\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$
|
|
24972
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckToggleComponent, isStandalone: true, selector: "gn-ui-check-toggle", inputs: { title: "title", label: "label", value: "value", color: "color" }, outputs: { toggled: "toggled" }, ngImport: i0, template: "<label class=\"inline-flex relative items-start cursor-pointer\" [title]=\"title\">\n <span class=\"shrink-0\">\n <input\n type=\"checkbox\"\n class=\"sr-only peer\"\n [ngModel]=\"value\"\n (ngModelChange)=\"toggle($event)\"\n />\n <div\n class=\"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-2 rounded-full peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all\"\n [class]=\"\n color === 'secondary'\n ? 'peer-focus:ring-secondary-lighter peer-checked:bg-secondary'\n : 'peer-focus:ring-primary-lighter peer-checked:bg-primary'\n \"\n ></div>\n </span>\n <span class=\"ml-3 mt-[2px] text-sm font-medium\">{{ label }}</span>\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24524
24973
|
}
|
|
24525
24974
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckToggleComponent, decorators: [{
|
|
24526
24975
|
type: Component,
|
|
@@ -24553,7 +25002,7 @@ class CheckboxComponent {
|
|
|
24553
25002
|
this.changed.emit(this.checked);
|
|
24554
25003
|
}
|
|
24555
25004
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24556
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: { type: "type", checked: "checked", indeterminate: "indeterminate" }, outputs: { changed: "changed" }, ngImport: i0, template: "<mat-checkbox\n class=\"cursor-pointer\"\n [class]=\"classList\"\n [checked]=\"checked\"\n [indeterminate]=\"indeterminate\"\n (click)=\"handleClick($event)\"\n></mat-checkbox>\n", styles: [".default{--gn-ui-checkbox-color: var(--color-main)}.secondary{--gn-ui-checkbox-color: var(--color-secondary)}.primary{--gn-ui-checkbox-color: var(--color-primary)}mat-checkbox{--mdc-checkbox-selected-focus-icon-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-hover-icon-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-icon-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-pressed-icon-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-focus-state-layer-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-hover-state-layer-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-pressed-state-layer-color: var( --gn-ui-checkbox-color )}\n"], dependencies: [{ kind: "component", type: i1$
|
|
25005
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: { type: "type", checked: "checked", indeterminate: "indeterminate" }, outputs: { changed: "changed" }, ngImport: i0, template: "<mat-checkbox\n class=\"cursor-pointer\"\n [class]=\"classList\"\n [checked]=\"checked\"\n [indeterminate]=\"indeterminate\"\n (click)=\"handleClick($event)\"\n></mat-checkbox>\n", styles: [".default{--gn-ui-checkbox-color: var(--color-main)}.secondary{--gn-ui-checkbox-color: var(--color-secondary)}.primary{--gn-ui-checkbox-color: var(--color-primary)}mat-checkbox{--mdc-checkbox-selected-focus-icon-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-hover-icon-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-icon-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-pressed-icon-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-focus-state-layer-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-hover-state-layer-color: var(--gn-ui-checkbox-color);--mdc-checkbox-selected-pressed-state-layer-color: var( --gn-ui-checkbox-color )}\n"], dependencies: [{ kind: "component", type: i1$5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24557
25006
|
}
|
|
24558
25007
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
24559
25008
|
type: Component,
|
|
@@ -24613,7 +25062,7 @@ class ChipsInputComponent {
|
|
|
24613
25062
|
this.subscription.unsubscribe();
|
|
24614
25063
|
}
|
|
24615
25064
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipsInputComponent, deps: [{ token: i1.HttpClient }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24616
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$
|
|
25065
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.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"] }] }); }
|
|
24617
25066
|
}
|
|
24618
25067
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipsInputComponent, decorators: [{
|
|
24619
25068
|
type: Component,
|
|
@@ -24644,7 +25093,7 @@ class CopyTextButtonComponent {
|
|
|
24644
25093
|
event.target.blur();
|
|
24645
25094
|
}
|
|
24646
25095
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CopyTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24647
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: { text: "text", tooltipText: "tooltipText", displayText: "displayText", rows: "rows" }, ngImport: i0, template: "<div class=\"flex\">\n <input\n *ngIf=\"displayText && rows <= 1\"\n type=\"text\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 truncate\"\n value=\"{{ text }}\"\n readonly\n />\n <textarea\n *ngIf=\"displayText && rows > 1\"\n [rows]=\"rows\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 overflow-y-auto h-max\"\n readonly\n >{{ text }}</textarea\n >\n <button\n type=\"button\"\n (click)=\"copyText($event)\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText\n }\"\n mat-raised-button\n [matTooltip]=\"tooltipText\"\n matTooltipPosition=\"above\"\n >\n <mat-icon\n class=\"material-symbols-outlined pointer-events-none align-middle card-icon\"\n >content_copy</mat-icon\n >\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$
|
|
25096
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: { text: "text", tooltipText: "tooltipText", displayText: "displayText", rows: "rows" }, ngImport: i0, template: "<div class=\"flex\">\n <input\n *ngIf=\"displayText && rows <= 1\"\n type=\"text\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 truncate\"\n value=\"{{ text }}\"\n readonly\n />\n <textarea\n *ngIf=\"displayText && rows > 1\"\n [rows]=\"rows\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 overflow-y-auto h-max\"\n readonly\n >{{ text }}</textarea\n >\n <button\n type=\"button\"\n (click)=\"copyText($event)\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText\n }\"\n mat-raised-button\n [matTooltip]=\"tooltipText\"\n matTooltipPosition=\"above\"\n >\n <mat-icon\n class=\"material-symbols-outlined pointer-events-none align-middle card-icon\"\n >content_copy</mat-icon\n >\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24648
25097
|
}
|
|
24649
25098
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CopyTextButtonComponent, decorators: [{
|
|
24650
25099
|
type: Component,
|
|
@@ -24664,7 +25113,7 @@ class DatePickerComponent {
|
|
|
24664
25113
|
this.dateChange = new EventEmitter();
|
|
24665
25114
|
}
|
|
24666
25115
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24667
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, isStandalone: true, selector: "gn-ui-date-picker", inputs: { date: "date" }, outputs: { dateChange: "dateChange" }, ngImport: i0, template: "<div\n class=\"flex items-center justify-between rounded-lg border border-gray-300 bg-white\"\n>\n <input\n class=\"pl-3\"\n [matDatepicker]=\"picker\"\n [value]=\"date\"\n (dateChange)=\"dateChange.emit($event.value)\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n</div>\n<mat-datepicker #picker></mat-datepicker>\n", styles: ["mat-datepicker-toggle{@apply text-primary;}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2$
|
|
25116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, isStandalone: true, selector: "gn-ui-date-picker", inputs: { date: "date" }, outputs: { dateChange: "dateChange" }, ngImport: i0, template: "<div\n class=\"flex items-center justify-between rounded-lg border border-gray-300 bg-white\"\n>\n <input\n class=\"pl-3\"\n [matDatepicker]=\"picker\"\n [value]=\"date\"\n (dateChange)=\"dateChange.emit($event.value)\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n</div>\n<mat-datepicker #picker></mat-datepicker>\n", styles: ["mat-datepicker-toggle{@apply text-primary;}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24668
25117
|
}
|
|
24669
25118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
24670
25119
|
type: Component,
|
|
@@ -24681,7 +25130,7 @@ class DateRangePickerComponent {
|
|
|
24681
25130
|
this.endDateChange = new EventEmitter();
|
|
24682
25131
|
}
|
|
24683
25132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24684
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateRangePickerComponent, isStandalone: true, selector: "gn-ui-date-range-picker", inputs: { startDate: "startDate", endDate: "endDate" }, outputs: { startDateChange: "startDateChange", endDateChange: "endDateChange" }, ngImport: i0, template: "<div\n class=\"flex items-center justify-between rounded-lg border border-gray-300 bg-white\"\n>\n <div class=\"pl-3 flex justify-center\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"w-full\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n </div>\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <mat-icon>calendar_today</mat-icon>\n </mat-datepicker-toggle>\n</div>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: ["mat-datepicker-toggle{@apply text-primary;}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2$
|
|
25133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateRangePickerComponent, isStandalone: true, selector: "gn-ui-date-range-picker", inputs: { startDate: "startDate", endDate: "endDate" }, outputs: { startDateChange: "startDateChange", endDateChange: "endDateChange" }, ngImport: i0, template: "<div\n class=\"flex items-center justify-between rounded-lg border border-gray-300 bg-white\"\n>\n <div class=\"pl-3 flex justify-center\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"w-full\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n </div>\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <mat-icon>calendar_today</mat-icon>\n </mat-datepicker-toggle>\n</div>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: ["mat-datepicker-toggle{@apply text-primary;}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i2$4.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2$4.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2$4.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2$4.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24685
25134
|
}
|
|
24686
25135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
24687
25136
|
type: Component,
|
|
@@ -24713,7 +25162,7 @@ class DragAndDropFileInputComponent {
|
|
|
24713
25162
|
this.fileChange.emit(this.selectedFile);
|
|
24714
25163
|
}
|
|
24715
25164
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DragAndDropFileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24716
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DragAndDropFileInputComponent, selector: "gn-ui-drag-and-drop-file-input", inputs: { placeholder: "placeholder", accept: "accept" }, outputs: { fileChange: "fileChange" }, ngImport: i0, template: "<div class=\"flex h-full\">\n <ngx-dropzone\n class=\"flex-1\"\n multiple=\"false\"\n (change)=\"selectFile($event)\"\n [accept]=\"accept\"\n >\n <div *ngIf=\"!fileName\" class=\"text-gray-900 pl-2 py-2\" translate=\"\">\n {{ placeholder }}\n </div>\n\n <div *ngIf=\"fileName\" class=\"text-gray-900 pl-2 py-2\">{{ fileName }}</div>\n </ngx-dropzone>\n</div>\n", styles: ["ngx-dropzone{height:auto;border:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.NgxDropzoneComponent, selector: "ngx-dropzone, [ngx-dropzone]", inputs: ["accept", "disabled", "multiple", "maxFileSize", "expandable", "disableClick", "processDirectoryDrop", "id", "aria-label", "aria-labelledby", "aria-describedby"], outputs: ["change"] }] }); }
|
|
25165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DragAndDropFileInputComponent, selector: "gn-ui-drag-and-drop-file-input", inputs: { placeholder: "placeholder", accept: "accept" }, outputs: { fileChange: "fileChange" }, ngImport: i0, template: "<div class=\"flex h-full\">\n <ngx-dropzone\n class=\"flex-1\"\n multiple=\"false\"\n (change)=\"selectFile($event)\"\n [accept]=\"accept\"\n >\n <div *ngIf=\"!fileName\" class=\"text-gray-900 pl-2 py-2\" translate=\"\">\n {{ placeholder }}\n </div>\n\n <div *ngIf=\"fileName\" class=\"text-gray-900 pl-2 py-2\">{{ fileName }}</div>\n </ngx-dropzone>\n</div>\n", styles: ["ngx-dropzone{height:auto;border:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3$1.NgxDropzoneComponent, selector: "ngx-dropzone, [ngx-dropzone]", inputs: ["accept", "disabled", "multiple", "maxFileSize", "expandable", "disableClick", "processDirectoryDrop", "id", "aria-label", "aria-labelledby", "aria-describedby"], outputs: ["change"] }] }); }
|
|
24717
25166
|
}
|
|
24718
25167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DragAndDropFileInputComponent, decorators: [{
|
|
24719
25168
|
type: Component,
|
|
@@ -24871,13 +25320,13 @@ class DropdownMultiselectComponent {
|
|
|
24871
25320
|
propagateToDocumentOnly(event);
|
|
24872
25321
|
this.setFocus();
|
|
24873
25322
|
}
|
|
24874
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownMultiselectComponent, deps: [{ token: i1$
|
|
24875
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: { title: "title", choices: "choices", selected: "selected", allowSearch: "allowSearch", maxRows: "maxRows", searchInputValue: "searchInputValue" }, outputs: { selectValues: "selectValues" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true, read: ElementRef }, { propertyName: "searchFieldInput", first: true, predicate: ["searchFieldInput"], descendants: true }, { propertyName: "checkboxes", predicate: ["checkBox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"bg-background w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"shrink-0 rounded-full text-primary bg-primary-opacity-25 text-white font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <mat-icon\n class=\"material-symbols-outlined shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n >\n close\n </mat-icon>\n </button>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[12px] !w-[12px] text-[12px]\"\n >\n close</mat-icon\n >\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[10px] !w-[12px] text-[12px]\"\n >\n close\n </mat-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$
|
|
25323
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownMultiselectComponent, deps: [{ token: i1$6.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25324
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: { title: "title", choices: "choices", selected: "selected", allowSearch: "allowSearch", maxRows: "maxRows", searchInputValue: "searchInputValue" }, outputs: { selectValues: "selectValues" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true, read: ElementRef }, { propertyName: "searchFieldInput", first: true, predicate: ["searchFieldInput"], descendants: true }, { propertyName: "checkboxes", predicate: ["checkBox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"bg-background w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"shrink-0 rounded-full text-primary bg-primary-opacity-25 text-white font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <mat-icon\n class=\"material-symbols-outlined shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n >\n close\n </mat-icon>\n </button>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[12px] !w-[12px] text-[12px]\"\n >\n close</mat-icon\n >\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[10px] !w-[12px] text-[12px]\"\n >\n close\n </mat-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$6.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$6.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24876
25325
|
}
|
|
24877
25326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownMultiselectComponent, decorators: [{
|
|
24878
25327
|
type: Component,
|
|
24879
25328
|
args: [{ selector: 'gn-ui-dropdown-multiselect', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"bg-background w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"shrink-0 rounded-full text-primary bg-primary-opacity-25 text-white font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <mat-icon\n class=\"material-symbols-outlined shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n >\n close\n </mat-icon>\n </button>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[12px] !w-[12px] text-[12px]\"\n >\n close</mat-icon\n >\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[10px] !w-[12px] text-[12px]\"\n >\n close\n </mat-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n" }]
|
|
24880
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
25329
|
+
}], ctorParameters: function () { return [{ type: i1$6.ScrollStrategyOptions }]; }, propDecorators: { title: [{
|
|
24881
25330
|
type: Input
|
|
24882
25331
|
}], choices: [{
|
|
24883
25332
|
type: Input
|
|
@@ -25041,7 +25490,7 @@ class DropdownSelectorComponent {
|
|
|
25041
25490
|
}
|
|
25042
25491
|
}
|
|
25043
25492
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25044
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownSelectorComponent, isStandalone: true, selector: "gn-ui-dropdown-selector", inputs: { title: "title", showTitle: "showTitle", ariaName: "ariaName", choices: "choices", selected: "selected", maxRows: "maxRows", extraBtnClass: "extraBtnClass", minWidth: "minWidth", disabled: "disabled" }, outputs: { selectValue: "selectValue" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "choiceInputs", predicate: ["choiceInputs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-col sm:flex-row sm:items-center relative w-full\">\n <span\n *ngIf=\"showTitle\"\n class=\"tracking-wide text-sm mb-2 sm:mb-0 sm:mr-2 whitespace-nowrap\"\n [attr.for]=\"id\"\n >\n {{ title }}\n </span>\n <gn-ui-button\n type=\"outline\"\n class=\"grow min-w-0\"\n extraClass=\"bg-background !p-[8px] !pl-[16px] flex flex-row w-full {{\n extraBtnClass\n }}\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (keydown)=\"handleTriggerKeydown($event)\"\n [disabled]=\"disabled\"\n >\n <div class=\"grow font-medium truncate py-1 mr-2 text-left\">\n {{ getChoiceLabel() | translate }}\n </div>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n </gn-ui-button>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.min-width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n >\n <button\n #choiceInputs\n type=\"button\"\n *ngFor=\"let choice of choices\"\n [title]=\"choice.label | translate\"\n class=\"flex px-5 py-1 w-full text-start cursor-pointer transition-colors\"\n [ngClass]=\"\n isSelected(choice)\n ? 'text-white bg-primary hover:text-white hover:bg-primary-darker focus:text-white focus:bg-primary-darker'\n : 'text-gray-900 hover:text-primary-darkest hover:bg-gray-50 focus:text-primary-darkest focus:bg-gray-50'\n \"\n (click)=\"onSelectValue(choice)\"\n (keydown)=\"selectIfEnter($event, choice)\"\n [attr.data-cy-value]=\"choice.value.toString()\"\n [attr.data-cy-active]=\"isSelected(choice) ? 'true' : undefined\"\n >\n <span class=\"text-[14px]\">\n {{ choice.label | translate }}\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$
|
|
25493
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownSelectorComponent, isStandalone: true, selector: "gn-ui-dropdown-selector", inputs: { title: "title", showTitle: "showTitle", ariaName: "ariaName", choices: "choices", selected: "selected", maxRows: "maxRows", extraBtnClass: "extraBtnClass", minWidth: "minWidth", disabled: "disabled" }, outputs: { selectValue: "selectValue" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "choiceInputs", predicate: ["choiceInputs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-col sm:flex-row sm:items-center relative w-full\">\n <span\n *ngIf=\"showTitle\"\n class=\"tracking-wide text-sm mb-2 sm:mb-0 sm:mr-2 whitespace-nowrap\"\n [attr.for]=\"id\"\n >\n {{ title }}\n </span>\n <gn-ui-button\n type=\"outline\"\n class=\"grow min-w-0\"\n extraClass=\"bg-background !p-[8px] !pl-[16px] flex flex-row w-full {{\n extraBtnClass\n }}\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (keydown)=\"handleTriggerKeydown($event)\"\n [disabled]=\"disabled\"\n >\n <div class=\"grow font-medium truncate py-1 mr-2 text-left\">\n {{ getChoiceLabel() | translate }}\n </div>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n </gn-ui-button>\n</div>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.min-width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n >\n <button\n #choiceInputs\n type=\"button\"\n *ngFor=\"let choice of choices\"\n [title]=\"choice.label | translate\"\n class=\"flex px-5 py-1 w-full text-start cursor-pointer transition-colors\"\n [ngClass]=\"\n isSelected(choice)\n ? 'text-white bg-primary hover:text-white hover:bg-primary-darker focus:text-white focus:bg-primary-darker'\n : 'text-gray-900 hover:text-primary-darkest hover:bg-gray-50 focus:text-primary-darkest focus:bg-gray-50'\n \"\n (click)=\"onSelectValue(choice)\"\n (keydown)=\"selectIfEnter($event, choice)\"\n [attr.data-cy-value]=\"choice.value.toString()\"\n [attr.data-cy-active]=\"isSelected(choice) ? 'true' : undefined\"\n >\n <span class=\"text-[14px]\">\n {{ choice.label | translate }}\n </span>\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$6.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$6.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25045
25494
|
}
|
|
25046
25495
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownSelectorComponent, decorators: [{
|
|
25047
25496
|
type: Component,
|
|
@@ -25319,189 +25768,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
25319
25768
|
args: ['input']
|
|
25320
25769
|
}] } });
|
|
25321
25770
|
|
|
25322
|
-
class ColorScaleComponent {
|
|
25323
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorScaleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25324
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColorScaleComponent, selector: "gn-ui-color-scale", ngImport: i0, 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", styles: [""] }); }
|
|
25325
|
-
}
|
|
25326
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorScaleComponent, decorators: [{
|
|
25327
|
-
type: Component,
|
|
25328
|
-
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" }]
|
|
25329
|
-
}] });
|
|
25330
|
-
|
|
25331
|
-
class ProgressBarComponent {
|
|
25332
|
-
constructor() {
|
|
25333
|
-
this.value = 0;
|
|
25334
|
-
this.type = 'default';
|
|
25335
|
-
}
|
|
25336
|
-
get progress() {
|
|
25337
|
-
return this.value > 0 ? (this.value < 100 ? this.value : 100) : 0;
|
|
25338
|
-
}
|
|
25339
|
-
get color() {
|
|
25340
|
-
switch (this.type) {
|
|
25341
|
-
case 'default':
|
|
25342
|
-
return {
|
|
25343
|
-
outerBar: 'bg-gray-200',
|
|
25344
|
-
innerBar: 'bg-gray-100',
|
|
25345
|
-
text: 'text-gray-900',
|
|
25346
|
-
};
|
|
25347
|
-
case 'primary':
|
|
25348
|
-
return {
|
|
25349
|
-
outerBar: 'bg-primary',
|
|
25350
|
-
innerBar: 'bg-primary-lighter',
|
|
25351
|
-
text: 'text-white',
|
|
25352
|
-
};
|
|
25353
|
-
case 'secondary':
|
|
25354
|
-
return {
|
|
25355
|
-
outerBar: 'bg-secondary',
|
|
25356
|
-
innerBar: 'bg-secondary-lighter',
|
|
25357
|
-
text: 'text-white',
|
|
25358
|
-
};
|
|
25359
|
-
}
|
|
25360
|
-
}
|
|
25361
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25362
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: { value: "value", type: "type" }, ngImport: i0, template: "<div class=\"flex h-full {{ color.outerBar }} rounded-t-lg rounded-b-lg\">\n <div\n [style.width.%]=\"progress\"\n class=\"flex {{\n color.innerBar\n }} my-1 mx-1 transition-width duration-500 ease-in-out rounded-t-md rounded-b-md shadow-xl\"\n >\n <div class=\"flex items-center pl-2 py-1 {{ color.text }} font-bold text-4\">\n {{ progress }}%\n </div>\n </div>\n</div>\n", styles: [".font-bold{font-weight:var(--progress-bar-font-weight, \"bold\")}\n"] }); }
|
|
25363
|
-
}
|
|
25364
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
25365
|
-
type: Component,
|
|
25366
|
-
args: [{ selector: 'gn-ui-progress-bar', template: "<div class=\"flex h-full {{ color.outerBar }} rounded-t-lg rounded-b-lg\">\n <div\n [style.width.%]=\"progress\"\n class=\"flex {{\n color.innerBar\n }} my-1 mx-1 transition-width duration-500 ease-in-out rounded-t-md rounded-b-md shadow-xl\"\n >\n <div class=\"flex items-center pl-2 py-1 {{ color.text }} font-bold text-4\">\n {{ progress }}%\n </div>\n </div>\n</div>\n", styles: [".font-bold{font-weight:var(--progress-bar-font-weight, \"bold\")}\n"] }]
|
|
25367
|
-
}], propDecorators: { value: [{
|
|
25368
|
-
type: Input
|
|
25369
|
-
}], type: [{
|
|
25370
|
-
type: Input
|
|
25371
|
-
}] } });
|
|
25372
|
-
|
|
25373
|
-
class StepBarComponent {
|
|
25374
|
-
constructor(cdr) {
|
|
25375
|
-
this.cdr = cdr;
|
|
25376
|
-
this.currentStep = 1;
|
|
25377
|
-
this.type = 'default';
|
|
25378
|
-
}
|
|
25379
|
-
get stepCounter() {
|
|
25380
|
-
return new Array(this.steps);
|
|
25381
|
-
}
|
|
25382
|
-
get color() {
|
|
25383
|
-
switch (this.type) {
|
|
25384
|
-
case 'default':
|
|
25385
|
-
return {
|
|
25386
|
-
outerBar: 'bg-gray-200',
|
|
25387
|
-
innerBar: 'bg-gray-100',
|
|
25388
|
-
};
|
|
25389
|
-
case 'primary':
|
|
25390
|
-
return {
|
|
25391
|
-
outerBar: 'bg-primary',
|
|
25392
|
-
innerBar: 'bg-primary-lighter',
|
|
25393
|
-
};
|
|
25394
|
-
case 'secondary':
|
|
25395
|
-
return {
|
|
25396
|
-
outerBar: 'bg-secondary',
|
|
25397
|
-
innerBar: 'bg-secondary-lighter',
|
|
25398
|
-
};
|
|
25399
|
-
}
|
|
25400
|
-
}
|
|
25401
|
-
getCircleColor(index) {
|
|
25402
|
-
return index === this.currentStep
|
|
25403
|
-
? 'bg-black'
|
|
25404
|
-
: index < this.currentStep
|
|
25405
|
-
? 'bg-white'
|
|
25406
|
-
: this.color.innerBar;
|
|
25407
|
-
}
|
|
25408
|
-
getChecked(index) {
|
|
25409
|
-
return index + 1 < this.currentStep;
|
|
25410
|
-
}
|
|
25411
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepBarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25412
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
25413
|
-
}
|
|
25414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepBarComponent, decorators: [{
|
|
25415
|
-
type: Component,
|
|
25416
|
-
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"] }]
|
|
25417
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { steps: [{
|
|
25418
|
-
type: Input
|
|
25419
|
-
}], currentStep: [{
|
|
25420
|
-
type: Input
|
|
25421
|
-
}], type: [{
|
|
25422
|
-
type: Input
|
|
25423
|
-
}] } });
|
|
25424
|
-
|
|
25425
|
-
class LoadingMaskComponent {
|
|
25426
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25427
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: { message: "message" }, ngImport: i0, template: "<div class=\"h-full flex flex-col justify-center items-center relative backdrop\">\n <div class=\"absolute background bg-white inset-0\"></div>\n <mat-spinner [diameter]=\"28\" class=\"relative\"></mat-spinner>\n <span class=\"text-sm text-gray-700 mt-3 relative\">{{ message }}</span>\n</div>\n", styles: ["::ng-deep .mat-spinner circle{stroke:var(--color-gray-700);opacity:.5}.backdrop{background-color:#fff6}@supports ((-webkit-backdrop-filter: blur()) or (backdrop-filter: blur())){.backdrop{background-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.background{opacity:.7}\n"], dependencies: [{ kind: "component", type: i1$6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25428
|
-
}
|
|
25429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingMaskComponent, decorators: [{
|
|
25430
|
-
type: Component,
|
|
25431
|
-
args: [{ selector: 'gn-ui-loading-mask', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full flex flex-col justify-center items-center relative backdrop\">\n <div class=\"absolute background bg-white inset-0\"></div>\n <mat-spinner [diameter]=\"28\" class=\"relative\"></mat-spinner>\n <span class=\"text-sm text-gray-700 mt-3 relative\">{{ message }}</span>\n</div>\n", styles: ["::ng-deep .mat-spinner circle{stroke:var(--color-gray-700);opacity:.5}.backdrop{background-color:#fff6}@supports ((-webkit-backdrop-filter: blur()) or (backdrop-filter: blur())){.backdrop{background-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.background{opacity:.7}\n"] }]
|
|
25432
|
-
}], propDecorators: { message: [{
|
|
25433
|
-
type: Input
|
|
25434
|
-
}] } });
|
|
25435
|
-
|
|
25436
|
-
class SpinningLoaderComponent {
|
|
25437
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinningLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25438
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpinningLoaderComponent, selector: "gn-ui-spinning-loader", ngImport: i0, template: "<span>\n <svg\n class=\"animate-spin h-8 w-8 text-primary\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n</span>\n", styles: [""] }); }
|
|
25439
|
-
}
|
|
25440
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinningLoaderComponent, decorators: [{
|
|
25441
|
-
type: Component,
|
|
25442
|
-
args: [{ selector: 'gn-ui-spinning-loader', template: "<span>\n <svg\n class=\"animate-spin h-8 w-8 text-primary\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n</span>\n" }]
|
|
25443
|
-
}] });
|
|
25444
|
-
|
|
25445
|
-
class UiWidgetsModule {
|
|
25446
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
25447
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, declarations: [ColorScaleComponent,
|
|
25448
|
-
ProgressBarComponent,
|
|
25449
|
-
StepBarComponent,
|
|
25450
|
-
LoadingMaskComponent,
|
|
25451
|
-
PopupAlertComponent,
|
|
25452
|
-
SpinningLoaderComponent], imports: [CommonModule, i1$1.TranslateModule, NgxDropzoneModule,
|
|
25453
|
-
FormsModule,
|
|
25454
|
-
ReactiveFormsModule,
|
|
25455
|
-
TagInputModule,
|
|
25456
|
-
UtilSharedModule,
|
|
25457
|
-
MatProgressSpinnerModule,
|
|
25458
|
-
MatIconModule], exports: [ProgressBarComponent,
|
|
25459
|
-
StepBarComponent,
|
|
25460
|
-
LoadingMaskComponent,
|
|
25461
|
-
PopupAlertComponent,
|
|
25462
|
-
SpinningLoaderComponent] }); }
|
|
25463
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, imports: [CommonModule,
|
|
25464
|
-
TranslateModule.forChild(),
|
|
25465
|
-
NgxDropzoneModule,
|
|
25466
|
-
FormsModule,
|
|
25467
|
-
ReactiveFormsModule,
|
|
25468
|
-
TagInputModule,
|
|
25469
|
-
UtilSharedModule,
|
|
25470
|
-
MatProgressSpinnerModule,
|
|
25471
|
-
MatIconModule] }); }
|
|
25472
|
-
}
|
|
25473
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiWidgetsModule, decorators: [{
|
|
25474
|
-
type: NgModule,
|
|
25475
|
-
args: [{
|
|
25476
|
-
declarations: [
|
|
25477
|
-
ColorScaleComponent,
|
|
25478
|
-
ProgressBarComponent,
|
|
25479
|
-
StepBarComponent,
|
|
25480
|
-
LoadingMaskComponent,
|
|
25481
|
-
PopupAlertComponent,
|
|
25482
|
-
SpinningLoaderComponent,
|
|
25483
|
-
],
|
|
25484
|
-
imports: [
|
|
25485
|
-
CommonModule,
|
|
25486
|
-
TranslateModule.forChild(),
|
|
25487
|
-
NgxDropzoneModule,
|
|
25488
|
-
FormsModule,
|
|
25489
|
-
ReactiveFormsModule,
|
|
25490
|
-
TagInputModule,
|
|
25491
|
-
UtilSharedModule,
|
|
25492
|
-
MatProgressSpinnerModule,
|
|
25493
|
-
MatIconModule,
|
|
25494
|
-
],
|
|
25495
|
-
exports: [
|
|
25496
|
-
ProgressBarComponent,
|
|
25497
|
-
StepBarComponent,
|
|
25498
|
-
LoadingMaskComponent,
|
|
25499
|
-
PopupAlertComponent,
|
|
25500
|
-
SpinningLoaderComponent,
|
|
25501
|
-
],
|
|
25502
|
-
}]
|
|
25503
|
-
}] });
|
|
25504
|
-
|
|
25505
25771
|
class ViewportIntersectorComponent {
|
|
25506
25772
|
constructor(vcRef) {
|
|
25507
25773
|
this.vcRef = vcRef;
|
|
@@ -25733,7 +25999,7 @@ class ImageInputComponent {
|
|
|
25733
25999
|
});
|
|
25734
26000
|
}
|
|
25735
26001
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageInputComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25736
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <div class=\"flex-1 group relative\">\n <img\n class=\"w-full h-full object-cover border-2 border-gray-300 rounded-lg\"\n [alt]=\"altText\"\n loading=\"lazy\"\n [src]=\"previewUrl\"\n />\n <gn-ui-button\n [extraClass]=\"\n 'bg-gray-200 absolute right-2 bottom-2 invisible group-hover:visible'\n \"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined\">delete</mat-icon>\n </gn-ui-button>\n </div>\n <input\n *ngIf=\"showAltTextInput\"\n type=\"text\"\n class=\"py-3 px-2 border-2 border-gray-300 rounded-lg text-sm font-medium\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText\"\n (change)=\"handleAltTextChange($event)\"\n />\n <div class=\"flex flex-row gap-2\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">delete</mat-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">add</mat-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"block flex-1 border-2 border-dashed border-gray-300 rounded-lg p-6 flex flex-col items-center justify-center gap-4\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div class=\"w-14 h-14 rounded-md bg-gray-200 grid\">\n <mat-icon\n *ngIf=\"!dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >image</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >add_box</mat-icon\n >\n <div *ngIf=\"uploadProgress\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n [mode]=\"'determinate'\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n <span\n class=\"text-sm font-medium relative inline-block width-[30px] bottom-[40px] left-[15px]\"\n >\n {{ uploadProgress }}%\n </span>\n </div>\n <mat-icon\n *ngIf=\"uploadError\"\n class=\"material-symbols-outlined place-self-center text-rose-500\"\n >broken_image</mat-icon\n >\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n uploadProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick()\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"showUrlInput || uploadProgress || uploadError\"\n />\n </label>\n <div *ngIf=\"!showUrlInput\" class=\"flex-none\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"displayUrlInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">link</mat-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n <div *ngIf=\"showUrlInput\" class=\"flex-none flex flex-col gap-2\">\n <div class=\"h-2\"></div>\n <div class=\"flex gap-2 items-center\">\n <div class=\"flex-1 flex rounded-lg\">\n <span\n class=\"material-symbols-outlined px-4 inline-flex items-center min-w-fit rounded-s-lg border-2 border-e-0 border-gray-300\"\n >link</span\n >\n <input\n type=\"text\"\n class=\"py-3 ps-1 block w-full border-2 border-s-0 border-e-0 border-gray-300 text-sm font-medium\"\n placeholder=\"https://exemple.com/image.jpg\"\n (change)=\"handleUrlChange($event)\"\n />\n <gn-ui-button\n class=\"px-1 inline-flex items-center min-w-fit rounded-e-lg border-2 border-s-0 border-gray-300 text-white\"\n [extraClass]=\"\n urlInputValue && !downloadError ? 'bg-blue-500' : 'bg-gray-500'\n \"\n [disabled]=\"!urlInputValue || downloadError\"\n (buttonClick)=\"downloadUrl()\"\n >\n <mat-icon class=\"material-symbols-outlined\">arrow_upward</mat-icon>\n </gn-ui-button>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1$
|
|
26002
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <div class=\"flex-1 group relative\">\n <img\n class=\"w-full h-full object-cover border-2 border-gray-300 rounded-lg\"\n [alt]=\"altText\"\n loading=\"lazy\"\n [src]=\"previewUrl\"\n />\n <gn-ui-button\n [extraClass]=\"\n 'bg-gray-200 absolute right-2 bottom-2 invisible group-hover:visible'\n \"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined\">delete</mat-icon>\n </gn-ui-button>\n </div>\n <input\n *ngIf=\"showAltTextInput\"\n type=\"text\"\n class=\"py-3 px-2 border-2 border-gray-300 rounded-lg text-sm font-medium\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText\"\n (change)=\"handleAltTextChange($event)\"\n />\n <div class=\"flex flex-row gap-2\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"handleDelete()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">delete</mat-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">add</mat-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"block flex-1 border-2 border-dashed border-gray-300 rounded-lg p-6 flex flex-col items-center justify-center gap-4\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div class=\"w-14 h-14 rounded-md bg-gray-200 grid\">\n <mat-icon\n *ngIf=\"!dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >image</mat-icon\n >\n <mat-icon\n *ngIf=\"dragFilesOver && !uploadProgress && !uploadError\"\n class=\"material-symbols-outlined place-self-center text-blue-500\"\n >add_box</mat-icon\n >\n <div *ngIf=\"uploadProgress\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n [mode]=\"'determinate'\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n <span\n class=\"text-sm font-medium relative inline-block width-[30px] bottom-[40px] left-[15px]\"\n >\n {{ uploadProgress }}%\n </span>\n </div>\n <mat-icon\n *ngIf=\"uploadError\"\n class=\"material-symbols-outlined place-self-center text-rose-500\"\n >broken_image</mat-icon\n >\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n uploadProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick()\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"showUrlInput || uploadProgress || uploadError\"\n />\n </label>\n <div *ngIf=\"!showUrlInput\" class=\"flex-none\">\n <gn-ui-button\n [extraClass]=\"'bg-gray-200 font-bold'\"\n (buttonClick)=\"displayUrlInput()\"\n >\n <mat-icon class=\"material-symbols-outlined me-1\">link</mat-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n <div *ngIf=\"showUrlInput\" class=\"flex-none flex flex-col gap-2\">\n <div class=\"h-2\"></div>\n <div class=\"flex gap-2 items-center\">\n <div class=\"flex-1 flex rounded-lg\">\n <span\n class=\"material-symbols-outlined px-4 inline-flex items-center min-w-fit rounded-s-lg border-2 border-e-0 border-gray-300\"\n >link</span\n >\n <input\n type=\"text\"\n class=\"py-3 ps-1 block w-full border-2 border-s-0 border-e-0 border-gray-300 text-sm font-medium\"\n placeholder=\"https://exemple.com/image.jpg\"\n (change)=\"handleUrlChange($event)\"\n />\n <gn-ui-button\n class=\"px-1 inline-flex items-center min-w-fit rounded-e-lg border-2 border-s-0 border-gray-300 text-white\"\n [extraClass]=\"\n urlInputValue && !downloadError ? 'bg-blue-500' : 'bg-gray-500'\n \"\n [disabled]=\"!urlInputValue || downloadError\"\n (buttonClick)=\"downloadUrl()\"\n >\n <mat-icon class=\"material-symbols-outlined\">arrow_upward</mat-icon>\n </gn-ui-button>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1$4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25737
26003
|
}
|
|
25738
26004
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageInputComponent, decorators: [{
|
|
25739
26005
|
type: Component,
|
|
@@ -25769,8 +26035,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
25769
26035
|
|
|
25770
26036
|
class UiInputsModule {
|
|
25771
26037
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
25772
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UiInputsModule, declarations: [
|
|
25773
|
-
TextInputComponent,
|
|
26038
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UiInputsModule, declarations: [TextInputComponent,
|
|
25774
26039
|
DragAndDropFileInputComponent,
|
|
25775
26040
|
ChipsInputComponent,
|
|
25776
26041
|
NavigationButtonComponent,
|
|
@@ -25802,7 +26067,6 @@ class UiInputsModule {
|
|
|
25802
26067
|
DateRangePickerComponent,
|
|
25803
26068
|
CheckToggleComponent,
|
|
25804
26069
|
BadgeComponent], exports: [DropdownSelectorComponent,
|
|
25805
|
-
AutocompleteComponent,
|
|
25806
26070
|
ButtonComponent,
|
|
25807
26071
|
TextInputComponent,
|
|
25808
26072
|
DragAndDropFileInputComponent,
|
|
@@ -25847,7 +26111,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
25847
26111
|
type: NgModule,
|
|
25848
26112
|
args: [{
|
|
25849
26113
|
declarations: [
|
|
25850
|
-
AutocompleteComponent,
|
|
25851
26114
|
TextInputComponent,
|
|
25852
26115
|
DragAndDropFileInputComponent,
|
|
25853
26116
|
ChipsInputComponent,
|
|
@@ -25888,7 +26151,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
25888
26151
|
],
|
|
25889
26152
|
exports: [
|
|
25890
26153
|
DropdownSelectorComponent,
|
|
25891
|
-
AutocompleteComponent,
|
|
25892
26154
|
ButtonComponent,
|
|
25893
26155
|
TextInputComponent,
|
|
25894
26156
|
DragAndDropFileInputComponent,
|
|
@@ -26062,7 +26324,7 @@ class FacetItemComponent {
|
|
|
26062
26324
|
this.onInvertedChange(this.inverted);
|
|
26063
26325
|
}
|
|
26064
26326
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FacetItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26065
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FacetItemComponent, selector: "gn-ui-facet-item", inputs: { label: "label", count: "count", selected: "selected", inverted: "inverted" }, outputs: { selectedChange: "selectedChange", invertedChange: "invertedChange" }, ngImport: i0, template: "<div\n class=\"flex flex-row items-center group px-1 my-1 hover:bg-gray-100 rounded-sm\"\n>\n <label class=\"grow shrink truncate cursor-pointer group-hover:text-black\">\n <input\n type=\"checkbox\"\n class=\"cursor-pointer\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"onSelectedChange($event)\"\n />\n {{ label | translate }}\n <span class=\"group-hover:text-black\">({{ count }})</span>\n </label>\n <div\n *ngIf=\"!inverted\"\n class=\"shrink-0 cursor-pointer invisible group-hover:visible icon-exclude\"\n style=\"min-width: 20px\"\n (click)=\"toggleInverted()\"\n >\n <!-- minus svg -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </div>\n <div\n *ngIf=\"inverted\"\n class=\"shrink-0 cursor-pointer invisible group-hover:visible icon-include\"\n style=\"min-width: 20px\"\n (click)=\"toggleInverted()\"\n >\n <!-- check svg -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$
|
|
26327
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FacetItemComponent, selector: "gn-ui-facet-item", inputs: { label: "label", count: "count", selected: "selected", inverted: "inverted" }, outputs: { selectedChange: "selectedChange", invertedChange: "invertedChange" }, ngImport: i0, template: "<div\n class=\"flex flex-row items-center group px-1 my-1 hover:bg-gray-100 rounded-sm\"\n>\n <label class=\"grow shrink truncate cursor-pointer group-hover:text-black\">\n <input\n type=\"checkbox\"\n class=\"cursor-pointer\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"onSelectedChange($event)\"\n />\n {{ label | translate }}\n <span class=\"group-hover:text-black\">({{ count }})</span>\n </label>\n <div\n *ngIf=\"!inverted\"\n class=\"shrink-0 cursor-pointer invisible group-hover:visible icon-exclude\"\n style=\"min-width: 20px\"\n (click)=\"toggleInverted()\"\n >\n <!-- minus svg -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </div>\n <div\n *ngIf=\"inverted\"\n class=\"shrink-0 cursor-pointer invisible group-hover:visible icon-include\"\n style=\"min-width: 20px\"\n (click)=\"toggleInverted()\"\n >\n <!-- check svg -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clip-rule=\"evenodd\"\n />\n </svg>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
|
|
26066
26328
|
}
|
|
26067
26329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FacetItemComponent, decorators: [{
|
|
26068
26330
|
type: Component,
|
|
@@ -26795,11 +27057,11 @@ class ApiCardComponent {
|
|
|
26795
27057
|
}
|
|
26796
27058
|
}
|
|
26797
27059
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26798
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ApiCardComponent, selector: "gn-ui-api-card", inputs: { link: "link", currentLink: "currentLink" }, outputs: { openRecordApiForm: "openRecordApiForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"group flex flex-col justify-between h-40 pt-5 pb-6 px-7 rounded filter overflow-hidden
|
|
27060
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ApiCardComponent, selector: "gn-ui-api-card", inputs: { link: "link", currentLink: "currentLink" }, outputs: { openRecordApiForm: "openRecordApiForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"group flex flex-col justify-between h-40 pt-5 pb-6 px-7 rounded filter overflow-hidden cursor-default\"\n>\n <div\n class=\"font-title font-medium text-21 text-black text-ellipsis overflow-hidden break-words pb-5 h-[4.5rem]\"\n >\n {{ link.name || link.description }}\n </div>\n <div class=\"\">\n <div class=\"flex flex-row justify-between\">\n <span\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive\n }\"\n >{{ link.accessServiceProtocol }}</span\n >\n <div class=\"flex flex-row gap-2 items-center\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText\n }\"\n mat-raised-button\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <mat-icon\n class=\"material-symbols-outlined pointer-events-none align-middle card-icon\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive\n }\"\n >more_horiz</mat-icon\n >\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26799
27061
|
}
|
|
26800
27062
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApiCardComponent, decorators: [{
|
|
26801
27063
|
type: Component,
|
|
26802
|
-
args: [{ selector: 'gn-ui-api-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"group flex flex-col justify-between h-40 pt-5 pb-6 px-7 rounded filter overflow-hidden
|
|
27064
|
+
args: [{ selector: 'gn-ui-api-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"group flex flex-col justify-between h-40 pt-5 pb-6 px-7 rounded filter overflow-hidden cursor-default\"\n>\n <div\n class=\"font-title font-medium text-21 text-black text-ellipsis overflow-hidden break-words pb-5 h-[4.5rem]\"\n >\n {{ link.name || link.description }}\n </div>\n <div class=\"\">\n <div class=\"flex flex-row justify-between\">\n <span\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive\n }\"\n >{{ link.accessServiceProtocol }}</span\n >\n <div class=\"flex flex-row gap-2 items-center\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText\n }\"\n mat-raised-button\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <mat-icon\n class=\"material-symbols-outlined pointer-events-none align-middle card-icon\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive\n }\"\n >more_horiz</mat-icon\n >\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
26803
27065
|
}], propDecorators: { link: [{
|
|
26804
27066
|
type: Input
|
|
26805
27067
|
}], currentLink: [{
|
|
@@ -26944,17 +27206,19 @@ var ErrorType;
|
|
|
26944
27206
|
ErrorType[ErrorType["RECEIVED_ERROR"] = 1] = "RECEIVED_ERROR";
|
|
26945
27207
|
ErrorType[ErrorType["RECORD_NOT_FOUND"] = 2] = "RECORD_NOT_FOUND";
|
|
26946
27208
|
ErrorType[ErrorType["DATASET_HAS_NO_LINK"] = 3] = "DATASET_HAS_NO_LINK";
|
|
27209
|
+
ErrorType[ErrorType["ORGANIZATION_HAS_NO_DATASET"] = 4] = "ORGANIZATION_HAS_NO_DATASET";
|
|
27210
|
+
ErrorType[ErrorType["ORGANIZATION_NOT_FOUND"] = 5] = "ORGANIZATION_NOT_FOUND";
|
|
26947
27211
|
})(ErrorType || (ErrorType = {}));
|
|
26948
27212
|
class ErrorComponent {
|
|
26949
27213
|
constructor() {
|
|
26950
27214
|
this.types = ErrorType;
|
|
26951
27215
|
}
|
|
26952
27216
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26953
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorComponent, selector: "gn-ui-error", inputs: { type: "type", error: "error", recordId: "recordId" }, ngImport: i0, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark</mat-icon
|
|
27217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorComponent, selector: "gn-ui-error", inputs: { type: "type", error: "error", recordId: "recordId" }, ngImport: i0, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark\n </mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark2\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.couldNotReachApi</div>\n </div>\n <div\n *ngIf=\"type === types.DATASET_HAS_NO_LINK\"\n data-test=\"dataset-has-no-link-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">computer</mat-icon>\n </div>\n <div translate>search.error.recordHasnolink</div>\n </div>\n <div *ngIf=\"type === types.RECEIVED_ERROR\" data-test=\"received-error-error\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">mood_bad</mat-icon>\n </div>\n <div translate>search.error.receivedError</div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div *ngIf=\"type === types.ORGANIZATION_HAS_NO_DATASET\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.organizationHasNoDataset</div>\n </div>\n <div\n *ngIf=\"type === types.RECORD_NOT_FOUND\"\n data-test=\"record-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.recordNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div\n *ngIf=\"type === types.ORGANIZATION_NOT_FOUND\"\n data-test=\"org-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.organizationNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n</div>\n", styles: ["mat-icon{width:auto;height:auto}mat-icon.face{font-size:3em}mat-icon.question-mark1{position:absolute;bottom:1.1em;left:calc(50% + .7em);font-size:1.7em}mat-icon.question-mark2{position:absolute;bottom:1.6em;left:calc(50% + 1.6em);font-size:1.4em}.computer{font-size:3em}.computer-question-mark{position:absolute;top:.6em;left:calc(50% - .5em);font-size:1.2em}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26954
27218
|
}
|
|
26955
27219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
26956
27220
|
type: Component,
|
|
26957
|
-
args: [{ selector: 'gn-ui-error', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark</mat-icon
|
|
27221
|
+
args: [{ selector: 'gn-ui-error', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark\n </mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark2\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.couldNotReachApi</div>\n </div>\n <div\n *ngIf=\"type === types.DATASET_HAS_NO_LINK\"\n data-test=\"dataset-has-no-link-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">computer</mat-icon>\n </div>\n <div translate>search.error.recordHasnolink</div>\n </div>\n <div *ngIf=\"type === types.RECEIVED_ERROR\" data-test=\"received-error-error\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">mood_bad</mat-icon>\n </div>\n <div translate>search.error.receivedError</div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div *ngIf=\"type === types.ORGANIZATION_HAS_NO_DATASET\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.organizationHasNoDataset</div>\n </div>\n <div\n *ngIf=\"type === types.RECORD_NOT_FOUND\"\n data-test=\"record-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.recordNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div\n *ngIf=\"type === types.ORGANIZATION_NOT_FOUND\"\n data-test=\"org-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.organizationNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n</div>\n", styles: ["mat-icon{width:auto;height:auto}mat-icon.face{font-size:3em}mat-icon.question-mark1{position:absolute;bottom:1.1em;left:calc(50% + .7em);font-size:1.7em}mat-icon.question-mark2{position:absolute;bottom:1.6em;left:calc(50% + 1.6em);font-size:1.4em}.computer{font-size:3em}.computer-question-mark{position:absolute;top:.6em;left:calc(50% - .5em);font-size:1.2em}\n"] }]
|
|
26958
27222
|
}], propDecorators: { type: [{
|
|
26959
27223
|
type: Input
|
|
26960
27224
|
}], error: [{
|
|
@@ -27054,71 +27318,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27054
27318
|
type: Output
|
|
27055
27319
|
}] } });
|
|
27056
27320
|
|
|
27057
|
-
class MaxLinesComponent {
|
|
27058
|
-
constructor(cdr) {
|
|
27059
|
-
this.cdr = cdr;
|
|
27060
|
-
this.maxLines = 6;
|
|
27061
|
-
this.isExpanded = false;
|
|
27062
|
-
this.maxHeight = '';
|
|
27063
|
-
this.showToggleButton = false;
|
|
27064
|
-
}
|
|
27065
|
-
ngAfterViewInit() {
|
|
27066
|
-
this.calculateMaxHeight();
|
|
27067
|
-
this.observer = new ResizeObserver((mutations) => {
|
|
27068
|
-
mutations.forEach(() => {
|
|
27069
|
-
this.calculateMaxHeight();
|
|
27070
|
-
});
|
|
27071
|
-
});
|
|
27072
|
-
this.observer.observe(this.container.nativeElement.children[0]);
|
|
27073
|
-
}
|
|
27074
|
-
toggleDisplay() {
|
|
27075
|
-
this.isExpanded = !this.isExpanded;
|
|
27076
|
-
this.calculateMaxHeight();
|
|
27077
|
-
}
|
|
27078
|
-
calculateMaxHeight() {
|
|
27079
|
-
const containerElement = this.container.nativeElement;
|
|
27080
|
-
const contentElement = containerElement.children[0];
|
|
27081
|
-
const contentHeight = contentElement.getBoundingClientRect().height;
|
|
27082
|
-
if (contentHeight) {
|
|
27083
|
-
if (contentHeight > this.maxLines * this.getLineHeight(contentElement)) {
|
|
27084
|
-
this.showToggleButton = true;
|
|
27085
|
-
this.maxHeight = this.isExpanded
|
|
27086
|
-
? `${contentHeight}px`
|
|
27087
|
-
: `${this.maxLines * this.getLineHeight(contentElement)}px`;
|
|
27088
|
-
}
|
|
27089
|
-
else {
|
|
27090
|
-
this.showToggleButton = false;
|
|
27091
|
-
this.maxHeight = `${contentHeight}px`;
|
|
27092
|
-
}
|
|
27093
|
-
containerElement.setAttribute('style', `max-height: ${this.maxHeight}; overflow: hidden`);
|
|
27094
|
-
this.cdr.detectChanges();
|
|
27095
|
-
}
|
|
27096
|
-
}
|
|
27097
|
-
getLineHeight(element) {
|
|
27098
|
-
const computedStyle = window.getComputedStyle(element);
|
|
27099
|
-
const lineHeight = parseFloat(computedStyle.lineHeight);
|
|
27100
|
-
const fontSize = parseFloat(computedStyle.fontSize || '14');
|
|
27101
|
-
const result = isNaN(lineHeight) ? fontSize * 1.2 : lineHeight; // Use a default if line height is not specified
|
|
27102
|
-
return result;
|
|
27103
|
-
}
|
|
27104
|
-
ngOnDestroy() {
|
|
27105
|
-
if (!this.observer)
|
|
27106
|
-
return;
|
|
27107
|
-
this.observer.unobserve(this.container.nativeElement.children[0]);
|
|
27108
|
-
}
|
|
27109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: { maxLines: "maxLines" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27111
|
-
}
|
|
27112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, decorators: [{
|
|
27113
|
-
type: Component,
|
|
27114
|
-
args: [{ selector: 'gn-ui-max-lines', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n" }]
|
|
27115
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { maxLines: [{
|
|
27116
|
-
type: Input
|
|
27117
|
-
}], container: [{
|
|
27118
|
-
type: ViewChild,
|
|
27119
|
-
args: ['container']
|
|
27120
|
-
}] } });
|
|
27121
|
-
|
|
27122
27321
|
class MetadataCatalogComponent {
|
|
27123
27322
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27124
27323
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataCatalogComponent, selector: "gn-ui-metadata-catalog", inputs: { sourceLabel: "sourceLabel" }, ngImport: i0, template: "<div>\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -27193,6 +27392,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27193
27392
|
args: ['contentDiv']
|
|
27194
27393
|
}] } });
|
|
27195
27394
|
|
|
27395
|
+
class MaxLinesComponent {
|
|
27396
|
+
constructor(cdr) {
|
|
27397
|
+
this.cdr = cdr;
|
|
27398
|
+
this.maxLines = 6;
|
|
27399
|
+
this.isExpanded = false;
|
|
27400
|
+
this.maxHeight = '';
|
|
27401
|
+
this.showToggleButton = false;
|
|
27402
|
+
}
|
|
27403
|
+
ngAfterViewInit() {
|
|
27404
|
+
this.calculateMaxHeight();
|
|
27405
|
+
this.observer = new ResizeObserver((mutations) => {
|
|
27406
|
+
mutations.forEach(() => {
|
|
27407
|
+
this.calculateMaxHeight();
|
|
27408
|
+
});
|
|
27409
|
+
});
|
|
27410
|
+
this.observer.observe(this.container.nativeElement.children[0]);
|
|
27411
|
+
}
|
|
27412
|
+
toggleDisplay() {
|
|
27413
|
+
this.isExpanded = !this.isExpanded;
|
|
27414
|
+
this.calculateMaxHeight();
|
|
27415
|
+
}
|
|
27416
|
+
calculateMaxHeight() {
|
|
27417
|
+
const containerElement = this.container.nativeElement;
|
|
27418
|
+
const contentElement = containerElement.children[0];
|
|
27419
|
+
const contentHeight = contentElement.getBoundingClientRect().height;
|
|
27420
|
+
if (contentHeight) {
|
|
27421
|
+
if (contentHeight > this.maxLines * this.getLineHeight(contentElement)) {
|
|
27422
|
+
this.showToggleButton = true;
|
|
27423
|
+
this.maxHeight = this.isExpanded
|
|
27424
|
+
? `${contentHeight}px`
|
|
27425
|
+
: `${this.maxLines * this.getLineHeight(contentElement)}px`;
|
|
27426
|
+
}
|
|
27427
|
+
else {
|
|
27428
|
+
this.showToggleButton = false;
|
|
27429
|
+
this.maxHeight = `${contentHeight}px`;
|
|
27430
|
+
}
|
|
27431
|
+
containerElement.setAttribute('style', `max-height: ${this.maxHeight}; overflow: hidden`);
|
|
27432
|
+
this.cdr.detectChanges();
|
|
27433
|
+
}
|
|
27434
|
+
}
|
|
27435
|
+
getLineHeight(element) {
|
|
27436
|
+
const computedStyle = window.getComputedStyle(element);
|
|
27437
|
+
const lineHeight = parseFloat(computedStyle.lineHeight);
|
|
27438
|
+
const fontSize = parseFloat(computedStyle.fontSize || '14');
|
|
27439
|
+
const result = isNaN(lineHeight) ? fontSize * 1.2 : lineHeight; // Use a default if line height is not specified
|
|
27440
|
+
return result;
|
|
27441
|
+
}
|
|
27442
|
+
ngOnDestroy() {
|
|
27443
|
+
if (!this.observer)
|
|
27444
|
+
return;
|
|
27445
|
+
this.observer.unobserve(this.container.nativeElement.children[0]);
|
|
27446
|
+
}
|
|
27447
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27448
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MaxLinesComponent, isStandalone: true, selector: "gn-ui-max-lines", inputs: { maxLines: "maxLines" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n data-cy=\"readMoreButton\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27449
|
+
}
|
|
27450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, decorators: [{
|
|
27451
|
+
type: Component,
|
|
27452
|
+
args: [{ selector: 'gn-ui-max-lines', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, TranslateModule], template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n data-cy=\"readMoreButton\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n" }]
|
|
27453
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { maxLines: [{
|
|
27454
|
+
type: Input
|
|
27455
|
+
}], container: [{
|
|
27456
|
+
type: ViewChild,
|
|
27457
|
+
args: ['container']
|
|
27458
|
+
}] } });
|
|
27459
|
+
|
|
27196
27460
|
/* eslint-disable @angular-eslint/directive-selector */
|
|
27197
27461
|
class GnUiLinkifyDirective {
|
|
27198
27462
|
constructor(el, renderer) {
|
|
@@ -27332,7 +27596,7 @@ class MetadataInfoComponent {
|
|
|
27332
27596
|
this.keyword.emit(keyword);
|
|
27333
27597
|
}
|
|
27334
27598
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27335
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div>\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"mt-6 mb-3 font-medium text-primary text-sm\" translate>\n record.metadata.keywords\n </p>\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.recordCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.recordPublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordPublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.languages\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.languages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27599
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div>\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"mt-6 mb-3 font-medium text-primary text-sm\" translate>\n record.metadata.keywords\n </p>\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.recordCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.recordPublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordPublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.languages\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.languages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27336
27600
|
}
|
|
27337
27601
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataInfoComponent, decorators: [{
|
|
27338
27602
|
type: Component,
|
|
@@ -27465,7 +27729,7 @@ class PaginationComponent {
|
|
|
27465
27729
|
this.setPage(this.currentPage - 1);
|
|
27466
27730
|
}
|
|
27467
27731
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27468
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PaginationComponent, selector: "gn-ui-pagination", inputs: { currentPage: "currentPage", nPages: "nPages", hideButton: "hideButton" }, outputs: { newCurrentPageEvent: "newCurrentPageEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"relative\">\n <div class=\"sm:absolute sm:inset-0\" *ngIf=\"!hideButton\">\n <gn-ui-button\n (buttonClick)=\"nextPage()\"\n type=\"secondary\"\n [disabled]=\"currentPage === nPages\"\n extraClass=\"lg:m-auto !p-[22px]\"\n >\n <span class=\"uppercase font-medium tracking-widest\" translate\n >pagination.nextPage</span\n >\n </gn-ui-button>\n </div>\n <div\n class=\"relative pointer-events-none flex flex-row justify-start sm:justify-end\"\n >\n <div class=\"pointer-events-auto flex flex-row items-center py-[13px]\">\n <span class=\"mr-3 capitalize text-sm text-gray-900\" translate\n >pagination.page</span\n >\n <input\n type=\"number\"\n [ngModel]=\"currentPage\"\n [min]=\"1\"\n [max]=\"nPages\"\n (ngModelChange)=\"setPage($event)\"\n class=\"border border-gray-300 rounded w-[54px] h-[34px] pl-[12px] mr-3 text-center\"\n />\n <span class=\"mr-3 text-sm text-gray-900\"\n ><span translate>pagination.pageOf</span> {{ nPages }}</span\n >\n <gn-ui-button\n (buttonClick)=\"previousPage()\"\n id=\"navigate_previous\"\n class=\"mr-2\"\n [disabled]=\"currentPage === 1\"\n [type]=\"'light'\"\n extraClass=\"!px-[3px]\"\n data-cy=\"prev-page\"\n >\n <mat-icon class=\"material-symbols-outlined\">navigate_before</mat-icon>\n </gn-ui-button>\n <gn-ui-button\n (buttonClick)=\"nextPage()\"\n id=\"navigate_next\"\n [disabled]=\"currentPage === nPages\"\n [type]=\"'light'\"\n extraClass=\"!px-[3px]\"\n data-cy=\"next-page\"\n >\n <mat-icon class=\"material-symbols-outlined\">navigate_next</mat-icon>\n </gn-ui-button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "directive", type: i2$
|
|
27732
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PaginationComponent, selector: "gn-ui-pagination", inputs: { currentPage: "currentPage", nPages: "nPages", hideButton: "hideButton" }, outputs: { newCurrentPageEvent: "newCurrentPageEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"relative\">\n <div class=\"sm:absolute sm:inset-0\" *ngIf=\"!hideButton\">\n <gn-ui-button\n (buttonClick)=\"nextPage()\"\n type=\"secondary\"\n [disabled]=\"currentPage === nPages\"\n extraClass=\"lg:m-auto !p-[22px]\"\n >\n <span class=\"uppercase font-medium tracking-widest\" translate\n >pagination.nextPage</span\n >\n </gn-ui-button>\n </div>\n <div\n class=\"relative pointer-events-none flex flex-row justify-start sm:justify-end\"\n >\n <div class=\"pointer-events-auto flex flex-row items-center py-[13px]\">\n <span class=\"mr-3 capitalize text-sm text-gray-900\" translate\n >pagination.page</span\n >\n <input\n type=\"number\"\n [ngModel]=\"currentPage\"\n [min]=\"1\"\n [max]=\"nPages\"\n (ngModelChange)=\"setPage($event)\"\n class=\"border border-gray-300 rounded w-[54px] h-[34px] pl-[12px] mr-3 text-center\"\n />\n <span class=\"mr-3 text-sm text-gray-900\"\n ><span translate>pagination.pageOf</span> {{ nPages }}</span\n >\n <gn-ui-button\n (buttonClick)=\"previousPage()\"\n id=\"navigate_previous\"\n class=\"mr-2\"\n [disabled]=\"currentPage === 1\"\n [type]=\"'light'\"\n extraClass=\"!px-[3px]\"\n data-cy=\"prev-page\"\n >\n <mat-icon class=\"material-symbols-outlined\">navigate_before</mat-icon>\n </gn-ui-button>\n <gn-ui-button\n (buttonClick)=\"nextPage()\"\n id=\"navigate_next\"\n [disabled]=\"currentPage === nPages\"\n [type]=\"'light'\"\n extraClass=\"!px-[3px]\"\n data-cy=\"next-page\"\n >\n <mat-icon class=\"material-symbols-outlined\">navigate_next</mat-icon>\n </gn-ui-button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2$2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27469
27733
|
}
|
|
27470
27734
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
27471
27735
|
type: Component,
|
|
@@ -27593,7 +27857,7 @@ class RecordApiFormComponent {
|
|
|
27593
27857
|
}
|
|
27594
27858
|
}
|
|
27595
27859
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordApiFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27596
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RecordApiFormComponent, selector: "gn-ui-record-api-form", inputs: { apiLink: "apiLink" }, ngImport: i0, template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n hint=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 relative\">\n <p class=\"text-sm\" [class.text-gray-600]=\"!supportOffset\" translate>\n record.metadata.api.form.offset\n </p>\n <div class=\"flex items-center\">\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n [disabled]=\"!supportOffset\"\n (valueChange)=\"supportOffset ? setOffset($event) : null\"\n hint=\"\"\n >\n </gn-ui-text-input>\n <div\n *ngIf=\"!supportOffset\"\n class=\"flex items-center gap-2 text-orange-500 z-10 ml-3\"\n >\n <span\n class=\"material-symbols-outlined\"\n matTooltip=\"Not supported on this service\"\n >\n warning\n </span>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"outputFormats\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button mat-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover mat-icon{color:#d3d3d3!important}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$
|
|
27860
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RecordApiFormComponent, selector: "gn-ui-record-api-form", inputs: { apiLink: "apiLink" }, ngImport: i0, template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n hint=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 relative\">\n <p class=\"text-sm\" [class.text-gray-600]=\"!supportOffset\" translate>\n record.metadata.api.form.offset\n </p>\n <div class=\"flex items-center\">\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n [disabled]=\"!supportOffset\"\n (valueChange)=\"supportOffset ? setOffset($event) : null\"\n hint=\"\"\n >\n </gn-ui-text-input>\n <div\n *ngIf=\"!supportOffset\"\n class=\"flex items-center gap-2 text-orange-500 z-10 ml-3\"\n >\n <span\n class=\"material-symbols-outlined\"\n matTooltip=\"Not supported on this service\"\n >\n warning\n </span>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"outputFormats\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button mat-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover mat-icon{color:#d3d3d3!important}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "hint", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27597
27861
|
}
|
|
27598
27862
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordApiFormComponent, decorators: [{
|
|
27599
27863
|
type: Component,
|
|
@@ -27603,13 +27867,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27603
27867
|
}] } });
|
|
27604
27868
|
|
|
27605
27869
|
class RelatedRecordCardComponent {
|
|
27870
|
+
constructor() {
|
|
27871
|
+
this.extraClass = '';
|
|
27872
|
+
this.baseClasses = [
|
|
27873
|
+
'w-72',
|
|
27874
|
+
'h-96',
|
|
27875
|
+
'overflow-hidden',
|
|
27876
|
+
'rounded-lg',
|
|
27877
|
+
'bg-white',
|
|
27878
|
+
'cursor-pointer',
|
|
27879
|
+
'block',
|
|
27880
|
+
'hover:-translate-y-2 ',
|
|
27881
|
+
'duration-[180ms]',
|
|
27882
|
+
].join(' ');
|
|
27883
|
+
}
|
|
27884
|
+
get classList() {
|
|
27885
|
+
return `${this.baseClasses} ${this.extraClass}`;
|
|
27886
|
+
}
|
|
27606
27887
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RelatedRecordCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27607
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RelatedRecordCardComponent, selector: "gn-ui-related-record-card", inputs: { record: "record" }, ngImport: i0, template: "<a\n class=\"
|
|
27888
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RelatedRecordCardComponent, selector: "gn-ui-related-record-card", inputs: { record: "record", extraClass: "extraClass" }, ngImport: i0, template: "<a\n [class]=\"classList\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col justify-between h-44 px-5 pt-4 pb-6\">\n <h4\n class=\"max-h-24 font-title text-21 text-black text-ellipsis overflow-hidden\"\n >\n {{ record.title }}\n </h4>\n <div>\n <button\n mat-raised-button\n [matTooltip]=\"'tooltip.url.open' | translate\"\n matTooltipPosition=\"above\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle text-secondary\"\n >open_in_new</mat-icon\n >\n </button>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1$7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27608
27889
|
}
|
|
27609
27890
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RelatedRecordCardComponent, decorators: [{
|
|
27610
27891
|
type: Component,
|
|
27611
|
-
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"
|
|
27612
|
-
}], propDecorators: { record: [{
|
|
27892
|
+
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n [class]=\"classList\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col justify-between h-44 px-5 pt-4 pb-6\">\n <h4\n class=\"max-h-24 font-title text-21 text-black text-ellipsis overflow-hidden\"\n >\n {{ record.title }}\n </h4>\n <div>\n <button\n mat-raised-button\n [matTooltip]=\"'tooltip.url.open' | translate\"\n matTooltipPosition=\"above\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle text-secondary\"\n >open_in_new</mat-icon\n >\n </button>\n </div>\n </div>\n</a>\n" }]
|
|
27893
|
+
}], ctorParameters: function () { return []; }, propDecorators: { record: [{
|
|
27894
|
+
type: Input
|
|
27895
|
+
}], extraClass: [{
|
|
27613
27896
|
type: Input
|
|
27614
27897
|
}] } });
|
|
27615
27898
|
|
|
@@ -27777,7 +28060,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27777
28060
|
|
|
27778
28061
|
class FormFieldWrapperComponent {
|
|
27779
28062
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27780
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldWrapperComponent, isStandalone: true, selector: "gn-ui-form-field-wrapper", inputs: { label: "label", hint: "hint" }, ngImport: i0, template: "<div class=\"h-full flex flex-col\">\n <div class=\"flex-none w-full flex flex-row items-center\">\n <span class=\"flex-none font-bold\">{{ label }}</span>\n <div class=\"flex-1 flex justify-end items-center\">\n <ng-content select=\"[form-field-interaction]\"></ng-content>\n <span\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n <div class=\"flex-1\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$
|
|
28063
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldWrapperComponent, isStandalone: true, selector: "gn-ui-form-field-wrapper", inputs: { label: "label", hint: "hint" }, ngImport: i0, template: "<div class=\"h-full flex flex-col\">\n <div class=\"flex-none w-full flex flex-row items-center\">\n <span class=\"flex-none font-bold\">{{ label }}</span>\n <div class=\"flex-1 flex justify-end items-center\">\n <ng-content select=\"[form-field-interaction]\"></ng-content>\n <span\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n <div class=\"flex-1\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27781
28064
|
}
|
|
27782
28065
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldWrapperComponent, decorators: [{
|
|
27783
28066
|
type: Component,
|
|
@@ -28033,7 +28316,7 @@ class UserPreviewComponent {
|
|
|
28033
28316
|
return (this.user.name + ' ' + this.user.surname).trim();
|
|
28034
28317
|
}
|
|
28035
28318
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28036
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserPreviewComponent, selector: "gn-ui-user-preview", inputs: { user: "user", avatarPlaceholder: "avatarPlaceholder" }, ngImport: i0, template: "<figure class=\"text-center\">\n <div\n class=\"w-12 h-12 border border-primary rounded-full capitalize\"\n [matTooltip]=\"userFullName\"\n >\n <gn-ui-avatar\n [avatarUrl]=\"user.profileIcon\"\n [avatarPlaceholder]=\"avatarPlaceholder\"\n ></gn-ui-avatar>\n </div>\n</figure>\n", dependencies: [{ kind: "directive", type: i2$
|
|
28319
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserPreviewComponent, selector: "gn-ui-user-preview", inputs: { user: "user", avatarPlaceholder: "avatarPlaceholder" }, ngImport: i0, template: "<figure class=\"text-center\">\n <div\n class=\"w-12 h-12 border border-primary rounded-full capitalize\"\n [matTooltip]=\"userFullName\"\n >\n <gn-ui-avatar\n [avatarUrl]=\"user.profileIcon\"\n [avatarPlaceholder]=\"avatarPlaceholder\"\n ></gn-ui-avatar>\n </div>\n</figure>\n", dependencies: [{ kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: AvatarComponent, selector: "gn-ui-avatar", inputs: ["avatarUrl", "avatarPlaceholder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28037
28320
|
}
|
|
28038
28321
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreviewComponent, decorators: [{
|
|
28039
28322
|
type: Component,
|
|
@@ -28166,7 +28449,6 @@ class UiElementsModule {
|
|
|
28166
28449
|
UserPreviewComponent,
|
|
28167
28450
|
GnUiLinkifyDirective,
|
|
28168
28451
|
PaginationButtonsComponent,
|
|
28169
|
-
MaxLinesComponent,
|
|
28170
28452
|
RecordApiFormComponent,
|
|
28171
28453
|
UserFeedbackItemComponent,
|
|
28172
28454
|
ImageOverlayPreviewComponent], imports: [CommonModule,
|
|
@@ -28181,7 +28463,8 @@ class UiElementsModule {
|
|
|
28181
28463
|
MarkdownParserComponent,
|
|
28182
28464
|
ThumbnailComponent,
|
|
28183
28465
|
TimeSincePipe,
|
|
28184
|
-
BadgeComponent
|
|
28466
|
+
BadgeComponent,
|
|
28467
|
+
MaxLinesComponent], exports: [MetadataInfoComponent,
|
|
28185
28468
|
ContentGhostComponent,
|
|
28186
28469
|
DownloadItemComponent,
|
|
28187
28470
|
DownloadsListComponent,
|
|
@@ -28197,7 +28480,6 @@ class UiElementsModule {
|
|
|
28197
28480
|
AvatarComponent,
|
|
28198
28481
|
UserPreviewComponent,
|
|
28199
28482
|
PaginationButtonsComponent,
|
|
28200
|
-
MaxLinesComponent,
|
|
28201
28483
|
RecordApiFormComponent,
|
|
28202
28484
|
MarkdownParserComponent,
|
|
28203
28485
|
UserFeedbackItemComponent,
|
|
@@ -28213,7 +28495,8 @@ class UiElementsModule {
|
|
|
28213
28495
|
UiInputsModule,
|
|
28214
28496
|
FormsModule,
|
|
28215
28497
|
ThumbnailComponent,
|
|
28216
|
-
BadgeComponent
|
|
28498
|
+
BadgeComponent,
|
|
28499
|
+
MaxLinesComponent] }); }
|
|
28217
28500
|
}
|
|
28218
28501
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiElementsModule, decorators: [{
|
|
28219
28502
|
type: NgModule,
|
|
@@ -28234,6 +28517,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28234
28517
|
ThumbnailComponent,
|
|
28235
28518
|
TimeSincePipe,
|
|
28236
28519
|
BadgeComponent,
|
|
28520
|
+
MaxLinesComponent,
|
|
28237
28521
|
],
|
|
28238
28522
|
declarations: [
|
|
28239
28523
|
MetadataInfoComponent,
|
|
@@ -28252,7 +28536,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28252
28536
|
UserPreviewComponent,
|
|
28253
28537
|
GnUiLinkifyDirective,
|
|
28254
28538
|
PaginationButtonsComponent,
|
|
28255
|
-
MaxLinesComponent,
|
|
28256
28539
|
RecordApiFormComponent,
|
|
28257
28540
|
UserFeedbackItemComponent,
|
|
28258
28541
|
ImageOverlayPreviewComponent,
|
|
@@ -28274,7 +28557,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28274
28557
|
AvatarComponent,
|
|
28275
28558
|
UserPreviewComponent,
|
|
28276
28559
|
PaginationButtonsComponent,
|
|
28277
|
-
MaxLinesComponent,
|
|
28278
28560
|
RecordApiFormComponent,
|
|
28279
28561
|
MarkdownParserComponent,
|
|
28280
28562
|
UserFeedbackItemComponent,
|
|
@@ -28387,6 +28669,113 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28387
28669
|
}]
|
|
28388
28670
|
}] });
|
|
28389
28671
|
|
|
28672
|
+
class ResultsTableComponent {
|
|
28673
|
+
constructor() {
|
|
28674
|
+
this.records = [];
|
|
28675
|
+
this.selectedRecordsIdentifiers = [];
|
|
28676
|
+
this.sortOrder = null;
|
|
28677
|
+
this.recordHasDraft = () => false;
|
|
28678
|
+
// emits the column (field) as well as the order
|
|
28679
|
+
this.sortByChange = new EventEmitter();
|
|
28680
|
+
this.recordClick = new EventEmitter();
|
|
28681
|
+
this.recordsSelectedChange = new EventEmitter();
|
|
28682
|
+
}
|
|
28683
|
+
dateToString(date) {
|
|
28684
|
+
return date?.toLocaleDateString(undefined, {
|
|
28685
|
+
year: 'numeric',
|
|
28686
|
+
month: 'long',
|
|
28687
|
+
day: 'numeric',
|
|
28688
|
+
timeZone: 'UTC',
|
|
28689
|
+
});
|
|
28690
|
+
}
|
|
28691
|
+
getStatus(isPublishedToAll) {
|
|
28692
|
+
return isPublishedToAll ? 'published' : 'not published';
|
|
28693
|
+
}
|
|
28694
|
+
getRecordFormats(record) {
|
|
28695
|
+
if (record.kind === 'service' || !('distributions' in record)) {
|
|
28696
|
+
return [];
|
|
28697
|
+
}
|
|
28698
|
+
const formats = Array.from(new Set(record.distributions.map((distribution) => getFileFormat(distribution)))).filter((format) => !!format);
|
|
28699
|
+
formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a));
|
|
28700
|
+
return formats;
|
|
28701
|
+
}
|
|
28702
|
+
formatUserInfo(userInfo) {
|
|
28703
|
+
const infos = (typeof userInfo === 'string' ? userInfo : '').split('|');
|
|
28704
|
+
if (infos && infos.length === 4) {
|
|
28705
|
+
return `${infos[2]} ${infos[1]}`;
|
|
28706
|
+
}
|
|
28707
|
+
return undefined;
|
|
28708
|
+
}
|
|
28709
|
+
getBadgeColor(format) {
|
|
28710
|
+
return getBadgeColor(format);
|
|
28711
|
+
}
|
|
28712
|
+
handleRecordClick(item) {
|
|
28713
|
+
this.recordClick.emit(item);
|
|
28714
|
+
}
|
|
28715
|
+
setSortBy(col, order) {
|
|
28716
|
+
this.sortByChange.emit([col, order]);
|
|
28717
|
+
}
|
|
28718
|
+
isSortedBy(col) {
|
|
28719
|
+
if (!this.sortOrder) {
|
|
28720
|
+
return null;
|
|
28721
|
+
}
|
|
28722
|
+
const sortArray = Array.isArray(this.sortOrder[0])
|
|
28723
|
+
? this.sortOrder
|
|
28724
|
+
: [this.sortOrder];
|
|
28725
|
+
for (const sort of sortArray) {
|
|
28726
|
+
if (sort[1] === col) {
|
|
28727
|
+
return sort[0];
|
|
28728
|
+
}
|
|
28729
|
+
}
|
|
28730
|
+
return null;
|
|
28731
|
+
}
|
|
28732
|
+
isChecked(record) {
|
|
28733
|
+
return this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier);
|
|
28734
|
+
}
|
|
28735
|
+
handleRecordSelectedChange(selected, record) {
|
|
28736
|
+
this.recordsSelectedChange.emit([[record], selected]);
|
|
28737
|
+
}
|
|
28738
|
+
async toggleSelectAll() {
|
|
28739
|
+
this.recordsSelectedChange.emit([this.records, !this.isAllSelected()]);
|
|
28740
|
+
}
|
|
28741
|
+
isAllSelected() {
|
|
28742
|
+
return this.records.every((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
|
|
28743
|
+
}
|
|
28744
|
+
isSomeSelected() {
|
|
28745
|
+
const allSelected = this.records.every((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
|
|
28746
|
+
const someSelected = this.records.some((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
|
|
28747
|
+
return !allSelected && someSelected;
|
|
28748
|
+
}
|
|
28749
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28750
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", recordHasDraft: "recordHasDraft" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", recordsSelectedChange: "recordsSelectedChange" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\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 [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\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\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>\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\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white 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-sm text-white 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\" *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 [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\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$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { 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"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
28751
|
+
}
|
|
28752
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
28753
|
+
type: Component,
|
|
28754
|
+
args: [{ selector: 'gn-ui-results-table', standalone: true, imports: [
|
|
28755
|
+
CommonModule,
|
|
28756
|
+
UiInputsModule,
|
|
28757
|
+
InteractiveTableComponent,
|
|
28758
|
+
InteractiveTableColumnComponent,
|
|
28759
|
+
MatIconModule,
|
|
28760
|
+
TranslateModule,
|
|
28761
|
+
BadgeComponent,
|
|
28762
|
+
], template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\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 [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\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\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>\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\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white 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-sm text-white 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\" *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 [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
28763
|
+
}], propDecorators: { records: [{
|
|
28764
|
+
type: Input
|
|
28765
|
+
}], selectedRecordsIdentifiers: [{
|
|
28766
|
+
type: Input
|
|
28767
|
+
}], sortOrder: [{
|
|
28768
|
+
type: Input
|
|
28769
|
+
}], recordHasDraft: [{
|
|
28770
|
+
type: Input
|
|
28771
|
+
}], sortByChange: [{
|
|
28772
|
+
type: Output
|
|
28773
|
+
}], recordClick: [{
|
|
28774
|
+
type: Output
|
|
28775
|
+
}], recordsSelectedChange: [{
|
|
28776
|
+
type: Output
|
|
28777
|
+
}] } });
|
|
28778
|
+
|
|
28390
28779
|
const ADD_SEARCH = '[Search] Add search instance';
|
|
28391
28780
|
const SET_FILTERS = '[Search] Set Filters';
|
|
28392
28781
|
const SET_CONFIG_FILTERS = '[Search] Set config filters';
|
|
@@ -28924,6 +29313,9 @@ const getSearchResults = createSelector(getSearchStateSearch, (state) => state.r
|
|
|
28924
29313
|
const getSearchResultsLoading = createSelector(getSearchStateSearch, (state) => state.loadingResults);
|
|
28925
29314
|
const getSearchResultsAggregations = createSelector(getSearchStateSearch, (state) => state.results.aggregations);
|
|
28926
29315
|
const getSearchResultsHits = createSelector(getSearchStateSearch, (state) => state.results.count);
|
|
29316
|
+
const isBeginningOfResults = createSelector(getSearchStateSearch, (state) => {
|
|
29317
|
+
return state.params.currentPage === 0;
|
|
29318
|
+
});
|
|
28927
29319
|
const isEndOfResults = createSelector(getSearchStateSearch, (state) => {
|
|
28928
29320
|
return (state.params.currentPage * state.params.pageSize +
|
|
28929
29321
|
state.params.pageSize >=
|
|
@@ -28957,6 +29349,7 @@ class SearchFacade {
|
|
|
28957
29349
|
this.isLoading$ = this.store.pipe(select(getSearchResultsLoading, searchId));
|
|
28958
29350
|
this.searchFilters$ = this.store.pipe(select(getSearchFilters, searchId));
|
|
28959
29351
|
this.resultsHits$ = this.store.pipe(select(getSearchResultsHits, searchId));
|
|
29352
|
+
this.isBeginningOfResults$ = this.store.pipe(select(isBeginningOfResults, searchId));
|
|
28960
29353
|
this.isEndOfResults$ = this.store.pipe(select(isEndOfResults, searchId));
|
|
28961
29354
|
this.totalPages$ = this.store.pipe(select(totalPages, searchId));
|
|
28962
29355
|
this.currentPage$ = this.store.pipe(select(currentPage, searchId));
|
|
@@ -29364,7 +29757,7 @@ class SearchService {
|
|
|
29364
29757
|
}
|
|
29365
29758
|
updateFilters(params) {
|
|
29366
29759
|
this.facade.searchFilters$
|
|
29367
|
-
.pipe(first(), map$1((filters) => ({ ...filters, ...params })))
|
|
29760
|
+
.pipe(first$1(), map$1((filters) => ({ ...filters, ...params })))
|
|
29368
29761
|
.subscribe((filters) => this.facade.setFilters(filters));
|
|
29369
29762
|
}
|
|
29370
29763
|
setFilters(params) {
|
|
@@ -29397,7 +29790,7 @@ class FuzzySearchComponent {
|
|
|
29397
29790
|
this.autoFocus = false;
|
|
29398
29791
|
this.itemSelected = new EventEmitter();
|
|
29399
29792
|
this.inputSubmitted = new EventEmitter();
|
|
29400
|
-
this.displayWithFn = (record) => record
|
|
29793
|
+
this.displayWithFn = (record) => record.title;
|
|
29401
29794
|
this.autoCompleteAction = (query) => this.recordsRepository
|
|
29402
29795
|
.fuzzySearch(query)
|
|
29403
29796
|
.pipe(map$1((result) => result.records));
|
|
@@ -29437,7 +29830,7 @@ class FuzzySearchComponent {
|
|
|
29437
29830
|
}
|
|
29438
29831
|
}
|
|
29439
29832
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FuzzySearchComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29440
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 [clearOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n></gn-ui-autocomplete>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "autoFocus", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29833
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 [clearOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n></gn-ui-autocomplete>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29441
29834
|
}
|
|
29442
29835
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FuzzySearchComponent, decorators: [{
|
|
29443
29836
|
type: Component,
|
|
@@ -30153,12 +30546,14 @@ marker('search.filters.keyword');
|
|
|
30153
30546
|
marker('search.filters.isSpatial');
|
|
30154
30547
|
marker('search.filters.license');
|
|
30155
30548
|
marker('search.filters.publicationYear');
|
|
30156
|
-
marker('search.filters.
|
|
30549
|
+
marker('search.filters.organization');
|
|
30157
30550
|
marker('search.filters.representationType');
|
|
30158
30551
|
marker('search.filters.resourceType');
|
|
30159
30552
|
marker('search.filters.standard');
|
|
30160
30553
|
marker('search.filters.topic');
|
|
30161
30554
|
marker('search.filters.contact');
|
|
30555
|
+
marker('search.filters.producerOrg');
|
|
30556
|
+
marker('search.filters.publisherOrg');
|
|
30162
30557
|
class FieldsService {
|
|
30163
30558
|
get supportedFields() {
|
|
30164
30559
|
return Object.keys(this.fields);
|
|
@@ -30166,7 +30561,7 @@ class FieldsService {
|
|
|
30166
30561
|
constructor(injector) {
|
|
30167
30562
|
this.injector = injector;
|
|
30168
30563
|
this.fields = {
|
|
30169
|
-
|
|
30564
|
+
organization: new OrganizationSearchField(this.injector),
|
|
30170
30565
|
format: new SimpleSearchField('format', this.injector, 'asc'),
|
|
30171
30566
|
resourceType: new TranslatedSearchField('resourceType', this.injector, 'asc'),
|
|
30172
30567
|
representationType: new TranslatedSearchField('cl_spatialRepresentationType.key', this.injector, 'asc'),
|
|
@@ -30179,6 +30574,8 @@ class FieldsService {
|
|
|
30179
30574
|
q: new FullTextSearchField(),
|
|
30180
30575
|
license: new LicenseSearchField(this.injector),
|
|
30181
30576
|
owner: new OwnerSearchField(this.injector),
|
|
30577
|
+
producerOrg: new MultilingualSearchField('originatorOrgForResourceObject', this.injector, 'asc', 'key'),
|
|
30578
|
+
publisherOrg: new MultilingualSearchField('distributorOrgForResourceObject', this.injector, 'asc', 'key'),
|
|
30182
30579
|
};
|
|
30183
30580
|
}
|
|
30184
30581
|
getAvailableValues(fieldName) {
|
|
@@ -30265,7 +30662,8 @@ class FeatureSearchModule {
|
|
|
30265
30662
|
UiElementsModule,
|
|
30266
30663
|
FacetsModule,
|
|
30267
30664
|
MatIconModule,
|
|
30268
|
-
UiWidgetsModule
|
|
30665
|
+
UiWidgetsModule,
|
|
30666
|
+
AutocompleteComponent], exports: [SortByComponent,
|
|
30269
30667
|
ResultsLayoutComponent,
|
|
30270
30668
|
FuzzySearchComponent,
|
|
30271
30669
|
RecordsMetricsComponent,
|
|
@@ -30293,7 +30691,8 @@ class FeatureSearchModule {
|
|
|
30293
30691
|
UiElementsModule,
|
|
30294
30692
|
FacetsModule,
|
|
30295
30693
|
MatIconModule,
|
|
30296
|
-
UiWidgetsModule,
|
|
30694
|
+
UiWidgetsModule,
|
|
30695
|
+
AutocompleteComponent, FacetsModule] }); }
|
|
30297
30696
|
}
|
|
30298
30697
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureSearchModule, decorators: [{
|
|
30299
30698
|
type: NgModule,
|
|
@@ -30324,6 +30723,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
30324
30723
|
FacetsModule,
|
|
30325
30724
|
MatIconModule,
|
|
30326
30725
|
UiWidgetsModule,
|
|
30726
|
+
AutocompleteComponent,
|
|
30327
30727
|
],
|
|
30328
30728
|
exports: [
|
|
30329
30729
|
SortByComponent,
|
|
@@ -30346,7 +30746,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
30346
30746
|
}]
|
|
30347
30747
|
}] });
|
|
30348
30748
|
|
|
30349
|
-
class
|
|
30749
|
+
class ResultsTableContainerComponent {
|
|
30350
30750
|
constructor(searchFacade, searchService, selectionService, recordsRepository) {
|
|
30351
30751
|
this.searchFacade = searchFacade;
|
|
30352
30752
|
this.searchService = searchService;
|
|
@@ -30355,106 +30755,29 @@ class ResultsTableComponent {
|
|
|
30355
30755
|
this.recordClick = new EventEmitter();
|
|
30356
30756
|
this.records$ = this.searchFacade.results$;
|
|
30357
30757
|
this.selectedRecords$ = this.selectionService.selectedRecordsIdentifiers$;
|
|
30358
|
-
|
|
30359
|
-
|
|
30360
|
-
return date?.toLocaleDateString(undefined, {
|
|
30361
|
-
year: 'numeric',
|
|
30362
|
-
month: 'long',
|
|
30363
|
-
day: 'numeric',
|
|
30364
|
-
timeZone: 'UTC',
|
|
30365
|
-
});
|
|
30366
|
-
}
|
|
30367
|
-
getStatus(isPublishedToAll) {
|
|
30368
|
-
return isPublishedToAll ? 'published' : 'not published';
|
|
30369
|
-
}
|
|
30370
|
-
getRecordFormats(record) {
|
|
30371
|
-
if (record.kind === 'service' || !('distributions' in record)) {
|
|
30372
|
-
return [];
|
|
30373
|
-
}
|
|
30374
|
-
const formats = Array.from(new Set(record.distributions.map((distribution) => getFileFormat(distribution)))).filter((format) => !!format);
|
|
30375
|
-
formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a));
|
|
30376
|
-
return formats;
|
|
30377
|
-
}
|
|
30378
|
-
formatUserInfo(userInfo) {
|
|
30379
|
-
const infos = (typeof userInfo === 'string' ? userInfo : '').split('|');
|
|
30380
|
-
if (infos && infos.length === 4) {
|
|
30381
|
-
return `${infos[2]} ${infos[1]}`;
|
|
30382
|
-
}
|
|
30383
|
-
return undefined;
|
|
30384
|
-
}
|
|
30385
|
-
getBadgeColor(format) {
|
|
30386
|
-
return getBadgeColor(format);
|
|
30758
|
+
this.sortBy$ = this.searchFacade.sortBy$;
|
|
30759
|
+
this.hasDraft = (record) => this.recordsRepository.recordHasDraft(record.uniqueIdentifier);
|
|
30387
30760
|
}
|
|
30388
30761
|
handleRecordClick(item) {
|
|
30389
30762
|
this.recordClick.emit(item);
|
|
30390
30763
|
}
|
|
30391
|
-
|
|
30764
|
+
handleSortByChange(col, order) {
|
|
30392
30765
|
this.searchService.setSortBy([order, col]);
|
|
30393
30766
|
}
|
|
30394
|
-
|
|
30395
|
-
return this.searchFacade.sortBy$.pipe(take(1), map$1((sortOrder) => {
|
|
30396
|
-
const sortArray = Array.isArray(sortOrder[0])
|
|
30397
|
-
? sortOrder
|
|
30398
|
-
: [sortOrder];
|
|
30399
|
-
for (const sort of sortArray) {
|
|
30400
|
-
if (sort[1] === col) {
|
|
30401
|
-
return sort[0];
|
|
30402
|
-
}
|
|
30403
|
-
}
|
|
30404
|
-
return null;
|
|
30405
|
-
}));
|
|
30406
|
-
}
|
|
30407
|
-
isChecked(record) {
|
|
30408
|
-
return this.selectedRecords$.pipe(take(1), map$1((selectedRecords) => {
|
|
30409
|
-
return selectedRecords.includes(record.uniqueIdentifier);
|
|
30410
|
-
}));
|
|
30411
|
-
}
|
|
30412
|
-
handleRecordSelectedChange(selected, record) {
|
|
30767
|
+
handleRecordsSelectedChange(records, selected) {
|
|
30413
30768
|
if (!selected) {
|
|
30414
|
-
this.selectionService.deselectRecords([record]);
|
|
30415
|
-
}
|
|
30416
|
-
else {
|
|
30417
|
-
this.selectionService.selectRecords([record]);
|
|
30418
|
-
}
|
|
30419
|
-
}
|
|
30420
|
-
async toggleSelectAll() {
|
|
30421
|
-
const records = await firstValueFrom(this.records$);
|
|
30422
|
-
if (await firstValueFrom(this.isAllSelected())) {
|
|
30423
30769
|
this.selectionService.deselectRecords(records);
|
|
30424
30770
|
}
|
|
30425
30771
|
else {
|
|
30426
30772
|
this.selectionService.selectRecords(records);
|
|
30427
30773
|
}
|
|
30428
30774
|
}
|
|
30429
|
-
|
|
30430
|
-
|
|
30431
|
-
return records.every((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
30432
|
-
}));
|
|
30433
|
-
}
|
|
30434
|
-
isSomeSelected() {
|
|
30435
|
-
return combineLatest([this.records$, this.selectedRecords$]).pipe(take(1), map$1(([records, selectedRecords]) => {
|
|
30436
|
-
const allSelected = records.every((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
30437
|
-
const someSelected = records.some((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
30438
|
-
return !allSelected && someSelected;
|
|
30439
|
-
}));
|
|
30440
|
-
}
|
|
30441
|
-
hasDraft(record) {
|
|
30442
|
-
return this.recordsRepository.recordHasDraft(record.uniqueIdentifier);
|
|
30443
|
-
}
|
|
30444
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30445
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", outputs: { recordClick: "recordClick" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records$ | async\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected() | async\"\n [indeterminate]=\"isSomeSelected() | async\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item) | async\"\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 [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword') | async\"\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\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\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>\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\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white 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-sm text-white 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\" *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 [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner') | async\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate') | async\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\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$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: UiInputsModule }, { 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"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30775
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableContainerComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30776
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", outputs: { recordClick: "recordClick" }, ngImport: i0, template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($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: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "recordHasDraft"], outputs: ["sortByChange", "recordClick", "recordsSelectedChange"] }] }); }
|
|
30446
30777
|
}
|
|
30447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
30778
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
30448
30779
|
type: Component,
|
|
30449
|
-
args: [{ selector: 'gn-ui-results-table', standalone: true, imports: [
|
|
30450
|
-
CommonModule,
|
|
30451
|
-
UiInputsModule,
|
|
30452
|
-
InteractiveTableComponent,
|
|
30453
|
-
InteractiveTableColumnComponent,
|
|
30454
|
-
MatIconModule,
|
|
30455
|
-
TranslateModule,
|
|
30456
|
-
BadgeComponent,
|
|
30457
|
-
], template: "<gn-ui-interactive-table\n [items]=\"records$ | async\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected() | async\"\n [indeterminate]=\"isSomeSelected() | async\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item) | async\"\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 [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword') | async\"\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\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\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>\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\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white 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-sm text-white 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\" *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 [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner') | async\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate') | async\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30780
|
+
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n" }]
|
|
30458
30781
|
}], ctorParameters: function () { return [{ type: SearchFacade }, { type: SearchService }, { type: SelectionService }, { type: RecordsRepositoryInterface }]; }, propDecorators: { recordClick: [{
|
|
30459
30782
|
type: Output
|
|
30460
30783
|
}] } });
|
|
@@ -30756,7 +31079,7 @@ class LayersPanelComponent {
|
|
|
30756
31079
|
this.mapFacade.addLayer(layer);
|
|
30757
31080
|
}
|
|
30758
31081
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayersPanelComponent, deps: [{ token: MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30759
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$
|
|
31082
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$5.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i2$5.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: AddLayerFromOgcApiComponent, selector: "gn-ui-add-layer-from-ogc-api", inputs: ["ogcUrl"], outputs: ["layerAdded"] }, { kind: "component", type: AddLayerFromCatalogComponent, selector: "gn-ui-add-layer-from-catalog" }, { kind: "component", type: AddLayerFromWmsComponent, selector: "gn-ui-add-layer-from-wms" }, { kind: "component", type: AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file" }, { kind: "component", type: AddLayerFromWfsComponent, selector: "gn-ui-add-layer-from-wfs" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30760
31083
|
}
|
|
30761
31084
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayersPanelComponent, decorators: [{
|
|
30762
31085
|
type: Component,
|
|
@@ -31270,12 +31593,9 @@ const getAddUserFeedbacksLoading = createSelector(getMdViewState, (state) => sta
|
|
|
31270
31593
|
|
|
31271
31594
|
class FigureComponent {
|
|
31272
31595
|
constructor() {
|
|
31596
|
+
this.unit = '';
|
|
31273
31597
|
this.color = 'primary';
|
|
31274
31598
|
}
|
|
31275
|
-
get hoverTitle() {
|
|
31276
|
-
return `${this.figure.toString()} ${this.unit || ''}
|
|
31277
|
-
${this.title}`;
|
|
31278
|
-
}
|
|
31279
31599
|
get textClass() {
|
|
31280
31600
|
return this.color === 'primary' ? 'text-primary' : 'text-secondary';
|
|
31281
31601
|
}
|
|
@@ -31283,11 +31603,11 @@ ${this.title}`;
|
|
|
31283
31603
|
return this.color === 'primary' ? 'bg-primary-white' : 'bg-secondary-white';
|
|
31284
31604
|
}
|
|
31285
31605
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31286
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureComponent, selector: "gn-ui-figure", inputs: { icon: "icon", title: "title", figure: "figure", unit: "unit", color: "color" }, ngImport: i0, template: "<div\n
|
|
31606
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureComponent, selector: "gn-ui-figure", inputs: { icon: "icon", title: "title", figure: "figure", unit: "unit", color: "color" }, ngImport: i0, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <mat-icon\n class=\"material-symbols-outlined {{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] p-[0.6em] w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n >\n {{ icon }}\n </mat-icon>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31287
31607
|
}
|
|
31288
31608
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureComponent, decorators: [{
|
|
31289
31609
|
type: Component,
|
|
31290
|
-
args: [{ selector: 'gn-ui-figure', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n
|
|
31610
|
+
args: [{ selector: 'gn-ui-figure', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <mat-icon\n class=\"material-symbols-outlined {{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] p-[0.6em] w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n >\n {{ icon }}\n </mat-icon>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"] }]
|
|
31291
31611
|
}], propDecorators: { icon: [{
|
|
31292
31612
|
type: Input
|
|
31293
31613
|
}], title: [{
|
|
@@ -31501,7 +31821,7 @@ class TableComponent {
|
|
|
31501
31821
|
return rowIdPrefix + id;
|
|
31502
31822
|
}
|
|
31503
31823
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31504
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, isStandalone: true, selector: "gn-ui-table", inputs: { data: "data", activeId: "activeId" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"border border-gray-300 rounded-lg overflow-hidden bg-white h-full\">\n <cdk-virtual-scroll-viewport\n tvsItemSize=\"48\"\n headerHeight=\"56\"\n style=\"height: calc(100% - 37px)\"\n >\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z8\" matSort>\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 </cdk-virtual-scroll-viewport>\n <div class=\"text-gray-900 border-t border-gray-300 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</div>\n", styles: ["table{width:100%;background:white}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:whitesmoke}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)}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1$9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i1$9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2$
|
|
31824
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, isStandalone: true, selector: "gn-ui-table", inputs: { data: "data", activeId: "activeId" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"border border-gray-300 rounded-lg overflow-hidden bg-white h-full\">\n <cdk-virtual-scroll-viewport\n tvsItemSize=\"48\"\n headerHeight=\"56\"\n style=\"height: calc(100% - 37px)\"\n >\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z8\" matSort>\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 </cdk-virtual-scroll-viewport>\n <div class=\"text-gray-900 border-t border-gray-300 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</div>\n", styles: ["table{width:100%;background:white}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:whitesmoke}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)}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1$9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i1$9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2$6.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2$6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: TableVirtualScrollModule }, { kind: "directive", type: i3$2.TableItemSizeDirective, selector: "cdk-virtual-scroll-viewport[tvsItemSize]", inputs: ["tvsItemSize", "headerEnabled", "headerHeight", "footerEnabled", "footerHeight", "bufferMultiplier"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "component", type: i4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31505
31825
|
}
|
|
31506
31826
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, decorators: [{
|
|
31507
31827
|
type: Component,
|
|
@@ -32602,7 +32922,7 @@ class TableViewComponent {
|
|
|
32602
32922
|
this.loading = false;
|
|
32603
32923
|
}
|
|
32604
32924
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableViewComponent, deps: [{ token: DataService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32605
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableViewComponent, 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 [data]=\"tableData$ | async\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-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=\"error_outline\"\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: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableComponent, selector: "gn-ui-table", inputs: ["data", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "
|
|
32925
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableViewComponent, 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 [data]=\"tableData$ | async\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-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=\"error_outline\"\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: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableComponent, selector: "gn-ui-table", inputs: ["data", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32606
32926
|
}
|
|
32607
32927
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableViewComponent, decorators: [{
|
|
32608
32928
|
type: Component,
|
|
@@ -32764,7 +33084,7 @@ class ChartViewComponent {
|
|
|
32764
33084
|
this.changeDetector.detectChanges();
|
|
32765
33085
|
}
|
|
32766
33086
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartViewComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32767
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChartViewComponent, 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=\"error_outline\"\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: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type:
|
|
33087
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChartViewComponent, 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=\"error_outline\"\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: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32768
33088
|
}
|
|
32769
33089
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartViewComponent, decorators: [{
|
|
32770
33090
|
type: Component,
|
|
@@ -32796,7 +33116,8 @@ class FeatureDatavizModule {
|
|
|
32796
33116
|
UiWidgetsModule,
|
|
32797
33117
|
TranslateModule,
|
|
32798
33118
|
ChartComponent,
|
|
32799
|
-
UiInputsModule
|
|
33119
|
+
UiInputsModule,
|
|
33120
|
+
PopupAlertComponent], exports: [GeoTableViewComponent,
|
|
32800
33121
|
FigureContainerComponent,
|
|
32801
33122
|
TableViewComponent,
|
|
32802
33123
|
ChartViewComponent] }); }
|
|
@@ -32807,7 +33128,8 @@ class FeatureDatavizModule {
|
|
|
32807
33128
|
TableComponent,
|
|
32808
33129
|
UiWidgetsModule,
|
|
32809
33130
|
TranslateModule,
|
|
32810
|
-
UiInputsModule
|
|
33131
|
+
UiInputsModule,
|
|
33132
|
+
PopupAlertComponent] }); }
|
|
32811
33133
|
}
|
|
32812
33134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureDatavizModule, decorators: [{
|
|
32813
33135
|
type: NgModule,
|
|
@@ -32822,6 +33144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
32822
33144
|
TranslateModule,
|
|
32823
33145
|
ChartComponent,
|
|
32824
33146
|
UiInputsModule,
|
|
33147
|
+
PopupAlertComponent,
|
|
32825
33148
|
],
|
|
32826
33149
|
declarations: [
|
|
32827
33150
|
GeoTableViewComponent,
|
|
@@ -32863,9 +33186,7 @@ class MdViewFacade {
|
|
|
32863
33186
|
this.downloadLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DOWNLOAD))));
|
|
32864
33187
|
this.dataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DATA))));
|
|
32865
33188
|
this.geoDataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.GEODATA))));
|
|
32866
|
-
this.geoDataLinksWithGeometry$ = this.allLinks$.pipe(
|
|
32867
|
-
return from(links);
|
|
32868
|
-
}), mergeMap((link) => {
|
|
33189
|
+
this.geoDataLinksWithGeometry$ = this.allLinks$.pipe(switchMap$1((links) => from(links).pipe(mergeMap((link) => {
|
|
32869
33190
|
if (this.linkClassifier.hasUsage(link, LinkUsage.GEODATA)) {
|
|
32870
33191
|
if (link.type === 'service' &&
|
|
32871
33192
|
link.accessServiceProtocol === 'ogcFeatures') {
|
|
@@ -32873,7 +33194,10 @@ class MdViewFacade {
|
|
|
32873
33194
|
return collectionRecords && collectionRecords.geometry
|
|
32874
33195
|
? link
|
|
32875
33196
|
: null;
|
|
32876
|
-
}), defaultIfEmpty(null))
|
|
33197
|
+
}), defaultIfEmpty(null), catchError((e) => {
|
|
33198
|
+
console.error(e);
|
|
33199
|
+
return of(null);
|
|
33200
|
+
}));
|
|
32877
33201
|
}
|
|
32878
33202
|
else {
|
|
32879
33203
|
return of(link);
|
|
@@ -32882,12 +33206,7 @@ class MdViewFacade {
|
|
|
32882
33206
|
else {
|
|
32883
33207
|
return of(null);
|
|
32884
33208
|
}
|
|
32885
|
-
}),
|
|
32886
|
-
if (val !== null && !acc.includes(val)) {
|
|
32887
|
-
acc.push(val);
|
|
32888
|
-
}
|
|
32889
|
-
return acc;
|
|
32890
|
-
}, []));
|
|
33209
|
+
}), toArray(), map$1((links) => links.filter((link) => link !== null)))));
|
|
32891
33210
|
this.landingPageLinks$ = this.metadata$.pipe(map$1((record) => ('landingPage' in record ? [record.landingPage] : [])));
|
|
32892
33211
|
this.otherLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.UNKNOWN))));
|
|
32893
33212
|
this.userFeedbacks$ = this.store.pipe(select(getUserFeedbacks));
|
|
@@ -33154,7 +33473,7 @@ class MapViewComponent {
|
|
|
33154
33473
|
this.selectedLinkIndex$.next(link);
|
|
33155
33474
|
}
|
|
33156
33475
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapViewComponent, deps: [{ token: MdViewFacade }, { token: MapManagerService }, { token: MapUtilsService }, { token: DataService }, { token: FeatureInfoService }, { token: i0.ChangeDetectorRef }, { token: MapStyleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33157
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapViewComponent, selector: "gn-ui-map-view", ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-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 [mapConfig]=\"mapConfig\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-context\n [context]=\"mapContext$ | async\"\n [mapConfig]=\"mapConfig\"\n ></gn-ui-map-context>\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 <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\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=\"error_outline\"\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: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MapContextComponent, selector: "gn-ui-map-context", inputs: ["context", "mapConfig"], outputs: ["featureClicked"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "
|
|
33476
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapViewComponent, selector: "gn-ui-map-view", ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end mb-7 mt-1\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-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 [mapConfig]=\"mapConfig\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-context\n [context]=\"mapContext$ | async\"\n [mapConfig]=\"mapConfig\"\n ></gn-ui-map-context>\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 <button\n (click)=\"resetSelection()\"\n class=\"rounded bg-primary-opacity-25 text-white absolute right-[0.5em]\"\n >\n <mat-icon\n class=\"material-symbols-outlined align-middle text-sm\"\n style=\"height: 21px\"\n >close</mat-icon\n >\n </button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\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=\"error_outline\"\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: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MapContextComponent, selector: "gn-ui-map-context", inputs: ["context", "mapConfig"], outputs: ["featureClicked"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link", "mapConfig"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33158
33477
|
}
|
|
33159
33478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapViewComponent, decorators: [{
|
|
33160
33479
|
type: Component,
|
|
@@ -33239,15 +33558,15 @@ class OrganisationPreviewComponent {
|
|
|
33239
33558
|
}
|
|
33240
33559
|
clickOrganisation(event) {
|
|
33241
33560
|
event.preventDefault();
|
|
33242
|
-
this.clickedOrganisation.emit(this.
|
|
33561
|
+
this.clickedOrganisation.emit(this.organization);
|
|
33243
33562
|
}
|
|
33244
33563
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33245
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: {
|
|
33564
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: { organization: "organization", organisationUrl: "organisationUrl" }, outputs: { clickedOrganisation: "clickedOrganisation" }, ngImport: i0, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organization.name\"\n >\n <div\n class=\"shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organization.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col grow overflow-hidden\">\n <span\n class=\"shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organization.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 grow shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organization.description }}\n </p>\n <div class=\"shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organization.recordCount\n }}</span>\n <span translate [translateParams]=\"{ count: organization.recordCount }\"\n >record.metadata.publications</span\n >\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33246
33565
|
}
|
|
33247
33566
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationPreviewComponent, decorators: [{
|
|
33248
33567
|
type: Component,
|
|
33249
|
-
args: [{ selector: 'gn-ui-organisation-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"
|
|
33250
|
-
}], propDecorators: {
|
|
33568
|
+
args: [{ selector: 'gn-ui-organisation-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organization.name\"\n >\n <div\n class=\"shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organization.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col grow overflow-hidden\">\n <span\n class=\"shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organization.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 grow shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organization.description }}\n </p>\n <div class=\"shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organization.recordCount\n }}</span>\n <span translate [translateParams]=\"{ count: organization.recordCount }\"\n >record.metadata.publications</span\n >\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"] }]
|
|
33569
|
+
}], propDecorators: { organization: [{
|
|
33251
33570
|
type: Input
|
|
33252
33571
|
}], organisationUrl: [{
|
|
33253
33572
|
type: Input
|
|
@@ -33359,7 +33678,8 @@ class UiCatalogModule {
|
|
|
33359
33678
|
LanguageSwitcherComponent,
|
|
33360
33679
|
OrganisationsResultComponent], imports: [CommonModule, i1$1.TranslateModule, UiElementsModule,
|
|
33361
33680
|
UiInputsModule,
|
|
33362
|
-
MatIconModule
|
|
33681
|
+
MatIconModule,
|
|
33682
|
+
RouterLink], exports: [CatalogTitleComponent,
|
|
33363
33683
|
OrganisationPreviewComponent,
|
|
33364
33684
|
OrganisationsFilterComponent,
|
|
33365
33685
|
LanguageSwitcherComponent,
|
|
@@ -33386,6 +33706,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33386
33706
|
UiElementsModule,
|
|
33387
33707
|
UiInputsModule,
|
|
33388
33708
|
MatIconModule,
|
|
33709
|
+
RouterLink,
|
|
33389
33710
|
],
|
|
33390
33711
|
exports: [
|
|
33391
33712
|
CatalogTitleComponent,
|
|
@@ -33433,6 +33754,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33433
33754
|
type: Input
|
|
33434
33755
|
}] } });
|
|
33435
33756
|
|
|
33757
|
+
// expects the replacement key ${name}
|
|
33758
|
+
const ORGANIZATION_PAGE_URL_TOKEN = new InjectionToken('organization-page-url-token');
|
|
33759
|
+
|
|
33436
33760
|
class OrganisationsComponent {
|
|
33437
33761
|
constructor(organisationsService, urlTemplate) {
|
|
33438
33762
|
this.organisationsService = organisationsService;
|
|
@@ -33504,17 +33828,17 @@ class OrganisationsComponent {
|
|
|
33504
33828
|
return null;
|
|
33505
33829
|
return this.urlTemplate.replace('${name}', organisation.name);
|
|
33506
33830
|
}
|
|
33507
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationsComponent, deps: [{ token: OrganizationsServiceInterface }, { token:
|
|
33508
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationsComponent, selector: "gn-ui-organisations", inputs: { itemsOnPage: "itemsOnPage" }, outputs: { orgSelect: "orgSelect" }, ngImport: i0, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [
|
|
33831
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationsComponent, deps: [{ token: OrganizationsServiceInterface }, { token: ORGANIZATION_PAGE_URL_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33832
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationsComponent, selector: "gn-ui-organisations", inputs: { itemsOnPage: "itemsOnPage" }, outputs: { orgSelect: "orgSelect" }, ngImport: i0, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [organization]=\"organisation\"\n [organisationUrl]=\"getOrganisationUrl(organisation)\"\n (clickedOrganisation)=\"orgSelect.emit($event)\"\n ></gn-ui-organisation-preview>\n </gn-ui-content-ghost>\n</div>\n<div class=\"py-20\">\n <gn-ui-pagination\n [currentPage]=\"currentPage$ | async\"\n [nPages]=\"totalPages\"\n (newCurrentPageEvent)=\"setCurrentPage($event)\"\n ></gn-ui-pagination>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: ["organization", "organisationUrl"], outputs: ["clickedOrganisation"] }, { kind: "component", type: OrganisationsFilterComponent, selector: "gn-ui-organisations-filter", outputs: ["sortBy", "filterBy"] }, { kind: "component", type: OrganisationsResultComponent, selector: "gn-ui-organisations-result", inputs: ["hits", "total"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: PaginationComponent, selector: "gn-ui-pagination", inputs: ["currentPage", "nPages", "hideButton"], outputs: ["newCurrentPageEvent"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33509
33833
|
}
|
|
33510
33834
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationsComponent, decorators: [{
|
|
33511
33835
|
type: Component,
|
|
33512
|
-
args: [{ selector: 'gn-ui-organisations', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [
|
|
33836
|
+
args: [{ selector: 'gn-ui-organisations', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [organization]=\"organisation\"\n [organisationUrl]=\"getOrganisationUrl(organisation)\"\n (clickedOrganisation)=\"orgSelect.emit($event)\"\n ></gn-ui-organisation-preview>\n </gn-ui-content-ghost>\n</div>\n<div class=\"py-20\">\n <gn-ui-pagination\n [currentPage]=\"currentPage$ | async\"\n [nPages]=\"totalPages\"\n (newCurrentPageEvent)=\"setCurrentPage($event)\"\n ></gn-ui-pagination>\n</div>\n" }]
|
|
33513
33837
|
}], ctorParameters: function () { return [{ type: OrganizationsServiceInterface }, { type: undefined, decorators: [{
|
|
33514
33838
|
type: Optional
|
|
33515
33839
|
}, {
|
|
33516
33840
|
type: Inject,
|
|
33517
|
-
args: [
|
|
33841
|
+
args: [ORGANIZATION_PAGE_URL_TOKEN]
|
|
33518
33842
|
}] }]; }, propDecorators: { itemsOnPage: [{
|
|
33519
33843
|
type: Input
|
|
33520
33844
|
}], orgSelect: [{
|
|
@@ -33593,9 +33917,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33593
33917
|
class RecordsService {
|
|
33594
33918
|
constructor(recordsRepository) {
|
|
33595
33919
|
this.recordsRepository = recordsRepository;
|
|
33596
|
-
this.recordsCount$ = this.recordsRepository
|
|
33597
|
-
.getMatchesCount({})
|
|
33598
|
-
.pipe(shareReplay(1), catchError(() => of(0)));
|
|
33920
|
+
this.recordsCount$ = of(true).pipe(switchMap(() => this.recordsRepository.getMatchesCount({})), shareReplay(1));
|
|
33599
33921
|
}
|
|
33600
33922
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordsService, deps: [{ token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
33601
33923
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordsService, providedIn: 'root' }); }
|
|
@@ -33645,37 +33967,54 @@ const GN_UI_VERSION = new InjectionToken('gnUiVersion');
|
|
|
33645
33967
|
|
|
33646
33968
|
const WEB_COMPONENT_EMBEDDER_URL = new InjectionToken('webComponentEmbedderUrl');
|
|
33647
33969
|
class DataViewPermalinkComponent {
|
|
33970
|
+
set viewType(value) {
|
|
33971
|
+
this.viewType$.next(value);
|
|
33972
|
+
}
|
|
33648
33973
|
constructor(config, wcEmbedderBaseUrl, version, facade) {
|
|
33649
33974
|
this.config = config;
|
|
33650
33975
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
33651
33976
|
this.version = version;
|
|
33652
33977
|
this.facade = facade;
|
|
33978
|
+
this.viewType$ = new BehaviorSubject('map');
|
|
33653
33979
|
this.permalinkUrl$ = combineLatest([
|
|
33980
|
+
this.viewType$,
|
|
33654
33981
|
this.facade.chartConfig$,
|
|
33655
33982
|
this.facade.metadata$,
|
|
33656
|
-
]).pipe(map$2(([config, metadata]) => {
|
|
33657
|
-
|
|
33658
|
-
|
|
33659
|
-
|
|
33660
|
-
|
|
33661
|
-
|
|
33662
|
-
|
|
33663
|
-
|
|
33664
|
-
|
|
33665
|
-
|
|
33666
|
-
|
|
33667
|
-
|
|
33668
|
-
|
|
33669
|
-
|
|
33670
|
-
|
|
33671
|
-
url.searchParams.append('a', `chart-type=${chartType}`);
|
|
33672
|
-
return url.toString();
|
|
33983
|
+
]).pipe(map$2(([viewType, config, metadata]) => {
|
|
33984
|
+
const url = new URL(`${this.wcEmbedderBaseUrl}`, window.location.origin);
|
|
33985
|
+
url.searchParams.set('v', `${this.version}`);
|
|
33986
|
+
if (viewType === 'chart') {
|
|
33987
|
+
if (config) {
|
|
33988
|
+
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
33989
|
+
url.searchParams.append('e', `gn-dataset-view-chart`);
|
|
33990
|
+
url.searchParams.append('a', `aggregation=${aggregation}`);
|
|
33991
|
+
url.searchParams.append('a', `x-property=${xProperty}`);
|
|
33992
|
+
url.searchParams.append('a', `y-property=${yProperty}`);
|
|
33993
|
+
url.searchParams.append('a', `chart-type=${chartType}`);
|
|
33994
|
+
}
|
|
33995
|
+
else {
|
|
33996
|
+
return '';
|
|
33997
|
+
}
|
|
33673
33998
|
}
|
|
33674
|
-
|
|
33999
|
+
else if (viewType === 'table') {
|
|
34000
|
+
// table
|
|
34001
|
+
url.searchParams.append('e', `gn-dataset-view-table`);
|
|
34002
|
+
}
|
|
34003
|
+
else {
|
|
34004
|
+
// map
|
|
34005
|
+
url.searchParams.append('e', `gn-dataset-view-map`);
|
|
34006
|
+
}
|
|
34007
|
+
url.searchParams.append('a', `api-url=${this.config.basePath}`);
|
|
34008
|
+
url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
|
|
34009
|
+
url.searchParams.append('a', `primary-color=#0f4395`);
|
|
34010
|
+
url.searchParams.append('a', `secondary-color=#8bc832`);
|
|
34011
|
+
url.searchParams.append('a', `main-color=#555`);
|
|
34012
|
+
url.searchParams.append('a', `background-color=#fdfbff`);
|
|
34013
|
+
return url.toString();
|
|
33675
34014
|
}));
|
|
33676
34015
|
}
|
|
33677
34016
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: GN_UI_VERSION }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33678
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewPermalinkComponent, selector: "gn-ui-data-view-permalink", ngImport: i0, template: "<gn-ui-copy-text-button\n *ngIf=\"wcEmbedderBaseUrl\"\n [text]=\"permalinkUrl$ | async\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34017
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewPermalinkComponent, selector: "gn-ui-data-view-permalink", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n *ngIf=\"wcEmbedderBaseUrl\"\n [text]=\"permalinkUrl$ | async\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33679
34018
|
}
|
|
33680
34019
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewPermalinkComponent, decorators: [{
|
|
33681
34020
|
type: Component,
|
|
@@ -33691,37 +34030,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33691
34030
|
}] }, { type: undefined, decorators: [{
|
|
33692
34031
|
type: Inject,
|
|
33693
34032
|
args: [GN_UI_VERSION]
|
|
33694
|
-
}] }, { type: MdViewFacade }]; }
|
|
34033
|
+
}] }, { type: MdViewFacade }]; }, propDecorators: { viewType: [{
|
|
34034
|
+
type: Input
|
|
34035
|
+
}] } });
|
|
33695
34036
|
|
|
33696
34037
|
class DataViewWebComponentComponent {
|
|
34038
|
+
set viewType(value) {
|
|
34039
|
+
this.viewType$.next(value);
|
|
34040
|
+
}
|
|
33697
34041
|
constructor(config, version, facade) {
|
|
33698
34042
|
this.config = config;
|
|
33699
34043
|
this.version = version;
|
|
33700
34044
|
this.facade = facade;
|
|
33701
|
-
this.
|
|
33702
|
-
|
|
33703
|
-
|
|
34045
|
+
this.viewType$ = new BehaviorSubject('map');
|
|
34046
|
+
this.webComponentHtml$ = combineLatest(this.viewType$, this.facade.chartConfig$, this.facade.metadata$).pipe(map$2(([viewType, config, metadata]) => {
|
|
34047
|
+
if (viewType === 'chart') {
|
|
34048
|
+
if (config) {
|
|
34049
|
+
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
34050
|
+
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
34051
|
+
<gn-dataset-view-chart
|
|
34052
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
34053
|
+
dataset-id="${metadata.uniqueIdentifier}"
|
|
34054
|
+
aggregation="${aggregation}"
|
|
34055
|
+
x-property="${xProperty}"
|
|
34056
|
+
y-property="${yProperty}"
|
|
34057
|
+
chart-type="${chartType}"
|
|
34058
|
+
primary-color="#0f4395"
|
|
34059
|
+
secondary-color="#8bc832"
|
|
34060
|
+
main-color="#555"
|
|
34061
|
+
background-color="#fdfbff"
|
|
34062
|
+
main-font="'Inter', sans-serif"
|
|
34063
|
+
title-font="'DM Serif Display', serif"
|
|
34064
|
+
></gn-dataset-view-chart>`;
|
|
34065
|
+
}
|
|
34066
|
+
return '';
|
|
34067
|
+
}
|
|
34068
|
+
else if (viewType === 'table') {
|
|
33704
34069
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
33705
|
-
<gn-dataset-view-
|
|
34070
|
+
<gn-dataset-view-table
|
|
34071
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
34072
|
+
dataset-id="${metadata.uniqueIdentifier}"
|
|
34073
|
+
primary-color="#0f4395"
|
|
34074
|
+
secondary-color="#8bc832"
|
|
34075
|
+
main-color="#555"
|
|
34076
|
+
background-color="#fdfbff"
|
|
34077
|
+
main-font="'Inter', sans-serif"
|
|
34078
|
+
title-font="'DM Serif Display', serif"
|
|
34079
|
+
></gn-dataset-view-table>`;
|
|
34080
|
+
}
|
|
34081
|
+
else {
|
|
34082
|
+
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
34083
|
+
<gn-dataset-view-map
|
|
33706
34084
|
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
33707
34085
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
33708
|
-
aggregation="${aggregation}"
|
|
33709
|
-
x-property="${xProperty}"
|
|
33710
|
-
y-property="${yProperty}"
|
|
33711
|
-
chart-type="${chartType}"
|
|
33712
34086
|
primary-color="#0f4395"
|
|
33713
34087
|
secondary-color="#8bc832"
|
|
33714
34088
|
main-color="#555"
|
|
33715
34089
|
background-color="#fdfbff"
|
|
33716
34090
|
main-font="'Inter', sans-serif"
|
|
33717
34091
|
title-font="'DM Serif Display', serif"
|
|
33718
|
-
></gn-dataset-view-
|
|
34092
|
+
></gn-dataset-view-map>`;
|
|
33719
34093
|
}
|
|
33720
|
-
return '';
|
|
33721
34094
|
}));
|
|
33722
34095
|
}
|
|
33723
34096
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewWebComponentComponent, deps: [{ token: Configuration }, { token: GN_UI_VERSION }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33724
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewWebComponentComponent, selector: "gn-ui-data-view-web-component", ngImport: i0, template: "<gn-ui-copy-text-button\n [text]=\"webComponentHtml$ | async\"\n [rows]=\"3\"\n [tooltipText]=\"'tooltip.html.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34097
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewWebComponentComponent, selector: "gn-ui-data-view-web-component", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n [text]=\"webComponentHtml$ | async\"\n [rows]=\"3\"\n [tooltipText]=\"'tooltip.html.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33725
34098
|
}
|
|
33726
34099
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewWebComponentComponent, decorators: [{
|
|
33727
34100
|
type: Component,
|
|
@@ -33732,24 +34105,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33732
34105
|
}] }, { type: undefined, decorators: [{
|
|
33733
34106
|
type: Inject,
|
|
33734
34107
|
args: [GN_UI_VERSION]
|
|
33735
|
-
}] }, { type: MdViewFacade }]; }
|
|
34108
|
+
}] }, { type: MdViewFacade }]; }, propDecorators: { viewType: [{
|
|
34109
|
+
type: Input
|
|
34110
|
+
}] } });
|
|
33736
34111
|
|
|
33737
34112
|
class DataViewShareComponent {
|
|
34113
|
+
set viewType(value) {
|
|
34114
|
+
this._viewType = value;
|
|
34115
|
+
}
|
|
34116
|
+
get viewType() {
|
|
34117
|
+
return this._viewType;
|
|
34118
|
+
}
|
|
33738
34119
|
constructor(wcEmbedderBaseUrl) {
|
|
33739
34120
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
33740
34121
|
}
|
|
33741
34122
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewShareComponent, deps: [{ token: WEB_COMPONENT_EMBEDDER_URL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33742
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewShareComponent, selector: "gn-ui-data-view-share", ngImport: i0, template: "<div class=\"container-lg px-5 my-1 lg:mx-auto\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$
|
|
34123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewShareComponent, selector: "gn-ui-data-view-share", inputs: { viewType: "viewType" }, ngImport: i0, template: "<div class=\"container-lg px-5 my-1 lg:mx-auto\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink\n [viewType]=\"viewType\"\n ></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component\n [viewType]=\"viewType\"\n ></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$5.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2$5.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i2$5.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: DataViewPermalinkComponent, selector: "gn-ui-data-view-permalink", inputs: ["viewType"] }, { kind: "component", type: DataViewWebComponentComponent, selector: "gn-ui-data-view-web-component", inputs: ["viewType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33743
34124
|
}
|
|
33744
34125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewShareComponent, decorators: [{
|
|
33745
34126
|
type: Component,
|
|
33746
|
-
args: [{ selector: 'gn-ui-data-view-share', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container-lg px-5 my-1 lg:mx-auto\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"] }]
|
|
34127
|
+
args: [{ selector: 'gn-ui-data-view-share', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container-lg px-5 my-1 lg:mx-auto\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink\n [viewType]=\"viewType\"\n ></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component\n [viewType]=\"viewType\"\n ></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"] }]
|
|
33747
34128
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
33748
34129
|
type: Optional
|
|
33749
34130
|
}, {
|
|
33750
34131
|
type: Inject,
|
|
33751
34132
|
args: [WEB_COMPONENT_EMBEDDER_URL]
|
|
33752
|
-
}] }]; }
|
|
34133
|
+
}] }]; }, propDecorators: { viewType: [{
|
|
34134
|
+
type: Input
|
|
34135
|
+
}] } });
|
|
33753
34136
|
|
|
33754
34137
|
class FeatureRecordModule {
|
|
33755
34138
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureRecordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -33769,7 +34152,8 @@ class FeatureRecordModule {
|
|
|
33769
34152
|
UiWidgetsModule,
|
|
33770
34153
|
TranslateModule,
|
|
33771
34154
|
TableComponent,
|
|
33772
|
-
FeatureDatavizModule
|
|
34155
|
+
FeatureDatavizModule,
|
|
34156
|
+
PopupAlertComponent], exports: [MapViewComponent,
|
|
33773
34157
|
DataViewComponent,
|
|
33774
34158
|
DataViewPermalinkComponent,
|
|
33775
34159
|
DataViewWebComponentComponent,
|
|
@@ -33788,7 +34172,8 @@ class FeatureRecordModule {
|
|
|
33788
34172
|
UiWidgetsModule,
|
|
33789
34173
|
TranslateModule,
|
|
33790
34174
|
TableComponent,
|
|
33791
|
-
FeatureDatavizModule
|
|
34175
|
+
FeatureDatavizModule,
|
|
34176
|
+
PopupAlertComponent] }); }
|
|
33792
34177
|
}
|
|
33793
34178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureRecordModule, decorators: [{
|
|
33794
34179
|
type: NgModule,
|
|
@@ -33817,6 +34202,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33817
34202
|
TranslateModule,
|
|
33818
34203
|
TableComponent,
|
|
33819
34204
|
FeatureDatavizModule,
|
|
34205
|
+
PopupAlertComponent,
|
|
33820
34206
|
],
|
|
33821
34207
|
providers: [MdViewFacade],
|
|
33822
34208
|
exports: [
|
|
@@ -33835,26 +34221,27 @@ const markRecordAsChanged = createAction('[Editor] Mark record as changed');
|
|
|
33835
34221
|
const saveRecord = createAction('[Editor] Save record');
|
|
33836
34222
|
const saveRecordSuccess = createAction('[Editor] Save record success');
|
|
33837
34223
|
const saveRecordFailure = createAction('[Editor] Save record failure', props());
|
|
34224
|
+
const draftSaveSuccess = createAction('[Editor] Draft save success');
|
|
33838
34225
|
|
|
33839
34226
|
const DEFAULT_FIELDS = [
|
|
33840
34227
|
{
|
|
33841
34228
|
model: 'title',
|
|
33842
34229
|
formFieldConfig: {
|
|
33843
|
-
labelKey: '
|
|
34230
|
+
labelKey: marker('editor.record.form.metadata.title'),
|
|
33844
34231
|
type: 'text',
|
|
33845
34232
|
},
|
|
33846
34233
|
},
|
|
33847
34234
|
{
|
|
33848
34235
|
model: 'abstract',
|
|
33849
34236
|
formFieldConfig: {
|
|
33850
|
-
labelKey: '
|
|
34237
|
+
labelKey: marker('editor.record.form.abstract'),
|
|
33851
34238
|
type: 'rich',
|
|
33852
34239
|
},
|
|
33853
34240
|
},
|
|
33854
34241
|
{
|
|
33855
34242
|
model: 'uniqueIdentifier',
|
|
33856
34243
|
formFieldConfig: {
|
|
33857
|
-
labelKey: '
|
|
34244
|
+
labelKey: marker('editor.record.form.unique.identifier'),
|
|
33858
34245
|
type: 'text',
|
|
33859
34246
|
locked: true,
|
|
33860
34247
|
},
|
|
@@ -33862,7 +34249,7 @@ const DEFAULT_FIELDS = [
|
|
|
33862
34249
|
{
|
|
33863
34250
|
model: 'recordUpdated',
|
|
33864
34251
|
formFieldConfig: {
|
|
33865
|
-
labelKey: '
|
|
34252
|
+
labelKey: marker('editor.record.form.record.updated'),
|
|
33866
34253
|
type: 'text',
|
|
33867
34254
|
locked: true,
|
|
33868
34255
|
},
|
|
@@ -33958,7 +34345,7 @@ const selectRecordAlreadySavedOnce = createSelector(selectEditorState, (state) =
|
|
|
33958
34345
|
const selectRecordFieldsConfig = createSelector(selectEditorState, (state) => state.fieldsConfig);
|
|
33959
34346
|
const selectRecordFields = createSelector(selectEditorState, (state) => state.fieldsConfig.map((fieldConfig) => ({
|
|
33960
34347
|
config: fieldConfig,
|
|
33961
|
-
value: state.record?.[fieldConfig.model]
|
|
34348
|
+
value: state.record?.[fieldConfig.model] ?? null,
|
|
33962
34349
|
})));
|
|
33963
34350
|
|
|
33964
34351
|
class EditorFacade {
|
|
@@ -33973,6 +34360,7 @@ class EditorFacade {
|
|
|
33973
34360
|
this.saveSuccess$ = this.actions$.pipe(ofType(saveRecordSuccess));
|
|
33974
34361
|
this.changedSinceSave$ = this.store.pipe(select(selectRecordChangedSinceSave));
|
|
33975
34362
|
this.recordFields$ = this.store.pipe(select(selectRecordFields));
|
|
34363
|
+
this.draftSaveSuccess$ = this.actions$.pipe(ofType(draftSaveSuccess));
|
|
33976
34364
|
}
|
|
33977
34365
|
openRecord(record, recordSource, alreadySavedOnce) {
|
|
33978
34366
|
this.store.dispatch(openRecord({ record, recordSource, alreadySavedOnce }));
|
|
@@ -34008,7 +34396,7 @@ class EditorService {
|
|
|
34008
34396
|
this.recordsRepository = recordsRepository;
|
|
34009
34397
|
}
|
|
34010
34398
|
// returns the record as it was when saved, alongside its source
|
|
34011
|
-
saveRecord(record, fieldsConfig) {
|
|
34399
|
+
saveRecord(record, fieldsConfig, generateNewUniqueIdentifier = false) {
|
|
34012
34400
|
const savedRecord = { ...record };
|
|
34013
34401
|
// run onSave processes
|
|
34014
34402
|
for (const field of fieldsConfig) {
|
|
@@ -34020,9 +34408,14 @@ class EditorService {
|
|
|
34020
34408
|
});
|
|
34021
34409
|
}
|
|
34022
34410
|
}
|
|
34023
|
-
|
|
34024
|
-
|
|
34025
|
-
.
|
|
34411
|
+
// if we want a new unique identifier, clear the existing one
|
|
34412
|
+
if (generateNewUniqueIdentifier) {
|
|
34413
|
+
savedRecord.uniqueIdentifier = null;
|
|
34414
|
+
}
|
|
34415
|
+
return this.recordsRepository.saveRecord(savedRecord).pipe(switchMap((uniqueIdentifier) => this.recordsRepository.openRecordForEdition(uniqueIdentifier)), tap$1(() => {
|
|
34416
|
+
// if saving was successful, the original draft can be discarded
|
|
34417
|
+
this.recordsRepository.clearRecordDraft(record.uniqueIdentifier);
|
|
34418
|
+
}), map$1(([record, recordSource]) => [record, recordSource]));
|
|
34026
34419
|
}
|
|
34027
34420
|
// emits and completes once saving is done
|
|
34028
34421
|
// note: onSave processes are not run for drafts
|
|
@@ -34047,7 +34440,9 @@ class EditorEffects {
|
|
|
34047
34440
|
this.editorService = inject(EditorService);
|
|
34048
34441
|
this.recordsRepository = inject(RecordsRepositoryInterface);
|
|
34049
34442
|
this.store = inject(Store);
|
|
34050
|
-
this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(saveRecord), withLatestFrom$1(this.store.select(selectRecord), this.store.select(selectRecordFieldsConfig)), switchMap$1(([, record, fieldsConfig]) => this.editorService
|
|
34443
|
+
this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(saveRecord), withLatestFrom$1(this.store.select(selectRecord), this.store.select(selectRecordFieldsConfig), this.store.select(selectRecordAlreadySavedOnce)), switchMap$1(([, record, fieldsConfig, alreadySavedOnce]) => this.editorService
|
|
34444
|
+
.saveRecord(record, fieldsConfig, !alreadySavedOnce)
|
|
34445
|
+
.pipe(switchMap$1(([record, recordSource]) => of(saveRecordSuccess(), openRecord({
|
|
34051
34446
|
record,
|
|
34052
34447
|
alreadySavedOnce: true,
|
|
34053
34448
|
recordSource,
|
|
@@ -34055,7 +34450,7 @@ class EditorEffects {
|
|
|
34055
34450
|
error: error.message,
|
|
34056
34451
|
})))))));
|
|
34057
34452
|
this.markAsChanged$ = createEffect(() => this.actions$.pipe(ofType(updateRecordField), map$1(() => markRecordAsChanged())));
|
|
34058
|
-
this.saveRecordDraft$ = createEffect(() => this.actions$.pipe(ofType(updateRecordField), debounceTime$1(1000), withLatestFrom$1(this.store.select(selectRecord)), switchMap$1(([, record]) => this.editorService.saveRecordAsDraft(record))
|
|
34453
|
+
this.saveRecordDraft$ = createEffect(() => this.actions$.pipe(ofType(updateRecordField), debounceTime$1(1000), withLatestFrom$1(this.store.select(selectRecord)), switchMap$1(([, record]) => this.editorService.saveRecordAsDraft(record)), map$1(() => draftSaveSuccess())));
|
|
34059
34454
|
this.checkHasChangesOnOpen$ = createEffect(() => this.actions$.pipe(ofType(openRecord), map$1(({ record }) => this.recordsRepository.recordHasDraft(record.uniqueIdentifier)), filter$1((hasDraft) => hasDraft), map$1(() => markRecordAsChanged())));
|
|
34060
34455
|
}
|
|
34061
34456
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -34286,7 +34681,7 @@ class WizardFieldComponent {
|
|
|
34286
34681
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
34287
34682
|
},
|
|
34288
34683
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
34289
|
-
], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "chips", first: true, predicate: ["chips"], 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 hint=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"flex-1 w-11/12\"\n *ngIf=\"wizardFieldType.CHIPS === wizardFieldConfig.type\"\n >\n <gn-ui-chips-input\n #chips\n [selectedItems]=\"wizardFieldData\"\n placeholder=\"\"\n [id]=\"wizardFieldConfig.id\"\n [url]=\"wizardFieldConfig.options.url\"\n [loadOnce]=\"wizardFieldConfig.options.loadOnce\"\n ></gn-ui-chips-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:white;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$3.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: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "hint", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: ChipsInputComponent, selector: "gn-ui-chips-input", inputs: ["url", "placeholder", "selectedItems", "required", "loadOnce", "autocompleteItems"], outputs: ["itemsChange"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2$
|
|
34684
|
+
], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "chips", first: true, predicate: ["chips"], 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 hint=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"flex-1 w-11/12\"\n *ngIf=\"wizardFieldType.CHIPS === wizardFieldConfig.type\"\n >\n <gn-ui-chips-input\n #chips\n [selectedItems]=\"wizardFieldData\"\n placeholder=\"\"\n [id]=\"wizardFieldConfig.id\"\n [url]=\"wizardFieldConfig.options.url\"\n [loadOnce]=\"wizardFieldConfig.options.loadOnce\"\n ></gn-ui-chips-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:white;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$3.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: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "hint", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: ChipsInputComponent, selector: "gn-ui-chips-input", inputs: ["url", "placeholder", "selectedItems", "required", "loadOnce", "autocompleteItems"], outputs: ["itemsChange"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34290
34685
|
}
|
|
34291
34686
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WizardFieldComponent, decorators: [{
|
|
34292
34687
|
type: Component,
|
|
@@ -34478,46 +34873,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34478
34873
|
class FormFieldKeywordsComponent {
|
|
34479
34874
|
constructor(platformService) {
|
|
34480
34875
|
this.platformService = platformService;
|
|
34481
|
-
this.itemSelected = new EventEmitter();
|
|
34482
|
-
this.inputSubmitted = new EventEmitter();
|
|
34483
34876
|
this.displayWithFn = (item) => {
|
|
34484
|
-
|
|
34485
|
-
return `${item?.title} (${item?.value?.name})`;
|
|
34486
|
-
}
|
|
34487
|
-
return null;
|
|
34877
|
+
return `${item.title} (${item.value.thesaurus?.name})`;
|
|
34488
34878
|
};
|
|
34489
34879
|
this.autoCompleteAction = (query) => {
|
|
34490
|
-
|
|
34491
|
-
|
|
34880
|
+
return this.platformService
|
|
34881
|
+
.searchKeywords(query, ['temporal', 'theme', 'other'])
|
|
34882
|
+
.pipe(map$2((keywords) => keywords.map((keyword) => {
|
|
34883
|
+
return { title: keyword.label, value: keyword };
|
|
34492
34884
|
})));
|
|
34493
|
-
return keywords$;
|
|
34494
34885
|
};
|
|
34495
34886
|
}
|
|
34496
|
-
ngOnInit() {
|
|
34497
|
-
this.searchInputValue$ = this.autoCompleteAction('')[0];
|
|
34498
|
-
}
|
|
34499
|
-
// type: { title: string; value: ThesaurusModel }
|
|
34500
34887
|
handleItemSelection(item) {
|
|
34501
|
-
this.addKeyword(
|
|
34502
|
-
label: item.title,
|
|
34503
|
-
thesaurus: item.value,
|
|
34504
|
-
type: item.value.type,
|
|
34505
|
-
});
|
|
34506
|
-
}
|
|
34507
|
-
handleInputSubmission(any) {
|
|
34508
|
-
// Should there be an input submission?
|
|
34509
|
-
if (this.inputSubmitted.observers.length > 0) {
|
|
34510
|
-
this.inputSubmitted.emit(any);
|
|
34511
|
-
}
|
|
34512
|
-
else {
|
|
34513
|
-
// this.searchService.updateFilters({ any })
|
|
34514
|
-
}
|
|
34888
|
+
this.addKeyword(item.value);
|
|
34515
34889
|
}
|
|
34516
|
-
|
|
34517
|
-
this.
|
|
34518
|
-
}
|
|
34519
|
-
addKeyword(item) {
|
|
34520
|
-
const addedKeywords = [...this.control.value, item];
|
|
34890
|
+
addKeyword(keyword) {
|
|
34891
|
+
const addedKeywords = [...this.control.value, keyword];
|
|
34521
34892
|
// remove duplicates from keyword
|
|
34522
34893
|
const filteredKeywords = addedKeywords.filter((value, index, self) => {
|
|
34523
34894
|
return (index ===
|
|
@@ -34532,7 +34903,7 @@ class FormFieldKeywordsComponent {
|
|
|
34532
34903
|
this.control.setValue(removeKeywords);
|
|
34533
34904
|
}
|
|
34534
34905
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldKeywordsComponent, deps: [{ token: PlatformServiceInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34535
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldKeywordsComponent, isStandalone: true, selector: "gn-ui-form-field-keywords", inputs: { control: "control" },
|
|
34906
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldKeywordsComponent, isStandalone: true, selector: "gn-ui-form-field-keywords", inputs: { control: "control" }, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'Search for keywords in all thesaurus'\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [clearOnSelection]=\"true\"\n [minCharacterCount]=\"0\"\n [allowSubmit]=\"false\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of control.value; let index = index\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(index)\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n</div>\n", styles: [""], 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$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34536
34907
|
}
|
|
34537
34908
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldKeywordsComponent, decorators: [{
|
|
34538
34909
|
type: Component,
|
|
@@ -34541,13 +34912,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34541
34912
|
UiInputsModule,
|
|
34542
34913
|
CommonModule,
|
|
34543
34914
|
UiWidgetsModule,
|
|
34544
|
-
|
|
34915
|
+
AutocompleteComponent,
|
|
34916
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'Search for keywords in all thesaurus'\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [clearOnSelection]=\"true\"\n [minCharacterCount]=\"0\"\n [allowSubmit]=\"false\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of control.value; let index = index\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(index)\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n</div>\n" }]
|
|
34545
34917
|
}], ctorParameters: function () { return [{ type: PlatformServiceInterface }]; }, propDecorators: { control: [{
|
|
34546
34918
|
type: Input
|
|
34547
|
-
}], itemSelected: [{
|
|
34548
|
-
type: Output
|
|
34549
|
-
}], inputSubmitted: [{
|
|
34550
|
-
type: Output
|
|
34551
34919
|
}] } });
|
|
34552
34920
|
|
|
34553
34921
|
class FormFieldLicenseComponent {
|
|
@@ -34761,7 +35129,7 @@ class FormFieldSimpleComponent {
|
|
|
34761
35129
|
return this.type === 'list';
|
|
34762
35130
|
}
|
|
34763
35131
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldSimpleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34764
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldSimpleComponent, isStandalone: true, selector: "gn-ui-form-field-simple", inputs: { type: "type", control: "control", readonly: "readonly", invalid: "invalid", placeholder: "placeholder", options: "options" }, ngImport: i0, template: "<input\n *ngIf=\"!isSelect\"\n [type]=\"inputType\"\n [readonly]=\"readonly\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n class=\"border rounded-md p-3 w-full bg-white transition-colors\"\n [ngClass]=\"{\n 'border-pink-500': invalid,\n 'border-gray-200': !invalid,\n 'text-gray-600': readonly\n }\"\n/>\n<select\n *ngIf=\"isSelect\"\n [formControl]=\"control\"\n class=\"border rounded-md p-3 w-full bg-white transition-colors\"\n [ngClass]=\"{\n 'border-pink-500': invalid,\n 'border-gray-200': !invalid,\n 'text-gray-600': readonly\n }\"\n>\n <option *ngFor=\"let option of options\" [ngValue]=\"option.value\">\n {{ option.label }}\n </option>\n</select>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$
|
|
35132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldSimpleComponent, isStandalone: true, selector: "gn-ui-form-field-simple", inputs: { type: "type", control: "control", readonly: "readonly", invalid: "invalid", placeholder: "placeholder", options: "options" }, ngImport: i0, template: "<input\n *ngIf=\"!isSelect\"\n [type]=\"inputType\"\n [readonly]=\"readonly\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n class=\"border rounded-md p-3 w-full bg-white transition-colors\"\n [ngClass]=\"{\n 'border-pink-500': invalid,\n 'border-gray-200': !invalid,\n 'text-gray-600': readonly\n }\"\n/>\n<select\n *ngIf=\"isSelect\"\n [formControl]=\"control\"\n class=\"border rounded-md p-3 w-full bg-white transition-colors\"\n [ngClass]=\"{\n 'border-pink-500': invalid,\n 'border-gray-200': !invalid,\n 'text-gray-600': readonly\n }\"\n>\n <option *ngFor=\"let option of options\" [ngValue]=\"option.value\">\n {{ option.label }}\n </option>\n</select>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34765
35133
|
}
|
|
34766
35134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldSimpleComponent, decorators: [{
|
|
34767
35135
|
type: Component,
|
|
@@ -34787,7 +35155,7 @@ class FormFieldFileComponent {
|
|
|
34787
35155
|
this.placeholder = '';
|
|
34788
35156
|
}
|
|
34789
35157
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34790
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldFileComponent, isStandalone: true, selector: "gn-ui-form-field-file", inputs: { control: "control", readonly: "readonly", invalid: "invalid", placeholder: "placeholder" }, ngImport: i0, template: "<input\n type=\"file\"\n [readonly]=\"readonly\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n class=\"border rounded-md p-3 w-full bg-white transition-colors\"\n [ngClass]=\"{\n 'border-pink-500': invalid,\n 'border-gray-200': !invalid,\n 'text-gray-600': readonly\n }\"\n/>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$
|
|
35158
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldFileComponent, isStandalone: true, selector: "gn-ui-form-field-file", inputs: { control: "control", readonly: "readonly", invalid: "invalid", placeholder: "placeholder" }, ngImport: i0, template: "<input\n type=\"file\"\n [readonly]=\"readonly\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n class=\"border rounded-md p-3 w-full bg-white transition-colors\"\n [ngClass]=\"{\n 'border-pink-500': invalid,\n 'border-gray-200': !invalid,\n 'text-gray-600': readonly\n }\"\n/>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34791
35159
|
}
|
|
34792
35160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldFileComponent, decorators: [{
|
|
34793
35161
|
type: Component,
|
|
@@ -34869,92 +35237,105 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34869
35237
|
|
|
34870
35238
|
class FormFieldUpdateFrequencyComponent {
|
|
34871
35239
|
get planned() {
|
|
34872
|
-
return this.control.value !== '
|
|
35240
|
+
return typeof this.control.value !== 'string';
|
|
34873
35241
|
}
|
|
34874
35242
|
constructor(translateService) {
|
|
34875
35243
|
this.translateService = translateService;
|
|
34876
|
-
this.choices = [
|
|
35244
|
+
this.choices = [];
|
|
35245
|
+
}
|
|
35246
|
+
async ngOnInit() {
|
|
35247
|
+
this.choices = await this.getInitialChoices();
|
|
35248
|
+
if (typeof this.control.value === 'string') {
|
|
35249
|
+
return;
|
|
35250
|
+
}
|
|
35251
|
+
const updatedTimes = this.control.value.updatedTimes;
|
|
35252
|
+
const per = this.control.value.per;
|
|
35253
|
+
// the update frequency is not in the list; make it appear there
|
|
35254
|
+
if (updatedTimes && updatedTimes !== 1 && updatedTimes !== 2) {
|
|
35255
|
+
this.choices = [
|
|
35256
|
+
{
|
|
35257
|
+
value: `${per}.${updatedTimes}`,
|
|
35258
|
+
label: await firstValueFrom(this.translateService.get(`domain.record.updateFrequency.${per}`, {
|
|
35259
|
+
count: updatedTimes,
|
|
35260
|
+
})),
|
|
35261
|
+
},
|
|
35262
|
+
...this.choices,
|
|
35263
|
+
];
|
|
35264
|
+
}
|
|
35265
|
+
}
|
|
35266
|
+
onPlannedToggled() {
|
|
35267
|
+
if (this.planned) {
|
|
35268
|
+
this.control.setValue('notPlanned');
|
|
35269
|
+
}
|
|
35270
|
+
else {
|
|
35271
|
+
this.control.setValue({ updatedTimes: 1, per: 'day' });
|
|
35272
|
+
}
|
|
35273
|
+
}
|
|
35274
|
+
get selectedFrequency() {
|
|
35275
|
+
if (typeof this.control.value === 'string')
|
|
35276
|
+
return null;
|
|
35277
|
+
const { updatedTimes, per } = this.control.value;
|
|
35278
|
+
return `${per}.${updatedTimes}`;
|
|
35279
|
+
}
|
|
35280
|
+
onSelectFrequencyValue(value) {
|
|
35281
|
+
const split = value.split('.');
|
|
35282
|
+
this.control.setValue({
|
|
35283
|
+
updatedTimes: Number(split[1]),
|
|
35284
|
+
per: split[0],
|
|
35285
|
+
});
|
|
35286
|
+
}
|
|
35287
|
+
async getInitialChoices() {
|
|
35288
|
+
return [
|
|
34877
35289
|
{
|
|
34878
35290
|
value: 'day.1',
|
|
34879
|
-
label: this.translateService.
|
|
35291
|
+
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.day', {
|
|
34880
35292
|
count: 1,
|
|
34881
|
-
}),
|
|
35293
|
+
})),
|
|
34882
35294
|
},
|
|
34883
35295
|
{
|
|
34884
35296
|
value: 'day.2',
|
|
34885
|
-
label: this.translateService.
|
|
35297
|
+
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.day', {
|
|
34886
35298
|
count: 2,
|
|
34887
|
-
}),
|
|
35299
|
+
})),
|
|
34888
35300
|
},
|
|
34889
35301
|
{
|
|
34890
35302
|
value: 'week.1',
|
|
34891
|
-
label: this.translateService.
|
|
35303
|
+
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.week', {
|
|
34892
35304
|
count: 1,
|
|
34893
|
-
}),
|
|
35305
|
+
})),
|
|
34894
35306
|
},
|
|
34895
35307
|
{
|
|
34896
35308
|
value: 'week.2',
|
|
34897
|
-
label: this.translateService.
|
|
35309
|
+
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.week', {
|
|
34898
35310
|
count: 2,
|
|
34899
|
-
}),
|
|
35311
|
+
})),
|
|
34900
35312
|
},
|
|
34901
35313
|
{
|
|
34902
35314
|
value: 'month.1',
|
|
34903
|
-
label: this.translateService.
|
|
35315
|
+
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.month', {
|
|
34904
35316
|
count: 1,
|
|
34905
|
-
}),
|
|
35317
|
+
})),
|
|
34906
35318
|
},
|
|
34907
35319
|
{
|
|
34908
35320
|
value: 'month.2',
|
|
34909
|
-
label: this.translateService.
|
|
35321
|
+
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.month', {
|
|
34910
35322
|
count: 2,
|
|
34911
|
-
}),
|
|
35323
|
+
})),
|
|
34912
35324
|
},
|
|
34913
35325
|
{
|
|
34914
35326
|
value: 'year.1',
|
|
34915
|
-
label: this.translateService.
|
|
35327
|
+
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.year', {
|
|
34916
35328
|
count: 1,
|
|
34917
|
-
}),
|
|
35329
|
+
})),
|
|
34918
35330
|
},
|
|
34919
35331
|
{
|
|
34920
35332
|
value: 'year.2',
|
|
34921
|
-
label: this.translateService.
|
|
35333
|
+
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.year', {
|
|
34922
35334
|
count: 2,
|
|
34923
|
-
}),
|
|
35335
|
+
})),
|
|
34924
35336
|
},
|
|
34925
35337
|
];
|
|
34926
35338
|
}
|
|
34927
|
-
ngOnInit() {
|
|
34928
|
-
const updatedTimes = this.control.value?.updatedTimes;
|
|
34929
|
-
const per = this.control.value?.per;
|
|
34930
|
-
if (updatedTimes && updatedTimes !== 1 && updatedTimes !== 2) {
|
|
34931
|
-
this.choices = [
|
|
34932
|
-
{
|
|
34933
|
-
value: `${per}.${updatedTimes}`,
|
|
34934
|
-
label: this.translateService.instant(`domain.record.updateFrequency.${per}`, {
|
|
34935
|
-
count: updatedTimes,
|
|
34936
|
-
}),
|
|
34937
|
-
},
|
|
34938
|
-
...this.choices,
|
|
34939
|
-
];
|
|
34940
|
-
}
|
|
34941
|
-
}
|
|
34942
|
-
onPlannedToggled() {
|
|
34943
|
-
if (this.planned) {
|
|
34944
|
-
this.control.setValue('notPlanned');
|
|
34945
|
-
}
|
|
34946
|
-
else {
|
|
34947
|
-
this.control.setValue({ updatedTimes: 1, per: 'day' });
|
|
34948
|
-
}
|
|
34949
|
-
}
|
|
34950
|
-
get selectedFrequency() {
|
|
34951
|
-
const { updatedTimes, per } = this.control.value;
|
|
34952
|
-
return `${per}.${updatedTimes}`;
|
|
34953
|
-
}
|
|
34954
|
-
onSelectFrequencyValue(value) {
|
|
34955
|
-
const split = value.split('.');
|
|
34956
|
-
this.control.setValue({ updatedTimes: Number(split[1]), per: split[0] });
|
|
34957
|
-
}
|
|
34958
35339
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldUpdateFrequencyComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34959
35340
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldUpdateFrequencyComponent, isStandalone: true, selector: "gn-ui-form-field-update-frequency", inputs: { control: "control" }, ngImport: i0, template: "<gn-ui-check-toggle\n [label]=\"'editor.record.form.updateFrequency.planned' | translate\"\n [value]=\"planned\"\n (toggled)=\"onPlannedToggled()\"\n></gn-ui-check-toggle>\n<gn-ui-dropdown-selector\n title=\"updateFrequency\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedFrequency\"\n (selectValue)=\"onSelectFrequencyValue($event)\"\n [disabled]=\"!planned\"\n>\n</gn-ui-dropdown-selector>\n", styles: [""], dependencies: [{ kind: "component", type: CheckToggleComponent, selector: "gn-ui-check-toggle", inputs: ["title", "label", "value", "color"], outputs: ["toggled"] }, { 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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34960
35341
|
}
|
|
@@ -34978,38 +35359,6 @@ class FormFieldComponent {
|
|
|
34978
35359
|
focusTitleInput() {
|
|
34979
35360
|
this.titleInput.nativeElement.children[0].focus();
|
|
34980
35361
|
}
|
|
34981
|
-
get simpleType() {
|
|
34982
|
-
return this.config.type;
|
|
34983
|
-
}
|
|
34984
|
-
get isSimpleField() {
|
|
34985
|
-
return (this.config.type === 'text' ||
|
|
34986
|
-
this.config.type === 'number' ||
|
|
34987
|
-
this.config.type === 'date' ||
|
|
34988
|
-
this.config.type === 'list' ||
|
|
34989
|
-
this.config.type === 'url' ||
|
|
34990
|
-
this.config.type === 'toggle');
|
|
34991
|
-
}
|
|
34992
|
-
get isFileField() {
|
|
34993
|
-
return this.config.type === 'file';
|
|
34994
|
-
}
|
|
34995
|
-
get isSpatialExtentField() {
|
|
34996
|
-
return this.config.type === 'spatial_extent';
|
|
34997
|
-
}
|
|
34998
|
-
get isArrayField() {
|
|
34999
|
-
return this.config.type === 'array';
|
|
35000
|
-
}
|
|
35001
|
-
get isObjectField() {
|
|
35002
|
-
return this.config.type === 'object';
|
|
35003
|
-
}
|
|
35004
|
-
get isFieldOk() {
|
|
35005
|
-
return !this.config.locked && !this.config.invalid;
|
|
35006
|
-
}
|
|
35007
|
-
get isFieldLocked() {
|
|
35008
|
-
return this.config.locked;
|
|
35009
|
-
}
|
|
35010
|
-
get isFieldInvalid() {
|
|
35011
|
-
return !this.config.locked && this.config.invalid;
|
|
35012
|
-
}
|
|
35013
35362
|
get isTitle() {
|
|
35014
35363
|
return this.model === 'title';
|
|
35015
35364
|
}
|
|
@@ -35028,6 +35377,15 @@ class FormFieldComponent {
|
|
|
35028
35377
|
get isTemporalExtents() {
|
|
35029
35378
|
return this.model === 'temporalExtents';
|
|
35030
35379
|
}
|
|
35380
|
+
get isSpatialExtentField() {
|
|
35381
|
+
return this.model === 'spatialExtents';
|
|
35382
|
+
}
|
|
35383
|
+
get isSimpleField() {
|
|
35384
|
+
return this.model === 'uniqueIdentifier' || this.model === 'recordUpdated';
|
|
35385
|
+
}
|
|
35386
|
+
get isReadOnly() {
|
|
35387
|
+
return this.model === 'uniqueIdentifier' || this.model === 'recordUpdated';
|
|
35388
|
+
}
|
|
35031
35389
|
get isKeywords() {
|
|
35032
35390
|
return this.model === 'keywords';
|
|
35033
35391
|
}
|
|
@@ -35035,7 +35393,7 @@ class FormFieldComponent {
|
|
|
35035
35393
|
return this.model === 'title' || this.model === 'abstract';
|
|
35036
35394
|
}
|
|
35037
35395
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35038
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { model: "model", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtents\">\n <gn-ui-form-field-temporal-extents\n [control]=\"formControl\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n
|
|
35396
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { model: "model", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtents\">\n <gn-ui-form-field-temporal-extents\n [control]=\"formControl\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n type=\"text\"\n [control]=\"formControl\"\n [readonly]=\"isReadOnly\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isKeywords\">\n <gn-ui-form-field-keywords\n [control]=\"formControl\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: EditableLabelDirective, selector: "[gnUiEditableLabel]", inputs: ["gnUiEditableLabel"], outputs: ["editableLabelChanged"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["control", "label"] }, { kind: "component", type: FormFieldResourceUpdatedComponent, selector: "gn-ui-form-field-resource-updated", inputs: ["control"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["control"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["control"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "control", "readonly", "invalid", "placeholder", "options"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["control", "label", "hint", "helperText", "placeholder"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["control"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35039
35397
|
}
|
|
35040
35398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
35041
35399
|
type: Component,
|
|
@@ -35058,7 +35416,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35058
35416
|
FormFieldArrayComponent,
|
|
35059
35417
|
FormFieldKeywordsComponent,
|
|
35060
35418
|
TranslateModule,
|
|
35061
|
-
], template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtents\">\n <gn-ui-form-field-temporal-extents\n [control]=\"formControl\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n
|
|
35419
|
+
], template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <h2\n #titleInput\n class=\"grow text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </h2>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtents\">\n <gn-ui-form-field-temporal-extents\n [control]=\"formControl\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n type=\"text\"\n [control]=\"formControl\"\n [readonly]=\"isReadOnly\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isKeywords\">\n <gn-ui-form-field-keywords\n [control]=\"formControl\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n</ng-template>\n" }]
|
|
35062
35420
|
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
35063
35421
|
type: Input
|
|
35064
35422
|
}], config: [{
|
|
@@ -35097,6 +35455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35097
35455
|
const ROUTER_STATE_KEY = 'router';
|
|
35098
35456
|
const ROUTER_ROUTE_SEARCH = 'search';
|
|
35099
35457
|
const ROUTER_ROUTE_DATASET = 'dataset';
|
|
35458
|
+
const ROUTER_ROUTE_ORGANIZATION = 'organization';
|
|
35100
35459
|
var ROUTE_PARAMS;
|
|
35101
35460
|
(function (ROUTE_PARAMS) {
|
|
35102
35461
|
ROUTE_PARAMS["SORT"] = "_sort";
|
|
@@ -35128,11 +35487,18 @@ class RouterService {
|
|
|
35128
35487
|
path: `${ROUTER_ROUTE_DATASET}/:metadataUuid`,
|
|
35129
35488
|
component: this.routerConfig.recordRouteComponent,
|
|
35130
35489
|
},
|
|
35490
|
+
{
|
|
35491
|
+
path: `${ROUTER_ROUTE_ORGANIZATION}/:name`,
|
|
35492
|
+
component: this.routerConfig.organizationRouteComponent,
|
|
35493
|
+
},
|
|
35131
35494
|
];
|
|
35132
35495
|
}
|
|
35133
35496
|
getSearchRoute() {
|
|
35134
35497
|
return ROUTER_ROUTE_SEARCH;
|
|
35135
35498
|
}
|
|
35499
|
+
getOrganizationPageRoute() {
|
|
35500
|
+
return ROUTER_ROUTE_ORGANIZATION;
|
|
35501
|
+
}
|
|
35136
35502
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterService, deps: [{ token: ROUTER_CONFIG }, { token: i1$7.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35137
35503
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterService, providedIn: 'root' }); }
|
|
35138
35504
|
}
|
|
@@ -35179,6 +35545,13 @@ class RouterFacade {
|
|
|
35179
35545
|
this.store.dispatch(setIncompleteMetadata({ incomplete: metadata }));
|
|
35180
35546
|
});
|
|
35181
35547
|
}
|
|
35548
|
+
goToOrganization(organizationName) {
|
|
35549
|
+
const path = `${this.routerService.getOrganizationPageRoute()}/${organizationName}`;
|
|
35550
|
+
this.go({
|
|
35551
|
+
path,
|
|
35552
|
+
queryParamsHandling: '',
|
|
35553
|
+
});
|
|
35554
|
+
}
|
|
35182
35555
|
updateSearch(query) {
|
|
35183
35556
|
this.go({
|
|
35184
35557
|
path: this.routerService.getSearchRoute(),
|
|
@@ -35416,7 +35789,7 @@ class DefaultRouterModule {
|
|
|
35416
35789
|
};
|
|
35417
35790
|
}
|
|
35418
35791
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultRouterModule, deps: [{ token: RouterService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
35419
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DefaultRouterModule, declarations: [SearchRouterContainerDirective], imports: [i1$2.StoreFeatureModule, i3$
|
|
35792
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DefaultRouterModule, declarations: [SearchRouterContainerDirective], imports: [i1$2.StoreFeatureModule, i3$3.StoreRouterConnectingModule, i1$8.EffectsFeatureModule], exports: [SearchRouterContainerDirective] }); }
|
|
35420
35793
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultRouterModule, providers: [
|
|
35421
35794
|
RouterFacade,
|
|
35422
35795
|
{
|
|
@@ -35459,5 +35832,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35459
35832
|
* Generated bundle index. Do not edit.
|
|
35460
35833
|
*/
|
|
35461
35834
|
|
|
35462
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageOverlayPreviewComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MultilingualSearchField, MyOrgService, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, 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_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, 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, 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, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, 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, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WFS_MAX_FEATURES, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, downgradeImage, downsizeImage, dragPanCondition, dropEmptyTranslations, editorReducer, findConverterForDocument, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, openRecord, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$2 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, saveRecord, saveRecordFailure, saveRecordSuccess, selectEditorState, selectFallback, selectFallbackFields, selectField, selectRecord, selectRecordAlreadySavedOnce, selectRecordChangedSinceSave, selectRecordFields, selectRecordFieldsConfig, selectRecordSaveError, selectRecordSaving, selectRecordSource, selectTranslatedField, selectTranslatedValue, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, totalPages, updateLayer, updateRecordField };
|
|
35835
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageOverlayPreviewComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MultilingualSearchField, MyOrgService, 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, PatchResultsAggregations, 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, 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, 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, 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, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, 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, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WFS_MAX_FEATURES, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, findConverterForDocument, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, initSearch, initialEditorState, initialMapState, initialState, isBeginningOfResults, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, openRecord, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$2 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, saveRecord, saveRecordFailure, saveRecordSuccess, selectEditorState, selectFallback, selectFallbackFields, selectField, selectRecord, selectRecordAlreadySavedOnce, selectRecordChangedSinceSave, selectRecordFields, selectRecordFieldsConfig, selectRecordSaveError, selectRecordSaving, selectRecordSource, selectTranslatedField, selectTranslatedValue, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, totalPages, updateLayer, updateRecordField };
|
|
35463
35836
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|