geonetwork-ui 2.5.0-dev.50bf7a85a → 2.5.0-dev.59720aa72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +20 -17
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +25 -9
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +8 -8
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +4 -4
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +9 -11
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +7 -23
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +3 -4
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +25 -5
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +10 -7
- package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
- package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +6 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +7 -8
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/index.mjs +1 -2
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +37 -2
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +1 -6
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +2 -7
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +14 -4
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -3
- package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
- package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +5 -6
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/base.mjs +1 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +19 -11
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +13 -9
- package/esm2022/translations/de.json +4 -76
- package/esm2022/translations/en.json +4 -76
- package/esm2022/translations/es.json +3 -75
- package/esm2022/translations/fr.json +16 -88
- package/esm2022/translations/it.json +21 -92
- package/esm2022/translations/nl.json +3 -75
- package/esm2022/translations/pt.json +3 -75
- package/fesm2022/geonetwork-ui.mjs +414 -886
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +1 -3
- package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +2 -3
- package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +5 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +3 -2
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
- package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
- package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
- package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
- package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +0 -1
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +16 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -28
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -3
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -2
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/index.d.ts +0 -1
- package/libs/ui/widgets/src/index.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +8 -9
- package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
- package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
- package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/base.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/readers/base.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
- package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +7 -4
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +22 -16
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +44 -13
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +165 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -1
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +22 -9
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -1
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +3 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +10 -10
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -13
- package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -20
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +24 -11
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +26 -4
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +71 -60
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +6 -3
- package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
- package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
- package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -0
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +2 -2
- package/src/libs/ui/elements/src/lib/image-input/image-input.component.html +8 -8
- package/src/libs/ui/elements/src/lib/image-input/image-input.component.ts +4 -6
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
- package/src/libs/ui/inputs/src/index.ts +0 -1
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +42 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -3
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +1 -7
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +37 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +8 -2
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -0
- package/src/libs/ui/widgets/src/index.ts +0 -1
- package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +2 -3
- package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
- package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
- package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
- package/src/libs/util/data-fetcher/src/lib/readers/base.ts +2 -2
- package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
- package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +34 -11
- package/src/libs/util/data-fetcher/src/lib/utils.ts +38 -32
- package/translations/de.json +4 -76
- package/translations/en.json +4 -76
- package/translations/es.json +3 -75
- package/translations/fr.json +16 -88
- package/translations/it.json +21 -92
- package/translations/nl.json +3 -75
- package/translations/pt.json +3 -75
- package/translations/sk.json +3 -75
- package/esm2022/libs/ui/inputs/src/lib/chips-input/chips-input.component.mjs +0 -78
- package/esm2022/libs/ui/widgets/src/lib/step-bar/step-bar.component.mjs +0 -55
- package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts +0 -33
- package/libs/ui/inputs/src/lib/chips-input/chips-input.component.d.ts.map +0 -1
- package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts +0 -21
- package/libs/ui/widgets/src/lib/step-bar/step-bar.component.d.ts.map +0 -1
- package/src/libs/data-access/datafeeder/src/index.ts +0 -1
- package/src/libs/data-access/datafeeder/src/openapi/api/api.ts +0 -11
- package/src/libs/data-access/datafeeder/src/openapi/api/config.api.service.ts +0 -168
- package/src/libs/data-access/datafeeder/src/openapi/api/dataPublishing.api.service.ts +0 -270
- package/src/libs/data-access/datafeeder/src/openapi/api/fileUpload.api.service.ts +0 -734
- package/src/libs/data-access/datafeeder/src/openapi/api.module.ts +0 -46
- package/src/libs/data-access/datafeeder/src/openapi/configuration.ts +0 -125
- package/src/libs/data-access/datafeeder/src/openapi/encoder.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/index.ts +0 -5
- package/src/libs/data-access/datafeeder/src/openapi/model/analysisStatusEnum.api.model.ts +0 -24
- package/src/libs/data-access/datafeeder/src/openapi/model/boundingBox.api.model.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/model/cRS.api.model.ts +0 -25
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +0 -45
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishRequest.api.model.ts +0 -39
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetPublishingStatus.api.model.ts +0 -50
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +0 -39
- package/src/libs/data-access/datafeeder/src/openapi/model/models.ts +0 -13
- package/src/libs/data-access/datafeeder/src/openapi/model/property.api.model.ts +0 -17
- package/src/libs/data-access/datafeeder/src/openapi/model/publishJobStatus.api.model.ts +0 -33
- package/src/libs/data-access/datafeeder/src/openapi/model/publishRequest.api.model.ts +0 -16
- package/src/libs/data-access/datafeeder/src/openapi/model/publishStatusEnum.api.model.ts +0 -20
- package/src/libs/data-access/datafeeder/src/openapi/model/publishStepEnum.api.model.ts +0 -42
- package/src/libs/data-access/datafeeder/src/openapi/model/uploadJobStatus.api.model.ts +0 -33
- package/src/libs/data-access/datafeeder/src/openapi/variables.ts +0 -9
- package/src/libs/data-access/datafeeder/src/spec.yaml +0 -537
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.css +0 -36
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.html +0 -23
- package/src/libs/ui/inputs/src/lib/chips-input/chips-input.component.ts +0 -81
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.css +0 -3
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.html +0 -13
- package/src/libs/ui/widgets/src/lib/step-bar/step-bar.component.ts +0 -55
|
@@ -37,7 +37,6 @@ import * as i1$6 from '@angular/material/autocomplete';
|
|
|
37
37
|
import { MatAutocompleteTrigger, MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
38
38
|
import * as i3 from 'ngx-dropzone';
|
|
39
39
|
import { NgxDropzoneModule } from 'ngx-dropzone';
|
|
40
|
-
import * as i5 from 'ngx-chips';
|
|
41
40
|
import { TagInputModule } from 'ngx-chips';
|
|
42
41
|
import * as i1$5 from '@angular/material/progress-spinner';
|
|
43
42
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
@@ -18621,8 +18620,6 @@ var de = {
|
|
|
18621
18620
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
18622
18621
|
"chart.type.pie": "Kreisdiagramm",
|
|
18623
18622
|
"dashboard.catalog.allRecords": "Metadatenkatalog",
|
|
18624
|
-
"dashboard.catalog.contacts": "Kontakte",
|
|
18625
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
18626
18623
|
"dashboard.createRecord": "Neuer Eintrag",
|
|
18627
18624
|
"dashboard.importRecord": "",
|
|
18628
18625
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -18635,29 +18632,10 @@ var de = {
|
|
|
18635
18632
|
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
18636
18633
|
"dashboard.records.myRecords": "Meine Datensätze",
|
|
18637
18634
|
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
18638
|
-
"dashboard.records.templates": "Vorlagen",
|
|
18639
18635
|
"dashboard.records.userDetail": "Name",
|
|
18640
18636
|
"dashboard.records.userEmail": "E-Mail",
|
|
18641
18637
|
"dashboard.records.username": "Benutzername",
|
|
18642
18638
|
"dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
|
|
18643
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
|
|
18644
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
|
|
18645
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
|
|
18646
|
-
"datafeeder.analysisProgressBar.subtitle": "Die Analyse kann einige Minuten dauern. Bitte warten Sie.",
|
|
18647
|
-
"datafeeder.analysisProgressBar.title": "Analyse in Bearbeitung",
|
|
18648
|
-
"datafeeder.datasetValidation.datasetInformation": "Der bereitgestellte Datensatz enthält {number} Elemente",
|
|
18649
|
-
"datafeeder.datasetValidation.submitButton": "OK, meine Daten sind korrekt",
|
|
18650
|
-
"datafeeder.datasetValidation.title": "Stellen Sie sicher, dass Ihre Daten korrekt sind",
|
|
18651
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
18652
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
18653
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
18654
|
-
"datafeeder.form.abstract": "Wie würden Sie Ihren Datensatz beschreiben?",
|
|
18655
|
-
"datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
|
|
18656
|
-
"datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
|
|
18657
|
-
"datafeeder.form.dropdown": "Für welche Skala wurde er erstellt?",
|
|
18658
|
-
"datafeeder.form.tags": "Wählen Sie einen oder mehrere Tage aus, die zu Ihrem Datensatz passen",
|
|
18659
|
-
"datafeeder.form.title": "Geben Sie Ihrem Datensatz den besten Titel",
|
|
18660
|
-
"datafeeder.formsPage.title": "Erzählen Sie uns mehr über Ihren Datensatz",
|
|
18661
18639
|
"datafeeder.month.april": "April",
|
|
18662
18640
|
"datafeeder.month.august": "August",
|
|
18663
18641
|
"datafeeder.month.december": "Dezember",
|
|
@@ -18670,59 +18648,6 @@ var de = {
|
|
|
18670
18648
|
"datafeeder.month.november": "November",
|
|
18671
18649
|
"datafeeder.month.october": "Oktober",
|
|
18672
18650
|
"datafeeder.month.september": "September",
|
|
18673
|
-
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist.",
|
|
18674
|
-
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz \n zum Veröffentlichen?",
|
|
18675
|
-
"datafeeder.publish.subtitle": "Das Veröffentlichen kann einige Minuten dauern.",
|
|
18676
|
-
"datafeeder.publish.title": "Vielen Dank! \n Ihr Datensatz wird veröffentlicht",
|
|
18677
|
-
"datafeeder.publish.upload": "Jetzt hochladen",
|
|
18678
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
|
|
18679
|
-
"datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
|
|
18680
|
-
"datafeeder.publishSuccess.mapViewer": "Kartenviewer",
|
|
18681
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
18682
|
-
"datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
|
|
18683
|
-
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
|
|
18684
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
|
|
18685
|
-
"datafeeder.summarizePage.illustration": "Kein Fehler? Los geht's!",
|
|
18686
|
-
"datafeeder.summarizePage.previous": "Zurück",
|
|
18687
|
-
"datafeeder.summarizePage.submit": "Absenden",
|
|
18688
|
-
"datafeeder.summarizePage.title": "Sie sind fast fertig...",
|
|
18689
|
-
"datafeeder.upload.acceptedFormats": "Akzeptierte Dateiformate:",
|
|
18690
|
-
"datafeeder.upload.checkboxLabel": "Ich besitze die Rechte zur Veröffentlichung dieses Datensatzes",
|
|
18691
|
-
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geografischen Datensatz enthält",
|
|
18692
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Bitte überprüfen Sie, ob die Datei gültig ist",
|
|
18693
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Beachten Sie: Nur SHP-Dateien",
|
|
18694
|
-
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximale Dateigröße {size} MB",
|
|
18695
|
-
"datafeeder.upload.error.title.analysis": "Fehler während der Datensatzanalyse",
|
|
18696
|
-
"datafeeder.upload.error.title.cantOpenFile": "Fehler beim Öffnen der Datei",
|
|
18697
|
-
"datafeeder.upload.error.title.fileFormat": "Das ausgewählte Dateiformat wird nicht unterstützt",
|
|
18698
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Keine Datei ausgewählt",
|
|
18699
|
-
"datafeeder.upload.error.title.fileSize": "Die Dateigröße ist zu groß",
|
|
18700
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Sie dürfen diesen Datensatz nicht veröffentlichen",
|
|
18701
|
-
"datafeeder.upload.illustration.enrichment": "Anreicherung",
|
|
18702
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
18703
|
-
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten \n war noch nie so einfach",
|
|
18704
|
-
"datafeeder.upload.illustration.validation": "Validierung",
|
|
18705
|
-
"datafeeder.upload.illustration.verification": "Überprüfung",
|
|
18706
|
-
"datafeeder.upload.inputLabel": "Importieren Sie Ihre Datei",
|
|
18707
|
-
"datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
|
|
18708
|
-
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
18709
|
-
"datafeeder.upload.uploadButton": "Hochladen",
|
|
18710
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
18711
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
18712
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
18713
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
18714
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
18715
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
18716
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
18717
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
18718
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
18719
|
-
"datafeeder.validation.encoding": "Codierung",
|
|
18720
|
-
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
18721
|
-
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
18722
|
-
"datafeeder.validation.projection": "Raumbezugssystem:",
|
|
18723
|
-
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem aus",
|
|
18724
|
-
"datafeeder.validation.sample.title": "Und eine Beispielentität aus dem Datensatz",
|
|
18725
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Bitte füllen Sie die obligatorischen Felder aus",
|
|
18726
18651
|
"datafeeder.wizardSummarize.createdAt": "Erstellt am",
|
|
18727
18652
|
"datafeeder.wizardSummarize.scale": "Maßstab",
|
|
18728
18653
|
"datahub.header.datasets": "Datensätze",
|
|
@@ -19026,9 +18951,10 @@ var de = {
|
|
|
19026
18951
|
"record.action.download": "Herunterladen",
|
|
19027
18952
|
"record.action.duplicate": "",
|
|
19028
18953
|
"record.action.duplicating": "",
|
|
18954
|
+
"record.action.rollback": "",
|
|
19029
18955
|
"record.action.view": "Anzeigen",
|
|
19030
18956
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
19031
|
-
"record.feature.limit": "Die
|
|
18957
|
+
"record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
|
|
19032
18958
|
"record.metadata.about": "Beschreibung",
|
|
19033
18959
|
"record.metadata.api": "API",
|
|
19034
18960
|
"record.metadata.api.form.closeButton": "Schließen",
|
|
@@ -19148,6 +19074,8 @@ var de = {
|
|
|
19148
19074
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
19149
19075
|
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
19150
19076
|
"search.field.sortBy": "Sortieren nach:",
|
|
19077
|
+
"search.filters.availableServices.download": "",
|
|
19078
|
+
"search.filters.availableServices.view": "",
|
|
19151
19079
|
"search.filters.changeDate": "Letzte Aktualisierung",
|
|
19152
19080
|
"search.filters.clear": "Zurücksetzen",
|
|
19153
19081
|
"search.filters.contact": "Kontakte",
|
|
@@ -19203,7 +19131,6 @@ var de = {
|
|
|
19203
19131
|
"tooltip.url.open": "URL öffnen",
|
|
19204
19132
|
"ui.readLess": "Weniger lesen",
|
|
19205
19133
|
"ui.readMore": "Weiterlesen",
|
|
19206
|
-
"wfs.aggregations.notsupported": "",
|
|
19207
19134
|
"wfs.feature.limit": "Zu viele Features, um den WFS-Layer anzuzeigen!",
|
|
19208
19135
|
"wfs.featuretype.notfound": "Kein passender Feature-Typ wurde im Dienst gefunden",
|
|
19209
19136
|
"wfs.geojsongml.notsupported": "Dieser Dienst unterstützt das GeoJSON- oder GML-Format nicht",
|
|
@@ -19238,8 +19165,6 @@ var en = {
|
|
|
19238
19165
|
"chart.type.lineSmooth": "smooth line chart",
|
|
19239
19166
|
"chart.type.pie": "pie chart",
|
|
19240
19167
|
"dashboard.catalog.allRecords": "Datasets",
|
|
19241
|
-
"dashboard.catalog.contacts": "Contacts",
|
|
19242
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
19243
19168
|
"dashboard.createRecord": "New dataset",
|
|
19244
19169
|
"dashboard.importRecord": "Import",
|
|
19245
19170
|
"dashboard.importRecord.importExternal": "Import an external file",
|
|
@@ -19252,29 +19177,10 @@ var en = {
|
|
|
19252
19177
|
"dashboard.records.myDraft": "My drafts",
|
|
19253
19178
|
"dashboard.records.myRecords": "My datasets",
|
|
19254
19179
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
19255
|
-
"dashboard.records.templates": "Templates",
|
|
19256
19180
|
"dashboard.records.userDetail": "Name",
|
|
19257
19181
|
"dashboard.records.userEmail": "Email",
|
|
19258
19182
|
"dashboard.records.username": "Username",
|
|
19259
19183
|
"dashboard.records.users": "{count, plural, =1{user} other{users}}",
|
|
19260
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
|
|
19261
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Gathering dataset \n information",
|
|
19262
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n data",
|
|
19263
|
-
"datafeeder.analysisProgressBar.subtitle": "The analysis may take several minutes, please wait.",
|
|
19264
|
-
"datafeeder.analysisProgressBar.title": "Analysis in progress",
|
|
19265
|
-
"datafeeder.datasetValidation.datasetInformation": "The provided dataset contains {number} entities",
|
|
19266
|
-
"datafeeder.datasetValidation.submitButton": "OK, my data is correct",
|
|
19267
|
-
"datafeeder.datasetValidation.title": "Make sure your data is correct",
|
|
19268
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
19269
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*The table must display the first 5 lines (excluding the header)<br>If this is not the case, check that the file is correctly formatted",
|
|
19270
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Sample of the first 5 lines* of the dataset:",
|
|
19271
|
-
"datafeeder.form.abstract": "How would you describe your dataset?",
|
|
19272
|
-
"datafeeder.form.datepicker": "Do you know when the dataset was created?",
|
|
19273
|
-
"datafeeder.form.description": "Finally, please describe the process used to create the dataset",
|
|
19274
|
-
"datafeeder.form.dropdown": "For which scale was it created?",
|
|
19275
|
-
"datafeeder.form.tags": "Select one or more tags that fit your dataset",
|
|
19276
|
-
"datafeeder.form.title": "Give your dataset the best title",
|
|
19277
|
-
"datafeeder.formsPage.title": "Tell us more about your dataset",
|
|
19278
19184
|
"datafeeder.month.april": "April",
|
|
19279
19185
|
"datafeeder.month.august": "August",
|
|
19280
19186
|
"datafeeder.month.december": "December",
|
|
@@ -19287,59 +19193,6 @@ var en = {
|
|
|
19287
19193
|
"datafeeder.month.november": "November",
|
|
19288
19194
|
"datafeeder.month.october": "October",
|
|
19289
19195
|
"datafeeder.month.september": "September",
|
|
19290
|
-
"datafeeder.publish.hint": "You can safely exit this page, you will be notified when the process is over",
|
|
19291
|
-
"datafeeder.publish.illustration.title": "Another dataset \n to publish?",
|
|
19292
|
-
"datafeeder.publish.subtitle": "Publishing may take several minutes.",
|
|
19293
|
-
"datafeeder.publish.title": "Thank you! \n Your dataset is being published",
|
|
19294
|
-
"datafeeder.publish.upload": "Upload it now",
|
|
19295
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Metadata record",
|
|
19296
|
-
"datafeeder.publishSuccess.illustration.title": "Done, all is good!",
|
|
19297
|
-
"datafeeder.publishSuccess.mapViewer": "Map viewer",
|
|
19298
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
19299
|
-
"datafeeder.publishSuccess.subtitle": "View your data in:",
|
|
19300
|
-
"datafeeder.publishSuccess.title": "Congratulations! \n Your dataset has been published",
|
|
19301
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Upload another dataset",
|
|
19302
|
-
"datafeeder.summarizePage.illustration": "No mistake? Let's go!",
|
|
19303
|
-
"datafeeder.summarizePage.previous": "Previous",
|
|
19304
|
-
"datafeeder.summarizePage.submit": "Submit",
|
|
19305
|
-
"datafeeder.summarizePage.title": "You're almost there...",
|
|
19306
|
-
"datafeeder.upload.acceptedFormats": "Accepted file formats:",
|
|
19307
|
-
"datafeeder.upload.checkboxLabel": "I hold the rights to publish this dataset",
|
|
19308
|
-
"datafeeder.upload.error.subtitle.analysis": "Check that the file contains a valid geospatial dataset",
|
|
19309
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Please check that the file is valid",
|
|
19310
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Remember: only SHP",
|
|
19311
|
-
"datafeeder.upload.error.subtitle.fileSize": "Remember: {size} MB maximum",
|
|
19312
|
-
"datafeeder.upload.error.title.analysis": "Error during the dataset analysis",
|
|
19313
|
-
"datafeeder.upload.error.title.cantOpenFile": "Error while opening the file",
|
|
19314
|
-
"datafeeder.upload.error.title.fileFormat": "The selected file format is not supported",
|
|
19315
|
-
"datafeeder.upload.error.title.fileHasntSelected": "No file selected",
|
|
19316
|
-
"datafeeder.upload.error.title.fileSize": "The file size is too large",
|
|
19317
|
-
"datafeeder.upload.error.title.noRightsToSendData": "You are not allowed to publish this dataset",
|
|
19318
|
-
"datafeeder.upload.illustration.enrichment": "Enrichment",
|
|
19319
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
19320
|
-
"datafeeder.upload.illustration.title": "Adding data \n has never been easier",
|
|
19321
|
-
"datafeeder.upload.illustration.validation": "Validation",
|
|
19322
|
-
"datafeeder.upload.illustration.verification": "Verification",
|
|
19323
|
-
"datafeeder.upload.inputLabel": "Import your file",
|
|
19324
|
-
"datafeeder.upload.maxFileSize": "Maximum file size is {size} MB",
|
|
19325
|
-
"datafeeder.upload.title": "Upload your dataset",
|
|
19326
|
-
"datafeeder.upload.uploadButton": "Upload",
|
|
19327
|
-
"datafeeder.validation.csv.delimiter": "Delimiter",
|
|
19328
|
-
"datafeeder.validation.csv.delimiter.comma": "Comma",
|
|
19329
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Semicolon",
|
|
19330
|
-
"datafeeder.validation.csv.lat.field": "Latitude column",
|
|
19331
|
-
"datafeeder.validation.csv.lng.field": "Longitude column",
|
|
19332
|
-
"datafeeder.validation.csv.quote.double": "Double quote",
|
|
19333
|
-
"datafeeder.validation.csv.quote.none": "None",
|
|
19334
|
-
"datafeeder.validation.csv.quote.simple": "Single quote",
|
|
19335
|
-
"datafeeder.validation.csv.quoteChar": "Quote separator",
|
|
19336
|
-
"datafeeder.validation.encoding": "Encoding",
|
|
19337
|
-
"datafeeder.validation.extent.title": "Here is the dataset extent",
|
|
19338
|
-
"datafeeder.validation.extent.title.unknown": "The projection system is unknown",
|
|
19339
|
-
"datafeeder.validation.projection": "Spatial reference system:",
|
|
19340
|
-
"datafeeder.validation.projection.unknown": "Choose a spatial reference system",
|
|
19341
|
-
"datafeeder.validation.sample.title": "And a sample entity from the dataset",
|
|
19342
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Please fill in mandatory fields",
|
|
19343
19196
|
"datafeeder.wizardSummarize.createdAt": "Created at",
|
|
19344
19197
|
"datafeeder.wizardSummarize.scale": "Scale",
|
|
19345
19198
|
"datahub.header.datasets": "Datasets",
|
|
@@ -19643,9 +19496,10 @@ var en = {
|
|
|
19643
19496
|
"record.action.download": "Download",
|
|
19644
19497
|
"record.action.duplicate": "Duplicate",
|
|
19645
19498
|
"record.action.duplicating": "Duplicating...",
|
|
19499
|
+
"record.action.rollback": "Rollback",
|
|
19646
19500
|
"record.action.view": "View",
|
|
19647
19501
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
19648
|
-
"record.feature.limit": "
|
|
19502
|
+
"record.feature.limit": "Preview disabled due to too many elements",
|
|
19649
19503
|
"record.metadata.about": "Description",
|
|
19650
19504
|
"record.metadata.api": "API",
|
|
19651
19505
|
"record.metadata.api.form.closeButton": "Close",
|
|
@@ -19765,6 +19619,8 @@ var en = {
|
|
|
19765
19619
|
"search.error.recordNotFound": "The dataset with identifier \"{ id }\" could not be found.",
|
|
19766
19620
|
"search.field.any.placeholder": "Search datasets ...",
|
|
19767
19621
|
"search.field.sortBy": "Sort by:",
|
|
19622
|
+
"search.filters.availableServices.download": "",
|
|
19623
|
+
"search.filters.availableServices.view": "",
|
|
19768
19624
|
"search.filters.changeDate": "Updated",
|
|
19769
19625
|
"search.filters.clear": "Reset",
|
|
19770
19626
|
"search.filters.contact": "Contacts",
|
|
@@ -19820,7 +19676,6 @@ var en = {
|
|
|
19820
19676
|
"tooltip.url.open": "Open URL",
|
|
19821
19677
|
"ui.readLess": "Read less",
|
|
19822
19678
|
"ui.readMore": "Read more",
|
|
19823
|
-
"wfs.aggregations.notsupported": "Aggregations are currently not supported for WFS services",
|
|
19824
19679
|
"wfs.feature.limit": "Too many features to display the WFS layer!",
|
|
19825
19680
|
"wfs.featuretype.notfound": "No matching feature type was found in the service",
|
|
19826
19681
|
"wfs.geojsongml.notsupported": "This service does not support the GeoJSON or GML format",
|
|
@@ -19855,8 +19710,6 @@ var es = {
|
|
|
19855
19710
|
"chart.type.lineSmooth": "gráfico de líneas suave",
|
|
19856
19711
|
"chart.type.pie": "gráfico circular",
|
|
19857
19712
|
"dashboard.catalog.allRecords": "",
|
|
19858
|
-
"dashboard.catalog.contacts": "",
|
|
19859
|
-
"dashboard.catalog.thesaurus": "",
|
|
19860
19713
|
"dashboard.createRecord": "",
|
|
19861
19714
|
"dashboard.importRecord": "",
|
|
19862
19715
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -19869,29 +19722,10 @@ var es = {
|
|
|
19869
19722
|
"dashboard.records.myDraft": "Mis borradores",
|
|
19870
19723
|
"dashboard.records.myRecords": "Mis Registros",
|
|
19871
19724
|
"dashboard.records.search": "Buscar \"{searchText}\"",
|
|
19872
|
-
"dashboard.records.templates": "",
|
|
19873
19725
|
"dashboard.records.userDetail": "",
|
|
19874
19726
|
"dashboard.records.userEmail": "",
|
|
19875
19727
|
"dashboard.records.username": "",
|
|
19876
19728
|
"dashboard.records.users": "",
|
|
19877
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
19878
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
19879
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
19880
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
19881
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
19882
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
19883
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
19884
|
-
"datafeeder.datasetValidation.title": "",
|
|
19885
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
19886
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
19887
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
19888
|
-
"datafeeder.form.abstract": "",
|
|
19889
|
-
"datafeeder.form.datepicker": "",
|
|
19890
|
-
"datafeeder.form.description": "",
|
|
19891
|
-
"datafeeder.form.dropdown": "",
|
|
19892
|
-
"datafeeder.form.tags": "",
|
|
19893
|
-
"datafeeder.form.title": "",
|
|
19894
|
-
"datafeeder.formsPage.title": "",
|
|
19895
19729
|
"datafeeder.month.april": "",
|
|
19896
19730
|
"datafeeder.month.august": "",
|
|
19897
19731
|
"datafeeder.month.december": "",
|
|
@@ -19904,59 +19738,6 @@ var es = {
|
|
|
19904
19738
|
"datafeeder.month.november": "",
|
|
19905
19739
|
"datafeeder.month.october": "",
|
|
19906
19740
|
"datafeeder.month.september": "",
|
|
19907
|
-
"datafeeder.publish.hint": "",
|
|
19908
|
-
"datafeeder.publish.illustration.title": "",
|
|
19909
|
-
"datafeeder.publish.subtitle": "",
|
|
19910
|
-
"datafeeder.publish.title": "",
|
|
19911
|
-
"datafeeder.publish.upload": "",
|
|
19912
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
19913
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
19914
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
19915
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
19916
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
19917
|
-
"datafeeder.publishSuccess.title": "",
|
|
19918
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
19919
|
-
"datafeeder.summarizePage.illustration": "",
|
|
19920
|
-
"datafeeder.summarizePage.previous": "",
|
|
19921
|
-
"datafeeder.summarizePage.submit": "",
|
|
19922
|
-
"datafeeder.summarizePage.title": "",
|
|
19923
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
19924
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
19925
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
19926
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
19927
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
19928
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
19929
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
19930
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
19931
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
19932
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
19933
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
19934
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
19935
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
19936
|
-
"datafeeder.upload.illustration.import": "",
|
|
19937
|
-
"datafeeder.upload.illustration.title": "",
|
|
19938
|
-
"datafeeder.upload.illustration.validation": "",
|
|
19939
|
-
"datafeeder.upload.illustration.verification": "",
|
|
19940
|
-
"datafeeder.upload.inputLabel": "",
|
|
19941
|
-
"datafeeder.upload.maxFileSize": "",
|
|
19942
|
-
"datafeeder.upload.title": "",
|
|
19943
|
-
"datafeeder.upload.uploadButton": "",
|
|
19944
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
19945
|
-
"datafeeder.validation.csv.delimiter.comma": "Coma",
|
|
19946
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Punto y coma",
|
|
19947
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
19948
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
19949
|
-
"datafeeder.validation.csv.quote.double": "Comillas dobles",
|
|
19950
|
-
"datafeeder.validation.csv.quote.none": "Ninguno",
|
|
19951
|
-
"datafeeder.validation.csv.quote.simple": "Comillas simples",
|
|
19952
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
19953
|
-
"datafeeder.validation.encoding": "",
|
|
19954
|
-
"datafeeder.validation.extent.title": "",
|
|
19955
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
19956
|
-
"datafeeder.validation.projection": "",
|
|
19957
|
-
"datafeeder.validation.projection.unknown": "",
|
|
19958
|
-
"datafeeder.validation.sample.title": "",
|
|
19959
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
19960
19741
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
19961
19742
|
"datafeeder.wizardSummarize.scale": "",
|
|
19962
19743
|
"datahub.header.datasets": "",
|
|
@@ -20260,6 +20041,7 @@ var es = {
|
|
|
20260
20041
|
"record.action.download": "",
|
|
20261
20042
|
"record.action.duplicate": "",
|
|
20262
20043
|
"record.action.duplicating": "",
|
|
20044
|
+
"record.action.rollback": "",
|
|
20263
20045
|
"record.action.view": "",
|
|
20264
20046
|
"record.externalViewer.open": "",
|
|
20265
20047
|
"record.feature.limit": "",
|
|
@@ -20382,6 +20164,8 @@ var es = {
|
|
|
20382
20164
|
"search.error.recordNotFound": "",
|
|
20383
20165
|
"search.field.any.placeholder": "",
|
|
20384
20166
|
"search.field.sortBy": "",
|
|
20167
|
+
"search.filters.availableServices.download": "",
|
|
20168
|
+
"search.filters.availableServices.view": "",
|
|
20385
20169
|
"search.filters.changeDate": "Última actualización",
|
|
20386
20170
|
"search.filters.clear": "",
|
|
20387
20171
|
"search.filters.contact": "",
|
|
@@ -20437,7 +20221,6 @@ var es = {
|
|
|
20437
20221
|
"tooltip.url.open": "",
|
|
20438
20222
|
"ui.readLess": "",
|
|
20439
20223
|
"ui.readMore": "",
|
|
20440
|
-
"wfs.aggregations.notsupported": "",
|
|
20441
20224
|
"wfs.feature.limit": "",
|
|
20442
20225
|
"wfs.featuretype.notfound": "",
|
|
20443
20226
|
"wfs.geojsongml.notsupported": "",
|
|
@@ -20472,8 +20255,6 @@ var fr = {
|
|
|
20472
20255
|
"chart.type.lineSmooth": "ligne lisse",
|
|
20473
20256
|
"chart.type.pie": "camembert",
|
|
20474
20257
|
"dashboard.catalog.allRecords": "Jeux de données",
|
|
20475
|
-
"dashboard.catalog.contacts": "Annuaire",
|
|
20476
|
-
"dashboard.catalog.thesaurus": "Thésaurus",
|
|
20477
20258
|
"dashboard.createRecord": "Nouveau jeu de données",
|
|
20478
20259
|
"dashboard.importRecord": "Importer",
|
|
20479
20260
|
"dashboard.importRecord.importExternal": "Importer un jeu de données externe",
|
|
@@ -20486,29 +20267,10 @@ var fr = {
|
|
|
20486
20267
|
"dashboard.records.myDraft": "Mes brouillons",
|
|
20487
20268
|
"dashboard.records.myRecords": "Mes jeux de données",
|
|
20488
20269
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
20489
|
-
"dashboard.records.templates": "Modèles pré-remplis",
|
|
20490
20270
|
"dashboard.records.userDetail": "Nom",
|
|
20491
20271
|
"dashboard.records.userEmail": "Email",
|
|
20492
20272
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
20493
20273
|
"dashboard.records.users": "{count, plural, =1{utilisateur} other{utilisateurs}}",
|
|
20494
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Détection du \n format de fichier",
|
|
20495
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Récupération des informations \n sur le jeu de données",
|
|
20496
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Échantillonnage \n des données",
|
|
20497
|
-
"datafeeder.analysisProgressBar.subtitle": "L'analyse peut prendre plusieurs minutes, merci de patienter.",
|
|
20498
|
-
"datafeeder.analysisProgressBar.title": "Analyse en cours",
|
|
20499
|
-
"datafeeder.datasetValidation.datasetInformation": "Le jeu de données fourni contient {number} entités",
|
|
20500
|
-
"datafeeder.datasetValidation.submitButton": "OK, mes données sont correctes",
|
|
20501
|
-
"datafeeder.datasetValidation.title": "Vérifiez que vos données sont correctes",
|
|
20502
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
20503
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*Le tableau doit afficher les 5 premières lignes (hors en-tête)<br>Si ce n'est pas le cas, vérifiez que le fichier est bien formaté",
|
|
20504
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Résumé des 5 premières lignes* du CSV :",
|
|
20505
|
-
"datafeeder.form.abstract": "Comment décrire votre jeu de données ?",
|
|
20506
|
-
"datafeeder.form.datepicker": "Savez-vous quand la donnée a été créée ?",
|
|
20507
|
-
"datafeeder.form.description": "Enfin, décrivez le processus utilisé pour créer la donnée",
|
|
20508
|
-
"datafeeder.form.dropdown": "Et pour quelle échelle ?",
|
|
20509
|
-
"datafeeder.form.tags": "Choisissez un ou plusieurs mots-clés correspondant à vos données",
|
|
20510
|
-
"datafeeder.form.title": "Donnez un titre à votre jeu de données",
|
|
20511
|
-
"datafeeder.formsPage.title": "Dites-nous en plus sur ces données",
|
|
20512
20274
|
"datafeeder.month.april": "Avril",
|
|
20513
20275
|
"datafeeder.month.august": "Août",
|
|
20514
20276
|
"datafeeder.month.december": "Décembre",
|
|
@@ -20521,59 +20283,6 @@ var fr = {
|
|
|
20521
20283
|
"datafeeder.month.november": "Novembre",
|
|
20522
20284
|
"datafeeder.month.october": "Octobre",
|
|
20523
20285
|
"datafeeder.month.september": "Septembre",
|
|
20524
|
-
"datafeeder.publish.hint": "Vous pouvez quitter cette page en toute sécurité, vous serez prévenus quand le processus sera terminé",
|
|
20525
|
-
"datafeeder.publish.illustration.title": "Une autre donnée \n à publier ?",
|
|
20526
|
-
"datafeeder.publish.subtitle": "La publication peut prendre plusieurs minutes.",
|
|
20527
|
-
"datafeeder.publish.title": "Merci! \n Vos données sont en cours de publication",
|
|
20528
|
-
"datafeeder.publish.upload": "Télécharger maintenant",
|
|
20529
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Fiche de métadonnées",
|
|
20530
|
-
"datafeeder.publishSuccess.illustration.title": "Terminé, tout s'est bien passé !",
|
|
20531
|
-
"datafeeder.publishSuccess.mapViewer": "Visualiseur",
|
|
20532
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
20533
|
-
"datafeeder.publishSuccess.subtitle": "Visualisez vos données :",
|
|
20534
|
-
"datafeeder.publishSuccess.title": "Félicitations! \n Vos données ont été publiées",
|
|
20535
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Importer une autre donnée",
|
|
20536
|
-
"datafeeder.summarizePage.illustration": "Pas d'erreur ? C'est parti !",
|
|
20537
|
-
"datafeeder.summarizePage.previous": "Précédent",
|
|
20538
|
-
"datafeeder.summarizePage.submit": "Publier",
|
|
20539
|
-
"datafeeder.summarizePage.title": "On y est presque...",
|
|
20540
|
-
"datafeeder.upload.acceptedFormats": "Formats de fichier acceptés :",
|
|
20541
|
-
"datafeeder.upload.checkboxLabel": "J'ai le droit de publier cette donnée",
|
|
20542
|
-
"datafeeder.upload.error.subtitle.analysis": "Le fichier transféré contient-il des données géographiques valides ?",
|
|
20543
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Vérifiez la validité du fichier sélectionné",
|
|
20544
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Rappel : uniquement des SHP",
|
|
20545
|
-
"datafeeder.upload.error.subtitle.fileSize": "Rappel : {size} Mo maximum",
|
|
20546
|
-
"datafeeder.upload.error.title.analysis": "Erreur lors de l'analyse des données",
|
|
20547
|
-
"datafeeder.upload.error.title.cantOpenFile": "Erreur lors de l'ouverture du fichier",
|
|
20548
|
-
"datafeeder.upload.error.title.fileFormat": "Le format du fichier n'est pas supporté",
|
|
20549
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Aucun fichier n'a été sélectionné",
|
|
20550
|
-
"datafeeder.upload.error.title.fileSize": "La taille du fichier est trop importante",
|
|
20551
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Vous n'avez pas validé les droits de publication",
|
|
20552
|
-
"datafeeder.upload.illustration.enrichment": "Enrichissement",
|
|
20553
|
-
"datafeeder.upload.illustration.import": "Import",
|
|
20554
|
-
"datafeeder.upload.illustration.title": "Ajouter des données n'a jamais été aussi simple",
|
|
20555
|
-
"datafeeder.upload.illustration.validation": "Validation",
|
|
20556
|
-
"datafeeder.upload.illustration.verification": "Vérification",
|
|
20557
|
-
"datafeeder.upload.inputLabel": "Ajouter votre fichier",
|
|
20558
|
-
"datafeeder.upload.maxFileSize": "La taille maximale est {size} Mo",
|
|
20559
|
-
"datafeeder.upload.title": "Importez vos données",
|
|
20560
|
-
"datafeeder.upload.uploadButton": "Transférer",
|
|
20561
|
-
"datafeeder.validation.csv.delimiter": "Séparateur de colonne",
|
|
20562
|
-
"datafeeder.validation.csv.delimiter.comma": "Virgule",
|
|
20563
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Point-virgule",
|
|
20564
|
-
"datafeeder.validation.csv.lat.field": "Colonne latitude",
|
|
20565
|
-
"datafeeder.validation.csv.lng.field": "Colonne longitude",
|
|
20566
|
-
"datafeeder.validation.csv.quote.double": "Double guillemets",
|
|
20567
|
-
"datafeeder.validation.csv.quote.none": "Aucun",
|
|
20568
|
-
"datafeeder.validation.csv.quote.simple": "Simple guillemet",
|
|
20569
|
-
"datafeeder.validation.csv.quoteChar": "Séparateur de texte",
|
|
20570
|
-
"datafeeder.validation.encoding": "Encodage",
|
|
20571
|
-
"datafeeder.validation.extent.title": "Voici l'emprise du jeu de données",
|
|
20572
|
-
"datafeeder.validation.extent.title.unknown": "Le système de projection est inconnu",
|
|
20573
|
-
"datafeeder.validation.projection": "Projection :",
|
|
20574
|
-
"datafeeder.validation.projection.unknown": "Choisissez une projection",
|
|
20575
|
-
"datafeeder.validation.sample.title": "Et un exemple d'objet",
|
|
20576
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Veuillez remplir les champs obligatoires",
|
|
20577
20286
|
"datafeeder.wizardSummarize.createdAt": "Créée le",
|
|
20578
20287
|
"datafeeder.wizardSummarize.scale": "Échelle",
|
|
20579
20288
|
"datahub.header.datasets": "Données",
|
|
@@ -20613,7 +20322,7 @@ var fr = {
|
|
|
20613
20322
|
"domain.contact.role.point_of_contact": "Point de contact",
|
|
20614
20323
|
"domain.contact.role.principal_investigator": "Chercheur principal",
|
|
20615
20324
|
"domain.contact.role.processor": "Processeur",
|
|
20616
|
-
"domain.contact.role.publisher": "
|
|
20325
|
+
"domain.contact.role.publisher": "Producteur",
|
|
20617
20326
|
"domain.contact.role.resource_provider": "Fournisseur",
|
|
20618
20327
|
"domain.contact.role.rights_holder": "Détenteur des droits",
|
|
20619
20328
|
"domain.contact.role.sponsor": "Sponsor",
|
|
@@ -20677,7 +20386,7 @@ var fr = {
|
|
|
20677
20386
|
"editor.record.form.constraint.otherConstraints": "Autres contraintes",
|
|
20678
20387
|
"editor.record.form.constraint.securityConstraints": "Contraintes de sécurité",
|
|
20679
20388
|
"editor.record.form.draft.updateAlert": "Depuis la création de ce brouillon, ce jeu de données a été modifié le { date } par { user }. Publier votre version peut supprimer ses modifications. Pour éviter cela, vous pouvez annuler vos changements, ou publier votre version en connaissance de cause.",
|
|
20680
|
-
"editor.record.form.field.abstract": "
|
|
20389
|
+
"editor.record.form.field.abstract": "Description",
|
|
20681
20390
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20682
20391
|
"editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
|
|
20683
20392
|
"editor.record.form.field.contacts.placeholder": "Choisissez un contact",
|
|
@@ -20719,14 +20428,14 @@ var fr = {
|
|
|
20719
20428
|
"editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
|
|
20720
20429
|
"editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
|
|
20721
20430
|
"editor.record.form.keywords.placeholder": "Sélectionnez un mot-clé",
|
|
20722
|
-
"editor.record.form.license.cc-by": "",
|
|
20723
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
20724
|
-
"editor.record.form.license.cc-zero": "",
|
|
20431
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
20432
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
20433
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
20725
20434
|
"editor.record.form.license.etalab": "Licence Ouverte (Etalab)",
|
|
20726
20435
|
"editor.record.form.license.etalab-v2": "Licence Ouverte v2.0 (Etalab)",
|
|
20727
|
-
"editor.record.form.license.odbl": "",
|
|
20728
|
-
"editor.record.form.license.odc-by": "",
|
|
20729
|
-
"editor.record.form.license.pddl": "",
|
|
20436
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
20437
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
20438
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
20730
20439
|
"editor.record.form.license.unknown": "Inconnue ou absente",
|
|
20731
20440
|
"editor.record.form.page.accessAndContact": "Informations pour l'utilisation",
|
|
20732
20441
|
"editor.record.form.page.description": "Description du jeu de données",
|
|
@@ -20779,7 +20488,7 @@ var fr = {
|
|
|
20779
20488
|
"editor.record.resourceError.closeMessage": "Compris",
|
|
20780
20489
|
"editor.record.resourceError.title": "Erreur avec les pièces jointes",
|
|
20781
20490
|
"editor.record.saveStatus.draftWithChangesPending": "Sauvegardé - Modifications non publiées",
|
|
20782
|
-
"editor.record.saveStatus.recordNotPublished": "",
|
|
20491
|
+
"editor.record.saveStatus.recordNotPublished": "Sauvegardé - non publié",
|
|
20783
20492
|
"editor.record.saveStatus.recordUpToDate": "Sauvegardé - Jeu de données à jour",
|
|
20784
20493
|
"editor.record.undo.confirmation.cancelText": "Garder les modifications",
|
|
20785
20494
|
"editor.record.undo.confirmation.confirmText": "Retirer les modifications",
|
|
@@ -20789,7 +20498,7 @@ var fr = {
|
|
|
20789
20498
|
"editor.record.undo.tooltip.enabled": "Cliquer sur ce bouton pour annuler les modifications apportées à ce jeu de données",
|
|
20790
20499
|
"editor.record.upToDate": "Ce jeu de données est à jour",
|
|
20791
20500
|
"editor.sidebar.logout": "Se déconnecter",
|
|
20792
|
-
"editor.sidebar.menu.editor": "",
|
|
20501
|
+
"editor.sidebar.menu.editor": "Editeur",
|
|
20793
20502
|
"editor.temporary.disabled": "Pas encore implémenté",
|
|
20794
20503
|
"externalviewer.dataset.unnamed": "Couche du datahub",
|
|
20795
20504
|
"facets.block.title.OrgForResource": "Organisation",
|
|
@@ -20837,7 +20546,7 @@ var fr = {
|
|
|
20837
20546
|
"map.add.layer": "Ajouter une couche",
|
|
20838
20547
|
"map.add.layer.catalog": "Du catalogue",
|
|
20839
20548
|
"map.add.layer.file": "À partir d'un fichier",
|
|
20840
|
-
"map.add.layer.ogc.api": "",
|
|
20549
|
+
"map.add.layer.ogc.api": "Depuis un service OGC API",
|
|
20841
20550
|
"map.add.layer.wfs": "Depuis un service WFS",
|
|
20842
20551
|
"map.add.layer.wms": "Depuis un service WMS",
|
|
20843
20552
|
"map.addFromFile.placeholder": "Cliquez ou déposez un fichier ici",
|
|
@@ -20850,7 +20559,7 @@ var fr = {
|
|
|
20850
20559
|
"map.loading.data": "Chargement des données...",
|
|
20851
20560
|
"map.loading.service": "Chargement du service...",
|
|
20852
20561
|
"map.navigation.message": "Veuillez utiliser CTRL + souris (ou deux doigts sur mobile) pour naviguer sur la carte",
|
|
20853
|
-
"map.ogc.urlInput.hint": "",
|
|
20562
|
+
"map.ogc.urlInput.hint": "Entrez l'URL du service OGC API",
|
|
20854
20563
|
"map.select.layer": "Source de données",
|
|
20855
20564
|
"map.wfs.urlInput.hint": "Entrez l'URL du service WFS",
|
|
20856
20565
|
"map.wms.urlInput.hint": "Entrez l'URL du service WMS",
|
|
@@ -20877,9 +20586,10 @@ var fr = {
|
|
|
20877
20586
|
"record.action.download": "Télécharger",
|
|
20878
20587
|
"record.action.duplicate": "Dupliquer",
|
|
20879
20588
|
"record.action.duplicating": "Duplication...",
|
|
20589
|
+
"record.action.rollback": "Restaurer",
|
|
20880
20590
|
"record.action.view": "Voir",
|
|
20881
20591
|
"record.externalViewer.open": "Ouvrir dans le visualiseur externe",
|
|
20882
|
-
"record.feature.limit": "
|
|
20592
|
+
"record.feature.limit": "L’aperçu a été désactivé en raison d’un trop grand nombre d'éléments",
|
|
20883
20593
|
"record.metadata.about": "Description",
|
|
20884
20594
|
"record.metadata.api": "API",
|
|
20885
20595
|
"record.metadata.api.form.closeButton": "Fermer",
|
|
@@ -20999,6 +20709,8 @@ var fr = {
|
|
|
20999
20709
|
"search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
|
|
21000
20710
|
"search.field.any.placeholder": "Rechercher un jeu de données...",
|
|
21001
20711
|
"search.field.sortBy": "Trier par :",
|
|
20712
|
+
"search.filters.availableServices.download": "",
|
|
20713
|
+
"search.filters.availableServices.view": "",
|
|
21002
20714
|
"search.filters.changeDate": "Mise à jour",
|
|
21003
20715
|
"search.filters.clear": "Réinitialiser",
|
|
21004
20716
|
"search.filters.contact": "Contacts",
|
|
@@ -21054,7 +20766,6 @@ var fr = {
|
|
|
21054
20766
|
"tooltip.url.open": "Ouvrir l'URL",
|
|
21055
20767
|
"ui.readLess": "Réduire",
|
|
21056
20768
|
"ui.readMore": "Lire la suite",
|
|
21057
|
-
"wfs.aggregations.notsupported": "Agrégations non supportées pour les services WFS",
|
|
21058
20769
|
"wfs.feature.limit": "Trop d'objets pour afficher la couche WFS !",
|
|
21059
20770
|
"wfs.featuretype.notfound": "La classe d'objets n'a pas été trouvée dans le service",
|
|
21060
20771
|
"wfs.geojsongml.notsupported": "Le service ne supporte pas le format GeoJSON ou GML",
|
|
@@ -21089,8 +20800,6 @@ var it = {
|
|
|
21089
20800
|
"chart.type.lineSmooth": "grafico a linea liscia",
|
|
21090
20801
|
"chart.type.pie": "grafico a torta",
|
|
21091
20802
|
"dashboard.catalog.allRecords": "Datasets",
|
|
21092
|
-
"dashboard.catalog.contacts": "Contatti",
|
|
21093
|
-
"dashboard.catalog.thesaurus": "Thesauri",
|
|
21094
20803
|
"dashboard.createRecord": "Crea un record",
|
|
21095
20804
|
"dashboard.importRecord": "Importare",
|
|
21096
20805
|
"dashboard.importRecord.importExternal": "Importare un dataset esterno",
|
|
@@ -21103,29 +20812,10 @@ var it = {
|
|
|
21103
20812
|
"dashboard.records.myDraft": "Le mie bozze",
|
|
21104
20813
|
"dashboard.records.myRecords": "I miei dati",
|
|
21105
20814
|
"dashboard.records.search": "Risultati per \"{searchText}\"",
|
|
21106
|
-
"dashboard.records.templates": "Modelli precompilati",
|
|
21107
20815
|
"dashboard.records.userDetail": "Nome",
|
|
21108
20816
|
"dashboard.records.userEmail": "Email",
|
|
21109
20817
|
"dashboard.records.username": "Nome utente",
|
|
21110
20818
|
"dashboard.records.users": "utenti",
|
|
21111
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Rilevamento del formato dei file",
|
|
21112
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Recupero delle informazioni dal dataset",
|
|
21113
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "Campionatura dei dati",
|
|
21114
|
-
"datafeeder.analysisProgressBar.subtitle": "L'analisi potrebbe richiedere alcuni minuti, si prega di attendere.",
|
|
21115
|
-
"datafeeder.analysisProgressBar.title": "Analisi in corso",
|
|
21116
|
-
"datafeeder.datasetValidation.datasetInformation": "Il dataset fornito contiene {number} entità",
|
|
21117
|
-
"datafeeder.datasetValidation.submitButton": "OK, i miei dati sono corretti",
|
|
21118
|
-
"datafeeder.datasetValidation.title": "Controllare che i dati siano corretti",
|
|
21119
|
-
"datafeeder.datasetValidation.unknown": " - ",
|
|
21120
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*La tabella dovrebbe visualizzare le prime 5 righe (esclusa l'intestazione)<br>In caso contrario, verificare che il file sia formattato correttamente",
|
|
21121
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "Riepilogo delle prime 5 righe del CSV:",
|
|
21122
|
-
"datafeeder.form.abstract": "Come descrivere il suo dataset?",
|
|
21123
|
-
"datafeeder.form.datepicker": "Sa quando è stato creato il suo dataset ?",
|
|
21124
|
-
"datafeeder.form.description": "Infine, descrivere il processo utilizzato per creare il dataset",
|
|
21125
|
-
"datafeeder.form.dropdown": "Per quale scala è stato creato?",
|
|
21126
|
-
"datafeeder.form.tags": "Seleziona uno o più parole chiave che corrispondano al suo dataset",
|
|
21127
|
-
"datafeeder.form.title": "Dà al suo dataset il miglior titolo",
|
|
21128
|
-
"datafeeder.formsPage.title": "Diteci di più sul suo dataset",
|
|
21129
20819
|
"datafeeder.month.april": "Aprile",
|
|
21130
20820
|
"datafeeder.month.august": "Agosto",
|
|
21131
20821
|
"datafeeder.month.december": "Dicembre",
|
|
@@ -21138,59 +20828,6 @@ var it = {
|
|
|
21138
20828
|
"datafeeder.month.november": "Novembre",
|
|
21139
20829
|
"datafeeder.month.october": "Ottobre",
|
|
21140
20830
|
"datafeeder.month.september": "Settembre",
|
|
21141
|
-
"datafeeder.publish.hint": "Puo lasciare questa pagina in sicurezza, sarà avvisato quando il processo sarà completo",
|
|
21142
|
-
"datafeeder.publish.illustration.title": "Un altro dato da pubblicare?",
|
|
21143
|
-
"datafeeder.publish.subtitle": "La pubblicazione potrebbe richiedere alcuni minuti.",
|
|
21144
|
-
"datafeeder.publish.title": "Grazie! \n I suei dati sono in fase di pubblicazione",
|
|
21145
|
-
"datafeeder.publish.upload": "Carica ora",
|
|
21146
|
-
"datafeeder.publishSuccess.geonetworkRecord": "Scheda di metadati",
|
|
21147
|
-
"datafeeder.publishSuccess.illustration.title": "Completato, tutto è andato bene!",
|
|
21148
|
-
"datafeeder.publishSuccess.mapViewer": "Visualizzatore",
|
|
21149
|
-
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
21150
|
-
"datafeeder.publishSuccess.subtitle": "Visualizzare i dati:",
|
|
21151
|
-
"datafeeder.publishSuccess.title": "Congratulazioni! \n I suoi dati sono stati pubblicati",
|
|
21152
|
-
"datafeeder.publishSuccess.uploadAnotherData": "Caricare un altro dato",
|
|
21153
|
-
"datafeeder.summarizePage.illustration": "Nessun errore? Avanti!",
|
|
21154
|
-
"datafeeder.summarizePage.previous": "Precedente",
|
|
21155
|
-
"datafeeder.summarizePage.submit": "Pubblica",
|
|
21156
|
-
"datafeeder.summarizePage.title": "Ci siamo quasi...",
|
|
21157
|
-
"datafeeder.upload.acceptedFormats": "Formati di file accettati:",
|
|
21158
|
-
"datafeeder.upload.checkboxLabel": "Ho il diritto di pubblicare questi dati",
|
|
21159
|
-
"datafeeder.upload.error.subtitle.analysis": "Il file trasferito contiene dati geografici validi?",
|
|
21160
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "Verifica la validità del file selezionato",
|
|
21161
|
-
"datafeeder.upload.error.subtitle.fileFormat": "Ricorda: solo SHP",
|
|
21162
|
-
"datafeeder.upload.error.subtitle.fileSize": "Ricorda: dimensione massima {size} MB",
|
|
21163
|
-
"datafeeder.upload.error.title.analysis": "Errore durante l'analisi dei dati",
|
|
21164
|
-
"datafeeder.upload.error.title.cantOpenFile": "Errore durante l'apertura del file",
|
|
21165
|
-
"datafeeder.upload.error.title.fileFormat": "Formato del file non supportato",
|
|
21166
|
-
"datafeeder.upload.error.title.fileHasntSelected": "Nessun file selezionato",
|
|
21167
|
-
"datafeeder.upload.error.title.fileSize": "Dimensione del file troppo grande",
|
|
21168
|
-
"datafeeder.upload.error.title.noRightsToSendData": "Non avete validato i diritti di pubblicazione",
|
|
21169
|
-
"datafeeder.upload.illustration.enrichment": "Arricchimento",
|
|
21170
|
-
"datafeeder.upload.illustration.import": "Importazione",
|
|
21171
|
-
"datafeeder.upload.illustration.title": "Aggiungere dati non è mai stato così facile",
|
|
21172
|
-
"datafeeder.upload.illustration.validation": "Validazione",
|
|
21173
|
-
"datafeeder.upload.illustration.verification": "Verifica",
|
|
21174
|
-
"datafeeder.upload.inputLabel": "Aggiunge il suo file",
|
|
21175
|
-
"datafeeder.upload.maxFileSize": "Dimensione massima: {size} MB",
|
|
21176
|
-
"datafeeder.upload.title": "Importa i suoi dati",
|
|
21177
|
-
"datafeeder.upload.uploadButton": "Carica",
|
|
21178
|
-
"datafeeder.validation.csv.delimiter": "Separatore di colonne",
|
|
21179
|
-
"datafeeder.validation.csv.delimiter.comma": "Virgola",
|
|
21180
|
-
"datafeeder.validation.csv.delimiter.semicolon": "Punto e virgola",
|
|
21181
|
-
"datafeeder.validation.csv.lat.field": "Colonna di latitudine",
|
|
21182
|
-
"datafeeder.validation.csv.lng.field": "Colonna di longitudine",
|
|
21183
|
-
"datafeeder.validation.csv.quote.double": "Virgolette doppie",
|
|
21184
|
-
"datafeeder.validation.csv.quote.none": "Nessun",
|
|
21185
|
-
"datafeeder.validation.csv.quote.simple": "Citazione semplice",
|
|
21186
|
-
"datafeeder.validation.csv.quoteChar": "Separatore di testo",
|
|
21187
|
-
"datafeeder.validation.encoding": "Codifica",
|
|
21188
|
-
"datafeeder.validation.extent.title": "Ecco l'estensione del dataset",
|
|
21189
|
-
"datafeeder.validation.extent.title.unknown": "Sistema di proiezione sconosciuto",
|
|
21190
|
-
"datafeeder.validation.projection": "Proiezione:",
|
|
21191
|
-
"datafeeder.validation.projection.unknown": "Seleziona una proiezione",
|
|
21192
|
-
"datafeeder.validation.sample.title": "E un esempio di oggetto",
|
|
21193
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "Si prega di compilare i campi obbligatori",
|
|
21194
20831
|
"datafeeder.wizardSummarize.createdAt": "Creato il",
|
|
21195
20832
|
"datafeeder.wizardSummarize.scale": "Scala",
|
|
21196
20833
|
"datahub.header.datasets": "Dati",
|
|
@@ -21274,9 +20911,9 @@ var it = {
|
|
|
21274
20911
|
"editor.record.deleteError.title": "Errore durante l'eliminazione",
|
|
21275
20912
|
"editor.record.deleteSuccess.body": "Il dataset è stato eliminato correttamente",
|
|
21276
20913
|
"editor.record.deleteSuccess.title": "Eliminazione riuscita",
|
|
21277
|
-
"editor.record.error.back": "",
|
|
21278
|
-
"editor.record.error.explanation": "",
|
|
21279
|
-
"editor.record.error.message": "",
|
|
20914
|
+
"editor.record.error.back": "Ritorna al catalogo",
|
|
20915
|
+
"editor.record.error.explanation": "Forse non ha accesso a questa pagina oppure questo collegamento potrebbe non essere valido.",
|
|
20916
|
+
"editor.record.error.message": "Qualcosa è andato storto",
|
|
21280
20917
|
"editor.record.form.bottomButtons.comeBackLater": "Ritorna più tardi",
|
|
21281
20918
|
"editor.record.form.bottomButtons.next": "Avanti",
|
|
21282
20919
|
"editor.record.form.bottomButtons.previous": "Precedente",
|
|
@@ -21336,18 +20973,18 @@ var it = {
|
|
|
21336
20973
|
"editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
|
|
21337
20974
|
"editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
21338
20975
|
"editor.record.form.keywords.placeholder": "Seleziona una parola chiave",
|
|
21339
|
-
"editor.record.form.license.cc-by": "",
|
|
21340
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
21341
|
-
"editor.record.form.license.cc-zero": "",
|
|
20976
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
20977
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
20978
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
21342
20979
|
"editor.record.form.license.etalab": "Licenza aperta (Etalab)",
|
|
21343
20980
|
"editor.record.form.license.etalab-v2": "Licenza aperta v2.0 (Etalab)",
|
|
21344
|
-
"editor.record.form.license.odbl": "",
|
|
21345
|
-
"editor.record.form.license.odc-by": "",
|
|
21346
|
-
"editor.record.form.license.pddl": "",
|
|
20981
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
20982
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
20983
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
21347
20984
|
"editor.record.form.license.unknown": "Sconosciuto o assente",
|
|
21348
20985
|
"editor.record.form.page.accessAndContact": "Informazioni per l'uso",
|
|
21349
20986
|
"editor.record.form.page.description": "Descrizione del dataset",
|
|
21350
|
-
"editor.record.form.page.resources": "",
|
|
20987
|
+
"editor.record.form.page.resources": "Risorse",
|
|
21351
20988
|
"editor.record.form.section.about.description": "Queste informazioni riguardano il dataset",
|
|
21352
20989
|
"editor.record.form.section.about.label": "Informazioni sul dataset",
|
|
21353
20990
|
"editor.record.form.section.annexes.description": "Gli allegati sono risorse facoltative. Sono allegati al dataset e aiutano a comprendere meglio i dati (avviso, ecc.).",
|
|
@@ -21374,7 +21011,7 @@ var it = {
|
|
|
21374
21011
|
"editor.record.loadError.body": "Impossibile caricare il dataset:",
|
|
21375
21012
|
"editor.record.loadError.closeMessage": "Capito",
|
|
21376
21013
|
"editor.record.loadError.title": "Errore durante il caricamento",
|
|
21377
|
-
"editor.record.lock.reason": "",
|
|
21014
|
+
"editor.record.lock.reason": "Non è un editore di uno dei gruppi autorizzati",
|
|
21378
21015
|
"editor.record.onlineResource.protocol.other": "Altro",
|
|
21379
21016
|
"editor.record.onlineResourceError.body": "Ha successo un'errore durante l'aggiunta della risorsa:",
|
|
21380
21017
|
"editor.record.onlineResourceError.closeMessage": "Capito",
|
|
@@ -21396,7 +21033,7 @@ var it = {
|
|
|
21396
21033
|
"editor.record.resourceError.closeMessage": "Capito",
|
|
21397
21034
|
"editor.record.resourceError.title": "Errore con gli allegati",
|
|
21398
21035
|
"editor.record.saveStatus.draftWithChangesPending": "Salvato - Modifiche non pubblicate",
|
|
21399
|
-
"editor.record.saveStatus.recordNotPublished": "",
|
|
21036
|
+
"editor.record.saveStatus.recordNotPublished": "Salvato - non pubblicato",
|
|
21400
21037
|
"editor.record.saveStatus.recordUpToDate": "Salvato - Dataset aggiornato",
|
|
21401
21038
|
"editor.record.undo.confirmation.cancelText": "Mantieni le modifiche",
|
|
21402
21039
|
"editor.record.undo.confirmation.confirmText": "Annulla le modifiche",
|
|
@@ -21406,7 +21043,7 @@ var it = {
|
|
|
21406
21043
|
"editor.record.undo.tooltip.enabled": "Fare clic su questo pulsante per annullare le modifiche apportate a questo dataset",
|
|
21407
21044
|
"editor.record.upToDate": "Questo dataset è aggiornato",
|
|
21408
21045
|
"editor.sidebar.logout": "Esci",
|
|
21409
|
-
"editor.sidebar.menu.editor": "",
|
|
21046
|
+
"editor.sidebar.menu.editor": "Editore",
|
|
21410
21047
|
"editor.temporary.disabled": "Non ancora implementato",
|
|
21411
21048
|
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
21412
21049
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
@@ -21454,7 +21091,7 @@ var it = {
|
|
|
21454
21091
|
"map.add.layer": "Aggiungere un layer",
|
|
21455
21092
|
"map.add.layer.catalog": "Dal catalogo",
|
|
21456
21093
|
"map.add.layer.file": "Da un file",
|
|
21457
|
-
"map.add.layer.ogc.api": "",
|
|
21094
|
+
"map.add.layer.ogc.api": "Da OGC API",
|
|
21458
21095
|
"map.add.layer.wfs": "Da un WFS",
|
|
21459
21096
|
"map.add.layer.wms": "Da un WMS",
|
|
21460
21097
|
"map.addFromFile.placeholder": "Clicca o trascina un file qui",
|
|
@@ -21467,7 +21104,7 @@ var it = {
|
|
|
21467
21104
|
"map.loading.data": "Caricamento dati...",
|
|
21468
21105
|
"map.loading.service": "Caricamento del servizio...",
|
|
21469
21106
|
"map.navigation.message": "Si prega di utilizzare CTRL + mouse (o due dita su mobile) per navigare sulla mappa",
|
|
21470
|
-
"map.ogc.urlInput.hint": "",
|
|
21107
|
+
"map.ogc.urlInput.hint": "Inserisci URL del servizio OGC API",
|
|
21471
21108
|
"map.select.layer": "Sorgente dati",
|
|
21472
21109
|
"map.wfs.urlInput.hint": "Inserisci URL del servizio WFS",
|
|
21473
21110
|
"map.wms.urlInput.hint": "Inserisci URL del servizio WMS",
|
|
@@ -21493,10 +21130,11 @@ var it = {
|
|
|
21493
21130
|
"record.action.delete": "Elimina",
|
|
21494
21131
|
"record.action.download": "Scarica",
|
|
21495
21132
|
"record.action.duplicate": "Duplicato",
|
|
21496
|
-
"record.action.duplicating": "",
|
|
21133
|
+
"record.action.duplicating": "Duplicazione",
|
|
21134
|
+
"record.action.rollback": "Annulla",
|
|
21497
21135
|
"record.action.view": "Visualizza",
|
|
21498
21136
|
"record.externalViewer.open": "Aprire nel visualizzatore esterno",
|
|
21499
|
-
"record.feature.limit": "La
|
|
21137
|
+
"record.feature.limit": "La visualizzazione è stata disabilitata a causa di troppi elementi ",
|
|
21500
21138
|
"record.metadata.about": "Descrizione",
|
|
21501
21139
|
"record.metadata.api": "API",
|
|
21502
21140
|
"record.metadata.api.form.closeButton": "Chiude",
|
|
@@ -21616,6 +21254,8 @@ var it = {
|
|
|
21616
21254
|
"search.error.recordNotFound": "Impossibile trovare questi dati.",
|
|
21617
21255
|
"search.field.any.placeholder": "Cerca un dataset...",
|
|
21618
21256
|
"search.field.sortBy": "Ordina per:",
|
|
21257
|
+
"search.filters.availableServices.download": "",
|
|
21258
|
+
"search.filters.availableServices.view": "",
|
|
21619
21259
|
"search.filters.changeDate": "Aggiornato",
|
|
21620
21260
|
"search.filters.clear": "Ripristina",
|
|
21621
21261
|
"search.filters.contact": "Contatti",
|
|
@@ -21671,7 +21311,7 @@ var it = {
|
|
|
21671
21311
|
"tooltip.url.open": "Aprire l'URL",
|
|
21672
21312
|
"ui.readLess": "Ridurre",
|
|
21673
21313
|
"ui.readMore": "Leggere di più",
|
|
21674
|
-
"wfs.aggregations.notsupported": "",
|
|
21314
|
+
"wfs.aggregations.notsupported": "Aggregazioni non supportate per i servizi WFS",
|
|
21675
21315
|
"wfs.feature.limit": "Troppi oggetti per visualizzare il WFS layer!",
|
|
21676
21316
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
21677
21317
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
@@ -21706,8 +21346,6 @@ var nl = {
|
|
|
21706
21346
|
"chart.type.lineSmooth": "glad lijndiagram",
|
|
21707
21347
|
"chart.type.pie": "cirkeldiagram",
|
|
21708
21348
|
"dashboard.catalog.allRecords": "",
|
|
21709
|
-
"dashboard.catalog.contacts": "",
|
|
21710
|
-
"dashboard.catalog.thesaurus": "",
|
|
21711
21349
|
"dashboard.createRecord": "",
|
|
21712
21350
|
"dashboard.importRecord": "",
|
|
21713
21351
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -21720,29 +21358,10 @@ var nl = {
|
|
|
21720
21358
|
"dashboard.records.myDraft": "Mijn concepten",
|
|
21721
21359
|
"dashboard.records.myRecords": "Mijn Records",
|
|
21722
21360
|
"dashboard.records.search": "Zoeken naar \"{searchText}\"",
|
|
21723
|
-
"dashboard.records.templates": "",
|
|
21724
21361
|
"dashboard.records.userDetail": "",
|
|
21725
21362
|
"dashboard.records.userEmail": "",
|
|
21726
21363
|
"dashboard.records.username": "",
|
|
21727
21364
|
"dashboard.records.users": "",
|
|
21728
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
21729
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
21730
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
21731
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
21732
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
21733
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
21734
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
21735
|
-
"datafeeder.datasetValidation.title": "",
|
|
21736
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
21737
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
21738
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
21739
|
-
"datafeeder.form.abstract": "",
|
|
21740
|
-
"datafeeder.form.datepicker": "",
|
|
21741
|
-
"datafeeder.form.description": "",
|
|
21742
|
-
"datafeeder.form.dropdown": "",
|
|
21743
|
-
"datafeeder.form.tags": "",
|
|
21744
|
-
"datafeeder.form.title": "",
|
|
21745
|
-
"datafeeder.formsPage.title": "",
|
|
21746
21365
|
"datafeeder.month.april": "",
|
|
21747
21366
|
"datafeeder.month.august": "",
|
|
21748
21367
|
"datafeeder.month.december": "",
|
|
@@ -21755,59 +21374,6 @@ var nl = {
|
|
|
21755
21374
|
"datafeeder.month.november": "",
|
|
21756
21375
|
"datafeeder.month.october": "",
|
|
21757
21376
|
"datafeeder.month.september": "",
|
|
21758
|
-
"datafeeder.publish.hint": "",
|
|
21759
|
-
"datafeeder.publish.illustration.title": "",
|
|
21760
|
-
"datafeeder.publish.subtitle": "",
|
|
21761
|
-
"datafeeder.publish.title": "",
|
|
21762
|
-
"datafeeder.publish.upload": "",
|
|
21763
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
21764
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
21765
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
21766
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
21767
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
21768
|
-
"datafeeder.publishSuccess.title": "",
|
|
21769
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
21770
|
-
"datafeeder.summarizePage.illustration": "",
|
|
21771
|
-
"datafeeder.summarizePage.previous": "",
|
|
21772
|
-
"datafeeder.summarizePage.submit": "",
|
|
21773
|
-
"datafeeder.summarizePage.title": "",
|
|
21774
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
21775
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
21776
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
21777
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
21778
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
21779
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
21780
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
21781
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
21782
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
21783
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
21784
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
21785
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
21786
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
21787
|
-
"datafeeder.upload.illustration.import": "",
|
|
21788
|
-
"datafeeder.upload.illustration.title": "",
|
|
21789
|
-
"datafeeder.upload.illustration.validation": "",
|
|
21790
|
-
"datafeeder.upload.illustration.verification": "",
|
|
21791
|
-
"datafeeder.upload.inputLabel": "",
|
|
21792
|
-
"datafeeder.upload.maxFileSize": "",
|
|
21793
|
-
"datafeeder.upload.title": "",
|
|
21794
|
-
"datafeeder.upload.uploadButton": "",
|
|
21795
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
21796
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
21797
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
21798
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
21799
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
21800
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
21801
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
21802
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
21803
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
21804
|
-
"datafeeder.validation.encoding": "",
|
|
21805
|
-
"datafeeder.validation.extent.title": "",
|
|
21806
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
21807
|
-
"datafeeder.validation.projection": "",
|
|
21808
|
-
"datafeeder.validation.projection.unknown": "",
|
|
21809
|
-
"datafeeder.validation.sample.title": "",
|
|
21810
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
21811
21377
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
21812
21378
|
"datafeeder.wizardSummarize.scale": "",
|
|
21813
21379
|
"datahub.header.datasets": "",
|
|
@@ -22111,6 +21677,7 @@ var nl = {
|
|
|
22111
21677
|
"record.action.download": "",
|
|
22112
21678
|
"record.action.duplicate": "",
|
|
22113
21679
|
"record.action.duplicating": "",
|
|
21680
|
+
"record.action.rollback": "",
|
|
22114
21681
|
"record.action.view": "",
|
|
22115
21682
|
"record.externalViewer.open": "",
|
|
22116
21683
|
"record.feature.limit": "",
|
|
@@ -22233,6 +21800,8 @@ var nl = {
|
|
|
22233
21800
|
"search.error.recordNotFound": "",
|
|
22234
21801
|
"search.field.any.placeholder": "",
|
|
22235
21802
|
"search.field.sortBy": "",
|
|
21803
|
+
"search.filters.availableServices.download": "",
|
|
21804
|
+
"search.filters.availableServices.view": "",
|
|
22236
21805
|
"search.filters.changeDate": "",
|
|
22237
21806
|
"search.filters.clear": "",
|
|
22238
21807
|
"search.filters.contact": "",
|
|
@@ -22288,7 +21857,6 @@ var nl = {
|
|
|
22288
21857
|
"tooltip.url.open": "",
|
|
22289
21858
|
"ui.readLess": "",
|
|
22290
21859
|
"ui.readMore": "",
|
|
22291
|
-
"wfs.aggregations.notsupported": "",
|
|
22292
21860
|
"wfs.feature.limit": "",
|
|
22293
21861
|
"wfs.featuretype.notfound": "",
|
|
22294
21862
|
"wfs.geojsongml.notsupported": "",
|
|
@@ -22323,8 +21891,6 @@ var pt = {
|
|
|
22323
21891
|
"chart.type.lineSmooth": "gráfico de linha suave",
|
|
22324
21892
|
"chart.type.pie": "gráfico de pizza",
|
|
22325
21893
|
"dashboard.catalog.allRecords": "",
|
|
22326
|
-
"dashboard.catalog.contacts": "",
|
|
22327
|
-
"dashboard.catalog.thesaurus": "",
|
|
22328
21894
|
"dashboard.createRecord": "",
|
|
22329
21895
|
"dashboard.importRecord": "",
|
|
22330
21896
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -22337,29 +21903,10 @@ var pt = {
|
|
|
22337
21903
|
"dashboard.records.myDraft": "Meus rascunhos",
|
|
22338
21904
|
"dashboard.records.myRecords": "Meus Registros",
|
|
22339
21905
|
"dashboard.records.search": "Buscar por \"{searchText}\"",
|
|
22340
|
-
"dashboard.records.templates": "",
|
|
22341
21906
|
"dashboard.records.userDetail": "",
|
|
22342
21907
|
"dashboard.records.userEmail": "",
|
|
22343
21908
|
"dashboard.records.username": "",
|
|
22344
21909
|
"dashboard.records.users": "",
|
|
22345
|
-
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
|
|
22346
|
-
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
|
|
22347
|
-
"datafeeder.analysisProgressBar.illustration.samplingData": "",
|
|
22348
|
-
"datafeeder.analysisProgressBar.subtitle": "",
|
|
22349
|
-
"datafeeder.analysisProgressBar.title": "",
|
|
22350
|
-
"datafeeder.datasetValidation.datasetInformation": "",
|
|
22351
|
-
"datafeeder.datasetValidation.submitButton": "",
|
|
22352
|
-
"datafeeder.datasetValidation.title": "",
|
|
22353
|
-
"datafeeder.datasetValidation.unknown": "",
|
|
22354
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
22355
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
22356
|
-
"datafeeder.form.abstract": "",
|
|
22357
|
-
"datafeeder.form.datepicker": "",
|
|
22358
|
-
"datafeeder.form.description": "",
|
|
22359
|
-
"datafeeder.form.dropdown": "",
|
|
22360
|
-
"datafeeder.form.tags": "",
|
|
22361
|
-
"datafeeder.form.title": "",
|
|
22362
|
-
"datafeeder.formsPage.title": "",
|
|
22363
21910
|
"datafeeder.month.april": "",
|
|
22364
21911
|
"datafeeder.month.august": "",
|
|
22365
21912
|
"datafeeder.month.december": "",
|
|
@@ -22372,59 +21919,6 @@ var pt = {
|
|
|
22372
21919
|
"datafeeder.month.november": "",
|
|
22373
21920
|
"datafeeder.month.october": "",
|
|
22374
21921
|
"datafeeder.month.september": "",
|
|
22375
|
-
"datafeeder.publish.hint": "",
|
|
22376
|
-
"datafeeder.publish.illustration.title": "",
|
|
22377
|
-
"datafeeder.publish.subtitle": "",
|
|
22378
|
-
"datafeeder.publish.title": "",
|
|
22379
|
-
"datafeeder.publish.upload": "",
|
|
22380
|
-
"datafeeder.publishSuccess.geonetworkRecord": "",
|
|
22381
|
-
"datafeeder.publishSuccess.illustration.title": "",
|
|
22382
|
-
"datafeeder.publishSuccess.mapViewer": "",
|
|
22383
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
22384
|
-
"datafeeder.publishSuccess.subtitle": "",
|
|
22385
|
-
"datafeeder.publishSuccess.title": "",
|
|
22386
|
-
"datafeeder.publishSuccess.uploadAnotherData": "",
|
|
22387
|
-
"datafeeder.summarizePage.illustration": "",
|
|
22388
|
-
"datafeeder.summarizePage.previous": "",
|
|
22389
|
-
"datafeeder.summarizePage.submit": "",
|
|
22390
|
-
"datafeeder.summarizePage.title": "",
|
|
22391
|
-
"datafeeder.upload.acceptedFormats": "",
|
|
22392
|
-
"datafeeder.upload.checkboxLabel": "",
|
|
22393
|
-
"datafeeder.upload.error.subtitle.analysis": "",
|
|
22394
|
-
"datafeeder.upload.error.subtitle.cantOpenFile": "",
|
|
22395
|
-
"datafeeder.upload.error.subtitle.fileFormat": "",
|
|
22396
|
-
"datafeeder.upload.error.subtitle.fileSize": "",
|
|
22397
|
-
"datafeeder.upload.error.title.analysis": "",
|
|
22398
|
-
"datafeeder.upload.error.title.cantOpenFile": "",
|
|
22399
|
-
"datafeeder.upload.error.title.fileFormat": "",
|
|
22400
|
-
"datafeeder.upload.error.title.fileHasntSelected": "",
|
|
22401
|
-
"datafeeder.upload.error.title.fileSize": "",
|
|
22402
|
-
"datafeeder.upload.error.title.noRightsToSendData": "",
|
|
22403
|
-
"datafeeder.upload.illustration.enrichment": "",
|
|
22404
|
-
"datafeeder.upload.illustration.import": "",
|
|
22405
|
-
"datafeeder.upload.illustration.title": "",
|
|
22406
|
-
"datafeeder.upload.illustration.validation": "",
|
|
22407
|
-
"datafeeder.upload.illustration.verification": "",
|
|
22408
|
-
"datafeeder.upload.inputLabel": "",
|
|
22409
|
-
"datafeeder.upload.maxFileSize": "",
|
|
22410
|
-
"datafeeder.upload.title": "",
|
|
22411
|
-
"datafeeder.upload.uploadButton": "",
|
|
22412
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
22413
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
22414
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
22415
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
22416
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
22417
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
22418
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
22419
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
22420
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
22421
|
-
"datafeeder.validation.encoding": "",
|
|
22422
|
-
"datafeeder.validation.extent.title": "",
|
|
22423
|
-
"datafeeder.validation.extent.title.unknown": "",
|
|
22424
|
-
"datafeeder.validation.projection": "",
|
|
22425
|
-
"datafeeder.validation.projection.unknown": "",
|
|
22426
|
-
"datafeeder.validation.sample.title": "",
|
|
22427
|
-
"datafeeder.wizard.emptyRequiredValuesMessage": "",
|
|
22428
21922
|
"datafeeder.wizardSummarize.createdAt": "",
|
|
22429
21923
|
"datafeeder.wizardSummarize.scale": "",
|
|
22430
21924
|
"datahub.header.datasets": "",
|
|
@@ -22728,6 +22222,7 @@ var pt = {
|
|
|
22728
22222
|
"record.action.download": "",
|
|
22729
22223
|
"record.action.duplicate": "",
|
|
22730
22224
|
"record.action.duplicating": "",
|
|
22225
|
+
"record.action.rollback": "",
|
|
22731
22226
|
"record.action.view": "",
|
|
22732
22227
|
"record.externalViewer.open": "",
|
|
22733
22228
|
"record.feature.limit": "",
|
|
@@ -22850,6 +22345,8 @@ var pt = {
|
|
|
22850
22345
|
"search.error.recordNotFound": "",
|
|
22851
22346
|
"search.field.any.placeholder": "",
|
|
22852
22347
|
"search.field.sortBy": "",
|
|
22348
|
+
"search.filters.availableServices.download": "",
|
|
22349
|
+
"search.filters.availableServices.view": "",
|
|
22853
22350
|
"search.filters.changeDate": "",
|
|
22854
22351
|
"search.filters.clear": "",
|
|
22855
22352
|
"search.filters.contact": "",
|
|
@@ -22905,7 +22402,6 @@ var pt = {
|
|
|
22905
22402
|
"tooltip.url.open": "",
|
|
22906
22403
|
"ui.readLess": "",
|
|
22907
22404
|
"ui.readMore": "",
|
|
22908
|
-
"wfs.aggregations.notsupported": "",
|
|
22909
22405
|
"wfs.feature.limit": "",
|
|
22910
22406
|
"wfs.featuretype.notfound": "",
|
|
22911
22407
|
"wfs.geojsongml.notsupported": "",
|
|
@@ -23092,6 +22588,16 @@ class Gn4FieldMapper {
|
|
|
23092
22588
|
isOpenData: (output, source) => this.addExtra({
|
|
23093
22589
|
isOpenData: selectField(source, 'isOpenData') !== 'false',
|
|
23094
22590
|
}, output),
|
|
22591
|
+
featureTypes: (output, source) => this.addExtra({
|
|
22592
|
+
featureTypes: selectField(source, 'featureTypes'),
|
|
22593
|
+
}, output),
|
|
22594
|
+
related: (output, source) => {
|
|
22595
|
+
const fcatSource = selectField(getFirstValue(selectField(selectField(source, 'related'), 'fcats')) ?? {}, '_source');
|
|
22596
|
+
const featureCatalogIdentifier = selectField(fcatSource, 'uuid');
|
|
22597
|
+
return featureCatalogIdentifier
|
|
22598
|
+
? this.addExtra({ featureCatalogIdentifier }, output)
|
|
22599
|
+
: output;
|
|
22600
|
+
},
|
|
23095
22601
|
isPublishedToAll: (output, source) => this.addExtra({
|
|
23096
22602
|
isPublishedToAll: selectField(source, 'isPublishedToAll'),
|
|
23097
22603
|
}, output),
|
|
@@ -23617,16 +23123,26 @@ class ElasticsearchService {
|
|
|
23617
23123
|
].filter(Boolean);
|
|
23618
23124
|
return queryParts.length > 0 ? queryParts : undefined;
|
|
23619
23125
|
}
|
|
23126
|
+
mustNotFilters() {
|
|
23127
|
+
return [
|
|
23128
|
+
{
|
|
23129
|
+
...this.queryFilterOnValues('resourceType', [
|
|
23130
|
+
'service',
|
|
23131
|
+
'map',
|
|
23132
|
+
'map/static',
|
|
23133
|
+
'mapDigital',
|
|
23134
|
+
]),
|
|
23135
|
+
},
|
|
23136
|
+
{
|
|
23137
|
+
query_string: {
|
|
23138
|
+
query: 'resourceType:featureCatalog AND !resourceType:dataset AND !cl_level.key:dataset',
|
|
23139
|
+
},
|
|
23140
|
+
},
|
|
23141
|
+
];
|
|
23142
|
+
}
|
|
23620
23143
|
buildPayloadQuery({ any, ...fieldSearchFilters }, configFilters, uuids, geometry) {
|
|
23621
23144
|
const must = [];
|
|
23622
|
-
const must_not =
|
|
23623
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23624
|
-
'service',
|
|
23625
|
-
'map',
|
|
23626
|
-
'map/static',
|
|
23627
|
-
'mapDigital',
|
|
23628
|
-
]),
|
|
23629
|
-
};
|
|
23145
|
+
const must_not = this.mustNotFilters();
|
|
23630
23146
|
const should = [];
|
|
23631
23147
|
const filter = [this.queryFilterOnValues('isTemplate', 'n')];
|
|
23632
23148
|
if (any) {
|
|
@@ -23712,14 +23228,7 @@ class ElasticsearchService {
|
|
|
23712
23228
|
},
|
|
23713
23229
|
},
|
|
23714
23230
|
],
|
|
23715
|
-
must_not:
|
|
23716
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23717
|
-
'service',
|
|
23718
|
-
'map',
|
|
23719
|
-
'map/static',
|
|
23720
|
-
'mapDigital',
|
|
23721
|
-
]),
|
|
23722
|
-
},
|
|
23231
|
+
must_not: this.mustNotFilters(),
|
|
23723
23232
|
},
|
|
23724
23233
|
},
|
|
23725
23234
|
_source: ['resourceTitleObject', 'uuid'],
|
|
@@ -23936,9 +23445,29 @@ class Gn4Repository {
|
|
|
23936
23445
|
}
|
|
23937
23446
|
getRecord(uniqueIdentifier) {
|
|
23938
23447
|
return this.gn4SearchApi
|
|
23939
|
-
.search('bucket',
|
|
23448
|
+
.search('bucket', ['fcats'], JSON.stringify(this.gn4SearchHelper.getMetadataByIdPayload(uniqueIdentifier)))
|
|
23940
23449
|
.pipe(map$1((results) => results.hits.hits[0]), switchMap((record) => record ? this.gn4Mapper.readRecord(record) : of(null)));
|
|
23941
23450
|
}
|
|
23451
|
+
getFeatureCatalog(record, visited = new Set() // prevent looping
|
|
23452
|
+
) {
|
|
23453
|
+
if (record.extras &&
|
|
23454
|
+
record.extras['featureTypes'] &&
|
|
23455
|
+
record.extras['featureTypes'][0]?.attributeTable &&
|
|
23456
|
+
Array.isArray(record.extras['featureTypes'][0].attributeTable)) {
|
|
23457
|
+
return of({
|
|
23458
|
+
attributes: record.extras['featureTypes'][0]?.attributeTable?.map((attr) => ({
|
|
23459
|
+
name: attr.name,
|
|
23460
|
+
title: attr.definition,
|
|
23461
|
+
})),
|
|
23462
|
+
});
|
|
23463
|
+
}
|
|
23464
|
+
const featureCatalogIdentifier = record.extras['featureCatalogIdentifier'];
|
|
23465
|
+
if (featureCatalogIdentifier && !visited.has(featureCatalogIdentifier)) {
|
|
23466
|
+
visited.add(featureCatalogIdentifier);
|
|
23467
|
+
return this.getRecord(featureCatalogIdentifier).pipe(switchMap((record) => record ? this.getFeatureCatalog(record, visited) : of(null)));
|
|
23468
|
+
}
|
|
23469
|
+
return of(null);
|
|
23470
|
+
}
|
|
23942
23471
|
getSimilarRecords(similarTo) {
|
|
23943
23472
|
return this.gn4SearchApi
|
|
23944
23473
|
.search('bucket', null, JSON.stringify(this.gn4SearchHelper.getRelatedRecordPayload(similarTo, 3)))
|
|
@@ -24015,14 +23544,10 @@ class Gn4Repository {
|
|
|
24015
23544
|
return this.getExternalRecordAsXml(recordDownloadUrl).pipe(exhaustMap(async (fetchedRecordAsXml) => {
|
|
24016
23545
|
const converter = findConverterForDocument(fetchedRecordAsXml);
|
|
24017
23546
|
const record = await converter.readRecord(fetchedRecordAsXml);
|
|
24018
|
-
const tempId = this.generateTemporaryId();
|
|
24019
23547
|
record.title = `${record.title} (Copy)`;
|
|
24020
|
-
record
|
|
24021
|
-
|
|
24022
|
-
|
|
24023
|
-
this._draftsChanged.next();
|
|
24024
|
-
return tempId;
|
|
24025
|
-
}), catchError((error) => {
|
|
23548
|
+
await converter.writeRecord(record, fetchedRecordAsXml);
|
|
23549
|
+
return this.saveRecord(record, '', false);
|
|
23550
|
+
}), exhaustMap((uuidObservable) => uuidObservable), catchError((error) => {
|
|
24026
23551
|
return throwError(() => error);
|
|
24027
23552
|
}));
|
|
24028
23553
|
}
|
|
@@ -26324,66 +25849,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26324
25849
|
args: [{ selector: 'gn-ui-color-scale', template: "<div class=\"flex flex-row items-center\">\n <div class=\"text-xs text-gray-700 font-bold m-2 w-32 text-right\">primary</div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-black\"\n title=\"primary-black\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-darkest\"\n title=\"primary-darkest\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-darker\"\n title=\"primary-darker\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary border-2 border-primary-darkest\"\n title=\"primary\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-lighter\"\n title=\"primary-lighter\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-lightest\"\n title=\"primary-lightest\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-primary-white\"\n title=\"primary-white\"\n ></div>\n</div>\n<div class=\"flex flex-row\">\n <div class=\"text-xs text-gray-700 font-bold m-2 w-32 text-right\">\n secondary\n </div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-black\"\n title=\"secondary-black\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-darkest\"\n title=\"secondary-darkest\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-darker\"\n title=\"secondary-darker\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary border-2 border-secondary-darkest\"\n title=\"secondary\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-lighter\"\n title=\"secondary-lighter\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-lightest\"\n title=\"secondary-lightest\"\n ></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-secondary-white\"\n title=\"secondary-white\"\n ></div>\n</div>\n<div class=\"flex flex-row\">\n <div class=\"text-xs text-gray-700 font-bold m-2 w-32 text-right\">main</div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-main\" title=\"main\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-900\" title=\"gray-900\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-800\" title=\"gray-800\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-700\" title=\"gray-700\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-600\" title=\"gray-600\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-500\" title=\"gray-500\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-400\" title=\"gray-400\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-300\" title=\"gray-300\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-200\" title=\"gray-200\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-100\" title=\"gray-100\"></div>\n <div class=\"shadow-md rounded w-6 h-6 m-2 bg-gray-50\" title=\"gray-50\"></div>\n <div\n class=\"shadow-md rounded w-6 h-6 m-2 bg-background\"\n title=\"background\"\n ></div>\n <div class=\"text-xs text-gray-700 font-bold m-2 w-32\">background</div>\n</div>\n" }]
|
|
26325
25850
|
}] });
|
|
26326
25851
|
|
|
26327
|
-
class StepBarComponent {
|
|
26328
|
-
constructor(cdr) {
|
|
26329
|
-
this.cdr = cdr;
|
|
26330
|
-
this.currentStep = 1;
|
|
26331
|
-
this.type = 'default';
|
|
26332
|
-
}
|
|
26333
|
-
get stepCounter() {
|
|
26334
|
-
return new Array(this.steps);
|
|
26335
|
-
}
|
|
26336
|
-
get color() {
|
|
26337
|
-
switch (this.type) {
|
|
26338
|
-
case 'default':
|
|
26339
|
-
return {
|
|
26340
|
-
outerBar: 'bg-gray-200',
|
|
26341
|
-
innerBar: 'bg-gray-100',
|
|
26342
|
-
};
|
|
26343
|
-
case 'primary':
|
|
26344
|
-
return {
|
|
26345
|
-
outerBar: 'bg-primary',
|
|
26346
|
-
innerBar: 'bg-primary-lighter',
|
|
26347
|
-
};
|
|
26348
|
-
case 'secondary':
|
|
26349
|
-
return {
|
|
26350
|
-
outerBar: 'bg-secondary',
|
|
26351
|
-
innerBar: 'bg-secondary-lighter',
|
|
26352
|
-
};
|
|
26353
|
-
}
|
|
26354
|
-
}
|
|
26355
|
-
getCircleColor(index) {
|
|
26356
|
-
return index === this.currentStep
|
|
26357
|
-
? 'bg-black'
|
|
26358
|
-
: index < this.currentStep
|
|
26359
|
-
? 'bg-white'
|
|
26360
|
-
: this.color.innerBar;
|
|
26361
|
-
}
|
|
26362
|
-
getChecked(index) {
|
|
26363
|
-
return index + 1 < this.currentStep;
|
|
26364
|
-
}
|
|
26365
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepBarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26366
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StepBarComponent, selector: "gn-ui-step-bar", inputs: { steps: "steps", currentStep: "currentStep", type: "type" }, ngImport: i0, template: "<div class=\"relative flex flex-col justify-center\">\n <div class=\"flex justify-between ml-16 mr-16 z-10 circle-steps\">\n <div\n *ngFor=\"let step of stepCounter; let i = index\"\n class=\"shadow-md rounded-full h-6 w-6 {{ getCircleColor(i + 1) }}\"\n >\n <span class=\"icon-check pl-1\" *ngIf=\"getChecked(i)\"></span>\n </div>\n </div>\n <div\n class=\"absolute rounded-lg right-0 w-full {{ color.outerBar }} h-2 z-0\"\n ></div>\n</div>\n", styles: [".icon-check{color:var(--color-primary)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
26367
|
-
}
|
|
26368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StepBarComponent, decorators: [{
|
|
26369
|
-
type: Component,
|
|
26370
|
-
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"] }]
|
|
26371
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { steps: [{
|
|
26372
|
-
type: Input
|
|
26373
|
-
}], currentStep: [{
|
|
26374
|
-
type: Input
|
|
26375
|
-
}], type: [{
|
|
26376
|
-
type: Input
|
|
26377
|
-
}] } });
|
|
26378
|
-
|
|
26379
25852
|
class UiWidgetsModule {
|
|
26380
25853
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
26381
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, declarations: [ColorScaleComponent
|
|
25854
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, declarations: [ColorScaleComponent], imports: [CommonModule, i1$1.TranslateModule, NgxDropzoneModule,
|
|
26382
25855
|
FormsModule,
|
|
26383
25856
|
ReactiveFormsModule,
|
|
26384
25857
|
TagInputModule,
|
|
26385
25858
|
UtilSharedModule,
|
|
26386
|
-
MatProgressSpinnerModule]
|
|
25859
|
+
MatProgressSpinnerModule] }); }
|
|
26387
25860
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, imports: [CommonModule,
|
|
26388
25861
|
TranslateModule.forChild(),
|
|
26389
25862
|
NgxDropzoneModule,
|
|
@@ -26396,7 +25869,7 @@ class UiWidgetsModule {
|
|
|
26396
25869
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiWidgetsModule, decorators: [{
|
|
26397
25870
|
type: NgModule,
|
|
26398
25871
|
args: [{
|
|
26399
|
-
declarations: [ColorScaleComponent
|
|
25872
|
+
declarations: [ColorScaleComponent],
|
|
26400
25873
|
imports: [
|
|
26401
25874
|
CommonModule,
|
|
26402
25875
|
TranslateModule.forChild(),
|
|
@@ -26407,7 +25880,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26407
25880
|
UtilSharedModule,
|
|
26408
25881
|
MatProgressSpinnerModule,
|
|
26409
25882
|
],
|
|
26410
|
-
exports: [
|
|
25883
|
+
exports: [],
|
|
26411
25884
|
}]
|
|
26412
25885
|
}] });
|
|
26413
25886
|
|
|
@@ -26651,6 +26124,7 @@ class AutocompleteComponent {
|
|
|
26651
26124
|
this.minCharacterCount = 3;
|
|
26652
26125
|
// this will show a submit button next to the input; if false, a search icon will appear on the left
|
|
26653
26126
|
this.allowSubmit = false;
|
|
26127
|
+
this.forceTrackPosition = false;
|
|
26654
26128
|
this.itemSelected = new EventEmitter();
|
|
26655
26129
|
this.inputSubmitted = new EventEmitter();
|
|
26656
26130
|
this.inputCleared = new EventEmitter();
|
|
@@ -26660,12 +26134,30 @@ class AutocompleteComponent {
|
|
|
26660
26134
|
this.lastInputValue$ = new ReplaySubject(1);
|
|
26661
26135
|
this.error = null;
|
|
26662
26136
|
this.subscription = new Subscription();
|
|
26137
|
+
this.lastPosition = null;
|
|
26663
26138
|
this.displayWithFn = (item) => item.toString();
|
|
26664
26139
|
this.displayWithFnInternal = (item) => {
|
|
26665
26140
|
if (item === null || item === undefined)
|
|
26666
26141
|
return null;
|
|
26667
26142
|
return this.displayWithFn(item);
|
|
26668
26143
|
};
|
|
26144
|
+
/**
|
|
26145
|
+
* !!! This function is used only for web component mode,
|
|
26146
|
+
* the autocomplete dropdown may not update its position
|
|
26147
|
+
* if the page or container is disabling wind scroll.
|
|
26148
|
+
*/
|
|
26149
|
+
this.trackPosition = () => {
|
|
26150
|
+
const dropdownOpened = this.triggerRef && this.triggerRef.panelOpen;
|
|
26151
|
+
const rect = this.inputRef.nativeElement.getBoundingClientRect();
|
|
26152
|
+
if (dropdownOpened &&
|
|
26153
|
+
(!this.lastPosition ||
|
|
26154
|
+
rect.top !== this.lastPosition.top ||
|
|
26155
|
+
rect.left !== this.lastPosition.left)) {
|
|
26156
|
+
this.triggerRef.updatePosition();
|
|
26157
|
+
}
|
|
26158
|
+
this.lastPosition = rect;
|
|
26159
|
+
requestAnimationFrame(this.trackPosition);
|
|
26160
|
+
};
|
|
26669
26161
|
}
|
|
26670
26162
|
ngOnChanges(changes) {
|
|
26671
26163
|
const { value } = changes;
|
|
@@ -26717,9 +26209,23 @@ class AutocompleteComponent {
|
|
|
26717
26209
|
this.inputRef.nativeElement.focus();
|
|
26718
26210
|
this.cdRef.detectChanges();
|
|
26719
26211
|
}
|
|
26212
|
+
this.startTrackingPosition();
|
|
26213
|
+
}
|
|
26214
|
+
/**
|
|
26215
|
+
* !!! This function is used only for web component mode,
|
|
26216
|
+
* the autocomplete dropdown may not update its position
|
|
26217
|
+
* if the page or container is disabling wind scroll.
|
|
26218
|
+
*/
|
|
26219
|
+
startTrackingPosition() {
|
|
26220
|
+
if (this.forceTrackPosition) {
|
|
26221
|
+
requestAnimationFrame(this.trackPosition);
|
|
26222
|
+
}
|
|
26720
26223
|
}
|
|
26721
26224
|
ngOnDestroy() {
|
|
26722
26225
|
this.subscription?.unsubscribe();
|
|
26226
|
+
if (this.intervalIdPosition) {
|
|
26227
|
+
clearInterval(this.intervalIdPosition);
|
|
26228
|
+
}
|
|
26723
26229
|
}
|
|
26724
26230
|
updateInputValue(value) {
|
|
26725
26231
|
if (value) {
|
|
@@ -26767,7 +26273,7 @@ class AutocompleteComponent {
|
|
|
26767
26273
|
}
|
|
26768
26274
|
}
|
|
26769
26275
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26770
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AutocompleteComponent, isStandalone: true, selector: "gn-ui-autocomplete", inputs: { placeholder: "placeholder", action: "action", value: "value", clearOnSelection: "clearOnSelection", preventCompleteOnSelection: "preventCompleteOnSelection", autoFocus: "autoFocus", minCharacterCount: "minCharacterCount", allowSubmit: "allowSubmit", displayWithFn: "displayWithFn" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted", inputCleared: "inputCleared" }, providers: [
|
|
26276
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AutocompleteComponent, isStandalone: true, selector: "gn-ui-autocomplete", inputs: { placeholder: "placeholder", action: "action", value: "value", clearOnSelection: "clearOnSelection", preventCompleteOnSelection: "preventCompleteOnSelection", autoFocus: "autoFocus", minCharacterCount: "minCharacterCount", allowSubmit: "allowSubmit", forceTrackPosition: "forceTrackPosition", displayWithFn: "displayWithFn" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted", inputCleared: "inputCleared" }, providers: [
|
|
26771
26277
|
provideIcons({
|
|
26772
26278
|
iconoirSearch,
|
|
26773
26279
|
matClose,
|
|
@@ -26812,6 +26318,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26812
26318
|
type: Input
|
|
26813
26319
|
}], allowSubmit: [{
|
|
26814
26320
|
type: Input
|
|
26321
|
+
}], forceTrackPosition: [{
|
|
26322
|
+
type: Input
|
|
26815
26323
|
}], itemSelected: [{
|
|
26816
26324
|
type: Output
|
|
26817
26325
|
}], inputSubmitted: [{
|
|
@@ -26925,72 +26433,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26925
26433
|
type: Output
|
|
26926
26434
|
}] } });
|
|
26927
26435
|
|
|
26928
|
-
class ChipsInputComponent {
|
|
26929
|
-
onChange(event) {
|
|
26930
|
-
this.rawChange.next(event);
|
|
26931
|
-
}
|
|
26932
|
-
constructor(http, translate) {
|
|
26933
|
-
this.http = http;
|
|
26934
|
-
this.translate = translate;
|
|
26935
|
-
this.required = false;
|
|
26936
|
-
this.loadOnce = false;
|
|
26937
|
-
this.autocompleteItems = [];
|
|
26938
|
-
this.invalid = false;
|
|
26939
|
-
this.items = [];
|
|
26940
|
-
this.requestAutocompleteItems = (text) => {
|
|
26941
|
-
if (this.url) {
|
|
26942
|
-
if (this.loadOnce && this.loadedItems) {
|
|
26943
|
-
return this.loadedItems;
|
|
26944
|
-
}
|
|
26945
|
-
const url = this.url(text);
|
|
26946
|
-
const lang = LANG_2_TO_3_MAPPER[this.translate.currentLang.slice(0, 2)];
|
|
26947
|
-
return this.http
|
|
26948
|
-
.get(url.replace('${lang}', lang))
|
|
26949
|
-
.pipe(map$1((item) => item.map((i) => i.values[lang])));
|
|
26950
|
-
}
|
|
26951
|
-
else {
|
|
26952
|
-
return of(this.autocompleteItems || []);
|
|
26953
|
-
}
|
|
26954
|
-
};
|
|
26955
|
-
this.rawChange = new Subject();
|
|
26956
|
-
this.itemsChange = this.rawChange.pipe(distinctUntilChanged());
|
|
26957
|
-
this.subscription = new Subscription();
|
|
26958
|
-
}
|
|
26959
|
-
ngOnInit() {
|
|
26960
|
-
if (this.loadOnce) {
|
|
26961
|
-
this.loadedItems = this.requestAutocompleteItems('*').pipe(shareReplay(1));
|
|
26962
|
-
}
|
|
26963
|
-
this.items = this.selectedItems;
|
|
26964
|
-
this.subscription = this.rawChange
|
|
26965
|
-
.pipe(tap$1((v) => (this.invalid = v.length === 0)))
|
|
26966
|
-
.subscribe();
|
|
26967
|
-
this.rawChange.next(this.items);
|
|
26968
|
-
}
|
|
26969
|
-
ngOnDestroy() {
|
|
26970
|
-
this.subscription.unsubscribe();
|
|
26971
|
-
}
|
|
26972
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChipsInputComponent, deps: [{ token: i1.HttpClient }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26973
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChipsInputComponent, selector: "gn-ui-chips-input", inputs: { url: "url", placeholder: "placeholder", selectedItems: "selectedItems", required: "required", loadOnce: "loadOnce", autocompleteItems: "autocompleteItems" }, outputs: { itemsChange: "itemsChange" }, ngImport: i0, template: "<tag-input\n [ngModel]=\"items\"\n (ngModelChange)=\"onChange($event)\"\n onlyFromAutocomplete=\"true\"\n [placeholder]=\"placeholder\"\n [secondaryPlaceholder]=\"placeholder\"\n [ripple]=\"false\"\n [animationDuration]=\"{ enter: '0ms', leave: '0ms' }\"\n [onTextChangeDebounce]=\"100\"\n class=\"border-2 border-primary h-full rounded-lg p-2 bg-white text-sm focus:border-primary\"\n [ngClass]=\"{ invalid: invalid }\"\n>\n <tag-input-dropdown\n [autocompleteObservable]=\"requestAutocompleteItems\"\n [minimumTextLength]=\"0\"\n [keepOpen]=\"false\"\n [showDropdownIfEmpty]=\"true\"\n >\n <ng-template let-item=\"item\" let-index=\"index\">\n {{ item.display }}\n </ng-template>\n </tag-input-dropdown>\n</tag-input>\n", styles: ["tag-input::ng-deep .ng2-tag-input{border-bottom:none}tag-input::ng-deep .ng2-tag-input.ng2-tag-input--focused{border-bottom:none}tag-input::ng-deep tag{border-radius:5px;background:var(--color-primary-lightest);font-family:inherit;align-content:center;font-style:italic}tag-input::ng-deep tag::ng-deep:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover,tag-input::ng-deep tag:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover{background:var(--color-primary)!important}tag-input::ng-deep .tag__text{padding-right:7px}tag-input::ng-deep div,tag-input::ng-deep form{height:100%}tag-input.invalid{border-color:var(--color-secondary)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.TagInputComponent, selector: "tag-input", inputs: ["separatorKeys", "separatorKeyCodes", "placeholder", "secondaryPlaceholder", "maxItems", "validators", "asyncValidators", "onlyFromAutocomplete", "errorMessages", "theme", "onTextChangeDebounce", "inputId", "inputClass", "clearOnBlur", "hideForm", "addOnBlur", "addOnPaste", "pasteSplitPattern", "blinkIfDupe", "removable", "editable", "allowDupes", "modelAsStrings", "trimTags", "inputText", "ripple", "tabindex", "disable", "dragZone", "onRemoving", "onAdding", "animationDuration"], outputs: ["onAdd", "onRemove", "onSelect", "onFocus", "onBlur", "onTextChange", "onPaste", "onValidationError", "onTagEdited", "inputTextChange"] }, { kind: "component", type: i5.TagInputDropdown, selector: "tag-input-dropdown", inputs: ["offset", "focusFirstElement", "showDropdownIfEmpty", "autocompleteObservable", "minimumTextLength", "limitItemsTo", "displayBy", "identifyBy", "matchingFn", "appendToBody", "keepOpen", "dynamicUpdate", "zIndex", "autocompleteItems"] }] }); }
|
|
26974
|
-
}
|
|
26975
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChipsInputComponent, decorators: [{
|
|
26976
|
-
type: Component,
|
|
26977
|
-
args: [{ selector: 'gn-ui-chips-input', template: "<tag-input\n [ngModel]=\"items\"\n (ngModelChange)=\"onChange($event)\"\n onlyFromAutocomplete=\"true\"\n [placeholder]=\"placeholder\"\n [secondaryPlaceholder]=\"placeholder\"\n [ripple]=\"false\"\n [animationDuration]=\"{ enter: '0ms', leave: '0ms' }\"\n [onTextChangeDebounce]=\"100\"\n class=\"border-2 border-primary h-full rounded-lg p-2 bg-white text-sm focus:border-primary\"\n [ngClass]=\"{ invalid: invalid }\"\n>\n <tag-input-dropdown\n [autocompleteObservable]=\"requestAutocompleteItems\"\n [minimumTextLength]=\"0\"\n [keepOpen]=\"false\"\n [showDropdownIfEmpty]=\"true\"\n >\n <ng-template let-item=\"item\" let-index=\"index\">\n {{ item.display }}\n </ng-template>\n </tag-input-dropdown>\n</tag-input>\n", styles: ["tag-input::ng-deep .ng2-tag-input{border-bottom:none}tag-input::ng-deep .ng2-tag-input.ng2-tag-input--focused{border-bottom:none}tag-input::ng-deep tag{border-radius:5px;background:var(--color-primary-lightest);font-family:inherit;align-content:center;font-style:italic}tag-input::ng-deep tag::ng-deep:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover,tag-input::ng-deep tag:not(:focus):not(.tag--editing):not(:active):not(.readonly):hover{background:var(--color-primary)!important}tag-input::ng-deep .tag__text{padding-right:7px}tag-input::ng-deep div,tag-input::ng-deep form{height:100%}tag-input.invalid{border-color:var(--color-secondary)}\n"] }]
|
|
26978
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.TranslateService }], propDecorators: { url: [{
|
|
26979
|
-
type: Input
|
|
26980
|
-
}], placeholder: [{
|
|
26981
|
-
type: Input
|
|
26982
|
-
}], selectedItems: [{
|
|
26983
|
-
type: Input
|
|
26984
|
-
}], required: [{
|
|
26985
|
-
type: Input
|
|
26986
|
-
}], loadOnce: [{
|
|
26987
|
-
type: Input
|
|
26988
|
-
}], autocompleteItems: [{
|
|
26989
|
-
type: Input
|
|
26990
|
-
}], itemsChange: [{
|
|
26991
|
-
type: Output
|
|
26992
|
-
}] } });
|
|
26993
|
-
|
|
26994
26436
|
class CopyTextButtonComponent {
|
|
26995
26437
|
constructor() {
|
|
26996
26438
|
this.displayText = true;
|
|
@@ -27667,11 +27109,6 @@ class UrlInputComponent {
|
|
|
27667
27109
|
this.uploadClick = new EventEmitter();
|
|
27668
27110
|
this.inputValue = '';
|
|
27669
27111
|
}
|
|
27670
|
-
ngOnChanges(changes) {
|
|
27671
|
-
if (changes['value']) {
|
|
27672
|
-
this.inputValue = changes['value'].currentValue;
|
|
27673
|
-
}
|
|
27674
|
-
}
|
|
27675
27112
|
handleInput(event) {
|
|
27676
27113
|
const value = event.target.value;
|
|
27677
27114
|
this.inputValue = value;
|
|
@@ -27703,7 +27140,7 @@ class UrlInputComponent {
|
|
|
27703
27140
|
provideNgIconsConfig({
|
|
27704
27141
|
size: '1.5em',
|
|
27705
27142
|
}),
|
|
27706
|
-
],
|
|
27143
|
+
], ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <input\n #input\n class=\"gn-ui-text-input gn-ui-url-input px-[var(--text-padding)]\"\n [ngClass]=\"extraClass\"\n type=\"url\"\n [value]=\"inputValue\"\n (input)=\"handleInput($event)\"\n (keydown.enter)=\"handleUpload(input)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n />\n <div\n class=\"absolute inset-y-[var(--side-padding)] left-[var(--2x-side-padding)] grid justify-center items-center pointer-events-none\"\n [ngClass]=\"{\n 'text-primary': !disabled,\n 'text-primary-lightest': disabled,\n }\"\n >\n <ng-icon name=\"iconoirLink\"></ng-icon>\n </div>\n <gn-ui-button\n *ngIf=\"showValidateButton\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n type=\"primary\"\n [disabled]=\"disabled || input.value === '' || !isValidUrl(input.value)\"\n (buttonClick)=\"handleUpload(input)\"\n >\n <ng-content>\n <ng-icon name=\"iconoirArrowUp\"></ng-icon>\n </ng-content>\n </gn-ui-button>\n</span>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6rem) - 6px);--2x-side-padding: calc(var(--side-padding) * 2);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27707
27144
|
}
|
|
27708
27145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UrlInputComponent, decorators: [{
|
|
27709
27146
|
type: Component,
|
|
@@ -28070,7 +27507,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28070
27507
|
class UiInputsModule {
|
|
28071
27508
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
28072
27509
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, declarations: [DragAndDropFileInputComponent,
|
|
28073
|
-
ChipsInputComponent,
|
|
28074
27510
|
DropdownMultiselectComponent,
|
|
28075
27511
|
ViewportIntersectorComponent,
|
|
28076
27512
|
CheckboxComponent], imports: [CommonModule, i1$1.TranslateModule, NgxDropzoneModule,
|
|
@@ -28098,7 +27534,6 @@ class UiInputsModule {
|
|
|
28098
27534
|
ButtonComponent,
|
|
28099
27535
|
DragAndDropFileInputComponent,
|
|
28100
27536
|
TextAreaComponent,
|
|
28101
|
-
ChipsInputComponent,
|
|
28102
27537
|
DropdownMultiselectComponent,
|
|
28103
27538
|
ViewportIntersectorComponent,
|
|
28104
27539
|
CheckToggleComponent,
|
|
@@ -28143,7 +27578,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28143
27578
|
args: [{
|
|
28144
27579
|
declarations: [
|
|
28145
27580
|
DragAndDropFileInputComponent,
|
|
28146
|
-
ChipsInputComponent,
|
|
28147
27581
|
DropdownMultiselectComponent,
|
|
28148
27582
|
ViewportIntersectorComponent,
|
|
28149
27583
|
CheckboxComponent,
|
|
@@ -28189,7 +27623,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28189
27623
|
ButtonComponent,
|
|
28190
27624
|
DragAndDropFileInputComponent,
|
|
28191
27625
|
TextAreaComponent,
|
|
28192
|
-
ChipsInputComponent,
|
|
28193
27626
|
DropdownMultiselectComponent,
|
|
28194
27627
|
ViewportIntersectorComponent,
|
|
28195
27628
|
CheckToggleComponent,
|
|
@@ -28855,7 +28288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28855
28288
|
|
|
28856
28289
|
class MarkdownParserComponent {
|
|
28857
28290
|
get parsedMarkdown() {
|
|
28858
|
-
return marked.parse(this.textContent);
|
|
28291
|
+
return marked.parse(this.textContent ?? '');
|
|
28859
28292
|
}
|
|
28860
28293
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MarkdownParserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28861
28294
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MarkdownParserComponent, isStandalone: true, selector: "gn-ui-markdown-parser", inputs: { textContent: "textContent", whitoutStyles: "whitoutStyles" }, ngImport: i0, template: "<div\n [class]=\"whitoutStyles ? '' : 'markdown-body'\"\n [innerHTML]=\"parsedMarkdown\"\n></div>\n", styles: [":host ::ng-deep .markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;line-height:1.5;word-wrap:break-word;height:100%}:host ::ng-deep .markdown-body strong{@apply font-bold;color:var(--color-secondary-darker)}:host ::ng-deep .markdown-body h1,:host ::ng-deep .markdown-body h2,:host ::ng-deep .markdown-body h3,:host ::ng-deep .markdown-body h4,:host ::ng-deep .markdown-body h5,:host ::ng-deep .markdown-body h6{margin-top:24px;margin-bottom:16px;line-height:1.25;@apply text-title font-title font-bold;}:host ::ng-deep .markdown-body :first-child{margin-top:0}:host ::ng-deep .markdown-body h1{margin:.67em 0;padding-bottom:.3em;font-size:2em;color:var(--color-primary)}:host ::ng-deep .markdown-body h2{padding-bottom:.3em;font-size:1.5em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h3{font-size:1.25em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h4{font-size:1em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h5{font-size:.875em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h6{font-size:.85em;color:var(--color-secondary-lighter)}:host ::ng-deep .markdown-body p{margin-top:0;margin-bottom:10px}:host ::ng-deep .markdown-body p>a{margin-top:0;margin-bottom:10px;color:var(--color-primary)!important;text-decoration:none}:host ::ng-deep .markdown-body p>a:hover{color:var(--color-primary-darker)!important;@apply underline;}:host ::ng-deep .markdown-body blockquote{margin:0;padding:0 1em;color:var(--color-secondary-lighter);border-left:.25em solid var(--color-primary-lighter)}:host ::ng-deep .markdown-body pre{margin-top:0;margin-bottom:0;font-size:12px;background-color:var(--color-gray-100);word-wrap:normal}:host ::ng-deep .markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:var(--color-secondary);border-radius:6px}:host ::ng-deep .markdown-body code{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;border-radius:6px}:host ::ng-deep .markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;border:0}:host ::ng-deep .markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--color-secondary);height:.15em;padding:0;margin:24px 0;background-color:var(--color-secondary);border:0}:host ::ng-deep .markdown-body hr:before{display:table;content:\"\"}:host ::ng-deep .markdown-body hr:after{display:table;clear:both;content:\"\"}:host ::ng-deep .markdown-body ul,:host ::ng-deep .markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em;list-style:revert}:host ::ng-deep .markdown-body ol ol,:host ::ng-deep .markdown-body ul ol{list-style-type:lower-roman}:host ::ng-deep .markdown-body ul ul ol,:host ::ng-deep .markdown-body ul ol ol,:host ::ng-deep .markdown-body ol ul ol,:host ::ng-deep .markdown-body ol ol ol{list-style-type:lower-alpha}:host ::ng-deep .markdown-body ol[type=\"a s\"]{list-style-type:lower-alpha}:host ::ng-deep .markdown-body ol[type=\"A s\"]{list-style-type:upper-alpha}:host ::ng-deep .markdown-body ol[type=\"i s\"]{list-style-type:lower-roman}:host ::ng-deep .markdown-body ol[type=\"I s\"]{list-style-type:upper-roman}:host ::ng-deep .markdown-body ol[type=\"1\"]{list-style:unset;list-style-type:decimal}:host ::ng-deep .markdown-body div>ol:not([type]){list-style:unset;list-style-type:decimal}:host ::ng-deep .markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;padding-bottom:15px}:host ::ng-deep .markdown-body td,:host ::ng-deep .markdown-body th{padding:0}:host ::ng-deep .markdown-body th{color:var(--color-secondary)}:host ::ng-deep .markdown-body table th,:host ::ng-deep .markdown-body table td{padding:6px 13px;border:1px solid var(--color-gray-500)}:host ::ng-deep .markdown-body table td>:last-child{margin-bottom:0}:host ::ng-deep .markdown-body table tr{background-color:#fff;border-top:1px solid var(--color-secondary-lighter)}:host ::ng-deep .markdown-body table tr:nth-child(2n){background-color:var(--color-gray-100)}:host ::ng-deep .markdown-body table img{background-color:transparent}:host ::ng-deep .markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:transparent}:host ::ng-deep .markdown-body img[align=right]{padding-left:20px}:host ::ng-deep .markdown-body img[align=left]{padding-right:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -29471,11 +28904,10 @@ class ImageInputComponent {
|
|
|
29471
28904
|
}
|
|
29472
28905
|
}
|
|
29473
28906
|
handleDropFiles(files) {
|
|
29474
|
-
|
|
29475
|
-
|
|
29476
|
-
|
|
29477
|
-
|
|
29478
|
-
}
|
|
28907
|
+
const validFiles = this.filterTypeImage(files);
|
|
28908
|
+
if (validFiles.length > 0) {
|
|
28909
|
+
this.showUrlInput = false;
|
|
28910
|
+
this.resizeAndEmit(validFiles[0]);
|
|
29479
28911
|
}
|
|
29480
28912
|
}
|
|
29481
28913
|
handleFileInput(event) {
|
|
@@ -29573,7 +29005,7 @@ class ImageInputComponent {
|
|
|
29573
29005
|
provideNgIconsConfig({
|
|
29574
29006
|
size: '1.5rem',
|
|
29575
29007
|
}),
|
|
29576
|
-
], ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-80 h-full flex flex-col gap-2\">\n <gn-ui-image-overlay-preview class=\"h-48\" [imageUrl]=\"previewUrl\">\n </gn-ui-image-overlay-preview>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n [disabled]=\"true\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button
|
|
29008
|
+
], ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-80 h-full flex flex-col gap-2\">\n <gn-ui-image-overlay-preview class=\"h-48\" [imageUrl]=\"previewUrl\">\n </gn-ui-image-overlay-preview>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n [disabled]=\"true\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button\n type=\"gray\"\n (buttonClick)=\"handleDelete()\"\n data-cy=\"delete-image\"\n >\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirBin\"></ng-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n type=\"gray\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"me-1 text-primary\"></ng-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=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500':\n !isUploadInProgress && !uploadError && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"isUploadInProgress || uploadError || disabled ? null : 0\"\n (keydown.enter)=\"fileInput.click()\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress && !uploadError\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirMediaImage\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n\n <div\n *ngIf=\"isUploadInProgress && !uploadError\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n\n <div class=\"w-14 h-14 rounded-md bg-gray-50 grid\" *ngIf=\"uploadError\">\n <ng-icon\n name=\"iconoirMediaImageXmark\"\n class=\"place-self-center text-rose-500\"\n ></ng-icon>\n </div>\n\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 isUploadInProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress || uploadError || disabled\"\n />\n </label>\n\n <div *ngIf=\"!showUrlInput\" class=\"flex-none mt-2\">\n <gn-ui-button\n (buttonClick)=\"displayUrlInput()\"\n type=\"gray\"\n [disabled]=\"disabled\"\n [extraClass]=\"disabled && 'cursor-not-allowed'\"\n >\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirLink\"></ng-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n\n <gn-ui-url-input\n *ngIf=\"showUrlInput\"\n class=\"mt-3.5\"\n (uploadClick)=\"downloadUrl($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n >\n </gn-ui-url-input>\n </div>\n</ng-template>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1$5.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" }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ImageOverlayPreviewComponent, selector: "gn-ui-image-overlay-preview", inputs: ["imageUrl"], outputs: ["isPlaceholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29577
29009
|
}
|
|
29578
29010
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageInputComponent, decorators: [{
|
|
29579
29011
|
type: Component,
|
|
@@ -29599,7 +29031,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29599
29031
|
provideNgIconsConfig({
|
|
29600
29032
|
size: '1.5rem',
|
|
29601
29033
|
}),
|
|
29602
|
-
], template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-80 h-full flex flex-col gap-2\">\n <gn-ui-image-overlay-preview class=\"h-48\" [imageUrl]=\"previewUrl\">\n </gn-ui-image-overlay-preview>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n [disabled]=\"true\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button
|
|
29034
|
+
], template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-80 h-full flex flex-col gap-2\">\n <gn-ui-image-overlay-preview class=\"h-48\" [imageUrl]=\"previewUrl\">\n </gn-ui-image-overlay-preview>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n [disabled]=\"true\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button\n type=\"gray\"\n (buttonClick)=\"handleDelete()\"\n data-cy=\"delete-image\"\n >\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirBin\"></ng-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n type=\"gray\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"me-1 text-primary\"></ng-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=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500':\n !isUploadInProgress && !uploadError && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"isUploadInProgress || uploadError || disabled ? null : 0\"\n (keydown.enter)=\"fileInput.click()\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress && !uploadError\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirMediaImage\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n\n <div\n *ngIf=\"isUploadInProgress && !uploadError\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n\n <div class=\"w-14 h-14 rounded-md bg-gray-50 grid\" *ngIf=\"uploadError\">\n <ng-icon\n name=\"iconoirMediaImageXmark\"\n class=\"place-self-center text-rose-500\"\n ></ng-icon>\n </div>\n\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 isUploadInProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress || uploadError || disabled\"\n />\n </label>\n\n <div *ngIf=\"!showUrlInput\" class=\"flex-none mt-2\">\n <gn-ui-button\n (buttonClick)=\"displayUrlInput()\"\n type=\"gray\"\n [disabled]=\"disabled\"\n [extraClass]=\"disabled && 'cursor-not-allowed'\"\n >\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirLink\"></ng-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n\n <gn-ui-url-input\n *ngIf=\"showUrlInput\"\n class=\"mt-3.5\"\n (uploadClick)=\"downloadUrl($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n >\n </gn-ui-url-input>\n </div>\n</ng-template>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
29603
29035
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }], propDecorators: { maxSizeMB: [{
|
|
29604
29036
|
type: Input
|
|
29605
29037
|
}], previewUrl: [{
|
|
@@ -30275,7 +29707,7 @@ class ApplicationBannerComponent {
|
|
|
30275
29707
|
matWarning,
|
|
30276
29708
|
}),
|
|
30277
29709
|
provideNgIconsConfig({ size: '1.5em' }),
|
|
30278
|
-
], ngImport: i0, template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute
|
|
29710
|
+
], ngImport: i0, template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute left-0 right-0 text-wrap bg-white mt-4 max-h-24\"\n>\n <div\n class=\"flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20\"\n [ngClass]=\"classList\"\n >\n <div [ngClass]=\"message.length > 200 ? 'pt-5' : 'pt-1'\">\n <ng-icon [name]=\"icon\"></ng-icon>\n </div>\n <div class=\"flex flex-col justify-start gap-2.5\">\n <span *ngIf=\"title\" class=\"font-bold\">{{ title }}</span>\n <span class=\"font-medium max-w-2xl\" [innerHTML]=\"message\"></span>\n </div>\n <button\n *ngIf=\"closeEnabled\"\n class=\"self-start\"\n type=\"button\"\n (click)=\"closeMessage()\"\n >\n <ng-icon name=\"matCloseOutline\"> </ng-icon>\n </button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30279
29711
|
}
|
|
30280
29712
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, decorators: [{
|
|
30281
29713
|
type: Component,
|
|
@@ -30287,7 +29719,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30287
29719
|
matWarning,
|
|
30288
29720
|
}),
|
|
30289
29721
|
provideNgIconsConfig({ size: '1.5em' }),
|
|
30290
|
-
], template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute
|
|
29722
|
+
], template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute left-0 right-0 text-wrap bg-white mt-4 max-h-24\"\n>\n <div\n class=\"flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20\"\n [ngClass]=\"classList\"\n >\n <div [ngClass]=\"message.length > 200 ? 'pt-5' : 'pt-1'\">\n <ng-icon [name]=\"icon\"></ng-icon>\n </div>\n <div class=\"flex flex-col justify-start gap-2.5\">\n <span *ngIf=\"title\" class=\"font-bold\">{{ title }}</span>\n <span class=\"font-medium max-w-2xl\" [innerHTML]=\"message\"></span>\n </div>\n <button\n *ngIf=\"closeEnabled\"\n class=\"self-start\"\n type=\"button\"\n (click)=\"closeMessage()\"\n >\n <ng-icon name=\"matCloseOutline\"> </ng-icon>\n </button>\n </div>\n</div>\n" }]
|
|
30291
29723
|
}], propDecorators: { message: [{
|
|
30292
29724
|
type: Input
|
|
30293
29725
|
}], title: [{
|
|
@@ -30585,6 +30017,7 @@ class ActionMenuComponent {
|
|
|
30585
30017
|
this.duplicate = new EventEmitter();
|
|
30586
30018
|
this.delete = new EventEmitter();
|
|
30587
30019
|
this.closeActionMenu = new EventEmitter();
|
|
30020
|
+
this.rollback = new EventEmitter();
|
|
30588
30021
|
this.sectionDisplayed = 'mainMenu';
|
|
30589
30022
|
}
|
|
30590
30023
|
openMenu() {
|
|
@@ -30595,11 +30028,16 @@ class ActionMenuComponent {
|
|
|
30595
30028
|
this.cdr.markForCheck();
|
|
30596
30029
|
}
|
|
30597
30030
|
displayDeleteMenu() {
|
|
30598
|
-
this.
|
|
30031
|
+
if (this.isDraftPage) {
|
|
30032
|
+
this.sectionDisplayed = 'rollbackMenu';
|
|
30033
|
+
}
|
|
30034
|
+
else {
|
|
30035
|
+
this.sectionDisplayed = 'deleteMenu';
|
|
30036
|
+
}
|
|
30599
30037
|
this.cdr.markForCheck();
|
|
30600
30038
|
}
|
|
30601
30039
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, deps: [{ token: i1$b.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30602
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionMenuComponent, isStandalone: true, selector: "gn-ui-action-menu", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete" }, outputs: { duplicate: "duplicate", delete: "delete", closeActionMenu: "closeActionMenu" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span translate>record.action.delete</span></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30040
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionMenuComponent, isStandalone: true, selector: "gn-ui-action-menu", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage" }, outputs: { duplicate: "duplicate", delete: "delete", closeActionMenu: "closeActionMenu", rollback: "rollback" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n *ngIf=\"!isDraftPage\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span *ngIf=\"!isDraftPage\" translate>record.action.delete</span>\n <span *ngIf=\"isDraftPage\" translate\n >record.action.rollback</span\n ></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rollbackMenu'\">\n <div\n data-test=\"rollbackMenuSection\"\n class=\"w-80 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.undo.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.undo.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"rollback.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'120px'\"\n >{{\n 'editor.record.undo.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'120px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.undo.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30603
30041
|
}
|
|
30604
30042
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, decorators: [{
|
|
30605
30043
|
type: Component,
|
|
@@ -30610,17 +30048,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30610
30048
|
MatDialogModule,
|
|
30611
30049
|
ConfirmationDialogComponent,
|
|
30612
30050
|
TranslateModule,
|
|
30613
|
-
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span translate>record.action.delete</span></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n" }]
|
|
30051
|
+
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n *ngIf=\"!isDraftPage\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span *ngIf=\"!isDraftPage\" translate>record.action.delete</span>\n <span *ngIf=\"isDraftPage\" translate\n >record.action.rollback</span\n ></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rollbackMenu'\">\n <div\n data-test=\"rollbackMenuSection\"\n class=\"w-80 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.undo.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.undo.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"rollback.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'120px'\"\n >{{\n 'editor.record.undo.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'120px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.undo.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n" }]
|
|
30614
30052
|
}], ctorParameters: () => [{ type: i1$b.MatDialog }, { type: i0.ChangeDetectorRef }], propDecorators: { canDuplicate: [{
|
|
30615
30053
|
type: Input
|
|
30616
30054
|
}], canDelete: [{
|
|
30617
30055
|
type: Input
|
|
30056
|
+
}], isDraftPage: [{
|
|
30057
|
+
type: Input
|
|
30618
30058
|
}], duplicate: [{
|
|
30619
30059
|
type: Output
|
|
30620
30060
|
}], delete: [{
|
|
30621
30061
|
type: Output
|
|
30622
30062
|
}], closeActionMenu: [{
|
|
30623
30063
|
type: Output
|
|
30064
|
+
}], rollback: [{
|
|
30065
|
+
type: Output
|
|
30624
30066
|
}], trigger: [{
|
|
30625
30067
|
type: ViewChild,
|
|
30626
30068
|
args: [MatMenuTrigger]
|
|
@@ -30645,6 +30087,7 @@ class ResultsTableComponent {
|
|
|
30645
30087
|
this.recordClick = new EventEmitter();
|
|
30646
30088
|
this.duplicateRecord = new EventEmitter();
|
|
30647
30089
|
this.deleteRecord = new EventEmitter();
|
|
30090
|
+
this.rollbackDraft = new EventEmitter();
|
|
30648
30091
|
this.recordsSelectedChange = new EventEmitter();
|
|
30649
30092
|
this.isActionMenuOpen = false;
|
|
30650
30093
|
}
|
|
@@ -30723,6 +30166,10 @@ class ResultsTableComponent {
|
|
|
30723
30166
|
this.deleteRecord.emit(item);
|
|
30724
30167
|
this.closeActionMenu();
|
|
30725
30168
|
}
|
|
30169
|
+
handleRollback(item) {
|
|
30170
|
+
this.rollbackDraft.emit(item);
|
|
30171
|
+
this.closeActionMenu();
|
|
30172
|
+
}
|
|
30726
30173
|
setSortBy(col, order) {
|
|
30727
30174
|
this.sortByChange.emit([col, order]);
|
|
30728
30175
|
}
|
|
@@ -30747,7 +30194,7 @@ class ResultsTableComponent {
|
|
|
30747
30194
|
this.recordsSelectedChange.emit([[record], selected]);
|
|
30748
30195
|
}
|
|
30749
30196
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, deps: [{ token: i1$9.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: DateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30750
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage", isDuplicating: "isDuplicating" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", deleteRecord: "deleteRecord", recordsSelectedChange: "recordsSelectedChange" }, providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items", "isDraftPage"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "width", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "canDelete"], outputs: ["duplicate", "delete", "closeActionMenu"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] }); }
|
|
30197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage", isDuplicating: "isDuplicating" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", deleteRecord: "deleteRecord", rollbackDraft: "rollbackDraft", recordsSelectedChange: "recordsSelectedChange" }, providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n [isDraftPage]=\"isDraftPage\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (rollback)=\"handleRollback(item)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items", "isDraftPage"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "width", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "canDelete", "isDraftPage"], outputs: ["duplicate", "delete", "closeActionMenu", "rollback"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] }); }
|
|
30751
30198
|
}
|
|
30752
30199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
30753
30200
|
type: Component,
|
|
@@ -30761,7 +30208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30761
30208
|
ActionMenuComponent,
|
|
30762
30209
|
NgIconComponent,
|
|
30763
30210
|
CdkOverlayOrigin,
|
|
30764
|
-
], providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30211
|
+
], providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n [isDraftPage]=\"isDraftPage\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (rollback)=\"handleRollback(item)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30765
30212
|
}], ctorParameters: () => [{ type: i1$9.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: DateService }], propDecorators: { records: [{
|
|
30766
30213
|
type: Input
|
|
30767
30214
|
}], selectedRecordsIdentifiers: [{
|
|
@@ -30786,6 +30233,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30786
30233
|
type: Output
|
|
30787
30234
|
}], deleteRecord: [{
|
|
30788
30235
|
type: Output
|
|
30236
|
+
}], rollbackDraft: [{
|
|
30237
|
+
type: Output
|
|
30789
30238
|
}], recordsSelectedChange: [{
|
|
30790
30239
|
type: Output
|
|
30791
30240
|
}], actionMenuButtons: [{
|
|
@@ -31799,6 +31248,7 @@ class FuzzySearchComponent {
|
|
|
31799
31248
|
this.searchService = searchService;
|
|
31800
31249
|
this.recordsRepository = recordsRepository;
|
|
31801
31250
|
this.autoFocus = false;
|
|
31251
|
+
this.forceTrackPosition = false;
|
|
31802
31252
|
this.itemSelected = new EventEmitter();
|
|
31803
31253
|
this.inputSubmitted = new EventEmitter();
|
|
31804
31254
|
this.displayWithFn = (record) => record.title;
|
|
@@ -31841,16 +31291,18 @@ class FuzzySearchComponent {
|
|
|
31841
31291
|
}
|
|
31842
31292
|
}
|
|
31843
31293
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FuzzySearchComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31844
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: { autoFocus: "autoFocus" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: AutocompleteComponent, descendants: true }], ngImport: i0, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [preventCompleteOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n [allowSubmit]=\"true\"\n></gn-ui-autocomplete>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31294
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: { autoFocus: "autoFocus", forceTrackPosition: "forceTrackPosition" }, outputs: { itemSelected: "itemSelected", inputSubmitted: "inputSubmitted" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: AutocompleteComponent, descendants: true }], ngImport: i0, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [preventCompleteOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n [allowSubmit]=\"true\"\n [forceTrackPosition]=\"forceTrackPosition\"\n></gn-ui-autocomplete>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31845
31295
|
}
|
|
31846
31296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FuzzySearchComponent, decorators: [{
|
|
31847
31297
|
type: Component,
|
|
31848
|
-
args: [{ selector: 'gn-ui-fuzzy-search', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [preventCompleteOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n [allowSubmit]=\"true\"\n></gn-ui-autocomplete>\n" }]
|
|
31298
|
+
args: [{ selector: 'gn-ui-fuzzy-search', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-autocomplete\n [placeholder]=\"'search.field.any.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n (inputSubmitted)=\"handleInputSubmission($event)\"\n (inputCleared)=\"handleInputCleared()\"\n [value]=\"searchInputValue$ | async\"\n [preventCompleteOnSelection]=\"true\"\n [autoFocus]=\"autoFocus\"\n [allowSubmit]=\"true\"\n [forceTrackPosition]=\"forceTrackPosition\"\n></gn-ui-autocomplete>\n" }]
|
|
31849
31299
|
}], ctorParameters: () => [{ type: SearchFacade }, { type: SearchService }, { type: RecordsRepositoryInterface }], propDecorators: { autocomplete: [{
|
|
31850
31300
|
type: ViewChild,
|
|
31851
31301
|
args: [AutocompleteComponent]
|
|
31852
31302
|
}], autoFocus: [{
|
|
31853
31303
|
type: Input
|
|
31304
|
+
}], forceTrackPosition: [{
|
|
31305
|
+
type: Input
|
|
31854
31306
|
}], itemSelected: [{
|
|
31855
31307
|
type: Output
|
|
31856
31308
|
}], inputSubmitted: [{
|
|
@@ -33042,7 +32494,7 @@ class ResultsTableContainerComponent {
|
|
|
33042
32494
|
this.subscription.unsubscribe();
|
|
33043
32495
|
}
|
|
33044
32496
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }, { token: NotificationsService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33045
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDuplicating: "isDuplicating" }, outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [canDelete]=\"canDelete\"\n [canDuplicate]=\"canDuplicate\"\n [isDuplicating]=\"isDuplicating\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (deleteRecord)=\"handleDeleteRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "hasDraft", "canDuplicate", "canDelete", "isDraftPage", "isDuplicating"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "deleteRecord", "recordsSelectedChange"] }] }); }
|
|
32497
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDuplicating: "isDuplicating" }, outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [canDelete]=\"canDelete\"\n [canDuplicate]=\"canDuplicate\"\n [isDuplicating]=\"isDuplicating\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (deleteRecord)=\"handleDeleteRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "hasDraft", "canDuplicate", "canDelete", "isDraftPage", "isDuplicating"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "deleteRecord", "rollbackDraft", "recordsSelectedChange"] }] }); }
|
|
33046
32498
|
}
|
|
33047
32499
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
33048
32500
|
type: Component,
|
|
@@ -34913,7 +34365,7 @@ class AddLayerFromCatalogComponent {
|
|
|
34913
34365
|
ADDLAYER: new ResultsLayoutConfigItem(AddLayerRecordPreviewComponent, 'py-2', '', 'flex flex-col divide-y divide-y-grey-50'),
|
|
34914
34366
|
},
|
|
34915
34367
|
},
|
|
34916
|
-
], ngImport: i0, template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: FeatureSearchModule }, { kind: "component", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: ["autoFocus"], outputs: ["itemSelected", "inputSubmitted"] }, { kind: "component", type: ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: ["metadataQualityDisplay", "layout", "showMore"], outputs: ["mdSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34368
|
+
], ngImport: i0, template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: FeatureSearchModule }, { kind: "component", type: FuzzySearchComponent, selector: "gn-ui-fuzzy-search", inputs: ["autoFocus", "forceTrackPosition"], outputs: ["itemSelected", "inputSubmitted"] }, { kind: "component", type: ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: ["metadataQualityDisplay", "layout", "showMore"], outputs: ["mdSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34917
34369
|
}
|
|
34918
34370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLayerFromCatalogComponent, decorators: [{
|
|
34919
34371
|
type: Component,
|
|
@@ -35191,6 +34643,9 @@ const loadFullMetadata = createAction('[Metadata view] Load full metadata', prop
|
|
|
35191
34643
|
const setIncompleteMetadata = createAction('[Metadata view] Set incomplete metadata', props());
|
|
35192
34644
|
const loadFullMetadataSuccess = createAction('[Metadata view] Load full metadata success', props());
|
|
35193
34645
|
const loadFullMetadataFailure = createAction('[Metadata view] Load full metadata failure', props());
|
|
34646
|
+
const loadFeatureCatalog = createAction("[Metadata view] Load metadata's feature catalog", props());
|
|
34647
|
+
const loadFeatureCatalogSuccess = createAction('[Metadata view] Load metadata feature catalog success', props());
|
|
34648
|
+
const loadFeatureCatalogFailure = createAction('[Metadata view] Load metadata feature catalog failure', props());
|
|
35194
34649
|
const closeMetadata = createAction('[Metadata view] close');
|
|
35195
34650
|
/*
|
|
35196
34651
|
Related actions
|
|
@@ -35216,6 +34671,9 @@ var mdview_actions = /*#__PURE__*/Object.freeze({
|
|
|
35216
34671
|
addUserFeedbackFailure: addUserFeedbackFailure,
|
|
35217
34672
|
addUserFeedbackSuccess: addUserFeedbackSuccess,
|
|
35218
34673
|
closeMetadata: closeMetadata,
|
|
34674
|
+
loadFeatureCatalog: loadFeatureCatalog,
|
|
34675
|
+
loadFeatureCatalogFailure: loadFeatureCatalogFailure,
|
|
34676
|
+
loadFeatureCatalogSuccess: loadFeatureCatalogSuccess,
|
|
35219
34677
|
loadFullMetadata: loadFullMetadata,
|
|
35220
34678
|
loadFullMetadataFailure: loadFullMetadataFailure,
|
|
35221
34679
|
loadFullMetadataSuccess: loadFullMetadataSuccess,
|
|
@@ -35233,6 +34691,8 @@ const initialMetadataViewState = {
|
|
|
35233
34691
|
loadingFull: false,
|
|
35234
34692
|
allUserFeedbacksLoading: false,
|
|
35235
34693
|
addUserFeedbackLoading: false,
|
|
34694
|
+
featureCatalogLoading: false,
|
|
34695
|
+
featureCatalogError: null,
|
|
35236
34696
|
};
|
|
35237
34697
|
const metadataViewReducer = createReducer(initialMetadataViewState,
|
|
35238
34698
|
/*
|
|
@@ -35292,6 +34752,22 @@ on(loadUserFeedbacks, (state) => ({
|
|
|
35292
34752
|
error: { otherError, notFound },
|
|
35293
34753
|
addUserFeedbackLoading: false,
|
|
35294
34754
|
allUserFeedbacksLoading: false,
|
|
34755
|
+
})),
|
|
34756
|
+
/**
|
|
34757
|
+
* FeatureCatalog reducers
|
|
34758
|
+
*/
|
|
34759
|
+
on(loadFeatureCatalog, (state) => ({
|
|
34760
|
+
...state,
|
|
34761
|
+
featureCatalogError: null,
|
|
34762
|
+
featureCatalogLoading: true,
|
|
34763
|
+
})), on(loadFeatureCatalogSuccess, (state, { datasetCatalog }) => ({
|
|
34764
|
+
...state,
|
|
34765
|
+
featureCatalog: datasetCatalog,
|
|
34766
|
+
featureCatalogLoading: false,
|
|
34767
|
+
})), on(loadFeatureCatalogFailure, (state, { error }) => ({
|
|
34768
|
+
...state,
|
|
34769
|
+
featureCatalogError: error,
|
|
34770
|
+
featureCatalogLoading: false,
|
|
35295
34771
|
})));
|
|
35296
34772
|
function reducer$1(metadataViewState, action) {
|
|
35297
34773
|
return metadataViewReducer(metadataViewState, action);
|
|
@@ -35320,6 +34796,11 @@ const getChartConfig = createSelector(getMdViewState, (state) => state.chartConf
|
|
|
35320
34796
|
const getUserFeedbacks = createSelector(getMdViewState, (state) => state.userFeedbacks);
|
|
35321
34797
|
const getAllUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.allUserFeedbacksLoading);
|
|
35322
34798
|
const getAddUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.addUserFeedbackLoading);
|
|
34799
|
+
/*
|
|
34800
|
+
Feature Catalog Selectors
|
|
34801
|
+
*/
|
|
34802
|
+
const getFeatureCatalog = createSelector(getMdViewState, (state) => state.featureCatalog);
|
|
34803
|
+
const getFeatureCatalogIsLoading = createSelector(getMdViewState, (state) => state.featureCatalogLoading);
|
|
35323
34804
|
|
|
35324
34805
|
class FetchError {
|
|
35325
34806
|
constructor(type, info, httpStatus = 0) {
|
|
@@ -35435,20 +34916,23 @@ function fetchHeaders(url) {
|
|
|
35435
34916
|
return parseHeaders(response.headers);
|
|
35436
34917
|
});
|
|
35437
34918
|
}
|
|
35438
|
-
function fetchDataAsText(url) {
|
|
35439
|
-
|
|
34919
|
+
function fetchDataAsText(url, cacheActive) {
|
|
34920
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35440
34921
|
.catch((error) => {
|
|
35441
34922
|
throw FetchError.corsOrNetwork(error.message);
|
|
35442
34923
|
})
|
|
35443
34924
|
.then(async (response) => {
|
|
35444
34925
|
if (!response.ok) {
|
|
35445
|
-
|
|
34926
|
+
const clonedResponse = response.clone();
|
|
34927
|
+
throw FetchError.http(response.status, await clonedResponse.text());
|
|
35446
34928
|
}
|
|
35447
|
-
|
|
35448
|
-
|
|
34929
|
+
const clonedResponse = response.clone();
|
|
34930
|
+
return clonedResponse.text();
|
|
34931
|
+
});
|
|
34932
|
+
return cacheActive ? useCache(fetchFactory, url, 'asText') : fetchFactory();
|
|
35449
34933
|
}
|
|
35450
|
-
function fetchDataAsArrayBuffer(url) {
|
|
35451
|
-
|
|
34934
|
+
function fetchDataAsArrayBuffer(url, cacheActive) {
|
|
34935
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35452
34936
|
.catch((error) => {
|
|
35453
34937
|
throw FetchError.corsOrNetwork(error.message);
|
|
35454
34938
|
})
|
|
@@ -35458,7 +34942,8 @@ function fetchDataAsArrayBuffer(url) {
|
|
|
35458
34942
|
}
|
|
35459
34943
|
// convert to a numeric array so that we can store the response in cache
|
|
35460
34944
|
return Array.from(new Uint8Array(await response.arrayBuffer()));
|
|
35461
|
-
})
|
|
34945
|
+
});
|
|
34946
|
+
return (cacheActive ? useCache(fetchFactory, url, 'asArrayBuffer') : fetchFactory()).then((array) => {
|
|
35462
34947
|
return new Uint8Array(array).buffer;
|
|
35463
34948
|
});
|
|
35464
34949
|
}
|
|
@@ -35604,68 +35089,6 @@ function getJsonDataItemsProxy(items) {
|
|
|
35604
35089
|
});
|
|
35605
35090
|
}
|
|
35606
35091
|
|
|
35607
|
-
class BaseReader {
|
|
35608
|
-
constructor(url) {
|
|
35609
|
-
this.url = url;
|
|
35610
|
-
this.selected = null;
|
|
35611
|
-
this.groupedBy = null;
|
|
35612
|
-
this.aggregations = null;
|
|
35613
|
-
this.filter = null;
|
|
35614
|
-
this.sort = null;
|
|
35615
|
-
this.startIndex = null;
|
|
35616
|
-
this.count = null;
|
|
35617
|
-
}
|
|
35618
|
-
load() {
|
|
35619
|
-
throw new Error('not implemented');
|
|
35620
|
-
}
|
|
35621
|
-
get properties() {
|
|
35622
|
-
throw new Error('not implemented');
|
|
35623
|
-
}
|
|
35624
|
-
get info() {
|
|
35625
|
-
throw new Error('not implemented');
|
|
35626
|
-
}
|
|
35627
|
-
read() {
|
|
35628
|
-
throw new Error('not implemented');
|
|
35629
|
-
}
|
|
35630
|
-
selectAll() {
|
|
35631
|
-
this.groupedBy = null;
|
|
35632
|
-
this.aggregations = null;
|
|
35633
|
-
this.selected = null;
|
|
35634
|
-
this.filter = null;
|
|
35635
|
-
this.startIndex = null;
|
|
35636
|
-
this.count = null;
|
|
35637
|
-
return this;
|
|
35638
|
-
}
|
|
35639
|
-
select(...selectedFields) {
|
|
35640
|
-
this.selected = selectedFields;
|
|
35641
|
-
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35642
|
-
this.groupedBy = null;
|
|
35643
|
-
return this;
|
|
35644
|
-
}
|
|
35645
|
-
groupBy(...groupBy) {
|
|
35646
|
-
this.groupedBy = groupBy;
|
|
35647
|
-
this.selected = null; // clear normal field selection when aggregating
|
|
35648
|
-
return this;
|
|
35649
|
-
}
|
|
35650
|
-
aggregate(...aggregations) {
|
|
35651
|
-
this.aggregations = aggregations;
|
|
35652
|
-
return this;
|
|
35653
|
-
}
|
|
35654
|
-
where(filter) {
|
|
35655
|
-
this.filter = filter;
|
|
35656
|
-
return this;
|
|
35657
|
-
}
|
|
35658
|
-
orderBy(...fieldSorts) {
|
|
35659
|
-
this.sort = fieldSorts;
|
|
35660
|
-
return this;
|
|
35661
|
-
}
|
|
35662
|
-
limit(startIndex, count) {
|
|
35663
|
-
this.startIndex = startIndex;
|
|
35664
|
-
this.count = count;
|
|
35665
|
-
return this;
|
|
35666
|
-
}
|
|
35667
|
-
}
|
|
35668
|
-
|
|
35669
35092
|
function filterToSql(filter) {
|
|
35670
35093
|
const operator = filter[0];
|
|
35671
35094
|
const args = filter.slice(1);
|
|
@@ -35759,7 +35182,80 @@ function generateSqlQuery(selected = null, filter = null, sort = null, startInde
|
|
|
35759
35182
|
return sqlSelect + sqlFrom + sqlGroupBy + sqlOrderBy + sqlWhere + sqlLimit;
|
|
35760
35183
|
}
|
|
35761
35184
|
|
|
35762
|
-
class
|
|
35185
|
+
class BaseReader {
|
|
35186
|
+
constructor(url) {
|
|
35187
|
+
this.url = url;
|
|
35188
|
+
this.selected = null;
|
|
35189
|
+
this.groupedBy = null;
|
|
35190
|
+
this.aggregations = null;
|
|
35191
|
+
this.filter = null;
|
|
35192
|
+
this.sort = null;
|
|
35193
|
+
this.startIndex = null;
|
|
35194
|
+
this.count = null;
|
|
35195
|
+
}
|
|
35196
|
+
load() {
|
|
35197
|
+
throw new Error('not implemented');
|
|
35198
|
+
}
|
|
35199
|
+
get properties() {
|
|
35200
|
+
throw new Error('not implemented');
|
|
35201
|
+
}
|
|
35202
|
+
get info() {
|
|
35203
|
+
throw new Error('not implemented');
|
|
35204
|
+
}
|
|
35205
|
+
read() {
|
|
35206
|
+
throw new Error('not implemented');
|
|
35207
|
+
}
|
|
35208
|
+
selectAll() {
|
|
35209
|
+
this.groupedBy = null;
|
|
35210
|
+
this.aggregations = null;
|
|
35211
|
+
this.selected = null;
|
|
35212
|
+
this.filter = null;
|
|
35213
|
+
this.startIndex = null;
|
|
35214
|
+
this.count = null;
|
|
35215
|
+
return this;
|
|
35216
|
+
}
|
|
35217
|
+
select(...selectedFields) {
|
|
35218
|
+
this.selected = selectedFields;
|
|
35219
|
+
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35220
|
+
this.groupedBy = null;
|
|
35221
|
+
return this;
|
|
35222
|
+
}
|
|
35223
|
+
groupBy(...groupBy) {
|
|
35224
|
+
this.groupedBy = groupBy;
|
|
35225
|
+
this.selected = null; // clear normal field selection when aggregating
|
|
35226
|
+
return this;
|
|
35227
|
+
}
|
|
35228
|
+
aggregate(...aggregations) {
|
|
35229
|
+
this.aggregations = aggregations;
|
|
35230
|
+
return this;
|
|
35231
|
+
}
|
|
35232
|
+
where(filter) {
|
|
35233
|
+
this.filter = filter;
|
|
35234
|
+
return this;
|
|
35235
|
+
}
|
|
35236
|
+
orderBy(...fieldSorts) {
|
|
35237
|
+
this.sort = fieldSorts;
|
|
35238
|
+
return this;
|
|
35239
|
+
}
|
|
35240
|
+
limit(startIndex, count) {
|
|
35241
|
+
this.startIndex = startIndex;
|
|
35242
|
+
this.count = count;
|
|
35243
|
+
return this;
|
|
35244
|
+
}
|
|
35245
|
+
}
|
|
35246
|
+
|
|
35247
|
+
class BaseCacheReader extends BaseReader {
|
|
35248
|
+
constructor(url, cacheActive = true) {
|
|
35249
|
+
super(url);
|
|
35250
|
+
this.url = url;
|
|
35251
|
+
this.cacheActive = cacheActive;
|
|
35252
|
+
}
|
|
35253
|
+
setCacheActive(value) {
|
|
35254
|
+
this.cacheActive = value;
|
|
35255
|
+
}
|
|
35256
|
+
}
|
|
35257
|
+
|
|
35258
|
+
class BaseFileReader extends BaseCacheReader {
|
|
35763
35259
|
getData() {
|
|
35764
35260
|
throw new Error('not implemented');
|
|
35765
35261
|
}
|
|
@@ -35823,7 +35319,7 @@ function parseCsv(text) {
|
|
|
35823
35319
|
}
|
|
35824
35320
|
class CsvReader extends BaseFileReader {
|
|
35825
35321
|
getData() {
|
|
35826
|
-
return fetchDataAsText(this.url).then(parseCsv);
|
|
35322
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseCsv);
|
|
35827
35323
|
}
|
|
35828
35324
|
}
|
|
35829
35325
|
|
|
@@ -35840,7 +35336,7 @@ function parseJson(text) {
|
|
|
35840
35336
|
}
|
|
35841
35337
|
class JsonReader extends BaseFileReader {
|
|
35842
35338
|
getData() {
|
|
35843
|
-
return fetchDataAsText(this.url).then(parseJson);
|
|
35339
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseJson);
|
|
35844
35340
|
}
|
|
35845
35341
|
}
|
|
35846
35342
|
|
|
@@ -35859,7 +35355,7 @@ function parseGeojson(text) {
|
|
|
35859
35355
|
}
|
|
35860
35356
|
class GeojsonReader extends BaseFileReader {
|
|
35861
35357
|
getData() {
|
|
35862
|
-
return fetchDataAsText(this.url).then(parseGeojson);
|
|
35358
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseGeojson);
|
|
35863
35359
|
}
|
|
35864
35360
|
}
|
|
35865
35361
|
|
|
@@ -35881,7 +35377,7 @@ function parseExcel(buffer) {
|
|
|
35881
35377
|
}
|
|
35882
35378
|
class ExcelReader extends BaseFileReader {
|
|
35883
35379
|
getData() {
|
|
35884
|
-
return fetchDataAsArrayBuffer(this.url).then(parseExcel);
|
|
35380
|
+
return fetchDataAsArrayBuffer(this.url, this.cacheActive).then(parseExcel);
|
|
35885
35381
|
}
|
|
35886
35382
|
}
|
|
35887
35383
|
|
|
@@ -35908,19 +35404,21 @@ function parseGml(text, namespace, version) {
|
|
|
35908
35404
|
throw Error("Couldn't retrieve namespace url");
|
|
35909
35405
|
}
|
|
35910
35406
|
class GmlReader extends BaseFileReader {
|
|
35911
|
-
constructor(url, namespace, version) {
|
|
35407
|
+
constructor(url, namespace, version, cacheActive = true) {
|
|
35912
35408
|
super(url);
|
|
35409
|
+
this.url = url;
|
|
35913
35410
|
this.namespace = namespace;
|
|
35914
35411
|
this.version = version;
|
|
35412
|
+
this.cacheActive = cacheActive;
|
|
35915
35413
|
}
|
|
35916
35414
|
getData() {
|
|
35917
|
-
return fetchDataAsText(this.url).then((text) => parseGml(text, this.namespace, this.version));
|
|
35415
|
+
return fetchDataAsText(this.url, this.cacheActive).then((text) => parseGml(text, this.namespace, this.version));
|
|
35918
35416
|
}
|
|
35919
35417
|
}
|
|
35920
35418
|
|
|
35921
|
-
class WfsReader extends
|
|
35922
|
-
constructor(url, wfsEndpoint, featureTypeName) {
|
|
35923
|
-
super(url);
|
|
35419
|
+
class WfsReader extends BaseCacheReader {
|
|
35420
|
+
constructor(url, wfsEndpoint, featureTypeName, cacheActive) {
|
|
35421
|
+
super(url, cacheActive);
|
|
35924
35422
|
this.endpoint = wfsEndpoint;
|
|
35925
35423
|
this.featureTypeName = featureTypeName;
|
|
35926
35424
|
this.version = this.endpoint.getVersion();
|
|
@@ -35975,9 +35473,9 @@ class WfsReader extends BaseReader {
|
|
|
35975
35473
|
throw new Error('wfs.geojsongml.notsupported');
|
|
35976
35474
|
}
|
|
35977
35475
|
}
|
|
35978
|
-
getData() {
|
|
35979
|
-
if (
|
|
35980
|
-
|
|
35476
|
+
async getData(aggregation, groupedBy) {
|
|
35477
|
+
if (aggregation || groupedBy) {
|
|
35478
|
+
return { items: await this.getQueryData() };
|
|
35981
35479
|
}
|
|
35982
35480
|
const asJson = this.endpoint.supportsJson(this.featureTypeName);
|
|
35983
35481
|
const attributes = this.selected ?? undefined;
|
|
@@ -35997,19 +35495,26 @@ class WfsReader extends BaseReader {
|
|
|
35997
35495
|
// Direct update on string url to prevent encoding of +A and +D
|
|
35998
35496
|
url = `${url}${finalUrl.search ? '&' : ''}SORTBY=${sorts}`;
|
|
35999
35497
|
}
|
|
36000
|
-
return fetchDataAsText(url).then((text) => asJson
|
|
35498
|
+
return fetchDataAsText(url, this.cacheActive).then((text) => asJson
|
|
36001
35499
|
? parseGeojson(text)
|
|
36002
35500
|
: parseGml(text, this.featureTypeName, this.version));
|
|
36003
35501
|
}
|
|
35502
|
+
async getQueryData() {
|
|
35503
|
+
const items = (await this.getData()).items;
|
|
35504
|
+
const jsonItems = getJsonDataItemsProxy(items);
|
|
35505
|
+
const query = generateSqlQuery(this.selected, this.filter, this.sort, this.startIndex, this.count, this.groupedBy, this.aggregations);
|
|
35506
|
+
const result = await import('alasql').then((module) => module.default(query, [jsonItems]));
|
|
35507
|
+
return result.map(jsonToGeojsonFeature);
|
|
35508
|
+
}
|
|
36004
35509
|
load() {
|
|
36005
35510
|
// Nothing to load for Wfs
|
|
36006
35511
|
}
|
|
36007
35512
|
async read() {
|
|
36008
|
-
return (await this.getData()).items;
|
|
35513
|
+
return (await this.getData(this.aggregations, this.groupedBy)).items;
|
|
36009
35514
|
}
|
|
36010
35515
|
}
|
|
36011
35516
|
|
|
36012
|
-
async function openDataset(url, typeHint, options) {
|
|
35517
|
+
async function openDataset(url, typeHint, options, cacheActive) {
|
|
36013
35518
|
const fileType = await inferDatasetType(url, typeHint);
|
|
36014
35519
|
let reader;
|
|
36015
35520
|
try {
|
|
@@ -36033,6 +35538,7 @@ async function openDataset(url, typeHint, options) {
|
|
|
36033
35538
|
reader = await WfsReader.createReader(url, options.wfsFeatureType);
|
|
36034
35539
|
break;
|
|
36035
35540
|
}
|
|
35541
|
+
reader.setCacheActive(cacheActive);
|
|
36036
35542
|
reader.load();
|
|
36037
35543
|
return reader;
|
|
36038
35544
|
}
|
|
@@ -36049,8 +35555,8 @@ async function openDataset(url, typeHint, options) {
|
|
|
36049
35555
|
* 2. otherwise, look for a Content-Type header in the response with a supported mime type
|
|
36050
35556
|
* 3. if no valid mime type was found, look for an explicit file extension in the url (.csv, .geojson etc.)
|
|
36051
35557
|
*/
|
|
36052
|
-
async function readDataset(url, typeHint, options) {
|
|
36053
|
-
const reader = await openDataset(url, typeHint, options);
|
|
35558
|
+
async function readDataset(url, typeHint, options, cacheActive = true) {
|
|
35559
|
+
const reader = await openDataset(url, typeHint, options, cacheActive);
|
|
36054
35560
|
try {
|
|
36055
35561
|
return await reader.read();
|
|
36056
35562
|
}
|
|
@@ -36211,18 +35717,18 @@ class DataService {
|
|
|
36211
35717
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
36212
35718
|
}));
|
|
36213
35719
|
}
|
|
36214
|
-
readAsGeoJson(link) {
|
|
36215
|
-
return this.getDataset(link).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
35720
|
+
readAsGeoJson(link, cacheActive) {
|
|
35721
|
+
return this.getDataset(link, cacheActive).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
36216
35722
|
type: 'FeatureCollection',
|
|
36217
35723
|
features,
|
|
36218
35724
|
})));
|
|
36219
35725
|
}
|
|
36220
|
-
getDataset(link) {
|
|
35726
|
+
getDataset(link, cacheActive) {
|
|
36221
35727
|
if (link.type === 'service' && link.accessServiceProtocol === 'wfs') {
|
|
36222
35728
|
const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString());
|
|
36223
35729
|
return from(openDataset(wfsUrlEndpoint, 'wfs', {
|
|
36224
35730
|
wfsFeatureType: link.name,
|
|
36225
|
-
}));
|
|
35731
|
+
}, cacheActive));
|
|
36226
35732
|
}
|
|
36227
35733
|
else if (link.type === 'download') {
|
|
36228
35734
|
const linkProxifiedUrl = this.proxy.getProxiedUrl(link.url.toString());
|
|
@@ -36230,18 +35736,18 @@ class DataService {
|
|
|
36230
35736
|
const supportedType = SupportedTypes.indexOf(format) > -1
|
|
36231
35737
|
? format
|
|
36232
35738
|
: undefined;
|
|
36233
|
-
return from(openDataset(linkProxifiedUrl, supportedType)).pipe();
|
|
35739
|
+
return from(openDataset(linkProxifiedUrl, supportedType, undefined, cacheActive)).pipe();
|
|
36234
35740
|
}
|
|
36235
35741
|
else if (link.type === 'service' &&
|
|
36236
35742
|
link.accessServiceProtocol === 'esriRest') {
|
|
36237
35743
|
const url = this.getDownloadUrlFromEsriRest(link.url.toString(), 'geojson');
|
|
36238
|
-
return from(openDataset(url, 'geojson')).pipe();
|
|
35744
|
+
return from(openDataset(url, 'geojson', undefined, cacheActive)).pipe();
|
|
36239
35745
|
}
|
|
36240
35746
|
else if (link.type === 'service' &&
|
|
36241
35747
|
link.accessServiceProtocol === 'ogcFeatures') {
|
|
36242
35748
|
return from(this.getDownloadUrlsFromOgcApi(link.url.href)).pipe(switchMap$1((collectionInfo) => {
|
|
36243
35749
|
const geojsonUrl = collectionInfo.jsonDownloadLink;
|
|
36244
|
-
return openDataset(geojsonUrl, 'geojson');
|
|
35750
|
+
return openDataset(geojsonUrl, 'geojson', undefined, cacheActive);
|
|
36245
35751
|
}), tap$1((url) => {
|
|
36246
35752
|
if (url === null) {
|
|
36247
35753
|
throw new Error('wfs.geojsongml.notsupported');
|
|
@@ -36806,6 +36312,7 @@ class ChartViewComponent {
|
|
|
36806
36312
|
this.dataService = dataService;
|
|
36807
36313
|
this.changeDetector = changeDetector;
|
|
36808
36314
|
this.translateService = translateService;
|
|
36315
|
+
this.cacheActive = true;
|
|
36809
36316
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36810
36317
|
this.aggregation$ = new BehaviorSubject('sum');
|
|
36811
36318
|
this.xProperty$ = new BehaviorSubject(undefined);
|
|
@@ -36835,7 +36342,7 @@ class ChartViewComponent {
|
|
|
36835
36342
|
this.dataset$ = this.currentLink$.pipe(filter((link) => !!link), switchMap$1((link) => {
|
|
36836
36343
|
this.error = null;
|
|
36837
36344
|
this.loading = true;
|
|
36838
|
-
return this.dataService.getDataset(link).pipe(catchError((error) => {
|
|
36345
|
+
return this.dataService.getDataset(link, this.cacheActive).pipe(catchError((error) => {
|
|
36839
36346
|
this.handleError(error);
|
|
36840
36347
|
return EMPTY;
|
|
36841
36348
|
}));
|
|
@@ -36904,7 +36411,7 @@ class ChartViewComponent {
|
|
|
36904
36411
|
this.changeDetector.detectChanges();
|
|
36905
36412
|
}
|
|
36906
36413
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36907
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36414
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { cacheActive: "cacheActive", link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36908
36415
|
}
|
|
36909
36416
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, decorators: [{
|
|
36910
36417
|
type: Component,
|
|
@@ -36916,7 +36423,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36916
36423
|
LoadingMaskComponent,
|
|
36917
36424
|
PopupAlertComponent,
|
|
36918
36425
|
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
36919
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: {
|
|
36426
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
36427
|
+
type: Input
|
|
36428
|
+
}], link: [{
|
|
36920
36429
|
type: Input
|
|
36921
36430
|
}], aggregation: [{
|
|
36922
36431
|
type: Input
|
|
@@ -37089,6 +36598,7 @@ class TableViewComponent {
|
|
|
37089
36598
|
constructor(dataService, translateService) {
|
|
37090
36599
|
this.dataService = dataService;
|
|
37091
36600
|
this.translateService = translateService;
|
|
36601
|
+
this.cacheActive = true;
|
|
37092
36602
|
this.currentLink$ = new BehaviorSubject(null);
|
|
37093
36603
|
this.loading = false;
|
|
37094
36604
|
this.error = null;
|
|
@@ -37106,7 +36616,7 @@ class TableViewComponent {
|
|
|
37106
36616
|
}), startWith(undefined), shareReplay(1));
|
|
37107
36617
|
}
|
|
37108
36618
|
getDatasetReader(link) {
|
|
37109
|
-
return this.dataService.getDataset(link);
|
|
36619
|
+
return this.dataService.getDataset(link, this.cacheActive);
|
|
37110
36620
|
}
|
|
37111
36621
|
onTableSelect(event) {
|
|
37112
36622
|
console.log(event);
|
|
@@ -37129,7 +36639,7 @@ class TableViewComponent {
|
|
|
37129
36639
|
this.loading = false;
|
|
37130
36640
|
}
|
|
37131
36641
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, deps: [{ token: DataService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableViewComponent, isStandalone: true, selector: "gn-ui-table-view", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36642
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableViewComponent, isStandalone: true, selector: "gn-ui-table-view", inputs: { cacheActive: "cacheActive", link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37133
36643
|
}
|
|
37134
36644
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, decorators: [{
|
|
37135
36645
|
type: Component,
|
|
@@ -37140,7 +36650,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37140
36650
|
PopupAlertComponent,
|
|
37141
36651
|
TranslateModule,
|
|
37142
36652
|
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
37143
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: {
|
|
36653
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
36654
|
+
type: Input
|
|
36655
|
+
}], link: [{
|
|
37144
36656
|
type: Input
|
|
37145
36657
|
}] } });
|
|
37146
36658
|
|
|
@@ -37159,7 +36671,15 @@ class MdViewFacade {
|
|
|
37159
36671
|
this.isPresent$ = this.store.pipe(select(getMetadataUuid), map$1((uuid) => !!uuid));
|
|
37160
36672
|
this.isMetadataLoading$ = this.store.pipe(select(getMetadataIsLoading));
|
|
37161
36673
|
this.metadata$ = this.store.pipe(select(getMetadata), filter((md) => !!md));
|
|
36674
|
+
this.featureCatalog$ = this.store.pipe(select(getFeatureCatalog));
|
|
37162
36675
|
this.isIncomplete$ = this.store.pipe(select(getMetadataIsIncomplete), filter((incomplete) => incomplete !== null));
|
|
36676
|
+
this.isHighUpdateFrequency$ = this.metadata$.pipe(map$1((record) => {
|
|
36677
|
+
if (record.updateFrequency instanceof Object) {
|
|
36678
|
+
return (record.updateFrequency.per === 'day' &&
|
|
36679
|
+
record.updateFrequency.updatedTimes > 1);
|
|
36680
|
+
}
|
|
36681
|
+
return record.updateFrequency === 'continual';
|
|
36682
|
+
}));
|
|
37163
36683
|
this.error$ = this.store.pipe(select(getMetadataError));
|
|
37164
36684
|
this.related$ = this.store.pipe(select(getRelated));
|
|
37165
36685
|
this.chartConfig$ = this.store.pipe(select(getChartConfig));
|
|
@@ -37255,6 +36775,11 @@ class MdViewEffects {
|
|
|
37255
36775
|
}
|
|
37256
36776
|
return loadFullMetadataSuccess({ full: record });
|
|
37257
36777
|
}), catchError((error) => of(loadFullMetadataFailure({ otherError: error.message })))));
|
|
36778
|
+
this.loadFeatureCatalog$ = createEffect(() => this.actions$.pipe(ofType(loadFullMetadataSuccess), filter(({ full }) => full !== undefined), switchMap$1(({ full }) => this.recordsRepository.getFeatureCatalog(full)), map$1((featureCatalog) => loadFeatureCatalogSuccess({
|
|
36779
|
+
datasetCatalog: featureCatalog,
|
|
36780
|
+
})), catchError((error) => of(loadFeatureCatalogFailure({
|
|
36781
|
+
error: error.message,
|
|
36782
|
+
})))));
|
|
37258
36783
|
/*
|
|
37259
36784
|
Related effects
|
|
37260
36785
|
*/
|
|
@@ -37840,10 +37365,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37840
37365
|
}] } });
|
|
37841
37366
|
|
|
37842
37367
|
class DataViewComponent {
|
|
37368
|
+
set exceedsLimit(value) {
|
|
37369
|
+
this.excludeWfs$.next(value);
|
|
37370
|
+
}
|
|
37843
37371
|
constructor(mdViewFacade) {
|
|
37844
37372
|
this.mdViewFacade = mdViewFacade;
|
|
37845
37373
|
this.displaySource = true;
|
|
37846
37374
|
this.chartConfig$ = new BehaviorSubject(null);
|
|
37375
|
+
this.cacheActive$ = this.mdViewFacade.isHighUpdateFrequency$.pipe(map$1((highF) => !highF));
|
|
37376
|
+
this.hidePreview = false;
|
|
37377
|
+
this.excludeWfs$ = new BehaviorSubject(false);
|
|
37847
37378
|
this.compatibleDataLinks$ = combineLatest([
|
|
37848
37379
|
this.mdViewFacade.dataLinks$,
|
|
37849
37380
|
this.mdViewFacade.geoDataLinks$,
|
|
@@ -37854,7 +37385,7 @@ class DataViewComponent {
|
|
|
37854
37385
|
}));
|
|
37855
37386
|
this.dropdownChoices$ = this.compatibleDataLinks$.pipe(tap$1((links) => {
|
|
37856
37387
|
if (links.indexOf(this.selectedLink$.value) === -1) {
|
|
37857
|
-
this.
|
|
37388
|
+
this.selectLink(JSON.stringify(links[0]));
|
|
37858
37389
|
}
|
|
37859
37390
|
}), map$1((links) => links.map((link) => ({
|
|
37860
37391
|
label: getLinkLabel(link),
|
|
@@ -37868,10 +37399,20 @@ class DataViewComponent {
|
|
|
37868
37399
|
selectLink(linkAsString) {
|
|
37869
37400
|
const link = JSON.parse(linkAsString);
|
|
37870
37401
|
link.url = new URL(link.url);
|
|
37871
|
-
this.
|
|
37402
|
+
this.excludeWfs$
|
|
37403
|
+
.pipe(tap$1((excludeWfs) => {
|
|
37404
|
+
this.hidePreview =
|
|
37405
|
+
link['accessServiceProtocol'] === 'wfs' &&
|
|
37406
|
+
excludeWfs &&
|
|
37407
|
+
this.mode === 'chart'
|
|
37408
|
+
? true
|
|
37409
|
+
: false;
|
|
37410
|
+
this.selectedLink$.next(link);
|
|
37411
|
+
}))
|
|
37412
|
+
.subscribe();
|
|
37872
37413
|
}
|
|
37873
37414
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, deps: [{ token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37874
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[460px]\">\n
|
|
37415
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource", exceedsLimit: "exceedsLimit" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <ng-container *ngIf=\"hidePreview; else dataView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #dataView>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TableViewComponent, selector: "gn-ui-table-view", inputs: ["cacheActive", "link"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["cacheActive", "link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37875
37416
|
}
|
|
37876
37417
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, decorators: [{
|
|
37877
37418
|
type: Component,
|
|
@@ -37881,11 +37422,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37881
37422
|
TableViewComponent,
|
|
37882
37423
|
TranslateModule,
|
|
37883
37424
|
ChartViewComponent,
|
|
37884
|
-
|
|
37425
|
+
PopupAlertComponent,
|
|
37426
|
+
], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <ng-container *ngIf=\"hidePreview; else dataView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #dataView>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n </ng-template>\n</div>\n" }]
|
|
37885
37427
|
}], ctorParameters: () => [{ type: MdViewFacade }], propDecorators: { mode: [{
|
|
37886
37428
|
type: Input
|
|
37887
37429
|
}], displaySource: [{
|
|
37888
37430
|
type: Input
|
|
37431
|
+
}], exceedsLimit: [{
|
|
37432
|
+
type: Input
|
|
37889
37433
|
}], chartConfig$: [{
|
|
37890
37434
|
type: Output
|
|
37891
37435
|
}] } });
|
|
@@ -38057,7 +37601,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38057
37601
|
marker('map.dropdown.placeholder');
|
|
38058
37602
|
marker('wfs.feature.limit');
|
|
38059
37603
|
class MapViewComponent {
|
|
38060
|
-
set
|
|
37604
|
+
set exceedsLimit(value) {
|
|
38061
37605
|
this.excludeWfs$.next(value);
|
|
38062
37606
|
}
|
|
38063
37607
|
toggleLegend() {
|
|
@@ -38076,6 +37620,7 @@ class MapViewComponent {
|
|
|
38076
37620
|
this.changeRef = changeRef;
|
|
38077
37621
|
this.displaySource = true;
|
|
38078
37622
|
this.excludeWfs$ = new BehaviorSubject(false);
|
|
37623
|
+
this.hidePreview = false;
|
|
38079
37624
|
this.showLegend = true;
|
|
38080
37625
|
this.legendExists = false;
|
|
38081
37626
|
this.compatibleMapLinks$ = combineLatest([
|
|
@@ -38102,9 +37647,10 @@ class MapViewComponent {
|
|
|
38102
37647
|
return of([]);
|
|
38103
37648
|
}
|
|
38104
37649
|
if (excludeWfs && link.accessServiceProtocol === 'wfs') {
|
|
38105
|
-
this.
|
|
37650
|
+
this.hidePreview = true;
|
|
38106
37651
|
return of([]);
|
|
38107
37652
|
}
|
|
37653
|
+
this.hidePreview = false;
|
|
38108
37654
|
this.loading = true;
|
|
38109
37655
|
this.error = null;
|
|
38110
37656
|
return this.getLayerFromLink(link).pipe(map$1((layer) => [layer]), catchError((e) => {
|
|
@@ -38174,7 +37720,8 @@ class MapViewComponent {
|
|
|
38174
37720
|
link.accessServiceProtocol === 'esriRest' ||
|
|
38175
37721
|
link.accessServiceProtocol === 'ogcFeatures')) ||
|
|
38176
37722
|
link.type === 'download') {
|
|
38177
|
-
|
|
37723
|
+
const cacheActive = true; // TODO implement whether should be true or false
|
|
37724
|
+
return this.dataService.readAsGeoJson(link, cacheActive).pipe(map$1((data) => ({
|
|
38178
37725
|
type: 'geojson',
|
|
38179
37726
|
data,
|
|
38180
37727
|
})));
|
|
@@ -38185,7 +37732,7 @@ class MapViewComponent {
|
|
|
38185
37732
|
this.selectedLinkIndex$.next(link);
|
|
38186
37733
|
}
|
|
38187
37734
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, deps: [{ token: MdViewFacade }, { token: MapUtilsService }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38188
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: {
|
|
37735
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { exceedsLimit: "exceedsLimit", displaySource: "displaySource" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38189
37736
|
}
|
|
38190
37737
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, decorators: [{
|
|
38191
37738
|
type: Component,
|
|
@@ -38201,8 +37748,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38201
37748
|
ExternalViewerButtonComponent,
|
|
38202
37749
|
ButtonComponent,
|
|
38203
37750
|
MapLegendComponent,
|
|
38204
|
-
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <
|
|
38205
|
-
}], ctorParameters: () => [{ type: MdViewFacade }, { type: MapUtilsService }, { type: DataService }, { type: i0.ChangeDetectorRef }], propDecorators: {
|
|
37751
|
+
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <ng-container *ngIf=\"hidePreview; else mapView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #mapView>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n </ng-template>\n</div>\n" }]
|
|
37752
|
+
}], ctorParameters: () => [{ type: MdViewFacade }, { type: MapUtilsService }, { type: DataService }, { type: i0.ChangeDetectorRef }], propDecorators: { exceedsLimit: [{
|
|
38206
37753
|
type: Input
|
|
38207
37754
|
}], displaySource: [{
|
|
38208
37755
|
type: Input
|
|
@@ -38689,8 +38236,8 @@ const DEFAULT_CONFIGURATION = {
|
|
|
38689
38236
|
labelKey: marker('editor.record.form.page.description'),
|
|
38690
38237
|
sections: [
|
|
38691
38238
|
TITLE_SECTION,
|
|
38692
|
-
ABOUT_SECTION,
|
|
38693
38239
|
CLASSIFICATION_SECTION,
|
|
38240
|
+
ABOUT_SECTION,
|
|
38694
38241
|
GEOGRAPHICAL_COVERAGE_SECTION,
|
|
38695
38242
|
],
|
|
38696
38243
|
},
|
|
@@ -39035,9 +38582,8 @@ var WizardFieldType;
|
|
|
39035
38582
|
(function (WizardFieldType) {
|
|
39036
38583
|
WizardFieldType[WizardFieldType["TEXT"] = 0] = "TEXT";
|
|
39037
38584
|
WizardFieldType[WizardFieldType["TEXT_AREA"] = 1] = "TEXT_AREA";
|
|
39038
|
-
WizardFieldType[WizardFieldType["
|
|
39039
|
-
WizardFieldType[WizardFieldType["
|
|
39040
|
-
WizardFieldType[WizardFieldType["DROPDOWN"] = 4] = "DROPDOWN";
|
|
38585
|
+
WizardFieldType[WizardFieldType["DATA_PICKER"] = 2] = "DATA_PICKER";
|
|
38586
|
+
WizardFieldType[WizardFieldType["DROPDOWN"] = 3] = "DROPDOWN";
|
|
39041
38587
|
})(WizardFieldType || (WizardFieldType = {}));
|
|
39042
38588
|
|
|
39043
38589
|
class WizardService {
|
|
@@ -39159,9 +38705,6 @@ class WizardFieldComponent {
|
|
|
39159
38705
|
case WizardFieldType.TEXT: {
|
|
39160
38706
|
return data || '';
|
|
39161
38707
|
}
|
|
39162
|
-
case WizardFieldType.CHIPS: {
|
|
39163
|
-
return data ? JSON.parse(data) : [];
|
|
39164
|
-
}
|
|
39165
38708
|
case WizardFieldType.TEXT_AREA: {
|
|
39166
38709
|
return data || '';
|
|
39167
38710
|
}
|
|
@@ -39191,10 +38734,6 @@ class WizardFieldComponent {
|
|
|
39191
38734
|
this.initializeTextInputListener();
|
|
39192
38735
|
break;
|
|
39193
38736
|
}
|
|
39194
|
-
case WizardFieldType.CHIPS: {
|
|
39195
|
-
this.initializeChipsListener();
|
|
39196
|
-
break;
|
|
39197
|
-
}
|
|
39198
38737
|
case WizardFieldType.TEXT_AREA: {
|
|
39199
38738
|
this.initializeTextAreaListener();
|
|
39200
38739
|
return;
|
|
@@ -39214,11 +38753,6 @@ class WizardFieldComponent {
|
|
|
39214
38753
|
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, value);
|
|
39215
38754
|
}));
|
|
39216
38755
|
}
|
|
39217
|
-
initializeChipsListener() {
|
|
39218
|
-
this.subs.add(this.chips.itemsChange.subscribe((items) => {
|
|
39219
|
-
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, JSON.stringify(items));
|
|
39220
|
-
}));
|
|
39221
|
-
}
|
|
39222
38756
|
initializeTextAreaListener() {
|
|
39223
38757
|
this.subs.add(this.textArea.valueChange.subscribe((value) => {
|
|
39224
38758
|
this.wizardService.onWizardWizardFieldDataChanged(this.wizardFieldConfig.id, value);
|
|
@@ -39252,7 +38786,7 @@ class WizardFieldComponent {
|
|
|
39252
38786
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
39253
38787
|
},
|
|
39254
38788
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
39255
|
-
], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "
|
|
38789
|
+
], viewQueries: [{ propertyName: "searchText", first: true, predicate: ["searchText"], descendants: true }, { propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:#fff;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i1$8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39256
38790
|
}
|
|
39257
38791
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WizardFieldComponent, decorators: [{
|
|
39258
38792
|
type: Component,
|
|
@@ -39264,15 +38798,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39264
38798
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
39265
38799
|
},
|
|
39266
38800
|
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
39267
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"
|
|
38801
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-1\">\n <span [class]=\"wizardFieldConfig.icon + ' pr-10'\"></span>\n <div class=\"flex flex-col flex-1\">\n <div translate class=\"text-xl font-bold pb-1\">\n {{ wizardFieldConfig.label }}\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.TEXT === wizardFieldConfig.type\"\n >\n <gn-ui-text-input\n #searchText\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-input>\n </div>\n <div\n class=\"h-32 w-11/12\"\n *ngIf=\"wizardFieldType.TEXT_AREA === wizardFieldConfig.type\"\n >\n <gn-ui-text-area\n #textArea\n [id]=\"wizardFieldConfig.id\"\n [value]=\"wizardFieldData\"\n [required]=\"wizardFieldConfig.required || false\"\n placeholder=\"\"\n ></gn-ui-text-area>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DATA_PICKER === wizardFieldConfig.type\"\n >\n <input\n [id]=\"wizardFieldConfig.id\"\n type=\"text\"\n (click)=\"datepicker.open()\"\n class=\"rounded p-2 text-gray-700 w-full leading-tight focus:outline-none focus:border-primary\"\n [value]=\"wizardFieldData\"\n [matDatepicker]=\"datepicker\"\n (dateChange)=\"onDateChange($event)\"\n />\n <mat-datepicker #datepicker></mat-datepicker>\n </div>\n <div\n class=\"w-1/2 h-12\"\n *ngIf=\"wizardFieldType.DROPDOWN === wizardFieldConfig.type\"\n >\n <gn-ui-dropdown-selector\n #dropdown\n [id]=\"wizardFieldConfig.id\"\n [title]=\"''\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n [showTitle]=\"false\"\n [choices]=\"dropdownChoices\"\n [selected]=\"wizardFieldData\"\n ariaName=\"search-sort-by\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;flex:1}gn-ui-text-input::ng-deep input,input[type=text]{height:100%;background:#fff;color:#000;font-style:italic;border-width:2px;border-color:var(--color-primary)}gn-ui-text-area::ng-deep textarea{border-width:2px;border-color:var(--color-primary)}gn-ui-dropdown-selector::ng-deep div{height:100%}gn-ui-dropdown-selector::ng-deep select{height:100%;border-width:2px;border-color:var(--color-primary);background-color:#fff}\n"] }]
|
|
39268
38802
|
}], ctorParameters: () => [{ type: WizardService }, { type: i0.ChangeDetectorRef }], propDecorators: { wizardFieldConfig: [{
|
|
39269
38803
|
type: Input
|
|
39270
38804
|
}], searchText: [{
|
|
39271
38805
|
type: ViewChild,
|
|
39272
38806
|
args: ['searchText']
|
|
39273
|
-
}], chips: [{
|
|
39274
|
-
type: ViewChild,
|
|
39275
|
-
args: ['chips']
|
|
39276
38807
|
}], textArea: [{
|
|
39277
38808
|
type: ViewChild,
|
|
39278
38809
|
args: ['textArea']
|
|
@@ -39479,15 +39010,15 @@ class ImportRecordComponent {
|
|
|
39479
39010
|
importRecord(url) {
|
|
39480
39011
|
this.isRecordImportInProgress = true;
|
|
39481
39012
|
this.recordsRepository.duplicateExternalRecord(url).subscribe({
|
|
39482
|
-
next: (
|
|
39483
|
-
if (
|
|
39013
|
+
next: (uuid) => {
|
|
39014
|
+
if (uuid) {
|
|
39484
39015
|
this.notificationsService.showNotification({
|
|
39485
39016
|
type: 'success',
|
|
39486
39017
|
title: this.translateService.instant('editor.record.importFromExternalFile.success.title'),
|
|
39487
39018
|
text: `${this.translateService.instant('editor.record.importFromExternalFile.success.body')}`,
|
|
39488
39019
|
}, 2500);
|
|
39489
39020
|
this.router
|
|
39490
|
-
.navigate(['/edit',
|
|
39021
|
+
.navigate(['/edit', uuid])
|
|
39491
39022
|
.catch((err) => console.error(err));
|
|
39492
39023
|
}
|
|
39493
39024
|
this.closeImportMenu.next();
|
|
@@ -39579,7 +39110,7 @@ class GenericKeywordsComponent {
|
|
|
39579
39110
|
provideIcons({
|
|
39580
39111
|
matWarningAmberOutline,
|
|
39581
39112
|
}),
|
|
39582
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.record.form.keywords.place.withoutExtent' | translate\"\n class=\"badge-warning\"\n name=\"matWarningAmberOutline\"\n ></ng-icon>\n </gn-ui-badge>\n </div>\n</div>\n", styles: [".badge-warning{font-size:1.4em}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39113
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.record.form.keywords.place.withoutExtent' | translate\"\n class=\"badge-warning\"\n name=\"matWarningAmberOutline\"\n ></ng-icon>\n </gn-ui-badge>\n </div>\n</div>\n", styles: [".badge-warning{font-size:1.4em}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39583
39114
|
}
|
|
39584
39115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericKeywordsComponent, decorators: [{
|
|
39585
39116
|
type: Component,
|
|
@@ -39849,7 +39380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39849
39380
|
|
|
39850
39381
|
class FormFieldRichComponent {
|
|
39851
39382
|
constructor() {
|
|
39852
|
-
this.placeholder = '
|
|
39383
|
+
this.placeholder = '';
|
|
39853
39384
|
this.valueChange = new EventEmitter();
|
|
39854
39385
|
this.preview = false;
|
|
39855
39386
|
}
|
|
@@ -40092,19 +39623,16 @@ class FormFieldContactsForResourceComponent {
|
|
|
40092
39623
|
this.organizationsServiceInterface = organizationsServiceInterface;
|
|
40093
39624
|
this.valueChange = new EventEmitter();
|
|
40094
39625
|
this.contactsForRessourceByRole = new Map();
|
|
40095
|
-
this.
|
|
40096
|
-
|
|
40097
|
-
'custodian',
|
|
40098
|
-
'owner',
|
|
40099
|
-
'point_of_contact',
|
|
40100
|
-
'author',
|
|
40101
|
-
];
|
|
39626
|
+
this.roleValues = RoleValues;
|
|
39627
|
+
this.rolesToPick = this.roleValues.filter((role) => role !== 'other' && role !== 'unspecified');
|
|
40102
39628
|
this.roleSectionsToDisplay = [];
|
|
40103
39629
|
this.allOrganizations = new Map();
|
|
40104
39630
|
/**
|
|
40105
39631
|
* gn-ui-autocomplete
|
|
40106
39632
|
*/
|
|
40107
|
-
this.displayWithFn = (user) =>
|
|
39633
|
+
this.displayWithFn = (user) => user.name
|
|
39634
|
+
? `${user.name} ${user.surname} ${user.organisation ? `(${user.organisation})` : ''}`
|
|
39635
|
+
: ``;
|
|
40108
39636
|
/**
|
|
40109
39637
|
* gn-ui-autocomplete
|
|
40110
39638
|
*/
|
|
@@ -40196,7 +39724,7 @@ class FormFieldContactsForResourceComponent {
|
|
|
40196
39724
|
provideNgIconsConfig({
|
|
40197
39725
|
size: '1.5rem',
|
|
40198
39726
|
}),
|
|
40199
|
-
], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39727
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n *ngIf=\"role !== 'unspecified' && role !== 'other'\"\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40200
39728
|
}
|
|
40201
39729
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsForResourceComponent, decorators: [{
|
|
40202
39730
|
type: Component,
|
|
@@ -40215,7 +39743,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40215
39743
|
provideNgIconsConfig({
|
|
40216
39744
|
size: '1.5rem',
|
|
40217
39745
|
}),
|
|
40218
|
-
], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
39746
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n *ngIf=\"role !== 'unspecified' && role !== 'other'\"\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
40219
39747
|
}], ctorParameters: () => [{ type: PlatformServiceInterface }, { type: OrganizationsServiceInterface }], propDecorators: { value: [{
|
|
40220
39748
|
type: Input
|
|
40221
39749
|
}], valueChange: [{
|
|
@@ -40294,7 +39822,7 @@ class FormFieldContactsComponent {
|
|
|
40294
39822
|
this.subscription.unsubscribe();
|
|
40295
39823
|
}
|
|
40296
39824
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, deps: [{ token: PlatformServiceInterface }, { token: OrganizationsServiceInterface }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40297
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldContactsComponent, isStandalone: true, selector: "gn-ui-form-field-contacts", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'editor.record.form.field.contacts.placeholder' | translate\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 text-sm border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39825
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldContactsComponent, isStandalone: true, selector: "gn-ui-form-field-contacts", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'editor.record.form.field.contacts.placeholder' | translate\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 text-sm border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40298
39826
|
}
|
|
40299
39827
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, decorators: [{
|
|
40300
39828
|
type: Component,
|
|
@@ -40643,7 +40171,7 @@ class OnlineServiceResourceInputComponent {
|
|
|
40643
40171
|
provideNgIconsConfig({
|
|
40644
40172
|
size: '1.5em',
|
|
40645
40173
|
}),
|
|
40646
|
-
], ngImport: i0, template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"_service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n (change)=\"resetAllFormFields()\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (uploadClick)=\"handleUploadClick($event)\"\n (valueChange)=\"handleUrlValueChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"_service.url?.toString()\"\n [showValidateButton]=\"activeLayerSuggestion\"\n >\n <ng-content *ngIf=\"activeLayerSuggestion\">\n <ng-icon name=\"iconoirRefresh\"></ng-icon>\n </ng-content>\n </gn-ui-url-input>\n\n <p class=\"text-sm text-red-500 pl-4\" *ngIf=\"errorMessage\" translate>\n editor.record.form.field.onlineResource.edit.identifier.error\n </p>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"_service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n *ngIf=\"\n !activeLayerSuggestion ||\n (_service.url && errorMessage) ||\n (modifyMode && (layers$ | async).length === 0)\n \"\n ></gn-ui-text-input>\n <gn-ui-autocomplete\n class=\"border-b border-gray-300 pb-4\"\n [placeholder]=\"\n 'editor.record.form.field.onlineResource.edit.identifier.select.label'\n | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleSelectValue($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"0\"\n [clearOnSelection]=\"false\"\n *ngIf=\"activeLayerSuggestion && (layers$ | async)?.length > 0\"\n >\n </gn-ui-autocomplete>\n <gn-ui-button\n (buttonClick)=\"submit()\"\n [disabled]=\"disabled || !_service.identifierInService\"\n type=\"primary\"\n *ngIf=\"\n !modifyMode &&\n ((activeLayerSuggestion && (layers$ | async)) ||\n !activeLayerSuggestion ||\n (_service.url && errorMessage))\n \"\n >\n <span class=\"text-white font-bold\" translate>\n editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i4$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40174
|
+
], ngImport: i0, template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"_service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n (change)=\"resetAllFormFields()\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (uploadClick)=\"handleUploadClick($event)\"\n (valueChange)=\"handleUrlValueChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"_service.url?.toString()\"\n [showValidateButton]=\"activeLayerSuggestion\"\n >\n <ng-content *ngIf=\"activeLayerSuggestion\">\n <ng-icon name=\"iconoirRefresh\"></ng-icon>\n </ng-content>\n </gn-ui-url-input>\n\n <p class=\"text-sm text-red-500 pl-4\" *ngIf=\"errorMessage\" translate>\n editor.record.form.field.onlineResource.edit.identifier.error\n </p>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"_service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n *ngIf=\"\n !activeLayerSuggestion ||\n (_service.url && errorMessage) ||\n (modifyMode && (layers$ | async).length === 0)\n \"\n ></gn-ui-text-input>\n <gn-ui-autocomplete\n class=\"border-b border-gray-300 pb-4\"\n [placeholder]=\"\n 'editor.record.form.field.onlineResource.edit.identifier.select.label'\n | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleSelectValue($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"0\"\n [clearOnSelection]=\"false\"\n *ngIf=\"activeLayerSuggestion && (layers$ | async)?.length > 0\"\n >\n </gn-ui-autocomplete>\n <gn-ui-button\n (buttonClick)=\"submit()\"\n [disabled]=\"disabled || !_service.identifierInService\"\n type=\"primary\"\n *ngIf=\"\n !modifyMode &&\n ((activeLayerSuggestion && (layers$ | async)) ||\n !activeLayerSuggestion ||\n (_service.url && errorMessage))\n \"\n >\n <span class=\"text-white font-bold\" translate>\n editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i4$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40647
40175
|
}
|
|
40648
40176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, decorators: [{
|
|
40649
40177
|
type: Component,
|
|
@@ -41238,7 +40766,7 @@ class ConstraintCardComponent {
|
|
|
41238
40766
|
provideNgIconsConfig({
|
|
41239
40767
|
size: '1.5rem',
|
|
41240
40768
|
}),
|
|
41241
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [
|
|
40769
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [placeholder]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41242
40770
|
}
|
|
41243
40771
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConstraintCardComponent, decorators: [{
|
|
41244
40772
|
type: Component,
|
|
@@ -41256,7 +40784,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41256
40784
|
provideNgIconsConfig({
|
|
41257
40785
|
size: '1.5rem',
|
|
41258
40786
|
}),
|
|
41259
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [
|
|
40787
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [placeholder]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
41260
40788
|
}], propDecorators: { label: [{
|
|
41261
40789
|
type: Input
|
|
41262
40790
|
}], constraint: [{
|
|
@@ -41915,5 +41443,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41915
41443
|
* Generated bundle index. Do not edit.
|
|
41916
41444
|
*/
|
|
41917
41445
|
|
|
41918
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
41446
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
41919
41447
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|