geonetwork-ui 2.5.0-dev.b51c2cb0f → 2.5.0-dev.d0fe8c9ac
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +34 -28
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +22 -2
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +24 -14
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +2 -1
- 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/fields.config.mjs +2 -2
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -3
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -2
- 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/results-table/results-table-container.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
- package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -2
- 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/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/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 +6 -6
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +9 -7
- package/esm2022/translations/de.json +3 -3
- package/esm2022/translations/en.json +4 -12
- package/esm2022/translations/es.json +3 -3
- package/esm2022/translations/fr.json +15 -15
- package/esm2022/translations/it.json +20 -20
- package/esm2022/translations/nl.json +3 -3
- package/esm2022/translations/pt.json +3 -3
- package/fesm2022/geonetwork-ui.mjs +457 -207
- 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/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/record/src/lib/data-view/data-view.component.d.ts +1 -0
- 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.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/utils/service/fields.d.ts +10 -0
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
- package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.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/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/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 +3 -3
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +36 -27
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +41 -2
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +75 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +2 -1
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +43 -20
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -1
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -0
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -1
- 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/utils/service/fields.service.ts +2 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +6 -0
- 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/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/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 +10 -5
- package/src/libs/util/data-fetcher/src/lib/utils.ts +36 -32
- package/translations/de.json +3 -3
- package/translations/en.json +4 -12
- package/translations/es.json +3 -3
- package/translations/fr.json +15 -15
- package/translations/it.json +20 -20
- package/translations/nl.json +3 -3
- package/translations/pt.json +3 -3
- package/translations/sk.json +3 -3
|
@@ -27,7 +27,7 @@ import EmblaCarousel from 'embla-carousel';
|
|
|
27
27
|
import * as i2$2 from '@ng-icons/core';
|
|
28
28
|
import { provideIcons, NgIcon, NgIconComponent, provideNgIconsConfig, NgIconsModule } from '@ng-icons/core';
|
|
29
29
|
import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirUser, iconoirLock, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment, iconoirRefresh } from '@ng-icons/iconoir';
|
|
30
|
-
import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
|
|
30
|
+
import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matWarning, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
|
|
31
31
|
import * as i1$4 from '@angular/material/tooltip';
|
|
32
32
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
33
33
|
import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';
|
|
@@ -18621,8 +18621,6 @@ var de = {
|
|
|
18621
18621
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
18622
18622
|
"chart.type.pie": "Kreisdiagramm",
|
|
18623
18623
|
"dashboard.catalog.allRecords": "Metadatenkatalog",
|
|
18624
|
-
"dashboard.catalog.contacts": "Kontakte",
|
|
18625
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
18626
18624
|
"dashboard.createRecord": "Neuer Eintrag",
|
|
18627
18625
|
"dashboard.importRecord": "",
|
|
18628
18626
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -18635,7 +18633,6 @@ var de = {
|
|
|
18635
18633
|
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
18636
18634
|
"dashboard.records.myRecords": "Meine Datensätze",
|
|
18637
18635
|
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
18638
|
-
"dashboard.records.templates": "Vorlagen",
|
|
18639
18636
|
"dashboard.records.userDetail": "Name",
|
|
18640
18637
|
"dashboard.records.userEmail": "E-Mail",
|
|
18641
18638
|
"dashboard.records.username": "Benutzername",
|
|
@@ -19026,6 +19023,7 @@ var de = {
|
|
|
19026
19023
|
"record.action.download": "Herunterladen",
|
|
19027
19024
|
"record.action.duplicate": "",
|
|
19028
19025
|
"record.action.duplicating": "",
|
|
19026
|
+
"record.action.rollback": "",
|
|
19029
19027
|
"record.action.view": "Anzeigen",
|
|
19030
19028
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
19031
19029
|
"record.feature.limit": "Die Ressource enthält mehr als {count} Features und kann hier nicht angezeigt werden.",
|
|
@@ -19148,6 +19146,8 @@ var de = {
|
|
|
19148
19146
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
19149
19147
|
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
19150
19148
|
"search.field.sortBy": "Sortieren nach:",
|
|
19149
|
+
"search.filters.availableServices.download": "",
|
|
19150
|
+
"search.filters.availableServices.view": "",
|
|
19151
19151
|
"search.filters.changeDate": "Letzte Aktualisierung",
|
|
19152
19152
|
"search.filters.clear": "Zurücksetzen",
|
|
19153
19153
|
"search.filters.contact": "Kontakte",
|
|
@@ -19238,8 +19238,6 @@ var en = {
|
|
|
19238
19238
|
"chart.type.lineSmooth": "smooth line chart",
|
|
19239
19239
|
"chart.type.pie": "pie chart",
|
|
19240
19240
|
"dashboard.catalog.allRecords": "Datasets",
|
|
19241
|
-
"dashboard.catalog.contacts": "Contacts",
|
|
19242
|
-
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
19243
19241
|
"dashboard.createRecord": "New dataset",
|
|
19244
19242
|
"dashboard.importRecord": "Import",
|
|
19245
19243
|
"dashboard.importRecord.importExternal": "Import an external file",
|
|
@@ -19252,21 +19250,12 @@ var en = {
|
|
|
19252
19250
|
"dashboard.records.myDraft": "My drafts",
|
|
19253
19251
|
"dashboard.records.myRecords": "My datasets",
|
|
19254
19252
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
19255
|
-
"dashboard.records.templates": "Templates",
|
|
19256
19253
|
"dashboard.records.userDetail": "Name",
|
|
19257
19254
|
"dashboard.records.userEmail": "Email",
|
|
19258
19255
|
"dashboard.records.username": "Username",
|
|
19259
19256
|
"dashboard.records.users": "{count, plural, =1{user} other{users}}",
|
|
19260
19257
|
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
|
|
19261
|
-
"datafeeder.
|
|
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",
|
|
19258
|
+
"datafeeder.anaeditor.record.saveStatus.recordNotPublishedasetValidationCsv.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
19259
|
"datafeeder.datasetValidationCsv.lineNumbers": "Sample of the first 5 lines* of the dataset:",
|
|
19271
19260
|
"datafeeder.form.abstract": "How would you describe your dataset?",
|
|
19272
19261
|
"datafeeder.form.datepicker": "Do you know when the dataset was created?",
|
|
@@ -19643,6 +19632,7 @@ var en = {
|
|
|
19643
19632
|
"record.action.download": "Download",
|
|
19644
19633
|
"record.action.duplicate": "Duplicate",
|
|
19645
19634
|
"record.action.duplicating": "Duplicating...",
|
|
19635
|
+
"record.action.rollback": "Rollback",
|
|
19646
19636
|
"record.action.view": "View",
|
|
19647
19637
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
19648
19638
|
"record.feature.limit": "The resource contains more than {count} features and cannot be displayed here.",
|
|
@@ -19765,6 +19755,8 @@ var en = {
|
|
|
19765
19755
|
"search.error.recordNotFound": "The dataset with identifier \"{ id }\" could not be found.",
|
|
19766
19756
|
"search.field.any.placeholder": "Search datasets ...",
|
|
19767
19757
|
"search.field.sortBy": "Sort by:",
|
|
19758
|
+
"search.filters.availableServices.download": "",
|
|
19759
|
+
"search.filters.availableServices.view": "",
|
|
19768
19760
|
"search.filters.changeDate": "Updated",
|
|
19769
19761
|
"search.filters.clear": "Reset",
|
|
19770
19762
|
"search.filters.contact": "Contacts",
|
|
@@ -19855,8 +19847,6 @@ var es = {
|
|
|
19855
19847
|
"chart.type.lineSmooth": "gráfico de líneas suave",
|
|
19856
19848
|
"chart.type.pie": "gráfico circular",
|
|
19857
19849
|
"dashboard.catalog.allRecords": "",
|
|
19858
|
-
"dashboard.catalog.contacts": "",
|
|
19859
|
-
"dashboard.catalog.thesaurus": "",
|
|
19860
19850
|
"dashboard.createRecord": "",
|
|
19861
19851
|
"dashboard.importRecord": "",
|
|
19862
19852
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -19869,7 +19859,6 @@ var es = {
|
|
|
19869
19859
|
"dashboard.records.myDraft": "Mis borradores",
|
|
19870
19860
|
"dashboard.records.myRecords": "Mis Registros",
|
|
19871
19861
|
"dashboard.records.search": "Buscar \"{searchText}\"",
|
|
19872
|
-
"dashboard.records.templates": "",
|
|
19873
19862
|
"dashboard.records.userDetail": "",
|
|
19874
19863
|
"dashboard.records.userEmail": "",
|
|
19875
19864
|
"dashboard.records.username": "",
|
|
@@ -20260,6 +20249,7 @@ var es = {
|
|
|
20260
20249
|
"record.action.download": "",
|
|
20261
20250
|
"record.action.duplicate": "",
|
|
20262
20251
|
"record.action.duplicating": "",
|
|
20252
|
+
"record.action.rollback": "",
|
|
20263
20253
|
"record.action.view": "",
|
|
20264
20254
|
"record.externalViewer.open": "",
|
|
20265
20255
|
"record.feature.limit": "",
|
|
@@ -20382,6 +20372,8 @@ var es = {
|
|
|
20382
20372
|
"search.error.recordNotFound": "",
|
|
20383
20373
|
"search.field.any.placeholder": "",
|
|
20384
20374
|
"search.field.sortBy": "",
|
|
20375
|
+
"search.filters.availableServices.download": "",
|
|
20376
|
+
"search.filters.availableServices.view": "",
|
|
20385
20377
|
"search.filters.changeDate": "Última actualización",
|
|
20386
20378
|
"search.filters.clear": "",
|
|
20387
20379
|
"search.filters.contact": "",
|
|
@@ -20472,8 +20464,6 @@ var fr = {
|
|
|
20472
20464
|
"chart.type.lineSmooth": "ligne lisse",
|
|
20473
20465
|
"chart.type.pie": "camembert",
|
|
20474
20466
|
"dashboard.catalog.allRecords": "Jeux de données",
|
|
20475
|
-
"dashboard.catalog.contacts": "Annuaire",
|
|
20476
|
-
"dashboard.catalog.thesaurus": "Thésaurus",
|
|
20477
20467
|
"dashboard.createRecord": "Nouveau jeu de données",
|
|
20478
20468
|
"dashboard.importRecord": "Importer",
|
|
20479
20469
|
"dashboard.importRecord.importExternal": "Importer un jeu de données externe",
|
|
@@ -20486,7 +20476,6 @@ var fr = {
|
|
|
20486
20476
|
"dashboard.records.myDraft": "Mes brouillons",
|
|
20487
20477
|
"dashboard.records.myRecords": "Mes jeux de données",
|
|
20488
20478
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
20489
|
-
"dashboard.records.templates": "Modèles pré-remplis",
|
|
20490
20479
|
"dashboard.records.userDetail": "Nom",
|
|
20491
20480
|
"dashboard.records.userEmail": "Email",
|
|
20492
20481
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
@@ -20613,7 +20602,7 @@ var fr = {
|
|
|
20613
20602
|
"domain.contact.role.point_of_contact": "Point de contact",
|
|
20614
20603
|
"domain.contact.role.principal_investigator": "Chercheur principal",
|
|
20615
20604
|
"domain.contact.role.processor": "Processeur",
|
|
20616
|
-
"domain.contact.role.publisher": "
|
|
20605
|
+
"domain.contact.role.publisher": "Producteur",
|
|
20617
20606
|
"domain.contact.role.resource_provider": "Fournisseur",
|
|
20618
20607
|
"domain.contact.role.rights_holder": "Détenteur des droits",
|
|
20619
20608
|
"domain.contact.role.sponsor": "Sponsor",
|
|
@@ -20677,7 +20666,7 @@ var fr = {
|
|
|
20677
20666
|
"editor.record.form.constraint.otherConstraints": "Autres contraintes",
|
|
20678
20667
|
"editor.record.form.constraint.securityConstraints": "Contraintes de sécurité",
|
|
20679
20668
|
"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": "
|
|
20669
|
+
"editor.record.form.field.abstract": "Description",
|
|
20681
20670
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20682
20671
|
"editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
|
|
20683
20672
|
"editor.record.form.field.contacts.placeholder": "Choisissez un contact",
|
|
@@ -20719,14 +20708,14 @@ var fr = {
|
|
|
20719
20708
|
"editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
|
|
20720
20709
|
"editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
|
|
20721
20710
|
"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": "",
|
|
20711
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
20712
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
20713
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
20725
20714
|
"editor.record.form.license.etalab": "Licence Ouverte (Etalab)",
|
|
20726
20715
|
"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": "",
|
|
20716
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
20717
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
20718
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
20730
20719
|
"editor.record.form.license.unknown": "Inconnue ou absente",
|
|
20731
20720
|
"editor.record.form.page.accessAndContact": "Informations pour l'utilisation",
|
|
20732
20721
|
"editor.record.form.page.description": "Description du jeu de données",
|
|
@@ -20779,7 +20768,7 @@ var fr = {
|
|
|
20779
20768
|
"editor.record.resourceError.closeMessage": "Compris",
|
|
20780
20769
|
"editor.record.resourceError.title": "Erreur avec les pièces jointes",
|
|
20781
20770
|
"editor.record.saveStatus.draftWithChangesPending": "Sauvegardé - Modifications non publiées",
|
|
20782
|
-
"editor.record.saveStatus.recordNotPublished": "",
|
|
20771
|
+
"editor.record.saveStatus.recordNotPublished": "Sauvegardé - non publié",
|
|
20783
20772
|
"editor.record.saveStatus.recordUpToDate": "Sauvegardé - Jeu de données à jour",
|
|
20784
20773
|
"editor.record.undo.confirmation.cancelText": "Garder les modifications",
|
|
20785
20774
|
"editor.record.undo.confirmation.confirmText": "Retirer les modifications",
|
|
@@ -20789,7 +20778,7 @@ var fr = {
|
|
|
20789
20778
|
"editor.record.undo.tooltip.enabled": "Cliquer sur ce bouton pour annuler les modifications apportées à ce jeu de données",
|
|
20790
20779
|
"editor.record.upToDate": "Ce jeu de données est à jour",
|
|
20791
20780
|
"editor.sidebar.logout": "Se déconnecter",
|
|
20792
|
-
"editor.sidebar.menu.editor": "",
|
|
20781
|
+
"editor.sidebar.menu.editor": "Editeur",
|
|
20793
20782
|
"editor.temporary.disabled": "Pas encore implémenté",
|
|
20794
20783
|
"externalviewer.dataset.unnamed": "Couche du datahub",
|
|
20795
20784
|
"facets.block.title.OrgForResource": "Organisation",
|
|
@@ -20837,7 +20826,7 @@ var fr = {
|
|
|
20837
20826
|
"map.add.layer": "Ajouter une couche",
|
|
20838
20827
|
"map.add.layer.catalog": "Du catalogue",
|
|
20839
20828
|
"map.add.layer.file": "À partir d'un fichier",
|
|
20840
|
-
"map.add.layer.ogc.api": "",
|
|
20829
|
+
"map.add.layer.ogc.api": "Depuis un service OGC API",
|
|
20841
20830
|
"map.add.layer.wfs": "Depuis un service WFS",
|
|
20842
20831
|
"map.add.layer.wms": "Depuis un service WMS",
|
|
20843
20832
|
"map.addFromFile.placeholder": "Cliquez ou déposez un fichier ici",
|
|
@@ -20850,7 +20839,7 @@ var fr = {
|
|
|
20850
20839
|
"map.loading.data": "Chargement des données...",
|
|
20851
20840
|
"map.loading.service": "Chargement du service...",
|
|
20852
20841
|
"map.navigation.message": "Veuillez utiliser CTRL + souris (ou deux doigts sur mobile) pour naviguer sur la carte",
|
|
20853
|
-
"map.ogc.urlInput.hint": "",
|
|
20842
|
+
"map.ogc.urlInput.hint": "Entrez l'URL du service OGC API",
|
|
20854
20843
|
"map.select.layer": "Source de données",
|
|
20855
20844
|
"map.wfs.urlInput.hint": "Entrez l'URL du service WFS",
|
|
20856
20845
|
"map.wms.urlInput.hint": "Entrez l'URL du service WMS",
|
|
@@ -20877,6 +20866,7 @@ var fr = {
|
|
|
20877
20866
|
"record.action.download": "Télécharger",
|
|
20878
20867
|
"record.action.duplicate": "Dupliquer",
|
|
20879
20868
|
"record.action.duplicating": "Duplication...",
|
|
20869
|
+
"record.action.rollback": "Restaurer",
|
|
20880
20870
|
"record.action.view": "Voir",
|
|
20881
20871
|
"record.externalViewer.open": "Ouvrir dans le visualiseur externe",
|
|
20882
20872
|
"record.feature.limit": "La ressource contient plus de {count} entités et ne peut pas être affichée ici.",
|
|
@@ -20999,6 +20989,8 @@ var fr = {
|
|
|
20999
20989
|
"search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
|
|
21000
20990
|
"search.field.any.placeholder": "Rechercher un jeu de données...",
|
|
21001
20991
|
"search.field.sortBy": "Trier par :",
|
|
20992
|
+
"search.filters.availableServices.download": "",
|
|
20993
|
+
"search.filters.availableServices.view": "",
|
|
21002
20994
|
"search.filters.changeDate": "Mise à jour",
|
|
21003
20995
|
"search.filters.clear": "Réinitialiser",
|
|
21004
20996
|
"search.filters.contact": "Contacts",
|
|
@@ -21089,8 +21081,6 @@ var it = {
|
|
|
21089
21081
|
"chart.type.lineSmooth": "grafico a linea liscia",
|
|
21090
21082
|
"chart.type.pie": "grafico a torta",
|
|
21091
21083
|
"dashboard.catalog.allRecords": "Datasets",
|
|
21092
|
-
"dashboard.catalog.contacts": "Contatti",
|
|
21093
|
-
"dashboard.catalog.thesaurus": "Thesauri",
|
|
21094
21084
|
"dashboard.createRecord": "Crea un record",
|
|
21095
21085
|
"dashboard.importRecord": "Importare",
|
|
21096
21086
|
"dashboard.importRecord.importExternal": "Importare un dataset esterno",
|
|
@@ -21103,7 +21093,6 @@ var it = {
|
|
|
21103
21093
|
"dashboard.records.myDraft": "Le mie bozze",
|
|
21104
21094
|
"dashboard.records.myRecords": "I miei dati",
|
|
21105
21095
|
"dashboard.records.search": "Risultati per \"{searchText}\"",
|
|
21106
|
-
"dashboard.records.templates": "Modelli precompilati",
|
|
21107
21096
|
"dashboard.records.userDetail": "Nome",
|
|
21108
21097
|
"dashboard.records.userEmail": "Email",
|
|
21109
21098
|
"dashboard.records.username": "Nome utente",
|
|
@@ -21274,9 +21263,9 @@ var it = {
|
|
|
21274
21263
|
"editor.record.deleteError.title": "Errore durante l'eliminazione",
|
|
21275
21264
|
"editor.record.deleteSuccess.body": "Il dataset è stato eliminato correttamente",
|
|
21276
21265
|
"editor.record.deleteSuccess.title": "Eliminazione riuscita",
|
|
21277
|
-
"editor.record.error.back": "",
|
|
21278
|
-
"editor.record.error.explanation": "",
|
|
21279
|
-
"editor.record.error.message": "",
|
|
21266
|
+
"editor.record.error.back": "Ritorna al catalogo",
|
|
21267
|
+
"editor.record.error.explanation": "Forse non ha accesso a questa pagina oppure questo collegamento potrebbe non essere valido.",
|
|
21268
|
+
"editor.record.error.message": "Qualcosa è andato storto",
|
|
21280
21269
|
"editor.record.form.bottomButtons.comeBackLater": "Ritorna più tardi",
|
|
21281
21270
|
"editor.record.form.bottomButtons.next": "Avanti",
|
|
21282
21271
|
"editor.record.form.bottomButtons.previous": "Precedente",
|
|
@@ -21336,18 +21325,18 @@ var it = {
|
|
|
21336
21325
|
"editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
|
|
21337
21326
|
"editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
21338
21327
|
"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": "",
|
|
21328
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
21329
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
21330
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
21342
21331
|
"editor.record.form.license.etalab": "Licenza aperta (Etalab)",
|
|
21343
21332
|
"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": "",
|
|
21333
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
21334
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
21335
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
21347
21336
|
"editor.record.form.license.unknown": "Sconosciuto o assente",
|
|
21348
21337
|
"editor.record.form.page.accessAndContact": "Informazioni per l'uso",
|
|
21349
21338
|
"editor.record.form.page.description": "Descrizione del dataset",
|
|
21350
|
-
"editor.record.form.page.resources": "",
|
|
21339
|
+
"editor.record.form.page.resources": "Risorse",
|
|
21351
21340
|
"editor.record.form.section.about.description": "Queste informazioni riguardano il dataset",
|
|
21352
21341
|
"editor.record.form.section.about.label": "Informazioni sul dataset",
|
|
21353
21342
|
"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 +21363,7 @@ var it = {
|
|
|
21374
21363
|
"editor.record.loadError.body": "Impossibile caricare il dataset:",
|
|
21375
21364
|
"editor.record.loadError.closeMessage": "Capito",
|
|
21376
21365
|
"editor.record.loadError.title": "Errore durante il caricamento",
|
|
21377
|
-
"editor.record.lock.reason": "",
|
|
21366
|
+
"editor.record.lock.reason": "Non è un editore di uno dei gruppi autorizzati",
|
|
21378
21367
|
"editor.record.onlineResource.protocol.other": "Altro",
|
|
21379
21368
|
"editor.record.onlineResourceError.body": "Ha successo un'errore durante l'aggiunta della risorsa:",
|
|
21380
21369
|
"editor.record.onlineResourceError.closeMessage": "Capito",
|
|
@@ -21396,7 +21385,7 @@ var it = {
|
|
|
21396
21385
|
"editor.record.resourceError.closeMessage": "Capito",
|
|
21397
21386
|
"editor.record.resourceError.title": "Errore con gli allegati",
|
|
21398
21387
|
"editor.record.saveStatus.draftWithChangesPending": "Salvato - Modifiche non pubblicate",
|
|
21399
|
-
"editor.record.saveStatus.recordNotPublished": "",
|
|
21388
|
+
"editor.record.saveStatus.recordNotPublished": "Salvato - non pubblicato",
|
|
21400
21389
|
"editor.record.saveStatus.recordUpToDate": "Salvato - Dataset aggiornato",
|
|
21401
21390
|
"editor.record.undo.confirmation.cancelText": "Mantieni le modifiche",
|
|
21402
21391
|
"editor.record.undo.confirmation.confirmText": "Annulla le modifiche",
|
|
@@ -21406,7 +21395,7 @@ var it = {
|
|
|
21406
21395
|
"editor.record.undo.tooltip.enabled": "Fare clic su questo pulsante per annullare le modifiche apportate a questo dataset",
|
|
21407
21396
|
"editor.record.upToDate": "Questo dataset è aggiornato",
|
|
21408
21397
|
"editor.sidebar.logout": "Esci",
|
|
21409
|
-
"editor.sidebar.menu.editor": "",
|
|
21398
|
+
"editor.sidebar.menu.editor": "Editore",
|
|
21410
21399
|
"editor.temporary.disabled": "Non ancora implementato",
|
|
21411
21400
|
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
21412
21401
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
@@ -21454,7 +21443,7 @@ var it = {
|
|
|
21454
21443
|
"map.add.layer": "Aggiungere un layer",
|
|
21455
21444
|
"map.add.layer.catalog": "Dal catalogo",
|
|
21456
21445
|
"map.add.layer.file": "Da un file",
|
|
21457
|
-
"map.add.layer.ogc.api": "",
|
|
21446
|
+
"map.add.layer.ogc.api": "Da OGC API",
|
|
21458
21447
|
"map.add.layer.wfs": "Da un WFS",
|
|
21459
21448
|
"map.add.layer.wms": "Da un WMS",
|
|
21460
21449
|
"map.addFromFile.placeholder": "Clicca o trascina un file qui",
|
|
@@ -21467,7 +21456,7 @@ var it = {
|
|
|
21467
21456
|
"map.loading.data": "Caricamento dati...",
|
|
21468
21457
|
"map.loading.service": "Caricamento del servizio...",
|
|
21469
21458
|
"map.navigation.message": "Si prega di utilizzare CTRL + mouse (o due dita su mobile) per navigare sulla mappa",
|
|
21470
|
-
"map.ogc.urlInput.hint": "",
|
|
21459
|
+
"map.ogc.urlInput.hint": "Inserisci URL del servizio OGC API",
|
|
21471
21460
|
"map.select.layer": "Sorgente dati",
|
|
21472
21461
|
"map.wfs.urlInput.hint": "Inserisci URL del servizio WFS",
|
|
21473
21462
|
"map.wms.urlInput.hint": "Inserisci URL del servizio WMS",
|
|
@@ -21493,7 +21482,8 @@ var it = {
|
|
|
21493
21482
|
"record.action.delete": "Elimina",
|
|
21494
21483
|
"record.action.download": "Scarica",
|
|
21495
21484
|
"record.action.duplicate": "Duplicato",
|
|
21496
|
-
"record.action.duplicating": "",
|
|
21485
|
+
"record.action.duplicating": "Duplicazione",
|
|
21486
|
+
"record.action.rollback": "Annulla",
|
|
21497
21487
|
"record.action.view": "Visualizza",
|
|
21498
21488
|
"record.externalViewer.open": "Aprire nel visualizzatore esterno",
|
|
21499
21489
|
"record.feature.limit": "La risorsa contiene più di {count} funzionalità e non può essere visualizzata qui.",
|
|
@@ -21616,6 +21606,8 @@ var it = {
|
|
|
21616
21606
|
"search.error.recordNotFound": "Impossibile trovare questi dati.",
|
|
21617
21607
|
"search.field.any.placeholder": "Cerca un dataset...",
|
|
21618
21608
|
"search.field.sortBy": "Ordina per:",
|
|
21609
|
+
"search.filters.availableServices.download": "",
|
|
21610
|
+
"search.filters.availableServices.view": "",
|
|
21619
21611
|
"search.filters.changeDate": "Aggiornato",
|
|
21620
21612
|
"search.filters.clear": "Ripristina",
|
|
21621
21613
|
"search.filters.contact": "Contatti",
|
|
@@ -21671,7 +21663,7 @@ var it = {
|
|
|
21671
21663
|
"tooltip.url.open": "Aprire l'URL",
|
|
21672
21664
|
"ui.readLess": "Ridurre",
|
|
21673
21665
|
"ui.readMore": "Leggere di più",
|
|
21674
|
-
"wfs.aggregations.notsupported": "",
|
|
21666
|
+
"wfs.aggregations.notsupported": "Aggregazioni non supportate per i servizi WFS",
|
|
21675
21667
|
"wfs.feature.limit": "Troppi oggetti per visualizzare il WFS layer!",
|
|
21676
21668
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
21677
21669
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
@@ -21706,8 +21698,6 @@ var nl = {
|
|
|
21706
21698
|
"chart.type.lineSmooth": "glad lijndiagram",
|
|
21707
21699
|
"chart.type.pie": "cirkeldiagram",
|
|
21708
21700
|
"dashboard.catalog.allRecords": "",
|
|
21709
|
-
"dashboard.catalog.contacts": "",
|
|
21710
|
-
"dashboard.catalog.thesaurus": "",
|
|
21711
21701
|
"dashboard.createRecord": "",
|
|
21712
21702
|
"dashboard.importRecord": "",
|
|
21713
21703
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -21720,7 +21710,6 @@ var nl = {
|
|
|
21720
21710
|
"dashboard.records.myDraft": "Mijn concepten",
|
|
21721
21711
|
"dashboard.records.myRecords": "Mijn Records",
|
|
21722
21712
|
"dashboard.records.search": "Zoeken naar \"{searchText}\"",
|
|
21723
|
-
"dashboard.records.templates": "",
|
|
21724
21713
|
"dashboard.records.userDetail": "",
|
|
21725
21714
|
"dashboard.records.userEmail": "",
|
|
21726
21715
|
"dashboard.records.username": "",
|
|
@@ -22111,6 +22100,7 @@ var nl = {
|
|
|
22111
22100
|
"record.action.download": "",
|
|
22112
22101
|
"record.action.duplicate": "",
|
|
22113
22102
|
"record.action.duplicating": "",
|
|
22103
|
+
"record.action.rollback": "",
|
|
22114
22104
|
"record.action.view": "",
|
|
22115
22105
|
"record.externalViewer.open": "",
|
|
22116
22106
|
"record.feature.limit": "",
|
|
@@ -22233,6 +22223,8 @@ var nl = {
|
|
|
22233
22223
|
"search.error.recordNotFound": "",
|
|
22234
22224
|
"search.field.any.placeholder": "",
|
|
22235
22225
|
"search.field.sortBy": "",
|
|
22226
|
+
"search.filters.availableServices.download": "",
|
|
22227
|
+
"search.filters.availableServices.view": "",
|
|
22236
22228
|
"search.filters.changeDate": "",
|
|
22237
22229
|
"search.filters.clear": "",
|
|
22238
22230
|
"search.filters.contact": "",
|
|
@@ -22323,8 +22315,6 @@ var pt = {
|
|
|
22323
22315
|
"chart.type.lineSmooth": "gráfico de linha suave",
|
|
22324
22316
|
"chart.type.pie": "gráfico de pizza",
|
|
22325
22317
|
"dashboard.catalog.allRecords": "",
|
|
22326
|
-
"dashboard.catalog.contacts": "",
|
|
22327
|
-
"dashboard.catalog.thesaurus": "",
|
|
22328
22318
|
"dashboard.createRecord": "",
|
|
22329
22319
|
"dashboard.importRecord": "",
|
|
22330
22320
|
"dashboard.importRecord.importExternal": "",
|
|
@@ -22337,7 +22327,6 @@ var pt = {
|
|
|
22337
22327
|
"dashboard.records.myDraft": "Meus rascunhos",
|
|
22338
22328
|
"dashboard.records.myRecords": "Meus Registros",
|
|
22339
22329
|
"dashboard.records.search": "Buscar por \"{searchText}\"",
|
|
22340
|
-
"dashboard.records.templates": "",
|
|
22341
22330
|
"dashboard.records.userDetail": "",
|
|
22342
22331
|
"dashboard.records.userEmail": "",
|
|
22343
22332
|
"dashboard.records.username": "",
|
|
@@ -22728,6 +22717,7 @@ var pt = {
|
|
|
22728
22717
|
"record.action.download": "",
|
|
22729
22718
|
"record.action.duplicate": "",
|
|
22730
22719
|
"record.action.duplicating": "",
|
|
22720
|
+
"record.action.rollback": "",
|
|
22731
22721
|
"record.action.view": "",
|
|
22732
22722
|
"record.externalViewer.open": "",
|
|
22733
22723
|
"record.feature.limit": "",
|
|
@@ -22850,6 +22840,8 @@ var pt = {
|
|
|
22850
22840
|
"search.error.recordNotFound": "",
|
|
22851
22841
|
"search.field.any.placeholder": "",
|
|
22852
22842
|
"search.field.sortBy": "",
|
|
22843
|
+
"search.filters.availableServices.download": "",
|
|
22844
|
+
"search.filters.availableServices.view": "",
|
|
22853
22845
|
"search.filters.changeDate": "",
|
|
22854
22846
|
"search.filters.clear": "",
|
|
22855
22847
|
"search.filters.contact": "",
|
|
@@ -23092,6 +23084,16 @@ class Gn4FieldMapper {
|
|
|
23092
23084
|
isOpenData: (output, source) => this.addExtra({
|
|
23093
23085
|
isOpenData: selectField(source, 'isOpenData') !== 'false',
|
|
23094
23086
|
}, output),
|
|
23087
|
+
featureTypes: (output, source) => this.addExtra({
|
|
23088
|
+
featureTypes: selectField(source, 'featureTypes'),
|
|
23089
|
+
}, output),
|
|
23090
|
+
related: (output, source) => {
|
|
23091
|
+
const fcatSource = selectField(getFirstValue(selectField(selectField(source, 'related'), 'fcats')), '_source');
|
|
23092
|
+
const featureCatalogIdentifier = selectField(fcatSource, 'uuid');
|
|
23093
|
+
return featureCatalogIdentifier
|
|
23094
|
+
? this.addExtra({ featureCatalogIdentifier }, output)
|
|
23095
|
+
: output;
|
|
23096
|
+
},
|
|
23095
23097
|
isPublishedToAll: (output, source) => this.addExtra({
|
|
23096
23098
|
isPublishedToAll: selectField(source, 'isPublishedToAll'),
|
|
23097
23099
|
}, output),
|
|
@@ -23409,7 +23411,7 @@ class ElasticsearchService {
|
|
|
23409
23411
|
this.runtimeFields = {};
|
|
23410
23412
|
this.lang3 = this.langService.iso3;
|
|
23411
23413
|
}
|
|
23412
|
-
getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields =
|
|
23414
|
+
getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields = null, searchFilters = {}, configFilters = {}, uuids, geometry) {
|
|
23413
23415
|
const payload = {
|
|
23414
23416
|
aggregations,
|
|
23415
23417
|
from,
|
|
@@ -23417,7 +23419,7 @@ class ElasticsearchService {
|
|
|
23417
23419
|
sort: this.buildPayloadSort(sortBy),
|
|
23418
23420
|
query: this.buildPayloadQuery(searchFilters, configFilters, uuids, geometry),
|
|
23419
23421
|
...(size > 0 ? { track_total_hits: true } : {}),
|
|
23420
|
-
_source: requestFields,
|
|
23422
|
+
...(requestFields && { _source: requestFields }),
|
|
23421
23423
|
};
|
|
23422
23424
|
this.processRuntimeFields(payload);
|
|
23423
23425
|
return payload;
|
|
@@ -23564,6 +23566,7 @@ class ElasticsearchService {
|
|
|
23564
23566
|
return this.metadataLang === 'current';
|
|
23565
23567
|
}
|
|
23566
23568
|
filtersToQuery(filters) {
|
|
23569
|
+
const addQuote = (key) => (/^\/.+\/$/.test(key) ? key : `"${key}"`);
|
|
23567
23570
|
const makeQuery = (filter) => {
|
|
23568
23571
|
if (typeof filter === 'string') {
|
|
23569
23572
|
return filter;
|
|
@@ -23571,9 +23574,9 @@ class ElasticsearchService {
|
|
|
23571
23574
|
return Object.keys(filter)
|
|
23572
23575
|
.map((key) => {
|
|
23573
23576
|
if (filter[key] === true) {
|
|
23574
|
-
return
|
|
23577
|
+
return addQuote(key);
|
|
23575
23578
|
}
|
|
23576
|
-
return
|
|
23579
|
+
return `-${addQuote(key)}`;
|
|
23577
23580
|
})
|
|
23578
23581
|
.join(' OR ');
|
|
23579
23582
|
};
|
|
@@ -23616,16 +23619,26 @@ class ElasticsearchService {
|
|
|
23616
23619
|
].filter(Boolean);
|
|
23617
23620
|
return queryParts.length > 0 ? queryParts : undefined;
|
|
23618
23621
|
}
|
|
23622
|
+
mustNotFilters() {
|
|
23623
|
+
return [
|
|
23624
|
+
{
|
|
23625
|
+
...this.queryFilterOnValues('resourceType', [
|
|
23626
|
+
'service',
|
|
23627
|
+
'map',
|
|
23628
|
+
'map/static',
|
|
23629
|
+
'mapDigital',
|
|
23630
|
+
]),
|
|
23631
|
+
},
|
|
23632
|
+
{
|
|
23633
|
+
query_string: {
|
|
23634
|
+
query: 'resourceType:featureCatalog AND !resourceType:dataset AND !cl_level.key:dataset',
|
|
23635
|
+
},
|
|
23636
|
+
},
|
|
23637
|
+
];
|
|
23638
|
+
}
|
|
23619
23639
|
buildPayloadQuery({ any, ...fieldSearchFilters }, configFilters, uuids, geometry) {
|
|
23620
23640
|
const must = [];
|
|
23621
|
-
const must_not =
|
|
23622
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23623
|
-
'service',
|
|
23624
|
-
'map',
|
|
23625
|
-
'map/static',
|
|
23626
|
-
'mapDigital',
|
|
23627
|
-
]),
|
|
23628
|
-
};
|
|
23641
|
+
const must_not = this.mustNotFilters();
|
|
23629
23642
|
const should = [];
|
|
23630
23643
|
const filter = [this.queryFilterOnValues('isTemplate', 'n')];
|
|
23631
23644
|
if (any) {
|
|
@@ -23711,14 +23724,7 @@ class ElasticsearchService {
|
|
|
23711
23724
|
},
|
|
23712
23725
|
},
|
|
23713
23726
|
],
|
|
23714
|
-
must_not:
|
|
23715
|
-
...this.queryFilterOnValues('resourceType', [
|
|
23716
|
-
'service',
|
|
23717
|
-
'map',
|
|
23718
|
-
'map/static',
|
|
23719
|
-
'mapDigital',
|
|
23720
|
-
]),
|
|
23721
|
-
},
|
|
23727
|
+
must_not: this.mustNotFilters(),
|
|
23722
23728
|
},
|
|
23723
23729
|
},
|
|
23724
23730
|
_source: ['resourceTitleObject', 'uuid'],
|
|
@@ -23819,13 +23825,15 @@ class ElasticsearchService {
|
|
|
23819
23825
|
switch (aggregation.type) {
|
|
23820
23826
|
case 'filters':
|
|
23821
23827
|
return {
|
|
23822
|
-
filters:
|
|
23823
|
-
|
|
23824
|
-
|
|
23825
|
-
|
|
23826
|
-
|
|
23827
|
-
|
|
23828
|
-
|
|
23828
|
+
filters: {
|
|
23829
|
+
filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
|
|
23830
|
+
const filter = aggregation.filters[curr];
|
|
23831
|
+
return {
|
|
23832
|
+
...prev,
|
|
23833
|
+
[curr]: this.filtersToQuery(filter)[0],
|
|
23834
|
+
};
|
|
23835
|
+
}, {}),
|
|
23836
|
+
},
|
|
23829
23837
|
};
|
|
23830
23838
|
case 'terms':
|
|
23831
23839
|
return {
|
|
@@ -23933,9 +23941,29 @@ class Gn4Repository {
|
|
|
23933
23941
|
}
|
|
23934
23942
|
getRecord(uniqueIdentifier) {
|
|
23935
23943
|
return this.gn4SearchApi
|
|
23936
|
-
.search('bucket',
|
|
23944
|
+
.search('bucket', ['fcats'], JSON.stringify(this.gn4SearchHelper.getMetadataByIdPayload(uniqueIdentifier)))
|
|
23937
23945
|
.pipe(map$1((results) => results.hits.hits[0]), switchMap((record) => record ? this.gn4Mapper.readRecord(record) : of(null)));
|
|
23938
23946
|
}
|
|
23947
|
+
getFeatureCatalog(record, visited = new Set() // prevent looping
|
|
23948
|
+
) {
|
|
23949
|
+
if (record.extras &&
|
|
23950
|
+
record.extras['featureTypes'] &&
|
|
23951
|
+
record.extras['featureTypes'][0]?.attributeTable &&
|
|
23952
|
+
Array.isArray(record.extras['featureTypes'][0].attributeTable)) {
|
|
23953
|
+
return of({
|
|
23954
|
+
attributes: record.extras['featureTypes'][0]?.attributeTable?.map((attr) => ({
|
|
23955
|
+
name: attr.name,
|
|
23956
|
+
title: attr.definition,
|
|
23957
|
+
})),
|
|
23958
|
+
});
|
|
23959
|
+
}
|
|
23960
|
+
const featureCatalogIdentifier = record.extras['featureCatalogIdentifier'];
|
|
23961
|
+
if (featureCatalogIdentifier && !visited.has(featureCatalogIdentifier)) {
|
|
23962
|
+
visited.add(featureCatalogIdentifier);
|
|
23963
|
+
return this.getRecord(featureCatalogIdentifier).pipe(switchMap((record) => record ? this.getFeatureCatalog(record, visited) : of(null)));
|
|
23964
|
+
}
|
|
23965
|
+
return of(null);
|
|
23966
|
+
}
|
|
23939
23967
|
getSimilarRecords(similarTo) {
|
|
23940
23968
|
return this.gn4SearchApi
|
|
23941
23969
|
.search('bucket', null, JSON.stringify(this.gn4SearchHelper.getRelatedRecordPayload(similarTo, 3)))
|
|
@@ -26681,7 +26709,12 @@ class AutocompleteComponent {
|
|
|
26681
26709
|
const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap$1(() => {
|
|
26682
26710
|
this.searching = true;
|
|
26683
26711
|
this.error = null;
|
|
26684
|
-
}), switchMap$1((value) => this.action(value)),
|
|
26712
|
+
}), switchMap$1((value) => this.action(value)), tap$1((suggestions) => {
|
|
26713
|
+
// forcing the panel to open if there are suggestions
|
|
26714
|
+
if (suggestions.length > 0) {
|
|
26715
|
+
this.triggerRef?.openPanel();
|
|
26716
|
+
}
|
|
26717
|
+
}), catchError((error) => {
|
|
26685
26718
|
this.error = error.message;
|
|
26686
26719
|
return of([]);
|
|
26687
26720
|
}), finalize(() => (this.searching = false)));
|
|
@@ -30091,6 +30124,7 @@ class RecordApiFormComponent {
|
|
|
30091
30124
|
maxFeatures: limit !== '-1' ? Number(limit) : undefined,
|
|
30092
30125
|
limit: limit !== '-1' ? Number(limit) : -1,
|
|
30093
30126
|
offset: offset !== '' ? Number(offset) : undefined,
|
|
30127
|
+
outputCrs: format === ('application/json' || 'geojson') ? 'EPSG:4326' : undefined,
|
|
30094
30128
|
};
|
|
30095
30129
|
if (this.endpoint instanceof WfsEndpoint) {
|
|
30096
30130
|
delete options.limit;
|
|
@@ -30222,6 +30256,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30222
30256
|
type: Input
|
|
30223
30257
|
}] } });
|
|
30224
30258
|
|
|
30259
|
+
class ApplicationBannerComponent {
|
|
30260
|
+
constructor() {
|
|
30261
|
+
this.closeEnabled = false;
|
|
30262
|
+
this.extraClass = '';
|
|
30263
|
+
this.icon = '';
|
|
30264
|
+
this.msgClass = '';
|
|
30265
|
+
this.bannerOpen = true;
|
|
30266
|
+
}
|
|
30267
|
+
set type(value) {
|
|
30268
|
+
switch (value) {
|
|
30269
|
+
case 'primary':
|
|
30270
|
+
this.msgClass = 'bg-primary-darkest border-primary text-white';
|
|
30271
|
+
this.icon = 'matWarning';
|
|
30272
|
+
break;
|
|
30273
|
+
case 'light':
|
|
30274
|
+
this.msgClass =
|
|
30275
|
+
'bg-primary-opacity-10 border-primary-lightest text-black';
|
|
30276
|
+
this.icon = 'matInfoOutline';
|
|
30277
|
+
break;
|
|
30278
|
+
case 'secondary':
|
|
30279
|
+
default:
|
|
30280
|
+
this.msgClass = 'bg-primary-opacity-50 border-primary-darker text-black';
|
|
30281
|
+
this.icon = 'matWarningAmberOutline';
|
|
30282
|
+
break;
|
|
30283
|
+
}
|
|
30284
|
+
}
|
|
30285
|
+
get classList() {
|
|
30286
|
+
if (this.message.length > 200) {
|
|
30287
|
+
return `${this.msgClass} ${this.extraClass} overflow-y-scroll items-start`;
|
|
30288
|
+
}
|
|
30289
|
+
return `${this.msgClass} ${this.extraClass} items-center`;
|
|
30290
|
+
}
|
|
30291
|
+
closeMessage() {
|
|
30292
|
+
this.bannerOpen = false;
|
|
30293
|
+
}
|
|
30294
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30295
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApplicationBannerComponent, isStandalone: true, selector: "gn-ui-application-banner", inputs: { message: "message", title: "title", closeEnabled: "closeEnabled", extraClass: "extraClass", icon: "icon", type: "type" }, providers: [
|
|
30296
|
+
provideIcons({
|
|
30297
|
+
matWarningAmberOutline,
|
|
30298
|
+
matInfoOutline,
|
|
30299
|
+
matCloseOutline,
|
|
30300
|
+
matWarning,
|
|
30301
|
+
}),
|
|
30302
|
+
provideNgIconsConfig({ size: '1.5em' }),
|
|
30303
|
+
], ngImport: i0, template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute top-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]=\"{ 'pt-5': message.length > 200 }\">\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 }); }
|
|
30304
|
+
}
|
|
30305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, decorators: [{
|
|
30306
|
+
type: Component,
|
|
30307
|
+
args: [{ selector: 'gn-ui-application-banner', standalone: true, imports: [CommonModule, NgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
30308
|
+
provideIcons({
|
|
30309
|
+
matWarningAmberOutline,
|
|
30310
|
+
matInfoOutline,
|
|
30311
|
+
matCloseOutline,
|
|
30312
|
+
matWarning,
|
|
30313
|
+
}),
|
|
30314
|
+
provideNgIconsConfig({ size: '1.5em' }),
|
|
30315
|
+
], template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute top-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]=\"{ 'pt-5': message.length > 200 }\">\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" }]
|
|
30316
|
+
}], propDecorators: { message: [{
|
|
30317
|
+
type: Input
|
|
30318
|
+
}], title: [{
|
|
30319
|
+
type: Input
|
|
30320
|
+
}], closeEnabled: [{
|
|
30321
|
+
type: Input
|
|
30322
|
+
}], extraClass: [{
|
|
30323
|
+
type: Input
|
|
30324
|
+
}], icon: [{
|
|
30325
|
+
type: Input
|
|
30326
|
+
}], type: [{
|
|
30327
|
+
type: Input
|
|
30328
|
+
}] } });
|
|
30329
|
+
|
|
30225
30330
|
class UiElementsModule {
|
|
30226
30331
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
30227
30332
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, declarations: [AvatarComponent, UserPreviewComponent], imports: [CommonModule,
|
|
@@ -30239,11 +30344,13 @@ class UiElementsModule {
|
|
|
30239
30344
|
BadgeComponent,
|
|
30240
30345
|
MaxLinesComponent,
|
|
30241
30346
|
TextInputComponent,
|
|
30242
|
-
ImageInputComponent
|
|
30347
|
+
ImageInputComponent,
|
|
30348
|
+
ApplicationBannerComponent], exports: [ThumbnailComponent,
|
|
30243
30349
|
AvatarComponent,
|
|
30244
30350
|
UserPreviewComponent,
|
|
30245
30351
|
MarkdownParserComponent,
|
|
30246
|
-
ImageInputComponent
|
|
30352
|
+
ImageInputComponent,
|
|
30353
|
+
ApplicationBannerComponent] }); }
|
|
30247
30354
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
|
|
30248
30355
|
provideNgIconsConfig({
|
|
30249
30356
|
size: '1.5em',
|
|
@@ -30262,7 +30369,8 @@ class UiElementsModule {
|
|
|
30262
30369
|
BadgeComponent,
|
|
30263
30370
|
MaxLinesComponent,
|
|
30264
30371
|
TextInputComponent,
|
|
30265
|
-
ImageInputComponent
|
|
30372
|
+
ImageInputComponent,
|
|
30373
|
+
ApplicationBannerComponent] }); }
|
|
30266
30374
|
}
|
|
30267
30375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
|
|
30268
30376
|
type: NgModule,
|
|
@@ -30286,6 +30394,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30286
30394
|
MaxLinesComponent,
|
|
30287
30395
|
TextInputComponent,
|
|
30288
30396
|
ImageInputComponent,
|
|
30397
|
+
ApplicationBannerComponent,
|
|
30289
30398
|
],
|
|
30290
30399
|
providers: [
|
|
30291
30400
|
provideNgIconsConfig({
|
|
@@ -30299,6 +30408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30299
30408
|
UserPreviewComponent,
|
|
30300
30409
|
MarkdownParserComponent,
|
|
30301
30410
|
ImageInputComponent,
|
|
30411
|
+
ApplicationBannerComponent,
|
|
30302
30412
|
],
|
|
30303
30413
|
}]
|
|
30304
30414
|
}] });
|
|
@@ -30500,6 +30610,7 @@ class ActionMenuComponent {
|
|
|
30500
30610
|
this.duplicate = new EventEmitter();
|
|
30501
30611
|
this.delete = new EventEmitter();
|
|
30502
30612
|
this.closeActionMenu = new EventEmitter();
|
|
30613
|
+
this.rollback = new EventEmitter();
|
|
30503
30614
|
this.sectionDisplayed = 'mainMenu';
|
|
30504
30615
|
}
|
|
30505
30616
|
openMenu() {
|
|
@@ -30510,11 +30621,16 @@ class ActionMenuComponent {
|
|
|
30510
30621
|
this.cdr.markForCheck();
|
|
30511
30622
|
}
|
|
30512
30623
|
displayDeleteMenu() {
|
|
30513
|
-
this.
|
|
30624
|
+
if (this.isDraftPage) {
|
|
30625
|
+
this.sectionDisplayed = 'rollbackMenu';
|
|
30626
|
+
}
|
|
30627
|
+
else {
|
|
30628
|
+
this.sectionDisplayed = 'deleteMenu';
|
|
30629
|
+
}
|
|
30514
30630
|
this.cdr.markForCheck();
|
|
30515
30631
|
}
|
|
30516
30632
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, deps: [{ token: i1$b.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30517
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionMenuComponent, isStandalone: true, selector: "gn-ui-action-menu", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete" }, outputs: { duplicate: "duplicate", delete: "delete", closeActionMenu: "closeActionMenu" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span translate>record.action.delete</span></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30633
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionMenuComponent, isStandalone: true, selector: "gn-ui-action-menu", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage" }, outputs: { duplicate: "duplicate", delete: "delete", closeActionMenu: "closeActionMenu", rollback: "rollback" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n *ngIf=\"!isDraftPage\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span *ngIf=\"!isDraftPage\" translate>record.action.delete</span>\n <span *ngIf=\"isDraftPage\" translate\n >record.action.rollback</span\n ></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rollbackMenu'\">\n <div\n data-test=\"rollbackMenuSection\"\n class=\"w-80 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.undo.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.undo.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"rollback.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'120px'\"\n >{{\n 'editor.record.undo.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'120px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.undo.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30518
30634
|
}
|
|
30519
30635
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, decorators: [{
|
|
30520
30636
|
type: Component,
|
|
@@ -30525,17 +30641,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30525
30641
|
MatDialogModule,
|
|
30526
30642
|
ConfirmationDialogComponent,
|
|
30527
30643
|
TranslateModule,
|
|
30528
|
-
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span translate>record.action.delete</span></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n" }]
|
|
30644
|
+
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"mainMenuSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <gn-ui-button\n *ngIf=\"!isDraftPage\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"duplicate.emit()\"\n [disabled]=\"!canDuplicate\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span *ngIf=\"canDuplicate\" translate>record.action.duplicate</span>\n <span *ngIf=\"!canDuplicate\" translate\n >record.action.duplicating</span\n ></gn-ui-button\n >\n <gn-ui-button\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"displayDeleteMenu()\"\n [disabled]=\"!canDelete\"\n data-test=\"record-menu-delete-button\"\n ><span *ngIf=\"!isDraftPage\" translate>record.action.delete</span>\n <span *ngIf=\"isDraftPage\" translate\n >record.action.rollback</span\n ></gn-ui-button\n >\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'deleteMenu'\">\n <div\n data-test=\"deleteMenuSection\"\n class=\"w-72 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.delete.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.delete.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"delete.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'100px'\"\n >{{\n 'editor.record.delete.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'100px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.delete.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rollbackMenu'\">\n <div\n data-test=\"rollbackMenuSection\"\n class=\"w-80 p-6 flex flex-col gap-3 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <span class=\"text-lg font-bold text-center\">{{\n 'editor.record.undo.confirmation.title' | translate\n }}</span>\n <span class=\"text-center\">{{\n 'editor.record.undo.confirmation.message' | translate\n }}</span>\n <div class=\"flex flex-row gap-8 justify-center\">\n <gn-ui-button\n (buttonClick)=\"rollback.emit()\"\n cdkFocusInitial\n type=\"primary\"\n data-cy=\"confirm-button\"\n [style.--gn-ui-button-width]=\"'120px'\"\n >{{\n 'editor.record.undo.confirmation.confirmText' | translate\n }}</gn-ui-button\n >\n <gn-ui-button\n [style.--gn-ui-button-width]=\"'120px'\"\n (buttonClick)=\"closeActionMenu.emit()\"\n >{{\n 'editor.record.undo.confirmation.cancelText' | translate\n }}</gn-ui-button\n >\n </div>\n </div>\n </ng-container>\n</ng-container>\n" }]
|
|
30529
30645
|
}], ctorParameters: () => [{ type: i1$b.MatDialog }, { type: i0.ChangeDetectorRef }], propDecorators: { canDuplicate: [{
|
|
30530
30646
|
type: Input
|
|
30531
30647
|
}], canDelete: [{
|
|
30532
30648
|
type: Input
|
|
30649
|
+
}], isDraftPage: [{
|
|
30650
|
+
type: Input
|
|
30533
30651
|
}], duplicate: [{
|
|
30534
30652
|
type: Output
|
|
30535
30653
|
}], delete: [{
|
|
30536
30654
|
type: Output
|
|
30537
30655
|
}], closeActionMenu: [{
|
|
30538
30656
|
type: Output
|
|
30657
|
+
}], rollback: [{
|
|
30658
|
+
type: Output
|
|
30539
30659
|
}], trigger: [{
|
|
30540
30660
|
type: ViewChild,
|
|
30541
30661
|
args: [MatMenuTrigger]
|
|
@@ -30560,6 +30680,7 @@ class ResultsTableComponent {
|
|
|
30560
30680
|
this.recordClick = new EventEmitter();
|
|
30561
30681
|
this.duplicateRecord = new EventEmitter();
|
|
30562
30682
|
this.deleteRecord = new EventEmitter();
|
|
30683
|
+
this.rollbackDraft = new EventEmitter();
|
|
30563
30684
|
this.recordsSelectedChange = new EventEmitter();
|
|
30564
30685
|
this.isActionMenuOpen = false;
|
|
30565
30686
|
}
|
|
@@ -30638,6 +30759,10 @@ class ResultsTableComponent {
|
|
|
30638
30759
|
this.deleteRecord.emit(item);
|
|
30639
30760
|
this.closeActionMenu();
|
|
30640
30761
|
}
|
|
30762
|
+
handleRollback(item) {
|
|
30763
|
+
this.rollbackDraft.emit(item);
|
|
30764
|
+
this.closeActionMenu();
|
|
30765
|
+
}
|
|
30641
30766
|
setSortBy(col, order) {
|
|
30642
30767
|
this.sortByChange.emit([col, order]);
|
|
30643
30768
|
}
|
|
@@ -30662,7 +30787,7 @@ class ResultsTableComponent {
|
|
|
30662
30787
|
this.recordsSelectedChange.emit([[record], selected]);
|
|
30663
30788
|
}
|
|
30664
30789
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, deps: [{ token: i1$9.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: DateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30665
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage", isDuplicating: "isDuplicating" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", deleteRecord: "deleteRecord", recordsSelectedChange: "recordsSelectedChange" }, providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items", "isDraftPage"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "width", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "canDelete"], outputs: ["duplicate", "delete", "closeActionMenu"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] }); }
|
|
30790
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate", canDelete: "canDelete", isDraftPage: "isDraftPage", isDuplicating: "isDuplicating" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", deleteRecord: "deleteRecord", rollbackDraft: "rollbackDraft", recordsSelectedChange: "recordsSelectedChange" }, providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n [isDraftPage]=\"isDraftPage\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (rollback)=\"handleRollback(item)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items", "isDraftPage"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "width", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "canDelete", "isDraftPage"], outputs: ["duplicate", "delete", "closeActionMenu", "rollback"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] }); }
|
|
30666
30791
|
}
|
|
30667
30792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
30668
30793
|
type: Component,
|
|
@@ -30676,7 +30801,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30676
30801
|
ActionMenuComponent,
|
|
30677
30802
|
NgIconComponent,
|
|
30678
30803
|
CdkOverlayOrigin,
|
|
30679
|
-
], providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30804
|
+
], providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })], template: "<gn-ui-interactive-table\n [items]=\"records\"\n [isDraftPage]=\"isDraftPage\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item let-i=\"index\">\n <ng-icon\n name=\"iconoirLock\"\n class=\"text-purple\"\n *ngIf=\"!item.extras?.edit && !isDraftPage\"\n ></ng-icon>\n <gn-ui-checkbox\n *ngIf=\"item.extras?.edit || isDraftPage\"\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'12rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n [disabled]=\"!item.extras?.edit && !isDraftPage\"\n >\n <ng-icon\n [ngClass]=\"{\n 'text-purple-light': !item.extras?.edit && !isDraftPage,\n }\"\n name=\"matMoreVert\"\n ></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item) && !isDuplicating\"\n [canDelete]=\"canDelete(item)\"\n [isDraftPage]=\"isDraftPage\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (rollback)=\"handleRollback(item)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30680
30805
|
}], ctorParameters: () => [{ type: i1$9.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: DateService }], propDecorators: { records: [{
|
|
30681
30806
|
type: Input
|
|
30682
30807
|
}], selectedRecordsIdentifiers: [{
|
|
@@ -30701,6 +30826,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30701
30826
|
type: Output
|
|
30702
30827
|
}], deleteRecord: [{
|
|
30703
30828
|
type: Output
|
|
30829
|
+
}], rollbackDraft: [{
|
|
30830
|
+
type: Output
|
|
30704
30831
|
}], recordsSelectedChange: [{
|
|
30705
30832
|
type: Output
|
|
30706
30833
|
}], actionMenuButtons: [{
|
|
@@ -32529,6 +32656,51 @@ class DateRangeSearchField extends SimpleSearchField {
|
|
|
32529
32656
|
return 'dateRange';
|
|
32530
32657
|
}
|
|
32531
32658
|
}
|
|
32659
|
+
marker('search.filters.availableServices.view');
|
|
32660
|
+
marker('search.filters.availableServices.download');
|
|
32661
|
+
class AvailableServicesField extends SimpleSearchField {
|
|
32662
|
+
constructor(injector) {
|
|
32663
|
+
super('availableServices', injector, 'asc');
|
|
32664
|
+
this.translateService = this.injector.get(TranslateService);
|
|
32665
|
+
this.linkProtocolViewFilter = '/OGC:WMT?S.*/';
|
|
32666
|
+
this.linkProtocolDownloadFilter = '/OGC:WFS.*/';
|
|
32667
|
+
}
|
|
32668
|
+
async getBucketLabel(bucket) {
|
|
32669
|
+
return firstValueFrom(this.translateService.get(`search.filters.availableServices.${bucket.term}`));
|
|
32670
|
+
}
|
|
32671
|
+
getAggregations() {
|
|
32672
|
+
return {
|
|
32673
|
+
availableServices: {
|
|
32674
|
+
type: 'filters',
|
|
32675
|
+
filters: {
|
|
32676
|
+
view: `+linkProtocol:${this.linkProtocolViewFilter}`,
|
|
32677
|
+
download: `+linkProtocol:${this.linkProtocolDownloadFilter}`,
|
|
32678
|
+
},
|
|
32679
|
+
},
|
|
32680
|
+
};
|
|
32681
|
+
}
|
|
32682
|
+
getFiltersForValues(values) {
|
|
32683
|
+
const filters = {};
|
|
32684
|
+
if (values.includes('view'))
|
|
32685
|
+
filters[this.linkProtocolViewFilter] = true;
|
|
32686
|
+
if (values.includes('download'))
|
|
32687
|
+
filters[this.linkProtocolDownloadFilter] = true;
|
|
32688
|
+
return of({
|
|
32689
|
+
linkProtocol: filters,
|
|
32690
|
+
});
|
|
32691
|
+
}
|
|
32692
|
+
getValuesForFilter(filters) {
|
|
32693
|
+
const linkFilter = filters.linkProtocol;
|
|
32694
|
+
if (!linkFilter)
|
|
32695
|
+
return of([]);
|
|
32696
|
+
const values = [];
|
|
32697
|
+
if (linkFilter[this.linkProtocolViewFilter])
|
|
32698
|
+
values.push('view');
|
|
32699
|
+
if (linkFilter[this.linkProtocolDownloadFilter])
|
|
32700
|
+
values.push('download');
|
|
32701
|
+
return of(values);
|
|
32702
|
+
}
|
|
32703
|
+
}
|
|
32532
32704
|
|
|
32533
32705
|
marker('search.filters.format');
|
|
32534
32706
|
marker('search.filters.inspireKeyword');
|
|
@@ -32570,6 +32742,7 @@ class FieldsService {
|
|
|
32570
32742
|
publisherOrg: new MultilingualSearchField('distributorOrgForResourceObject', this.injector, 'asc', 'key'),
|
|
32571
32743
|
user: new UserSearchField(this.injector),
|
|
32572
32744
|
changeDate: new DateRangeSearchField('changeDate', this.injector, 'desc'),
|
|
32745
|
+
availableServices: new AvailableServicesField(this.injector),
|
|
32573
32746
|
};
|
|
32574
32747
|
}
|
|
32575
32748
|
getAvailableValues(fieldName) {
|
|
@@ -32911,7 +33084,7 @@ class ResultsTableContainerComponent {
|
|
|
32911
33084
|
this.subscription.unsubscribe();
|
|
32912
33085
|
}
|
|
32913
33086
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }, { token: NotificationsService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32914
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDuplicating: "isDuplicating" }, outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [canDelete]=\"canDelete\"\n [canDuplicate]=\"canDuplicate\"\n [isDuplicating]=\"isDuplicating\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (deleteRecord)=\"handleDeleteRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "hasDraft", "canDuplicate", "canDelete", "isDraftPage", "isDuplicating"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "deleteRecord", "recordsSelectedChange"] }] }); }
|
|
33087
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete", isDuplicating: "isDuplicating" }, outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [canDelete]=\"canDelete\"\n [canDuplicate]=\"canDuplicate\"\n [isDuplicating]=\"isDuplicating\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (deleteRecord)=\"handleDeleteRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "hasDraft", "canDuplicate", "canDelete", "isDraftPage", "isDuplicating"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "deleteRecord", "rollbackDraft", "recordsSelectedChange"] }] }); }
|
|
32915
33088
|
}
|
|
32916
33089
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
32917
33090
|
type: Component,
|
|
@@ -35060,6 +35233,9 @@ const loadFullMetadata = createAction('[Metadata view] Load full metadata', prop
|
|
|
35060
35233
|
const setIncompleteMetadata = createAction('[Metadata view] Set incomplete metadata', props());
|
|
35061
35234
|
const loadFullMetadataSuccess = createAction('[Metadata view] Load full metadata success', props());
|
|
35062
35235
|
const loadFullMetadataFailure = createAction('[Metadata view] Load full metadata failure', props());
|
|
35236
|
+
const loadFeatureCatalog = createAction("[Metadata view] Load metadata's feature catalog", props());
|
|
35237
|
+
const loadFeatureCatalogSuccess = createAction('[Metadata view] Load metadata feature catalog success', props());
|
|
35238
|
+
const loadFeatureCatalogFailure = createAction('[Metadata view] Load metadata feature catalog failure', props());
|
|
35063
35239
|
const closeMetadata = createAction('[Metadata view] close');
|
|
35064
35240
|
/*
|
|
35065
35241
|
Related actions
|
|
@@ -35085,6 +35261,9 @@ var mdview_actions = /*#__PURE__*/Object.freeze({
|
|
|
35085
35261
|
addUserFeedbackFailure: addUserFeedbackFailure,
|
|
35086
35262
|
addUserFeedbackSuccess: addUserFeedbackSuccess,
|
|
35087
35263
|
closeMetadata: closeMetadata,
|
|
35264
|
+
loadFeatureCatalog: loadFeatureCatalog,
|
|
35265
|
+
loadFeatureCatalogFailure: loadFeatureCatalogFailure,
|
|
35266
|
+
loadFeatureCatalogSuccess: loadFeatureCatalogSuccess,
|
|
35088
35267
|
loadFullMetadata: loadFullMetadata,
|
|
35089
35268
|
loadFullMetadataFailure: loadFullMetadataFailure,
|
|
35090
35269
|
loadFullMetadataSuccess: loadFullMetadataSuccess,
|
|
@@ -35102,6 +35281,8 @@ const initialMetadataViewState = {
|
|
|
35102
35281
|
loadingFull: false,
|
|
35103
35282
|
allUserFeedbacksLoading: false,
|
|
35104
35283
|
addUserFeedbackLoading: false,
|
|
35284
|
+
featureCatalogLoading: false,
|
|
35285
|
+
featureCatalogError: null,
|
|
35105
35286
|
};
|
|
35106
35287
|
const metadataViewReducer = createReducer(initialMetadataViewState,
|
|
35107
35288
|
/*
|
|
@@ -35161,6 +35342,22 @@ on(loadUserFeedbacks, (state) => ({
|
|
|
35161
35342
|
error: { otherError, notFound },
|
|
35162
35343
|
addUserFeedbackLoading: false,
|
|
35163
35344
|
allUserFeedbacksLoading: false,
|
|
35345
|
+
})),
|
|
35346
|
+
/**
|
|
35347
|
+
* FeatureCatalog reducers
|
|
35348
|
+
*/
|
|
35349
|
+
on(loadFeatureCatalog, (state) => ({
|
|
35350
|
+
...state,
|
|
35351
|
+
featureCatalogError: null,
|
|
35352
|
+
featureCatalogLoading: true,
|
|
35353
|
+
})), on(loadFeatureCatalogSuccess, (state, { datasetCatalog }) => ({
|
|
35354
|
+
...state,
|
|
35355
|
+
featureCatalog: datasetCatalog,
|
|
35356
|
+
featureCatalogLoading: false,
|
|
35357
|
+
})), on(loadFeatureCatalogFailure, (state, { error }) => ({
|
|
35358
|
+
...state,
|
|
35359
|
+
featureCatalogError: error,
|
|
35360
|
+
featureCatalogLoading: false,
|
|
35164
35361
|
})));
|
|
35165
35362
|
function reducer$1(metadataViewState, action) {
|
|
35166
35363
|
return metadataViewReducer(metadataViewState, action);
|
|
@@ -35189,6 +35386,11 @@ const getChartConfig = createSelector(getMdViewState, (state) => state.chartConf
|
|
|
35189
35386
|
const getUserFeedbacks = createSelector(getMdViewState, (state) => state.userFeedbacks);
|
|
35190
35387
|
const getAllUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.allUserFeedbacksLoading);
|
|
35191
35388
|
const getAddUserFeedbacksLoading = createSelector(getMdViewState, (state) => state.addUserFeedbackLoading);
|
|
35389
|
+
/*
|
|
35390
|
+
Feature Catalog Selectors
|
|
35391
|
+
*/
|
|
35392
|
+
const getFeatureCatalog = createSelector(getMdViewState, (state) => state.featureCatalog);
|
|
35393
|
+
const getFeatureCatalogIsLoading = createSelector(getMdViewState, (state) => state.featureCatalogLoading);
|
|
35192
35394
|
|
|
35193
35395
|
class FetchError {
|
|
35194
35396
|
constructor(type, info, httpStatus = 0) {
|
|
@@ -35304,8 +35506,8 @@ function fetchHeaders(url) {
|
|
|
35304
35506
|
return parseHeaders(response.headers);
|
|
35305
35507
|
});
|
|
35306
35508
|
}
|
|
35307
|
-
function fetchDataAsText(url) {
|
|
35308
|
-
|
|
35509
|
+
function fetchDataAsText(url, cacheActive) {
|
|
35510
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35309
35511
|
.catch((error) => {
|
|
35310
35512
|
throw FetchError.corsOrNetwork(error.message);
|
|
35311
35513
|
})
|
|
@@ -35314,10 +35516,11 @@ function fetchDataAsText(url) {
|
|
|
35314
35516
|
throw FetchError.http(response.status, await response.text());
|
|
35315
35517
|
}
|
|
35316
35518
|
return response.text();
|
|
35317
|
-
})
|
|
35519
|
+
});
|
|
35520
|
+
return cacheActive ? useCache(fetchFactory, url, 'asText') : fetchFactory();
|
|
35318
35521
|
}
|
|
35319
|
-
function fetchDataAsArrayBuffer(url) {
|
|
35320
|
-
|
|
35522
|
+
function fetchDataAsArrayBuffer(url, cacheActive) {
|
|
35523
|
+
const fetchFactory = () => sharedFetch(url)
|
|
35321
35524
|
.catch((error) => {
|
|
35322
35525
|
throw FetchError.corsOrNetwork(error.message);
|
|
35323
35526
|
})
|
|
@@ -35327,7 +35530,8 @@ function fetchDataAsArrayBuffer(url) {
|
|
|
35327
35530
|
}
|
|
35328
35531
|
// convert to a numeric array so that we can store the response in cache
|
|
35329
35532
|
return Array.from(new Uint8Array(await response.arrayBuffer()));
|
|
35330
|
-
})
|
|
35533
|
+
});
|
|
35534
|
+
return (cacheActive ? useCache(fetchFactory, url, 'asArrayBuffer') : fetchFactory()).then((array) => {
|
|
35331
35535
|
return new Uint8Array(array).buffer;
|
|
35332
35536
|
});
|
|
35333
35537
|
}
|
|
@@ -35473,68 +35677,6 @@ function getJsonDataItemsProxy(items) {
|
|
|
35473
35677
|
});
|
|
35474
35678
|
}
|
|
35475
35679
|
|
|
35476
|
-
class BaseReader {
|
|
35477
|
-
constructor(url) {
|
|
35478
|
-
this.url = url;
|
|
35479
|
-
this.selected = null;
|
|
35480
|
-
this.groupedBy = null;
|
|
35481
|
-
this.aggregations = null;
|
|
35482
|
-
this.filter = null;
|
|
35483
|
-
this.sort = null;
|
|
35484
|
-
this.startIndex = null;
|
|
35485
|
-
this.count = null;
|
|
35486
|
-
}
|
|
35487
|
-
load() {
|
|
35488
|
-
throw new Error('not implemented');
|
|
35489
|
-
}
|
|
35490
|
-
get properties() {
|
|
35491
|
-
throw new Error('not implemented');
|
|
35492
|
-
}
|
|
35493
|
-
get info() {
|
|
35494
|
-
throw new Error('not implemented');
|
|
35495
|
-
}
|
|
35496
|
-
read() {
|
|
35497
|
-
throw new Error('not implemented');
|
|
35498
|
-
}
|
|
35499
|
-
selectAll() {
|
|
35500
|
-
this.groupedBy = null;
|
|
35501
|
-
this.aggregations = null;
|
|
35502
|
-
this.selected = null;
|
|
35503
|
-
this.filter = null;
|
|
35504
|
-
this.startIndex = null;
|
|
35505
|
-
this.count = null;
|
|
35506
|
-
return this;
|
|
35507
|
-
}
|
|
35508
|
-
select(...selectedFields) {
|
|
35509
|
-
this.selected = selectedFields;
|
|
35510
|
-
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35511
|
-
this.groupedBy = null;
|
|
35512
|
-
return this;
|
|
35513
|
-
}
|
|
35514
|
-
groupBy(...groupBy) {
|
|
35515
|
-
this.groupedBy = groupBy;
|
|
35516
|
-
this.selected = null; // clear normal field selection when aggregating
|
|
35517
|
-
return this;
|
|
35518
|
-
}
|
|
35519
|
-
aggregate(...aggregations) {
|
|
35520
|
-
this.aggregations = aggregations;
|
|
35521
|
-
return this;
|
|
35522
|
-
}
|
|
35523
|
-
where(filter) {
|
|
35524
|
-
this.filter = filter;
|
|
35525
|
-
return this;
|
|
35526
|
-
}
|
|
35527
|
-
orderBy(...fieldSorts) {
|
|
35528
|
-
this.sort = fieldSorts;
|
|
35529
|
-
return this;
|
|
35530
|
-
}
|
|
35531
|
-
limit(startIndex, count) {
|
|
35532
|
-
this.startIndex = startIndex;
|
|
35533
|
-
this.count = count;
|
|
35534
|
-
return this;
|
|
35535
|
-
}
|
|
35536
|
-
}
|
|
35537
|
-
|
|
35538
35680
|
function filterToSql(filter) {
|
|
35539
35681
|
const operator = filter[0];
|
|
35540
35682
|
const args = filter.slice(1);
|
|
@@ -35628,7 +35770,80 @@ function generateSqlQuery(selected = null, filter = null, sort = null, startInde
|
|
|
35628
35770
|
return sqlSelect + sqlFrom + sqlGroupBy + sqlOrderBy + sqlWhere + sqlLimit;
|
|
35629
35771
|
}
|
|
35630
35772
|
|
|
35631
|
-
class
|
|
35773
|
+
class BaseReader {
|
|
35774
|
+
constructor(url) {
|
|
35775
|
+
this.url = url;
|
|
35776
|
+
this.selected = null;
|
|
35777
|
+
this.groupedBy = null;
|
|
35778
|
+
this.aggregations = null;
|
|
35779
|
+
this.filter = null;
|
|
35780
|
+
this.sort = null;
|
|
35781
|
+
this.startIndex = null;
|
|
35782
|
+
this.count = null;
|
|
35783
|
+
}
|
|
35784
|
+
load() {
|
|
35785
|
+
throw new Error('not implemented');
|
|
35786
|
+
}
|
|
35787
|
+
get properties() {
|
|
35788
|
+
throw new Error('not implemented');
|
|
35789
|
+
}
|
|
35790
|
+
get info() {
|
|
35791
|
+
throw new Error('not implemented');
|
|
35792
|
+
}
|
|
35793
|
+
read() {
|
|
35794
|
+
throw new Error('not implemented');
|
|
35795
|
+
}
|
|
35796
|
+
selectAll() {
|
|
35797
|
+
this.groupedBy = null;
|
|
35798
|
+
this.aggregations = null;
|
|
35799
|
+
this.selected = null;
|
|
35800
|
+
this.filter = null;
|
|
35801
|
+
this.startIndex = null;
|
|
35802
|
+
this.count = null;
|
|
35803
|
+
return this;
|
|
35804
|
+
}
|
|
35805
|
+
select(...selectedFields) {
|
|
35806
|
+
this.selected = selectedFields;
|
|
35807
|
+
this.aggregations = null; // clear aggregations & groups when selecting fields
|
|
35808
|
+
this.groupedBy = null;
|
|
35809
|
+
return this;
|
|
35810
|
+
}
|
|
35811
|
+
groupBy(...groupBy) {
|
|
35812
|
+
this.groupedBy = groupBy;
|
|
35813
|
+
this.selected = null; // clear normal field selection when aggregating
|
|
35814
|
+
return this;
|
|
35815
|
+
}
|
|
35816
|
+
aggregate(...aggregations) {
|
|
35817
|
+
this.aggregations = aggregations;
|
|
35818
|
+
return this;
|
|
35819
|
+
}
|
|
35820
|
+
where(filter) {
|
|
35821
|
+
this.filter = filter;
|
|
35822
|
+
return this;
|
|
35823
|
+
}
|
|
35824
|
+
orderBy(...fieldSorts) {
|
|
35825
|
+
this.sort = fieldSorts;
|
|
35826
|
+
return this;
|
|
35827
|
+
}
|
|
35828
|
+
limit(startIndex, count) {
|
|
35829
|
+
this.startIndex = startIndex;
|
|
35830
|
+
this.count = count;
|
|
35831
|
+
return this;
|
|
35832
|
+
}
|
|
35833
|
+
}
|
|
35834
|
+
|
|
35835
|
+
class BaseCacheReader extends BaseReader {
|
|
35836
|
+
constructor(url, cacheActive = true) {
|
|
35837
|
+
super(url);
|
|
35838
|
+
this.url = url;
|
|
35839
|
+
this.cacheActive = cacheActive;
|
|
35840
|
+
}
|
|
35841
|
+
setCacheActive(value) {
|
|
35842
|
+
this.cacheActive = value;
|
|
35843
|
+
}
|
|
35844
|
+
}
|
|
35845
|
+
|
|
35846
|
+
class BaseFileReader extends BaseCacheReader {
|
|
35632
35847
|
getData() {
|
|
35633
35848
|
throw new Error('not implemented');
|
|
35634
35849
|
}
|
|
@@ -35692,7 +35907,7 @@ function parseCsv(text) {
|
|
|
35692
35907
|
}
|
|
35693
35908
|
class CsvReader extends BaseFileReader {
|
|
35694
35909
|
getData() {
|
|
35695
|
-
return fetchDataAsText(this.url).then(parseCsv);
|
|
35910
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseCsv);
|
|
35696
35911
|
}
|
|
35697
35912
|
}
|
|
35698
35913
|
|
|
@@ -35709,7 +35924,7 @@ function parseJson(text) {
|
|
|
35709
35924
|
}
|
|
35710
35925
|
class JsonReader extends BaseFileReader {
|
|
35711
35926
|
getData() {
|
|
35712
|
-
return fetchDataAsText(this.url).then(parseJson);
|
|
35927
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseJson);
|
|
35713
35928
|
}
|
|
35714
35929
|
}
|
|
35715
35930
|
|
|
@@ -35728,7 +35943,7 @@ function parseGeojson(text) {
|
|
|
35728
35943
|
}
|
|
35729
35944
|
class GeojsonReader extends BaseFileReader {
|
|
35730
35945
|
getData() {
|
|
35731
|
-
return fetchDataAsText(this.url).then(parseGeojson);
|
|
35946
|
+
return fetchDataAsText(this.url, this.cacheActive).then(parseGeojson);
|
|
35732
35947
|
}
|
|
35733
35948
|
}
|
|
35734
35949
|
|
|
@@ -35750,7 +35965,7 @@ function parseExcel(buffer) {
|
|
|
35750
35965
|
}
|
|
35751
35966
|
class ExcelReader extends BaseFileReader {
|
|
35752
35967
|
getData() {
|
|
35753
|
-
return fetchDataAsArrayBuffer(this.url).then(parseExcel);
|
|
35968
|
+
return fetchDataAsArrayBuffer(this.url, this.cacheActive).then(parseExcel);
|
|
35754
35969
|
}
|
|
35755
35970
|
}
|
|
35756
35971
|
|
|
@@ -35777,19 +35992,21 @@ function parseGml(text, namespace, version) {
|
|
|
35777
35992
|
throw Error("Couldn't retrieve namespace url");
|
|
35778
35993
|
}
|
|
35779
35994
|
class GmlReader extends BaseFileReader {
|
|
35780
|
-
constructor(url, namespace, version) {
|
|
35995
|
+
constructor(url, namespace, version, cacheActive = true) {
|
|
35781
35996
|
super(url);
|
|
35997
|
+
this.url = url;
|
|
35782
35998
|
this.namespace = namespace;
|
|
35783
35999
|
this.version = version;
|
|
36000
|
+
this.cacheActive = cacheActive;
|
|
35784
36001
|
}
|
|
35785
36002
|
getData() {
|
|
35786
|
-
return fetchDataAsText(this.url).then((text) => parseGml(text, this.namespace, this.version));
|
|
36003
|
+
return fetchDataAsText(this.url, this.cacheActive).then((text) => parseGml(text, this.namespace, this.version));
|
|
35787
36004
|
}
|
|
35788
36005
|
}
|
|
35789
36006
|
|
|
35790
|
-
class WfsReader extends
|
|
35791
|
-
constructor(url, wfsEndpoint, featureTypeName) {
|
|
35792
|
-
super(url);
|
|
36007
|
+
class WfsReader extends BaseCacheReader {
|
|
36008
|
+
constructor(url, wfsEndpoint, featureTypeName, cacheActive) {
|
|
36009
|
+
super(url, cacheActive);
|
|
35793
36010
|
this.endpoint = wfsEndpoint;
|
|
35794
36011
|
this.featureTypeName = featureTypeName;
|
|
35795
36012
|
this.version = this.endpoint.getVersion();
|
|
@@ -35866,7 +36083,7 @@ class WfsReader extends BaseReader {
|
|
|
35866
36083
|
// Direct update on string url to prevent encoding of +A and +D
|
|
35867
36084
|
url = `${url}${finalUrl.search ? '&' : ''}SORTBY=${sorts}`;
|
|
35868
36085
|
}
|
|
35869
|
-
return fetchDataAsText(url).then((text) => asJson
|
|
36086
|
+
return fetchDataAsText(url, this.cacheActive).then((text) => asJson
|
|
35870
36087
|
? parseGeojson(text)
|
|
35871
36088
|
: parseGml(text, this.featureTypeName, this.version));
|
|
35872
36089
|
}
|
|
@@ -35878,7 +36095,7 @@ class WfsReader extends BaseReader {
|
|
|
35878
36095
|
}
|
|
35879
36096
|
}
|
|
35880
36097
|
|
|
35881
|
-
async function openDataset(url, typeHint, options) {
|
|
36098
|
+
async function openDataset(url, typeHint, options, cacheActive) {
|
|
35882
36099
|
const fileType = await inferDatasetType(url, typeHint);
|
|
35883
36100
|
let reader;
|
|
35884
36101
|
try {
|
|
@@ -35902,6 +36119,7 @@ async function openDataset(url, typeHint, options) {
|
|
|
35902
36119
|
reader = await WfsReader.createReader(url, options.wfsFeatureType);
|
|
35903
36120
|
break;
|
|
35904
36121
|
}
|
|
36122
|
+
reader.setCacheActive(cacheActive);
|
|
35905
36123
|
reader.load();
|
|
35906
36124
|
return reader;
|
|
35907
36125
|
}
|
|
@@ -35918,8 +36136,8 @@ async function openDataset(url, typeHint, options) {
|
|
|
35918
36136
|
* 2. otherwise, look for a Content-Type header in the response with a supported mime type
|
|
35919
36137
|
* 3. if no valid mime type was found, look for an explicit file extension in the url (.csv, .geojson etc.)
|
|
35920
36138
|
*/
|
|
35921
|
-
async function readDataset(url, typeHint, options) {
|
|
35922
|
-
const reader = await openDataset(url, typeHint, options);
|
|
36139
|
+
async function readDataset(url, typeHint, options, cacheActive = true) {
|
|
36140
|
+
const reader = await openDataset(url, typeHint, options, cacheActive);
|
|
35923
36141
|
try {
|
|
35924
36142
|
return await reader.read();
|
|
35925
36143
|
}
|
|
@@ -36023,18 +36241,28 @@ class DataService {
|
|
|
36023
36241
|
}
|
|
36024
36242
|
getDownloadLinksFromWfs(wfsLink) {
|
|
36025
36243
|
// Pour DL toutes les données
|
|
36026
|
-
return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) =>
|
|
36027
|
-
|
|
36028
|
-
|
|
36029
|
-
|
|
36030
|
-
|
|
36031
|
-
}))
|
|
36244
|
+
return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) => {
|
|
36245
|
+
if (urls.geojson) {
|
|
36246
|
+
urls.all['application/json'] = urls.geojson;
|
|
36247
|
+
}
|
|
36248
|
+
return urls;
|
|
36249
|
+
}), map$1((urls) => {
|
|
36250
|
+
const resources = Object.keys(urls.all).map((format) => ({
|
|
36251
|
+
...wfsLink,
|
|
36252
|
+
name: wfsLink.name,
|
|
36253
|
+
type: 'download',
|
|
36254
|
+
url: new URL(urls.all[format]),
|
|
36255
|
+
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
36256
|
+
}));
|
|
36257
|
+
return resources;
|
|
36258
|
+
}));
|
|
36032
36259
|
}
|
|
36033
36260
|
async getDownloadLinksFromOgcApiFeatures(ogcApiLink) {
|
|
36034
36261
|
const collectionInfo = await this.getDownloadUrlsFromOgcApi(ogcApiLink.url.href);
|
|
36035
36262
|
return Object.keys(collectionInfo.bulkDownloadLinks).map((downloadLink) => {
|
|
36036
36263
|
return {
|
|
36037
36264
|
...ogcApiLink,
|
|
36265
|
+
name: collectionInfo.id,
|
|
36038
36266
|
type: 'download',
|
|
36039
36267
|
url: new URL(collectionInfo.bulkDownloadLinks[downloadLink]),
|
|
36040
36268
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(downloadLink)),
|
|
@@ -36070,18 +36298,18 @@ class DataService {
|
|
|
36070
36298
|
mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
|
|
36071
36299
|
}));
|
|
36072
36300
|
}
|
|
36073
|
-
readAsGeoJson(link) {
|
|
36074
|
-
return this.getDataset(link).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
36301
|
+
readAsGeoJson(link, cacheActive) {
|
|
36302
|
+
return this.getDataset(link, cacheActive).pipe(switchMap$1((dataset) => dataset.selectAll().read()), map$1((features) => ({
|
|
36075
36303
|
type: 'FeatureCollection',
|
|
36076
36304
|
features,
|
|
36077
36305
|
})));
|
|
36078
36306
|
}
|
|
36079
|
-
getDataset(link) {
|
|
36307
|
+
getDataset(link, cacheActive) {
|
|
36080
36308
|
if (link.type === 'service' && link.accessServiceProtocol === 'wfs') {
|
|
36081
36309
|
const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString());
|
|
36082
36310
|
return from(openDataset(wfsUrlEndpoint, 'wfs', {
|
|
36083
36311
|
wfsFeatureType: link.name,
|
|
36084
|
-
}));
|
|
36312
|
+
}, cacheActive));
|
|
36085
36313
|
}
|
|
36086
36314
|
else if (link.type === 'download') {
|
|
36087
36315
|
const linkProxifiedUrl = this.proxy.getProxiedUrl(link.url.toString());
|
|
@@ -36089,18 +36317,18 @@ class DataService {
|
|
|
36089
36317
|
const supportedType = SupportedTypes.indexOf(format) > -1
|
|
36090
36318
|
? format
|
|
36091
36319
|
: undefined;
|
|
36092
|
-
return from(openDataset(linkProxifiedUrl, supportedType)).pipe();
|
|
36320
|
+
return from(openDataset(linkProxifiedUrl, supportedType, undefined, cacheActive)).pipe();
|
|
36093
36321
|
}
|
|
36094
36322
|
else if (link.type === 'service' &&
|
|
36095
36323
|
link.accessServiceProtocol === 'esriRest') {
|
|
36096
36324
|
const url = this.getDownloadUrlFromEsriRest(link.url.toString(), 'geojson');
|
|
36097
|
-
return from(openDataset(url, 'geojson')).pipe();
|
|
36325
|
+
return from(openDataset(url, 'geojson', undefined, cacheActive)).pipe();
|
|
36098
36326
|
}
|
|
36099
36327
|
else if (link.type === 'service' &&
|
|
36100
36328
|
link.accessServiceProtocol === 'ogcFeatures') {
|
|
36101
36329
|
return from(this.getDownloadUrlsFromOgcApi(link.url.href)).pipe(switchMap$1((collectionInfo) => {
|
|
36102
36330
|
const geojsonUrl = collectionInfo.jsonDownloadLink;
|
|
36103
|
-
return openDataset(geojsonUrl, 'geojson');
|
|
36331
|
+
return openDataset(geojsonUrl, 'geojson', undefined, cacheActive);
|
|
36104
36332
|
}), tap$1((url) => {
|
|
36105
36333
|
if (url === null) {
|
|
36106
36334
|
throw new Error('wfs.geojsongml.notsupported');
|
|
@@ -36665,6 +36893,7 @@ class ChartViewComponent {
|
|
|
36665
36893
|
this.dataService = dataService;
|
|
36666
36894
|
this.changeDetector = changeDetector;
|
|
36667
36895
|
this.translateService = translateService;
|
|
36896
|
+
this.cacheActive = true;
|
|
36668
36897
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36669
36898
|
this.aggregation$ = new BehaviorSubject('sum');
|
|
36670
36899
|
this.xProperty$ = new BehaviorSubject(undefined);
|
|
@@ -36694,7 +36923,7 @@ class ChartViewComponent {
|
|
|
36694
36923
|
this.dataset$ = this.currentLink$.pipe(filter((link) => !!link), switchMap$1((link) => {
|
|
36695
36924
|
this.error = null;
|
|
36696
36925
|
this.loading = true;
|
|
36697
|
-
return this.dataService.getDataset(link).pipe(catchError((error) => {
|
|
36926
|
+
return this.dataService.getDataset(link, this.cacheActive).pipe(catchError((error) => {
|
|
36698
36927
|
this.handleError(error);
|
|
36699
36928
|
return EMPTY;
|
|
36700
36929
|
}));
|
|
@@ -36763,7 +36992,7 @@ class ChartViewComponent {
|
|
|
36763
36992
|
this.changeDetector.detectChanges();
|
|
36764
36993
|
}
|
|
36765
36994
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36766
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36995
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartViewComponent, isStandalone: true, selector: "gn-ui-chart-view", inputs: { cacheActive: "cacheActive", link: "link", aggregation: "aggregation", xProperty: "xProperty", yProperty: "yProperty", chartType: "chartType" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartComponent, selector: "gn-ui-chart", inputs: ["data", "labelProperty", "valueProperty", "secondaryValueProperty", "type"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36767
36996
|
}
|
|
36768
36997
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartViewComponent, decorators: [{
|
|
36769
36998
|
type: Component,
|
|
@@ -36775,7 +37004,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36775
37004
|
LoadingMaskComponent,
|
|
36776
37005
|
PopupAlertComponent,
|
|
36777
37006
|
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 justify-between text-[13px]\"\n >\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"typeChoices\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"chartType$.next($event)\"\n [selected]=\"chartType$.value\"\n [title]=\"'chart.dropdown.type' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"xChoices$ | async\"\n [extraBtnClass]=\"'secondary min-w-full'\"\n (selectValue)=\"xProperty$.next($event)\"\n [selected]=\"xProperty$.value\"\n [title]=\"'chart.dropdown.xProperty' | translate\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n *ngIf=\"!isCountAggregation\"\n [choices]=\"yChoices$ | async\"\n (selectValue)=\"yProperty$.next($event)\"\n [selected]=\"yProperty$.value\"\n [title]=\"'chart.dropdown.yProperty' | translate\"\n class=\"select-y-prop\"\n ></gn-ui-dropdown-selector>\n <gn-ui-dropdown-selector\n class=\"basis-1/4\"\n [choices]=\"aggregationChoices\"\n class=\"aggregation-choices\"\n (selectValue)=\"aggregation$.next($event)\"\n [selected]=\"aggregation$.value\"\n [title]=\"'chart.dropdown.aggregation' | translate\"\n ></gn-ui-dropdown-selector>\n </div>\n <div\n class=\"relative h-full mt-2 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-chart\n [data]=\"chartData$ | async\"\n [type]=\"chartType$.value\"\n [labelProperty]=\"labelProperty\"\n [valueProperty]=\"valueProperty\"\n ></gn-ui-chart>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'chart.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
36778
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: {
|
|
37007
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
37008
|
+
type: Input
|
|
37009
|
+
}], link: [{
|
|
36779
37010
|
type: Input
|
|
36780
37011
|
}], aggregation: [{
|
|
36781
37012
|
type: Input
|
|
@@ -36948,6 +37179,7 @@ class TableViewComponent {
|
|
|
36948
37179
|
constructor(dataService, translateService) {
|
|
36949
37180
|
this.dataService = dataService;
|
|
36950
37181
|
this.translateService = translateService;
|
|
37182
|
+
this.cacheActive = true;
|
|
36951
37183
|
this.currentLink$ = new BehaviorSubject(null);
|
|
36952
37184
|
this.loading = false;
|
|
36953
37185
|
this.error = null;
|
|
@@ -36965,7 +37197,7 @@ class TableViewComponent {
|
|
|
36965
37197
|
}), startWith(undefined), shareReplay(1));
|
|
36966
37198
|
}
|
|
36967
37199
|
getDatasetReader(link) {
|
|
36968
|
-
return this.dataService.getDataset(link);
|
|
37200
|
+
return this.dataService.getDataset(link, this.cacheActive);
|
|
36969
37201
|
}
|
|
36970
37202
|
onTableSelect(event) {
|
|
36971
37203
|
console.log(event);
|
|
@@ -36988,7 +37220,7 @@ class TableViewComponent {
|
|
|
36988
37220
|
this.loading = false;
|
|
36989
37221
|
}
|
|
36990
37222
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, deps: [{ token: DataService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36991
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableViewComponent, isStandalone: true, selector: "gn-ui-table-view", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37223
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableViewComponent, isStandalone: true, selector: "gn-ui-table-view", inputs: { cacheActive: "cacheActive", link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DataTableComponent, selector: "gn-ui-data-table", inputs: ["dataset", "activeId"], outputs: ["selected"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36992
37224
|
}
|
|
36993
37225
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableViewComponent, decorators: [{
|
|
36994
37226
|
type: Component,
|
|
@@ -36999,7 +37231,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
36999
37231
|
PopupAlertComponent,
|
|
37000
37232
|
TranslateModule,
|
|
37001
37233
|
], standalone: true, template: "<div class=\"w-full h-full flex flex-col\">\n <div class=\"relative h-full\">\n <gn-ui-data-table\n *ngIf=\"tableData$ | async as dataset\"\n class=\"overflow-auto grow\"\n [dataset]=\"dataset\"\n (selected)=\"onTableSelect($event)\"\n ></gn-ui-data-table>\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
37002
|
-
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: {
|
|
37234
|
+
}], ctorParameters: () => [{ type: DataService }, { type: i1$1.TranslateService }], propDecorators: { cacheActive: [{
|
|
37235
|
+
type: Input
|
|
37236
|
+
}], link: [{
|
|
37003
37237
|
type: Input
|
|
37004
37238
|
}] } });
|
|
37005
37239
|
|
|
@@ -37018,7 +37252,15 @@ class MdViewFacade {
|
|
|
37018
37252
|
this.isPresent$ = this.store.pipe(select(getMetadataUuid), map$1((uuid) => !!uuid));
|
|
37019
37253
|
this.isMetadataLoading$ = this.store.pipe(select(getMetadataIsLoading));
|
|
37020
37254
|
this.metadata$ = this.store.pipe(select(getMetadata), filter((md) => !!md));
|
|
37255
|
+
this.featureCatalog$ = this.store.pipe(select(getFeatureCatalog));
|
|
37021
37256
|
this.isIncomplete$ = this.store.pipe(select(getMetadataIsIncomplete), filter((incomplete) => incomplete !== null));
|
|
37257
|
+
this.isHighUpdateFrequency$ = this.metadata$.pipe(map$1((record) => {
|
|
37258
|
+
if (record.updateFrequency instanceof Object) {
|
|
37259
|
+
return (record.updateFrequency.per === 'day' &&
|
|
37260
|
+
record.updateFrequency.updatedTimes > 1);
|
|
37261
|
+
}
|
|
37262
|
+
return record.updateFrequency === 'continual';
|
|
37263
|
+
}));
|
|
37022
37264
|
this.error$ = this.store.pipe(select(getMetadataError));
|
|
37023
37265
|
this.related$ = this.store.pipe(select(getRelated));
|
|
37024
37266
|
this.chartConfig$ = this.store.pipe(select(getChartConfig));
|
|
@@ -37114,6 +37356,11 @@ class MdViewEffects {
|
|
|
37114
37356
|
}
|
|
37115
37357
|
return loadFullMetadataSuccess({ full: record });
|
|
37116
37358
|
}), catchError((error) => of(loadFullMetadataFailure({ otherError: error.message })))));
|
|
37359
|
+
this.loadFeatureCatalog$ = createEffect(() => this.actions$.pipe(ofType(loadFullMetadataSuccess), filter(({ full }) => full !== undefined), switchMap$1(({ full }) => this.recordsRepository.getFeatureCatalog(full)), map$1((featureCatalog) => loadFeatureCatalogSuccess({
|
|
37360
|
+
datasetCatalog: featureCatalog,
|
|
37361
|
+
})), catchError((error) => of(loadFeatureCatalogFailure({
|
|
37362
|
+
error: error.message,
|
|
37363
|
+
})))));
|
|
37117
37364
|
/*
|
|
37118
37365
|
Related effects
|
|
37119
37366
|
*/
|
|
@@ -37703,6 +37950,7 @@ class DataViewComponent {
|
|
|
37703
37950
|
this.mdViewFacade = mdViewFacade;
|
|
37704
37951
|
this.displaySource = true;
|
|
37705
37952
|
this.chartConfig$ = new BehaviorSubject(null);
|
|
37953
|
+
this.cacheActive$ = this.mdViewFacade.isHighUpdateFrequency$.pipe(map$1((highF) => !highF));
|
|
37706
37954
|
this.compatibleDataLinks$ = combineLatest([
|
|
37707
37955
|
this.mdViewFacade.dataLinks$,
|
|
37708
37956
|
this.mdViewFacade.geoDataLinks$,
|
|
@@ -37730,7 +37978,7 @@ class DataViewComponent {
|
|
|
37730
37978
|
this.selectedLink$.next(link);
|
|
37731
37979
|
}
|
|
37732
37980
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, deps: [{ token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37733
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource" }, outputs: { chartConfig$: "chartConfig$" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"truncate p-1 -mx-1 self-end mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\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: "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: ["link"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37981
|
+
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 <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</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: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["cacheActive", "link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37734
37982
|
}
|
|
37735
37983
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, decorators: [{
|
|
37736
37984
|
type: Component,
|
|
@@ -37740,7 +37988,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37740
37988
|
TableViewComponent,
|
|
37741
37989
|
TranslateModule,
|
|
37742
37990
|
ChartViewComponent,
|
|
37743
|
-
], 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 <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [link]=\"selectedLink$ | async\"\n ></gn-ui-chart-view>\n </div>\n</div>\n" }]
|
|
37991
|
+
], 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 <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</div>\n" }]
|
|
37744
37992
|
}], ctorParameters: () => [{ type: MdViewFacade }], propDecorators: { mode: [{
|
|
37745
37993
|
type: Input
|
|
37746
37994
|
}], displaySource: [{
|
|
@@ -38033,7 +38281,8 @@ class MapViewComponent {
|
|
|
38033
38281
|
link.accessServiceProtocol === 'esriRest' ||
|
|
38034
38282
|
link.accessServiceProtocol === 'ogcFeatures')) ||
|
|
38035
38283
|
link.type === 'download') {
|
|
38036
|
-
|
|
38284
|
+
const cacheActive = true; // TODO implement whether should be true or false
|
|
38285
|
+
return this.dataService.readAsGeoJson(link, cacheActive).pipe(map$1((data) => ({
|
|
38037
38286
|
type: 'geojson',
|
|
38038
38287
|
data,
|
|
38039
38288
|
})));
|
|
@@ -38548,8 +38797,8 @@ const DEFAULT_CONFIGURATION = {
|
|
|
38548
38797
|
labelKey: marker('editor.record.form.page.description'),
|
|
38549
38798
|
sections: [
|
|
38550
38799
|
TITLE_SECTION,
|
|
38551
|
-
ABOUT_SECTION,
|
|
38552
38800
|
CLASSIFICATION_SECTION,
|
|
38801
|
+
ABOUT_SECTION,
|
|
38553
38802
|
GEOGRAPHICAL_COVERAGE_SECTION,
|
|
38554
38803
|
],
|
|
38555
38804
|
},
|
|
@@ -39708,7 +39957,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39708
39957
|
|
|
39709
39958
|
class FormFieldRichComponent {
|
|
39710
39959
|
constructor() {
|
|
39711
|
-
this.placeholder = '
|
|
39960
|
+
this.placeholder = '';
|
|
39712
39961
|
this.valueChange = new EventEmitter();
|
|
39713
39962
|
this.preview = false;
|
|
39714
39963
|
}
|
|
@@ -39957,6 +40206,7 @@ class FormFieldContactsForResourceComponent {
|
|
|
39957
40206
|
'owner',
|
|
39958
40207
|
'point_of_contact',
|
|
39959
40208
|
'author',
|
|
40209
|
+
'publisher',
|
|
39960
40210
|
];
|
|
39961
40211
|
this.roleSectionsToDisplay = [];
|
|
39962
40212
|
this.allOrganizations = new Map();
|
|
@@ -41097,7 +41347,7 @@ class ConstraintCardComponent {
|
|
|
41097
41347
|
provideNgIconsConfig({
|
|
41098
41348
|
size: '1.5rem',
|
|
41099
41349
|
}),
|
|
41100
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [
|
|
41350
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [placeholder]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41101
41351
|
}
|
|
41102
41352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConstraintCardComponent, decorators: [{
|
|
41103
41353
|
type: Component,
|
|
@@ -41115,7 +41365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41115
41365
|
provideNgIconsConfig({
|
|
41116
41366
|
size: '1.5rem',
|
|
41117
41367
|
}),
|
|
41118
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [
|
|
41368
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [placeholder]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
41119
41369
|
}], propDecorators: { label: [{
|
|
41120
41370
|
type: Input
|
|
41121
41371
|
}], constraint: [{
|
|
@@ -41774,5 +42024,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41774
42024
|
* Generated bundle index. Do not edit.
|
|
41775
42025
|
*/
|
|
41776
42026
|
|
|
41777
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
42027
|
+
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 };
|
|
41778
42028
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|