geonetwork-ui 2.4.1-dev.e5315d8c8 → 2.4.2-dev.096cd6eb9
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/iso19139/read-parts.mjs +2 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +4 -14
- package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +3 -4
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +64 -50
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.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 +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +8 -9
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +5 -25
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -4
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +10 -2
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +6 -3
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +4 -6
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +6 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +5 -3
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +7 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +3 -1
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +6 -3
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -1
- package/esm2022/libs/util/data-fetcher/src/lib/headers.mjs +3 -2
- package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +2 -1
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +79 -0
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +4 -7
- package/esm2022/translations/de.json +14 -5
- package/esm2022/translations/en.json +23 -14
- package/esm2022/translations/es.json +14 -5
- package/esm2022/translations/fr.json +24 -15
- package/esm2022/translations/it.json +33 -26
- package/esm2022/translations/nl.json +14 -5
- package/esm2022/translations/pt.json +14 -5
- package/fesm2022/geonetwork-ui.mjs +350 -205
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +0 -1
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +38 -17
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +2 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +1 -6
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +2 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +1 -2
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +2 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +3 -2
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +2 -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 +3 -2
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/headers.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +21 -0
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -0
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +1 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -1
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +4 -14
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +4 -1
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +0 -4
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +20 -19
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +81 -57
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.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.html +3 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +6 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +24 -17
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +2 -27
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +1 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +9 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +1 -0
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +1 -0
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +0 -1
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +1 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +1 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +9 -1
- package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts +3 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +5 -1
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +2 -2
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +1 -0
- package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +9 -1
- package/src/libs/util/data-fetcher/src/lib/headers.ts +4 -3
- package/src/libs/util/data-fetcher/src/lib/model.ts +1 -0
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +112 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +3 -6
- package/translations/de.json +14 -5
- package/translations/en.json +23 -14
- package/translations/es.json +14 -5
- package/translations/fr.json +24 -15
- package/translations/it.json +33 -26
- package/translations/nl.json +14 -5
- package/translations/pt.json +14 -5
- package/translations/sk.json +15 -6
|
@@ -26,7 +26,7 @@ import { createAction, props, createReducer, on, createFeatureSelector, createSe
|
|
|
26
26
|
import EmblaCarousel from 'embla-carousel';
|
|
27
27
|
import * as i2$3 from '@ng-icons/core';
|
|
28
28
|
import { provideIcons, NgIcon, NgIconComponent, provideNgIconsConfig, NgIconsModule } from '@ng-icons/core';
|
|
29
|
-
import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirUser, iconoirLock, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment } from '@ng-icons/iconoir';
|
|
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
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';
|
|
31
31
|
import * as i1$3 from '@angular/material/tooltip';
|
|
32
32
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
@@ -1114,12 +1114,11 @@ function extractDatasetOnlineResources(getMimeTypeFn) {
|
|
|
1114
1114
|
...descriptionTranslations,
|
|
1115
1115
|
};
|
|
1116
1116
|
if (isService) {
|
|
1117
|
-
const hasIdentifier = protocol === 'wms' || protocol === 'wfs';
|
|
1118
1117
|
return {
|
|
1119
1118
|
type: 'service',
|
|
1120
1119
|
url: url,
|
|
1121
1120
|
accessServiceProtocol: protocol,
|
|
1122
|
-
...(name &&
|
|
1121
|
+
...(name && { identifierInService: name }), // should we keep the identifierInService? read-write duplicate with name
|
|
1123
1122
|
...(name && { name }),
|
|
1124
1123
|
...(description && { description }),
|
|
1125
1124
|
translations,
|
|
@@ -1542,6 +1541,8 @@ function getRoleCode(role) {
|
|
|
1542
1541
|
}
|
|
1543
1542
|
function getServiceDistributionProtocol(distribution) {
|
|
1544
1543
|
switch (distribution.accessServiceProtocol.toLowerCase()) {
|
|
1544
|
+
case 'ogcfeatures':
|
|
1545
|
+
return 'OGC API Features';
|
|
1545
1546
|
case 'wfs':
|
|
1546
1547
|
return 'OGC:WFS';
|
|
1547
1548
|
case 'wms':
|
|
@@ -1718,6 +1719,7 @@ function appendOnlineResource(onlineResource, appendFormatFn, translations, defa
|
|
|
1718
1719
|
let functionCode;
|
|
1719
1720
|
let protocol;
|
|
1720
1721
|
if (onlineResource.type === 'service') {
|
|
1722
|
+
// should we keep the identifierInService? read-write duplicate with name
|
|
1721
1723
|
name = onlineResource.identifierInService; // this is for GeoNetwork to know the layer name
|
|
1722
1724
|
functionCode = 'download';
|
|
1723
1725
|
protocol = getServiceDistributionProtocol(onlineResource);
|
|
@@ -18624,7 +18626,8 @@ var de = {
|
|
|
18624
18626
|
"dashboard.createRecord": "Neuer Eintrag",
|
|
18625
18627
|
"dashboard.importRecord": "",
|
|
18626
18628
|
"dashboard.importRecord.importExternal": "",
|
|
18627
|
-
"dashboard.importRecord.
|
|
18629
|
+
"dashboard.importRecord.importExternal.subtitle": "",
|
|
18630
|
+
"dashboard.importRecord.importExternal.title": "",
|
|
18628
18631
|
"dashboard.labels.catalog": "Katalog",
|
|
18629
18632
|
"dashboard.labels.mySpace": "Mein Bereich",
|
|
18630
18633
|
"dashboard.records.all": "Metadatenkatalog",
|
|
@@ -18793,8 +18796,7 @@ var de = {
|
|
|
18793
18796
|
"downloads.format.unknown": "unbekannt",
|
|
18794
18797
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
18795
18798
|
dropFile: dropFile$6,
|
|
18796
|
-
"editor.
|
|
18797
|
-
"editor.form.placeKeywordWithoutExtent": "",
|
|
18799
|
+
"editor.new.record.title": "",
|
|
18798
18800
|
"editor.record.delete.confirmation.cancelText": "Stornieren",
|
|
18799
18801
|
"editor.record.delete.confirmation.confirmText": "Löschen",
|
|
18800
18802
|
"editor.record.delete.confirmation.message": "Sind Sie sicher, dass Sie diesen Datensatz löschen möchten?",
|
|
@@ -18827,7 +18829,9 @@ var de = {
|
|
|
18827
18829
|
"editor.record.form.field.abstract": "Kurzbeschreibung",
|
|
18828
18830
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
18829
18831
|
"editor.record.form.field.contacts.noContact": "",
|
|
18832
|
+
"editor.record.form.field.contacts.placeholder": "",
|
|
18830
18833
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
18834
|
+
"editor.record.form.field.contactsForResource.placeholder": "",
|
|
18831
18835
|
"editor.record.form.field.keywords": "Schlagwörter",
|
|
18832
18836
|
"editor.record.form.field.legalConstraints": "Rechtliche Einschränkung",
|
|
18833
18837
|
"editor.record.form.field.license": "Lizenz",
|
|
@@ -18836,12 +18840,12 @@ var de = {
|
|
|
18836
18840
|
"editor.record.form.field.onlineResource.confirm": "",
|
|
18837
18841
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
18838
18842
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
18839
|
-
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
18840
18843
|
"editor.record.form.field.onlineResource.edit.identifier.error": "Schichten konnten nicht vom Protokoll abgerufen werden",
|
|
18841
18844
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Ebenenname",
|
|
18842
18845
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Prozessname",
|
|
18843
18846
|
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Wählen Sie eine Ebene",
|
|
18844
18847
|
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link zum Dienst",
|
|
18848
|
+
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
18845
18849
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
18846
18850
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
18847
18851
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -18861,6 +18865,9 @@ var de = {
|
|
|
18861
18865
|
"editor.record.form.field.title.placeholder": "Geben Sie einen Titel ein",
|
|
18862
18866
|
"editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
|
|
18863
18867
|
"editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
|
|
18868
|
+
"editor.record.form.keywords.place.placeholder": "",
|
|
18869
|
+
"editor.record.form.keywords.place.withoutExtent": "",
|
|
18870
|
+
"editor.record.form.keywords.placeholder": "",
|
|
18864
18871
|
"editor.record.form.license.cc-by": "",
|
|
18865
18872
|
"editor.record.form.license.cc-by-sa": "",
|
|
18866
18873
|
"editor.record.form.license.cc-zero": "",
|
|
@@ -18872,7 +18879,7 @@ var de = {
|
|
|
18872
18879
|
"editor.record.form.license.unknown": "",
|
|
18873
18880
|
"editor.record.form.page.accessAndContact": "",
|
|
18874
18881
|
"editor.record.form.page.description": "",
|
|
18875
|
-
"editor.record.form.page.
|
|
18882
|
+
"editor.record.form.page.resources": "",
|
|
18876
18883
|
"editor.record.form.section.about.description": "",
|
|
18877
18884
|
"editor.record.form.section.about.label": "",
|
|
18878
18885
|
"editor.record.form.section.annexes.description": "",
|
|
@@ -19018,6 +19025,7 @@ var de = {
|
|
|
19018
19025
|
"record.action.delete": "Löschen",
|
|
19019
19026
|
"record.action.download": "Herunterladen",
|
|
19020
19027
|
"record.action.duplicate": "",
|
|
19028
|
+
"record.action.duplicating": "",
|
|
19021
19029
|
"record.action.view": "Anzeigen",
|
|
19022
19030
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
19023
19031
|
"record.feature.limit": "Die Ressource enthält mehr als {count} Features und kann hier nicht angezeigt werden.",
|
|
@@ -19048,6 +19056,8 @@ var de = {
|
|
|
19048
19056
|
"record.metadata.api.form.productTooltip": "",
|
|
19049
19057
|
"record.metadata.api.form.reset": "Zurücksetzen",
|
|
19050
19058
|
"record.metadata.api.form.resetTooltip": "",
|
|
19059
|
+
"record.metadata.api.form.title": "Benutzerdefinierte URL generieren",
|
|
19060
|
+
"record.metadata.api.form.title.gpf": "",
|
|
19051
19061
|
"record.metadata.api.form.type": "Ausgabeformat",
|
|
19052
19062
|
"record.metadata.api.form.zoneTitle": "",
|
|
19053
19063
|
"record.metadata.api.form.zoneTooltip": "",
|
|
@@ -19116,6 +19126,7 @@ var de = {
|
|
|
19116
19126
|
"record.tab.chart": "Diagramm",
|
|
19117
19127
|
"record.tab.data": "Tabelle",
|
|
19118
19128
|
"record.tab.map": "Karte",
|
|
19129
|
+
"record.was.created.time": "erstellte diesen Datensatz {time}",
|
|
19119
19130
|
records: records$6,
|
|
19120
19131
|
"results.layout.selectOne": "Layout auswählen",
|
|
19121
19132
|
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
|
|
@@ -19225,7 +19236,8 @@ var en = {
|
|
|
19225
19236
|
"dashboard.createRecord": "New dataset",
|
|
19226
19237
|
"dashboard.importRecord": "Import",
|
|
19227
19238
|
"dashboard.importRecord.importExternal": "Import an external file",
|
|
19228
|
-
"dashboard.importRecord.
|
|
19239
|
+
"dashboard.importRecord.importExternal.subtitle": "(link to an XML file)",
|
|
19240
|
+
"dashboard.importRecord.importExternal.title": "External file URL",
|
|
19229
19241
|
"dashboard.labels.catalog": "Catalog",
|
|
19230
19242
|
"dashboard.labels.mySpace": "My space",
|
|
19231
19243
|
"dashboard.records.all": "Datasets",
|
|
@@ -19394,8 +19406,7 @@ var en = {
|
|
|
19394
19406
|
"downloads.format.unknown": "Unknown",
|
|
19395
19407
|
"downloads.wfs.featuretype.not.found": "The layer was not found",
|
|
19396
19408
|
dropFile: dropFile$5,
|
|
19397
|
-
"editor.
|
|
19398
|
-
"editor.form.placeKeywordWithoutExtent": "This keyword is not associated with any geographical extent",
|
|
19409
|
+
"editor.new.record.title": "My dataset",
|
|
19399
19410
|
"editor.record.delete.confirmation.cancelText": "Cancel",
|
|
19400
19411
|
"editor.record.delete.confirmation.confirmText": "Delete",
|
|
19401
19412
|
"editor.record.delete.confirmation.message": "Are you sure you want to delete this dataset?",
|
|
@@ -19420,15 +19431,17 @@ var en = {
|
|
|
19420
19431
|
"editor.record.form.constraint.header.securityConstraints": "Applicable security conditions",
|
|
19421
19432
|
"editor.record.form.constraint.legalConstraints": "Legal constraints",
|
|
19422
19433
|
"editor.record.form.constraint.markdown.placeholder": "Your text here",
|
|
19423
|
-
"editor.record.form.constraint.not.applicable": "No conditions apply
|
|
19424
|
-
"editor.record.form.constraint.not.known": "The conditions are unknown
|
|
19434
|
+
"editor.record.form.constraint.not.applicable": "No conditions apply",
|
|
19435
|
+
"editor.record.form.constraint.not.known": "The conditions are unknown",
|
|
19425
19436
|
"editor.record.form.constraint.otherConstraints": "Other constraints",
|
|
19426
19437
|
"editor.record.form.constraint.securityConstraints": "Security constraints",
|
|
19427
19438
|
"editor.record.form.draft.updateAlert": "Since you created this draft, the dataset has been updated on { date } by { user }. Publishing your draft might erase their edits. To avoid this, you need to either cancel your changes or knowingly publish your own version.",
|
|
19428
19439
|
"editor.record.form.field.abstract": "Abstract",
|
|
19429
19440
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
19430
19441
|
"editor.record.form.field.contacts.noContact": "Please provide at least one point of contact.",
|
|
19442
|
+
"editor.record.form.field.contacts.placeholder": "Choose a contact",
|
|
19431
19443
|
"editor.record.form.field.contactsForResource.noContact": "Please provide at least one point of contact responsible for the data.",
|
|
19444
|
+
"editor.record.form.field.contactsForResource.placeholder": "Choose a contact",
|
|
19432
19445
|
"editor.record.form.field.keywords": "Keywords",
|
|
19433
19446
|
"editor.record.form.field.legalConstraints": "Legal constraint",
|
|
19434
19447
|
"editor.record.form.field.license": "License",
|
|
@@ -19437,12 +19450,12 @@ var en = {
|
|
|
19437
19450
|
"editor.record.form.field.onlineResource.confirm": "Confirm",
|
|
19438
19451
|
"editor.record.form.field.onlineResource.dialogTitle": "Modify the dataset preview",
|
|
19439
19452
|
"editor.record.form.field.onlineResource.edit.description": "Description",
|
|
19440
|
-
"editor.record.form.field.onlineResource.edit.protocol": "Protocol",
|
|
19441
19453
|
"editor.record.form.field.onlineResource.edit.identifier.error": "Unable to retrieve layers from protocol",
|
|
19442
19454
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Layer name",
|
|
19443
19455
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Process name",
|
|
19444
19456
|
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Select a layer",
|
|
19445
19457
|
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link to the service",
|
|
19458
|
+
"editor.record.form.field.onlineResource.edit.protocol": "Protocol",
|
|
19446
19459
|
"editor.record.form.field.onlineResource.edit.title": "Title",
|
|
19447
19460
|
"editor.record.form.field.onlineResource.fileSize": "{sizeMB}MB",
|
|
19448
19461
|
"editor.record.form.field.onlineResource.modify": "Modify",
|
|
@@ -19450,7 +19463,7 @@ var en = {
|
|
|
19450
19463
|
"editor.record.form.field.onlineResource.toggle.service": "Link to a service",
|
|
19451
19464
|
"editor.record.form.field.onlineResources": "Distribution",
|
|
19452
19465
|
"editor.record.form.field.otherConstraints": "Other constraint",
|
|
19453
|
-
"editor.record.form.field.overviews": "
|
|
19466
|
+
"editor.record.form.field.overviews": "Overview",
|
|
19454
19467
|
"editor.record.form.field.recordUpdated": "Record updated",
|
|
19455
19468
|
"editor.record.form.field.resourceCreated": "Dataset created",
|
|
19456
19469
|
"editor.record.form.field.resourceIdentifier": "Identifier",
|
|
@@ -19462,6 +19475,9 @@ var en = {
|
|
|
19462
19475
|
"editor.record.form.field.title.placeholder": "Enter a title",
|
|
19463
19476
|
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
19464
19477
|
"editor.record.form.field.updateFrequency": "Update frequency",
|
|
19478
|
+
"editor.record.form.keywords.place.placeholder": "Search for place keywords",
|
|
19479
|
+
"editor.record.form.keywords.place.withoutExtent": "This keyword is not associated with any geographical extent",
|
|
19480
|
+
"editor.record.form.keywords.placeholder": "Select a keyword",
|
|
19465
19481
|
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
19466
19482
|
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
19467
19483
|
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
@@ -19473,26 +19489,26 @@ var en = {
|
|
|
19473
19489
|
"editor.record.form.license.unknown": "Unknown or absent",
|
|
19474
19490
|
"editor.record.form.page.accessAndContact": "Information for use",
|
|
19475
19491
|
"editor.record.form.page.description": "Dataset description",
|
|
19476
|
-
"editor.record.form.page.
|
|
19477
|
-
"editor.record.form.section.about.description": "This section describes the dataset
|
|
19492
|
+
"editor.record.form.page.resources": "Resources",
|
|
19493
|
+
"editor.record.form.section.about.description": "This section describes the dataset",
|
|
19478
19494
|
"editor.record.form.section.about.label": "About the dataset",
|
|
19479
19495
|
"editor.record.form.section.annexes.description": "Annexes are optional resources. They are attached to the dataset, and help understand the data (manual, etc.).",
|
|
19480
19496
|
"editor.record.form.section.annexes.label": "Annexes",
|
|
19481
|
-
"editor.record.form.section.associatedResources.description": "Point out where the data can be found
|
|
19497
|
+
"editor.record.form.section.associatedResources.description": "Point out where the data can be found",
|
|
19482
19498
|
"editor.record.form.section.associatedResources.label": "Associated resources",
|
|
19483
|
-
"editor.record.form.section.classification.description": "Appropriate keywords help users find the dataset
|
|
19499
|
+
"editor.record.form.section.classification.description": "Appropriate keywords help users find the dataset",
|
|
19484
19500
|
"editor.record.form.section.classification.label": "Keywords",
|
|
19485
|
-
"editor.record.form.section.dataManagers.description": "The data managers are responsible for the data
|
|
19501
|
+
"editor.record.form.section.dataManagers.description": "The data managers are responsible for the data",
|
|
19486
19502
|
"editor.record.form.section.dataManagers.label": "Data managers",
|
|
19487
19503
|
"editor.record.form.section.geographicalCoverage.label": "Geographical coverage",
|
|
19488
|
-
"editor.record.form.section.metadataPointOfContact.description": "This information concerns the metadata
|
|
19504
|
+
"editor.record.form.section.metadataPointOfContact.description": "This information concerns the metadata",
|
|
19489
19505
|
"editor.record.form.section.metadataPointOfContact.label": "Metadata point of contact",
|
|
19490
19506
|
"editor.record.form.section.useAndAccessConditions.label": "Use and access conditions",
|
|
19491
19507
|
"editor.record.form.temporalExtents.addDate": "Time instant",
|
|
19492
19508
|
"editor.record.form.temporalExtents.addRange": "Time period",
|
|
19493
19509
|
"editor.record.form.temporalExtents.date": "Date",
|
|
19494
19510
|
"editor.record.form.temporalExtents.range": "Date range",
|
|
19495
|
-
"editor.record.form.updateFrequency.planned": "This dataset is updated regularly
|
|
19511
|
+
"editor.record.form.updateFrequency.planned": "This dataset is updated regularly",
|
|
19496
19512
|
"editor.record.importFromExternalFile.failure.body": "Failure",
|
|
19497
19513
|
"editor.record.importFromExternalFile.failure.title": "The dataset import failed: ",
|
|
19498
19514
|
"editor.record.importFromExternalFile.success.body": "Import successful",
|
|
@@ -19619,6 +19635,7 @@ var en = {
|
|
|
19619
19635
|
"record.action.delete": "Delete",
|
|
19620
19636
|
"record.action.download": "Download",
|
|
19621
19637
|
"record.action.duplicate": "Duplicate",
|
|
19638
|
+
"record.action.duplicating": "Duplicating...",
|
|
19622
19639
|
"record.action.view": "View",
|
|
19623
19640
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
19624
19641
|
"record.feature.limit": "The resource contains more than {count} features and cannot be displayed here.",
|
|
@@ -19649,6 +19666,8 @@ var en = {
|
|
|
19649
19666
|
"record.metadata.api.form.productTooltip": "",
|
|
19650
19667
|
"record.metadata.api.form.reset": "Reset",
|
|
19651
19668
|
"record.metadata.api.form.resetTooltip": "Reset all filters",
|
|
19669
|
+
"record.metadata.api.form.title": "Generate a custom URL",
|
|
19670
|
+
"record.metadata.api.form.title.gpf": "Download data",
|
|
19652
19671
|
"record.metadata.api.form.type": "Output format",
|
|
19653
19672
|
"record.metadata.api.form.zoneTitle": "Zone",
|
|
19654
19673
|
"record.metadata.api.form.zoneTooltip": "Dropdown for selecting a geographic zone",
|
|
@@ -19717,6 +19736,7 @@ var en = {
|
|
|
19717
19736
|
"record.tab.chart": "Chart",
|
|
19718
19737
|
"record.tab.data": "Table",
|
|
19719
19738
|
"record.tab.map": "Map",
|
|
19739
|
+
"record.was.created.time": "created this dataset {time}",
|
|
19720
19740
|
records: records$5,
|
|
19721
19741
|
"results.layout.selectOne": "Results layout",
|
|
19722
19742
|
"results.records.hits.displayedOn": "{displayed, plural, =0{No dataset.} one{1 } other{{displayed} }} {hits, plural, other{displayed on {hits} total.}}",
|
|
@@ -19826,7 +19846,8 @@ var es = {
|
|
|
19826
19846
|
"dashboard.createRecord": "",
|
|
19827
19847
|
"dashboard.importRecord": "",
|
|
19828
19848
|
"dashboard.importRecord.importExternal": "",
|
|
19829
|
-
"dashboard.importRecord.
|
|
19849
|
+
"dashboard.importRecord.importExternal.subtitle": "",
|
|
19850
|
+
"dashboard.importRecord.importExternal.title": "",
|
|
19830
19851
|
"dashboard.labels.catalog": "Catálogo",
|
|
19831
19852
|
"dashboard.labels.mySpace": "Mi espacio",
|
|
19832
19853
|
"dashboard.records.all": "Catálogo",
|
|
@@ -19995,8 +20016,7 @@ var es = {
|
|
|
19995
20016
|
"downloads.format.unknown": "",
|
|
19996
20017
|
"downloads.wfs.featuretype.not.found": "",
|
|
19997
20018
|
dropFile: dropFile$4,
|
|
19998
|
-
"editor.
|
|
19999
|
-
"editor.form.placeKeywordWithoutExtent": "",
|
|
20019
|
+
"editor.new.record.title": "",
|
|
20000
20020
|
"editor.record.delete.confirmation.cancelText": "",
|
|
20001
20021
|
"editor.record.delete.confirmation.confirmText": "",
|
|
20002
20022
|
"editor.record.delete.confirmation.message": "",
|
|
@@ -20029,7 +20049,9 @@ var es = {
|
|
|
20029
20049
|
"editor.record.form.field.abstract": "",
|
|
20030
20050
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20031
20051
|
"editor.record.form.field.contacts.noContact": "",
|
|
20052
|
+
"editor.record.form.field.contacts.placeholder": "",
|
|
20032
20053
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
20054
|
+
"editor.record.form.field.contactsForResource.placeholder": "",
|
|
20033
20055
|
"editor.record.form.field.keywords": "",
|
|
20034
20056
|
"editor.record.form.field.legalConstraints": "",
|
|
20035
20057
|
"editor.record.form.field.license": "",
|
|
@@ -20038,12 +20060,12 @@ var es = {
|
|
|
20038
20060
|
"editor.record.form.field.onlineResource.confirm": "",
|
|
20039
20061
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
20040
20062
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
20041
|
-
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
20042
20063
|
"editor.record.form.field.onlineResource.edit.identifier.error": "No se pueden recuperar las capas del protocolo",
|
|
20043
20064
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nombre de la capa",
|
|
20044
20065
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nombre del proceso",
|
|
20045
20066
|
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Selecciona una capa",
|
|
20046
20067
|
"editor.record.form.field.onlineResource.edit.identifier.submit": "Enlace al servicio",
|
|
20068
|
+
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
20047
20069
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
20048
20070
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
20049
20071
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -20063,6 +20085,9 @@ var es = {
|
|
|
20063
20085
|
"editor.record.form.field.title.placeholder": "Introduzca un título",
|
|
20064
20086
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
20065
20087
|
"editor.record.form.field.updateFrequency": "",
|
|
20088
|
+
"editor.record.form.keywords.place.placeholder": "",
|
|
20089
|
+
"editor.record.form.keywords.place.withoutExtent": "",
|
|
20090
|
+
"editor.record.form.keywords.placeholder": "",
|
|
20066
20091
|
"editor.record.form.license.cc-by": "",
|
|
20067
20092
|
"editor.record.form.license.cc-by-sa": "",
|
|
20068
20093
|
"editor.record.form.license.cc-zero": "",
|
|
@@ -20074,7 +20099,7 @@ var es = {
|
|
|
20074
20099
|
"editor.record.form.license.unknown": "",
|
|
20075
20100
|
"editor.record.form.page.accessAndContact": "",
|
|
20076
20101
|
"editor.record.form.page.description": "",
|
|
20077
|
-
"editor.record.form.page.
|
|
20102
|
+
"editor.record.form.page.resources": "",
|
|
20078
20103
|
"editor.record.form.section.about.description": "",
|
|
20079
20104
|
"editor.record.form.section.about.label": "",
|
|
20080
20105
|
"editor.record.form.section.annexes.description": "",
|
|
@@ -20220,6 +20245,7 @@ var es = {
|
|
|
20220
20245
|
"record.action.delete": "",
|
|
20221
20246
|
"record.action.download": "",
|
|
20222
20247
|
"record.action.duplicate": "",
|
|
20248
|
+
"record.action.duplicating": "",
|
|
20223
20249
|
"record.action.view": "",
|
|
20224
20250
|
"record.externalViewer.open": "",
|
|
20225
20251
|
"record.feature.limit": "",
|
|
@@ -20250,6 +20276,8 @@ var es = {
|
|
|
20250
20276
|
"record.metadata.api.form.productTooltip": "",
|
|
20251
20277
|
"record.metadata.api.form.reset": "",
|
|
20252
20278
|
"record.metadata.api.form.resetTooltip": "",
|
|
20279
|
+
"record.metadata.api.form.title": "",
|
|
20280
|
+
"record.metadata.api.form.title.gpf": "",
|
|
20253
20281
|
"record.metadata.api.form.type": "",
|
|
20254
20282
|
"record.metadata.api.form.zoneTitle": "",
|
|
20255
20283
|
"record.metadata.api.form.zoneTooltip": "",
|
|
@@ -20318,6 +20346,7 @@ var es = {
|
|
|
20318
20346
|
"record.tab.chart": "",
|
|
20319
20347
|
"record.tab.data": "",
|
|
20320
20348
|
"record.tab.map": "",
|
|
20349
|
+
"record.was.created.time": "",
|
|
20321
20350
|
records: records$4,
|
|
20322
20351
|
"results.layout.selectOne": "",
|
|
20323
20352
|
"results.records.hits.displayedOn": "",
|
|
@@ -20427,7 +20456,8 @@ var fr = {
|
|
|
20427
20456
|
"dashboard.createRecord": "Nouveau jeu de données",
|
|
20428
20457
|
"dashboard.importRecord": "Importer",
|
|
20429
20458
|
"dashboard.importRecord.importExternal": "Importer un jeu de données externe",
|
|
20430
|
-
"dashboard.importRecord.
|
|
20459
|
+
"dashboard.importRecord.importExternal.subtitle": "(lien vers un fichier XML)",
|
|
20460
|
+
"dashboard.importRecord.importExternal.title": "URL du jeu de données externe",
|
|
20431
20461
|
"dashboard.labels.catalog": "Catalogue",
|
|
20432
20462
|
"dashboard.labels.mySpace": "Mon espace",
|
|
20433
20463
|
"dashboard.records.all": "Jeux de données",
|
|
@@ -20596,8 +20626,7 @@ var fr = {
|
|
|
20596
20626
|
"downloads.format.unknown": "inconnu",
|
|
20597
20627
|
"downloads.wfs.featuretype.not.found": "La couche n'a pas été trouvée",
|
|
20598
20628
|
dropFile: dropFile$3,
|
|
20599
|
-
"editor.
|
|
20600
|
-
"editor.form.placeKeywordWithoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
|
|
20629
|
+
"editor.new.record.title": "Mon jeu de données",
|
|
20601
20630
|
"editor.record.delete.confirmation.cancelText": "Annuler",
|
|
20602
20631
|
"editor.record.delete.confirmation.confirmText": "Supprimer",
|
|
20603
20632
|
"editor.record.delete.confirmation.message": "Êtes-vous sûr de vouloir supprimer ce jeu de données ?",
|
|
@@ -20622,15 +20651,17 @@ var fr = {
|
|
|
20622
20651
|
"editor.record.form.constraint.header.securityConstraints": "Conditions applicables de type sécurité",
|
|
20623
20652
|
"editor.record.form.constraint.legalConstraints": "Contraintes légales",
|
|
20624
20653
|
"editor.record.form.constraint.markdown.placeholder": "Votre texte ici",
|
|
20625
|
-
"editor.record.form.constraint.not.applicable": "Aucune condition ne s’applique
|
|
20626
|
-
"editor.record.form.constraint.not.known": "Les conditions sont inconnues
|
|
20654
|
+
"editor.record.form.constraint.not.applicable": "Aucune condition ne s’applique",
|
|
20655
|
+
"editor.record.form.constraint.not.known": "Les conditions sont inconnues",
|
|
20627
20656
|
"editor.record.form.constraint.otherConstraints": "Autres contraintes",
|
|
20628
20657
|
"editor.record.form.constraint.securityConstraints": "Contraintes de sécurité",
|
|
20629
20658
|
"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.",
|
|
20630
20659
|
"editor.record.form.field.abstract": "Résumé",
|
|
20631
20660
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20632
20661
|
"editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
|
|
20662
|
+
"editor.record.form.field.contacts.placeholder": "Choisissez un contact",
|
|
20633
20663
|
"editor.record.form.field.contactsForResource.noContact": "Veuillez renseigner au moins un point de contact responsable de la donnée.",
|
|
20664
|
+
"editor.record.form.field.contactsForResource.placeholder": "Choisissez un contact",
|
|
20634
20665
|
"editor.record.form.field.keywords": "Mots-clés",
|
|
20635
20666
|
"editor.record.form.field.legalConstraints": "Contrainte légale",
|
|
20636
20667
|
"editor.record.form.field.license": "Licence",
|
|
@@ -20639,12 +20670,12 @@ var fr = {
|
|
|
20639
20670
|
"editor.record.form.field.onlineResource.confirm": "Valider",
|
|
20640
20671
|
"editor.record.form.field.onlineResource.dialogTitle": "Modifier l'aperçu du jeu de données",
|
|
20641
20672
|
"editor.record.form.field.onlineResource.edit.description": "Description",
|
|
20642
|
-
"editor.record.form.field.onlineResource.edit.protocol": "Protocole",
|
|
20643
20673
|
"editor.record.form.field.onlineResource.edit.identifier.error": "Impossible de récupérer les couches depuis le protocole",
|
|
20644
20674
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nom de la couche",
|
|
20645
20675
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nom du processus",
|
|
20646
20676
|
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Sélectionner une couche",
|
|
20647
20677
|
"editor.record.form.field.onlineResource.edit.identifier.submit": "Lier le service",
|
|
20678
|
+
"editor.record.form.field.onlineResource.edit.protocol": "Protocole",
|
|
20648
20679
|
"editor.record.form.field.onlineResource.edit.title": "Titre",
|
|
20649
20680
|
"editor.record.form.field.onlineResource.fileSize": "{sizeMB} Mo",
|
|
20650
20681
|
"editor.record.form.field.onlineResource.modify": "Modifier",
|
|
@@ -20652,7 +20683,7 @@ var fr = {
|
|
|
20652
20683
|
"editor.record.form.field.onlineResource.toggle.service": "Lier un service",
|
|
20653
20684
|
"editor.record.form.field.onlineResources": "Distribution",
|
|
20654
20685
|
"editor.record.form.field.otherConstraints": "Contrainte générale",
|
|
20655
|
-
"editor.record.form.field.overviews": "
|
|
20686
|
+
"editor.record.form.field.overviews": "Aperçu",
|
|
20656
20687
|
"editor.record.form.field.recordUpdated": "Date de mise à jour",
|
|
20657
20688
|
"editor.record.form.field.resourceCreated": "Date de création",
|
|
20658
20689
|
"editor.record.form.field.resourceIdentifier": "Identifiant",
|
|
@@ -20664,6 +20695,9 @@ var fr = {
|
|
|
20664
20695
|
"editor.record.form.field.title.placeholder": "Saisir un titre",
|
|
20665
20696
|
"editor.record.form.field.uniqueIdentifier": "Identifiant unique",
|
|
20666
20697
|
"editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
|
|
20698
|
+
"editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
|
|
20699
|
+
"editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
|
|
20700
|
+
"editor.record.form.keywords.placeholder": "Sélectionnez un mot-clé",
|
|
20667
20701
|
"editor.record.form.license.cc-by": "",
|
|
20668
20702
|
"editor.record.form.license.cc-by-sa": "",
|
|
20669
20703
|
"editor.record.form.license.cc-zero": "",
|
|
@@ -20672,29 +20706,29 @@ var fr = {
|
|
|
20672
20706
|
"editor.record.form.license.odbl": "",
|
|
20673
20707
|
"editor.record.form.license.odc-by": "",
|
|
20674
20708
|
"editor.record.form.license.pddl": "",
|
|
20675
|
-
"editor.record.form.license.unknown": "",
|
|
20709
|
+
"editor.record.form.license.unknown": "Inconnue ou absente",
|
|
20676
20710
|
"editor.record.form.page.accessAndContact": "Informations pour l'utilisation",
|
|
20677
20711
|
"editor.record.form.page.description": "Description du jeu de données",
|
|
20678
|
-
"editor.record.form.page.
|
|
20679
|
-
"editor.record.form.section.about.description": "Ces informations concernent le jeu de données
|
|
20712
|
+
"editor.record.form.page.resources": "Ressources",
|
|
20713
|
+
"editor.record.form.section.about.description": "Ces informations concernent le jeu de données",
|
|
20680
20714
|
"editor.record.form.section.about.label": "À propos du jeu de données",
|
|
20681
20715
|
"editor.record.form.section.annexes.description": "Les annexes sont des ressources optionnelles. Elles sont attachées au jeu de données, et aident à mieux comprendre la donnée (notice, etc.).",
|
|
20682
20716
|
"editor.record.form.section.annexes.label": "Annexes",
|
|
20683
|
-
"editor.record.form.section.associatedResources.description": "Indiquez où la donnée se trouve
|
|
20717
|
+
"editor.record.form.section.associatedResources.description": "Indiquez où la donnée se trouve",
|
|
20684
20718
|
"editor.record.form.section.associatedResources.label": "Ressources associées",
|
|
20685
|
-
"editor.record.form.section.classification.description": "Des mots-clés appropriés aident à trouver le jeu de données
|
|
20719
|
+
"editor.record.form.section.classification.description": "Des mots-clés appropriés aident à trouver le jeu de données",
|
|
20686
20720
|
"editor.record.form.section.classification.label": "Mots-clés",
|
|
20687
|
-
"editor.record.form.section.dataManagers.description": "Cette information concerne la donnée
|
|
20721
|
+
"editor.record.form.section.dataManagers.description": "Cette information concerne la donnée",
|
|
20688
20722
|
"editor.record.form.section.dataManagers.label": "Responsables de la donnée",
|
|
20689
20723
|
"editor.record.form.section.geographicalCoverage.label": "Couverture géographique",
|
|
20690
|
-
"editor.record.form.section.metadataPointOfContact.description": "Cette information concerne la métadonnée
|
|
20724
|
+
"editor.record.form.section.metadataPointOfContact.description": "Cette information concerne la métadonnée",
|
|
20691
20725
|
"editor.record.form.section.metadataPointOfContact.label": "Point de contact de la métadonnée",
|
|
20692
20726
|
"editor.record.form.section.useAndAccessConditions.label": "Conditions d'accès et d'utilisation",
|
|
20693
20727
|
"editor.record.form.temporalExtents.addDate": "Date déterminée",
|
|
20694
20728
|
"editor.record.form.temporalExtents.addRange": "Période de temps",
|
|
20695
20729
|
"editor.record.form.temporalExtents.date": "Date concernée",
|
|
20696
20730
|
"editor.record.form.temporalExtents.range": "Période concernée",
|
|
20697
|
-
"editor.record.form.updateFrequency.planned": "Ce jeu de données est mis à jour régulièrement
|
|
20731
|
+
"editor.record.form.updateFrequency.planned": "Ce jeu de données est mis à jour régulièrement",
|
|
20698
20732
|
"editor.record.importFromExternalFile.failure.body": "Une erreur est survenue pendant l'import du jeu de données : ",
|
|
20699
20733
|
"editor.record.importFromExternalFile.failure.title": "Erreur",
|
|
20700
20734
|
"editor.record.importFromExternalFile.success.body": "L'import du jeu de données à été realisé avec succès.",
|
|
@@ -20821,6 +20855,7 @@ var fr = {
|
|
|
20821
20855
|
"record.action.delete": "Supprimer",
|
|
20822
20856
|
"record.action.download": "Télécharger",
|
|
20823
20857
|
"record.action.duplicate": "Dupliquer",
|
|
20858
|
+
"record.action.duplicating": "Duplication...",
|
|
20824
20859
|
"record.action.view": "Voir",
|
|
20825
20860
|
"record.externalViewer.open": "Ouvrir dans le visualiseur externe",
|
|
20826
20861
|
"record.feature.limit": "La ressource contient plus de {count} entités et ne peut pas être affichée ici.",
|
|
@@ -20851,6 +20886,8 @@ var fr = {
|
|
|
20851
20886
|
"record.metadata.api.form.productTooltip": "",
|
|
20852
20887
|
"record.metadata.api.form.reset": "Réinitialiser",
|
|
20853
20888
|
"record.metadata.api.form.resetTooltip": "Réinitialiser tous les filtres",
|
|
20889
|
+
"record.metadata.api.form.title": "Générer une URL personnalisée",
|
|
20890
|
+
"record.metadata.api.form.title.gpf": "Téléchargement de données",
|
|
20854
20891
|
"record.metadata.api.form.type": "Format en sortie",
|
|
20855
20892
|
"record.metadata.api.form.zoneTitle": "Zone",
|
|
20856
20893
|
"record.metadata.api.form.zoneTooltip": "Menu déroulant pour sélectionner une zone géographique",
|
|
@@ -20919,6 +20956,7 @@ var fr = {
|
|
|
20919
20956
|
"record.tab.chart": "Graphique",
|
|
20920
20957
|
"record.tab.data": "Tableau",
|
|
20921
20958
|
"record.tab.map": "Carte",
|
|
20959
|
+
"record.was.created.time": "a créé ce jeu de données {time}",
|
|
20922
20960
|
records: records$3,
|
|
20923
20961
|
"results.layout.selectOne": "Affichage des résultats",
|
|
20924
20962
|
"results.records.hits.displayedOn": "{displayed, plural, =0{Aucun jeu de données} one{1 affiché} other{{displayed} affichés}} {hits, plural, other{sur {hits} au total.}}",
|
|
@@ -21028,7 +21066,8 @@ var it = {
|
|
|
21028
21066
|
"dashboard.createRecord": "Crea un record",
|
|
21029
21067
|
"dashboard.importRecord": "Importare",
|
|
21030
21068
|
"dashboard.importRecord.importExternal": "Importare un dataset esterno",
|
|
21031
|
-
"dashboard.importRecord.
|
|
21069
|
+
"dashboard.importRecord.importExternal.subtitle": "(collegamento a un file XML)",
|
|
21070
|
+
"dashboard.importRecord.importExternal.title": "URL del dataset esterno",
|
|
21032
21071
|
"dashboard.labels.catalog": "Catalogo",
|
|
21033
21072
|
"dashboard.labels.mySpace": "Il mio spazio",
|
|
21034
21073
|
"dashboard.records.all": "Catalogo",
|
|
@@ -21197,8 +21236,7 @@ var it = {
|
|
|
21197
21236
|
"downloads.format.unknown": "sconosciuto",
|
|
21198
21237
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
21199
21238
|
dropFile: dropFile$2,
|
|
21200
|
-
"editor.
|
|
21201
|
-
"editor.form.placeKeywordWithoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
21239
|
+
"editor.new.record.title": "Il mio dataset",
|
|
21202
21240
|
"editor.record.delete.confirmation.cancelText": "Annulla",
|
|
21203
21241
|
"editor.record.delete.confirmation.confirmText": "Elimina",
|
|
21204
21242
|
"editor.record.delete.confirmation.message": "E sicuro di voler eliminare questo dataset?",
|
|
@@ -21208,6 +21246,9 @@ var it = {
|
|
|
21208
21246
|
"editor.record.deleteError.title": "Errore durante l'eliminazione",
|
|
21209
21247
|
"editor.record.deleteSuccess.body": "Il dataset è stato eliminato correttamente",
|
|
21210
21248
|
"editor.record.deleteSuccess.title": "Eliminazione riuscita",
|
|
21249
|
+
"editor.record.error.back": "",
|
|
21250
|
+
"editor.record.error.explanation": "",
|
|
21251
|
+
"editor.record.error.message": "",
|
|
21211
21252
|
"editor.record.form.bottomButtons.comeBackLater": "Ritorna più tardi",
|
|
21212
21253
|
"editor.record.form.bottomButtons.next": "Avanti",
|
|
21213
21254
|
"editor.record.form.bottomButtons.previous": "Precedente",
|
|
@@ -21220,32 +21261,30 @@ var it = {
|
|
|
21220
21261
|
"editor.record.form.constraint.header.securityConstraints": "Condizioni di tipo di sicurezza applicabili",
|
|
21221
21262
|
"editor.record.form.constraint.legalConstraints": "Vincoli legali",
|
|
21222
21263
|
"editor.record.form.constraint.markdown.placeholder": "Il suo testo qui",
|
|
21223
|
-
"editor.record.form.constraint.not.applicable": "Non si applicano condizioni
|
|
21224
|
-
"editor.record.form.constraint.not.known": "Le condizioni sono sconosciute
|
|
21264
|
+
"editor.record.form.constraint.not.applicable": "Non si applicano condizioni",
|
|
21265
|
+
"editor.record.form.constraint.not.known": "Le condizioni sono sconosciute",
|
|
21225
21266
|
"editor.record.form.constraint.otherConstraints": "Altri vincoli",
|
|
21226
21267
|
"editor.record.form.constraint.securityConstraints": "Vincoli di sicurezza",
|
|
21227
21268
|
"editor.record.form.draft.updateAlert": "Da quando è stata creata questa bozza, questo dataset è stato modificato il { date } da { user }. La pubblicazione della sua versione potrebbe rimuovere le loro modifiche. Per evitarlo, puoi annullare le sue modifiche o pubblicare la sua versione consapevolmente.",
|
|
21228
21269
|
"editor.record.form.field.abstract": "Riassunto",
|
|
21229
|
-
"editor.record.error.back": "",
|
|
21230
|
-
"editor.record.error.explanation": "",
|
|
21231
|
-
"editor.record.error.message": "",
|
|
21232
21270
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
21233
21271
|
"editor.record.form.field.contacts.noContact": "Inserisci almeno un punto di contatto.",
|
|
21272
|
+
"editor.record.form.field.contacts.placeholder": "Scegli un contatto",
|
|
21234
21273
|
"editor.record.form.field.contactsForResource.noContact": "Inserisci almeno un punto di contatto responsabile dei dati.",
|
|
21274
|
+
"editor.record.form.field.contactsForResource.placeholder": "Scegli un contatto",
|
|
21235
21275
|
"editor.record.form.field.keywords": "Parole chiave",
|
|
21236
21276
|
"editor.record.form.field.legalConstraints": "Vincolo legale",
|
|
21237
21277
|
"editor.record.form.field.license": "Licenza",
|
|
21238
|
-
"editor.record.form.field.onlineResource.edit.identifier.error": "Impossibile recuperare i livelli dal protocollo",
|
|
21239
|
-
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nome del livello",
|
|
21240
|
-
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nome del processo",
|
|
21241
|
-
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Seleziona un livello",
|
|
21242
|
-
"editor.record.form.field.onlineResource.edit.identifier.submit": "Collegare il servizio",
|
|
21243
|
-
"editor.record.form.field.title.placeholder": "Inserisci un titolo",
|
|
21244
21278
|
"editor.record.form.field.onlineLinkResources": "Risorse allegate",
|
|
21245
21279
|
"editor.record.form.field.onlineResource.cancel": "Annulla",
|
|
21246
21280
|
"editor.record.form.field.onlineResource.confirm": "Convalida",
|
|
21247
21281
|
"editor.record.form.field.onlineResource.dialogTitle": "Modifica anteprima dataset",
|
|
21248
21282
|
"editor.record.form.field.onlineResource.edit.description": "Descrizione",
|
|
21283
|
+
"editor.record.form.field.onlineResource.edit.identifier.error": "Impossibile recuperare i livelli dal protocollo",
|
|
21284
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nome del livello",
|
|
21285
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nome del processo",
|
|
21286
|
+
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Seleziona un livello",
|
|
21287
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Collegare il servizio",
|
|
21249
21288
|
"editor.record.form.field.onlineResource.edit.protocol": "Protocollo",
|
|
21250
21289
|
"editor.record.form.field.onlineResource.edit.title": "Titolo",
|
|
21251
21290
|
"editor.record.form.field.onlineResource.fileSize": "{sizeMB} MB",
|
|
@@ -21254,7 +21293,7 @@ var it = {
|
|
|
21254
21293
|
"editor.record.form.field.onlineResource.toggle.service": "Collega un servizio",
|
|
21255
21294
|
"editor.record.form.field.onlineResources": "Distribuzione",
|
|
21256
21295
|
"editor.record.form.field.otherConstraints": "Vincolo generale",
|
|
21257
|
-
"editor.record.form.field.overviews": "
|
|
21296
|
+
"editor.record.form.field.overviews": "Panoramica",
|
|
21258
21297
|
"editor.record.form.field.recordUpdated": "Data di aggiornamento",
|
|
21259
21298
|
"editor.record.form.field.resourceCreated": "Data di creazione",
|
|
21260
21299
|
"editor.record.form.field.resourceIdentifier": "Identificatore",
|
|
@@ -21263,8 +21302,12 @@ var it = {
|
|
|
21263
21302
|
"editor.record.form.field.spatialExtents": "Estensioni spaziali",
|
|
21264
21303
|
"editor.record.form.field.temporalExtents": "Estensioni temporali",
|
|
21265
21304
|
"editor.record.form.field.title": "Titolo",
|
|
21305
|
+
"editor.record.form.field.title.placeholder": "Inserisci un titolo",
|
|
21266
21306
|
"editor.record.form.field.uniqueIdentifier": "Identificatore univoco",
|
|
21267
21307
|
"editor.record.form.field.updateFrequency": "Frequenza di aggiornamento",
|
|
21308
|
+
"editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
|
|
21309
|
+
"editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
21310
|
+
"editor.record.form.keywords.placeholder": "Seleziona una parola chiave",
|
|
21268
21311
|
"editor.record.form.license.cc-by": "",
|
|
21269
21312
|
"editor.record.form.license.cc-by-sa": "",
|
|
21270
21313
|
"editor.record.form.license.cc-zero": "",
|
|
@@ -21273,29 +21316,29 @@ var it = {
|
|
|
21273
21316
|
"editor.record.form.license.odbl": "",
|
|
21274
21317
|
"editor.record.form.license.odc-by": "",
|
|
21275
21318
|
"editor.record.form.license.pddl": "",
|
|
21276
|
-
"editor.record.form.license.unknown": "",
|
|
21319
|
+
"editor.record.form.license.unknown": "Sconosciuto o assente",
|
|
21277
21320
|
"editor.record.form.page.accessAndContact": "Informazioni per l'uso",
|
|
21278
21321
|
"editor.record.form.page.description": "Descrizione del dataset",
|
|
21279
|
-
"editor.record.form.page.resources": "
|
|
21280
|
-
"editor.record.form.section.about.description": "Queste informazioni riguardano il dataset
|
|
21322
|
+
"editor.record.form.page.resources": "",
|
|
21323
|
+
"editor.record.form.section.about.description": "Queste informazioni riguardano il dataset",
|
|
21281
21324
|
"editor.record.form.section.about.label": "Informazioni sul dataset",
|
|
21282
21325
|
"editor.record.form.section.annexes.description": "Gli allegati sono risorse facoltative. Sono allegati al dataset e aiutano a comprendere meglio i dati (avviso, ecc.).",
|
|
21283
21326
|
"editor.record.form.section.annexes.label": "Allegati",
|
|
21284
|
-
"editor.record.form.section.associatedResources.description": "Indica dove si trovano i dati
|
|
21327
|
+
"editor.record.form.section.associatedResources.description": "Indica dove si trovano i dati",
|
|
21285
21328
|
"editor.record.form.section.associatedResources.label": "Risorse associate",
|
|
21286
|
-
"editor.record.form.section.classification.description": "Parole chiave appropriate aiutano a trovare il dataset
|
|
21329
|
+
"editor.record.form.section.classification.description": "Parole chiave appropriate aiutano a trovare il dataset",
|
|
21287
21330
|
"editor.record.form.section.classification.label": "Parole chiave",
|
|
21288
|
-
"editor.record.form.section.dataManagers.description": "Queste informazioni riguardano i dati
|
|
21331
|
+
"editor.record.form.section.dataManagers.description": "Queste informazioni riguardano i dati",
|
|
21289
21332
|
"editor.record.form.section.dataManagers.label": "Gestori dei dati",
|
|
21290
21333
|
"editor.record.form.section.geographicalCoverage.label": "Copertura geografica",
|
|
21291
|
-
"editor.record.form.section.metadataPointOfContact.description": "Queste informazioni riguardano i metadati
|
|
21334
|
+
"editor.record.form.section.metadataPointOfContact.description": "Queste informazioni riguardano i metadati",
|
|
21292
21335
|
"editor.record.form.section.metadataPointOfContact.label": "Punto di contatto dei metadati",
|
|
21293
21336
|
"editor.record.form.section.useAndAccessConditions.label": "Condizioni di accesso e utilizzo",
|
|
21294
21337
|
"editor.record.form.temporalExtents.addDate": "Data specificata",
|
|
21295
21338
|
"editor.record.form.temporalExtents.addRange": "Periodo di tempo",
|
|
21296
21339
|
"editor.record.form.temporalExtents.date": "Data rilevante",
|
|
21297
21340
|
"editor.record.form.temporalExtents.range": "Periodo interessato",
|
|
21298
|
-
"editor.record.form.updateFrequency.planned": "Questi dati dovrebbero essere aggiornati regolarmente
|
|
21341
|
+
"editor.record.form.updateFrequency.planned": "Questi dati dovrebbero essere aggiornati regolarmente",
|
|
21299
21342
|
"editor.record.importFromExternalFile.failure.body": "Ha successo un'errore durante l'importazione del dataset: ",
|
|
21300
21343
|
"editor.record.importFromExternalFile.failure.title": "Errore",
|
|
21301
21344
|
"editor.record.importFromExternalFile.success.body": "L'importazione del dataset è riuscita.",
|
|
@@ -21303,6 +21346,7 @@ var it = {
|
|
|
21303
21346
|
"editor.record.loadError.body": "Impossibile caricare il dataset:",
|
|
21304
21347
|
"editor.record.loadError.closeMessage": "Capito",
|
|
21305
21348
|
"editor.record.loadError.title": "Errore durante il caricamento",
|
|
21349
|
+
"editor.record.lock.reason": "",
|
|
21306
21350
|
"editor.record.onlineResource.protocol.other": "Altro",
|
|
21307
21351
|
"editor.record.onlineResourceError.body": "Ha successo un'errore durante l'aggiunta della risorsa:",
|
|
21308
21352
|
"editor.record.onlineResourceError.closeMessage": "Capito",
|
|
@@ -21334,9 +21378,6 @@ var it = {
|
|
|
21334
21378
|
"editor.record.undo.tooltip.enabled": "Fare clic su questo pulsante per annullare le modifiche apportate a questo dataset",
|
|
21335
21379
|
"editor.record.upToDate": "Questo dataset è aggiornato",
|
|
21336
21380
|
"editor.sidebar.logout": "Esci",
|
|
21337
|
-
"editor.record.form.page.ressources": "",
|
|
21338
|
-
"editor.record.lock.reason": "",
|
|
21339
|
-
"editor.record.saveStatus.asDraftOnly": "",
|
|
21340
21381
|
"editor.sidebar.menu.editor": "",
|
|
21341
21382
|
"editor.temporary.disabled": "Non ancora implementato",
|
|
21342
21383
|
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
@@ -21424,6 +21465,7 @@ var it = {
|
|
|
21424
21465
|
"record.action.delete": "Elimina",
|
|
21425
21466
|
"record.action.download": "Scarica",
|
|
21426
21467
|
"record.action.duplicate": "Duplicato",
|
|
21468
|
+
"record.action.duplicating": "",
|
|
21427
21469
|
"record.action.view": "Visualizza",
|
|
21428
21470
|
"record.externalViewer.open": "Aprire nel visualizzatore esterno",
|
|
21429
21471
|
"record.feature.limit": "La risorsa contiene più di {count} funzionalità e non può essere visualizzata qui.",
|
|
@@ -21454,6 +21496,8 @@ var it = {
|
|
|
21454
21496
|
"record.metadata.api.form.productTooltip": "",
|
|
21455
21497
|
"record.metadata.api.form.reset": "Reimposta",
|
|
21456
21498
|
"record.metadata.api.form.resetTooltip": "Reimposta tutti i filtri",
|
|
21499
|
+
"record.metadata.api.form.title": "Genera un URL personalizzata",
|
|
21500
|
+
"record.metadata.api.form.title.gpf": "Scarica i dati",
|
|
21457
21501
|
"record.metadata.api.form.type": "Formato di output",
|
|
21458
21502
|
"record.metadata.api.form.zoneTitle": "Zona",
|
|
21459
21503
|
"record.metadata.api.form.zoneTooltip": "Menu a discesa per selezionare una zona geografica",
|
|
@@ -21522,6 +21566,7 @@ var it = {
|
|
|
21522
21566
|
"record.tab.chart": "Grafico",
|
|
21523
21567
|
"record.tab.data": "Tabella",
|
|
21524
21568
|
"record.tab.map": "Mappa",
|
|
21569
|
+
"record.was.created.time": "ha creato questi dati {time}",
|
|
21525
21570
|
records: records$2,
|
|
21526
21571
|
"results.layout.selectOne": "Mostra risultati",
|
|
21527
21572
|
"results.records.hits.displayedOn": "{displayed, plural, =0{Nessun record} one{1 record visualizzato} other{{displayed} records visualizzati}} {hits, plural, other{su {hits} in totale.}}",
|
|
@@ -21631,7 +21676,8 @@ var nl = {
|
|
|
21631
21676
|
"dashboard.createRecord": "",
|
|
21632
21677
|
"dashboard.importRecord": "",
|
|
21633
21678
|
"dashboard.importRecord.importExternal": "",
|
|
21634
|
-
"dashboard.importRecord.
|
|
21679
|
+
"dashboard.importRecord.importExternal.subtitle": "",
|
|
21680
|
+
"dashboard.importRecord.importExternal.title": "",
|
|
21635
21681
|
"dashboard.labels.catalog": "Catalogus",
|
|
21636
21682
|
"dashboard.labels.mySpace": "Mijn ruimte",
|
|
21637
21683
|
"dashboard.records.all": "Catalogus",
|
|
@@ -21800,8 +21846,7 @@ var nl = {
|
|
|
21800
21846
|
"downloads.format.unknown": "",
|
|
21801
21847
|
"downloads.wfs.featuretype.not.found": "",
|
|
21802
21848
|
dropFile: dropFile$1,
|
|
21803
|
-
"editor.
|
|
21804
|
-
"editor.form.placeKeywordWithoutExtent": "",
|
|
21849
|
+
"editor.new.record.title": "",
|
|
21805
21850
|
"editor.record.delete.confirmation.cancelText": "",
|
|
21806
21851
|
"editor.record.delete.confirmation.confirmText": "",
|
|
21807
21852
|
"editor.record.delete.confirmation.message": "",
|
|
@@ -21834,7 +21879,9 @@ var nl = {
|
|
|
21834
21879
|
"editor.record.form.field.abstract": "",
|
|
21835
21880
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
21836
21881
|
"editor.record.form.field.contacts.noContact": "",
|
|
21882
|
+
"editor.record.form.field.contacts.placeholder": "",
|
|
21837
21883
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
21884
|
+
"editor.record.form.field.contactsForResource.placeholder": "",
|
|
21838
21885
|
"editor.record.form.field.keywords": "",
|
|
21839
21886
|
"editor.record.form.field.legalConstraints": "",
|
|
21840
21887
|
"editor.record.form.field.license": "",
|
|
@@ -21843,12 +21890,12 @@ var nl = {
|
|
|
21843
21890
|
"editor.record.form.field.onlineResource.confirm": "",
|
|
21844
21891
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
21845
21892
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
21846
|
-
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
21847
21893
|
"editor.record.form.field.onlineResource.edit.identifier.error": "Kan lagen niet ophalen van het protocol",
|
|
21848
21894
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Laagnaam",
|
|
21849
21895
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Procesnaam",
|
|
21850
21896
|
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Selecteer een laag",
|
|
21851
21897
|
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link naar de dienst",
|
|
21898
|
+
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
21852
21899
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
21853
21900
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
21854
21901
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -21868,6 +21915,9 @@ var nl = {
|
|
|
21868
21915
|
"editor.record.form.field.title.placeholder": "Voer een titel in",
|
|
21869
21916
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
21870
21917
|
"editor.record.form.field.updateFrequency": "",
|
|
21918
|
+
"editor.record.form.keywords.place.placeholder": "",
|
|
21919
|
+
"editor.record.form.keywords.place.withoutExtent": "",
|
|
21920
|
+
"editor.record.form.keywords.placeholder": "",
|
|
21871
21921
|
"editor.record.form.license.cc-by": "",
|
|
21872
21922
|
"editor.record.form.license.cc-by-sa": "",
|
|
21873
21923
|
"editor.record.form.license.cc-zero": "",
|
|
@@ -21879,7 +21929,7 @@ var nl = {
|
|
|
21879
21929
|
"editor.record.form.license.unknown": "",
|
|
21880
21930
|
"editor.record.form.page.accessAndContact": "",
|
|
21881
21931
|
"editor.record.form.page.description": "",
|
|
21882
|
-
"editor.record.form.page.
|
|
21932
|
+
"editor.record.form.page.resources": "",
|
|
21883
21933
|
"editor.record.form.section.about.description": "",
|
|
21884
21934
|
"editor.record.form.section.about.label": "",
|
|
21885
21935
|
"editor.record.form.section.annexes.description": "",
|
|
@@ -22025,6 +22075,7 @@ var nl = {
|
|
|
22025
22075
|
"record.action.delete": "",
|
|
22026
22076
|
"record.action.download": "",
|
|
22027
22077
|
"record.action.duplicate": "",
|
|
22078
|
+
"record.action.duplicating": "",
|
|
22028
22079
|
"record.action.view": "",
|
|
22029
22080
|
"record.externalViewer.open": "",
|
|
22030
22081
|
"record.feature.limit": "",
|
|
@@ -22055,6 +22106,8 @@ var nl = {
|
|
|
22055
22106
|
"record.metadata.api.form.productTooltip": "",
|
|
22056
22107
|
"record.metadata.api.form.reset": "",
|
|
22057
22108
|
"record.metadata.api.form.resetTooltip": "",
|
|
22109
|
+
"record.metadata.api.form.title": "",
|
|
22110
|
+
"record.metadata.api.form.title.gpf": "",
|
|
22058
22111
|
"record.metadata.api.form.type": "",
|
|
22059
22112
|
"record.metadata.api.form.zoneTitle": "",
|
|
22060
22113
|
"record.metadata.api.form.zoneTooltip": "",
|
|
@@ -22123,6 +22176,7 @@ var nl = {
|
|
|
22123
22176
|
"record.tab.chart": "",
|
|
22124
22177
|
"record.tab.data": "",
|
|
22125
22178
|
"record.tab.map": "",
|
|
22179
|
+
"record.was.created.time": "",
|
|
22126
22180
|
records: records$1,
|
|
22127
22181
|
"results.layout.selectOne": "",
|
|
22128
22182
|
"results.records.hits.displayedOn": "",
|
|
@@ -22232,7 +22286,8 @@ var pt = {
|
|
|
22232
22286
|
"dashboard.createRecord": "",
|
|
22233
22287
|
"dashboard.importRecord": "",
|
|
22234
22288
|
"dashboard.importRecord.importExternal": "",
|
|
22235
|
-
"dashboard.importRecord.
|
|
22289
|
+
"dashboard.importRecord.importExternal.subtitle": "",
|
|
22290
|
+
"dashboard.importRecord.importExternal.title": "",
|
|
22236
22291
|
"dashboard.labels.catalog": "Catálogo",
|
|
22237
22292
|
"dashboard.labels.mySpace": "Meu espaço",
|
|
22238
22293
|
"dashboard.records.all": "Catálogo",
|
|
@@ -22401,8 +22456,7 @@ var pt = {
|
|
|
22401
22456
|
"downloads.format.unknown": "",
|
|
22402
22457
|
"downloads.wfs.featuretype.not.found": "",
|
|
22403
22458
|
dropFile: dropFile,
|
|
22404
|
-
"editor.
|
|
22405
|
-
"editor.form.placeKeywordWithoutExtent": "",
|
|
22459
|
+
"editor.new.record.title": "",
|
|
22406
22460
|
"editor.record.delete.confirmation.cancelText": "",
|
|
22407
22461
|
"editor.record.delete.confirmation.confirmText": "",
|
|
22408
22462
|
"editor.record.delete.confirmation.message": "",
|
|
@@ -22435,7 +22489,9 @@ var pt = {
|
|
|
22435
22489
|
"editor.record.form.field.abstract": "",
|
|
22436
22490
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
22437
22491
|
"editor.record.form.field.contacts.noContact": "",
|
|
22492
|
+
"editor.record.form.field.contacts.placeholder": "",
|
|
22438
22493
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
22494
|
+
"editor.record.form.field.contactsForResource.placeholder": "",
|
|
22439
22495
|
"editor.record.form.field.keywords": "",
|
|
22440
22496
|
"editor.record.form.field.legalConstraints": "",
|
|
22441
22497
|
"editor.record.form.field.license": "",
|
|
@@ -22444,12 +22500,12 @@ var pt = {
|
|
|
22444
22500
|
"editor.record.form.field.onlineResource.confirm": "",
|
|
22445
22501
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
22446
22502
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
22447
|
-
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
22448
22503
|
"editor.record.form.field.onlineResource.edit.identifier.error": "Não é possível recuperar camadas do protocolo",
|
|
22449
22504
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nome da camada",
|
|
22450
22505
|
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nome do processo",
|
|
22451
22506
|
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Selecione uma camada",
|
|
22452
22507
|
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link para o serviço",
|
|
22508
|
+
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
22453
22509
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
22454
22510
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
22455
22511
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -22469,6 +22525,9 @@ var pt = {
|
|
|
22469
22525
|
"editor.record.form.field.title.placeholder": "Insira um título",
|
|
22470
22526
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
22471
22527
|
"editor.record.form.field.updateFrequency": "",
|
|
22528
|
+
"editor.record.form.keywords.place.placeholder": "",
|
|
22529
|
+
"editor.record.form.keywords.place.withoutExtent": "",
|
|
22530
|
+
"editor.record.form.keywords.placeholder": "",
|
|
22472
22531
|
"editor.record.form.license.cc-by": "",
|
|
22473
22532
|
"editor.record.form.license.cc-by-sa": "",
|
|
22474
22533
|
"editor.record.form.license.cc-zero": "",
|
|
@@ -22480,7 +22539,7 @@ var pt = {
|
|
|
22480
22539
|
"editor.record.form.license.unknown": "",
|
|
22481
22540
|
"editor.record.form.page.accessAndContact": "",
|
|
22482
22541
|
"editor.record.form.page.description": "",
|
|
22483
|
-
"editor.record.form.page.
|
|
22542
|
+
"editor.record.form.page.resources": "",
|
|
22484
22543
|
"editor.record.form.section.about.description": "",
|
|
22485
22544
|
"editor.record.form.section.about.label": "",
|
|
22486
22545
|
"editor.record.form.section.annexes.description": "",
|
|
@@ -22626,6 +22685,7 @@ var pt = {
|
|
|
22626
22685
|
"record.action.delete": "",
|
|
22627
22686
|
"record.action.download": "",
|
|
22628
22687
|
"record.action.duplicate": "",
|
|
22688
|
+
"record.action.duplicating": "",
|
|
22629
22689
|
"record.action.view": "",
|
|
22630
22690
|
"record.externalViewer.open": "",
|
|
22631
22691
|
"record.feature.limit": "",
|
|
@@ -22656,6 +22716,8 @@ var pt = {
|
|
|
22656
22716
|
"record.metadata.api.form.productTooltip": "",
|
|
22657
22717
|
"record.metadata.api.form.reset": "",
|
|
22658
22718
|
"record.metadata.api.form.resetTooltip": "",
|
|
22719
|
+
"record.metadata.api.form.title": "",
|
|
22720
|
+
"record.metadata.api.form.title.gpf": "",
|
|
22659
22721
|
"record.metadata.api.form.type": "",
|
|
22660
22722
|
"record.metadata.api.form.zoneTitle": "",
|
|
22661
22723
|
"record.metadata.api.form.zoneTooltip": "",
|
|
@@ -22724,6 +22786,7 @@ var pt = {
|
|
|
22724
22786
|
"record.tab.chart": "",
|
|
22725
22787
|
"record.tab.data": "",
|
|
22726
22788
|
"record.tab.map": "",
|
|
22789
|
+
"record.was.created.time": "",
|
|
22727
22790
|
records: records,
|
|
22728
22791
|
"results.layout.selectOne": "",
|
|
22729
22792
|
"results.records.hits.displayedOn": "",
|
|
@@ -25281,21 +25344,18 @@ async function getLayers(url, serviceProtocol) {
|
|
|
25281
25344
|
return layers;
|
|
25282
25345
|
}
|
|
25283
25346
|
case 'wfs': {
|
|
25284
|
-
const endpointWfs = new WfsEndpoint(url);
|
|
25285
|
-
await endpointWfs.isReady();
|
|
25347
|
+
const endpointWfs = await new WfsEndpoint(url).isReady();
|
|
25286
25348
|
return endpointWfs.getFeatureTypes();
|
|
25287
25349
|
}
|
|
25288
25350
|
case 'wms': {
|
|
25289
|
-
const endpointWms = new WmsEndpoint(url);
|
|
25290
|
-
await endpointWms.isReady();
|
|
25351
|
+
const endpointWms = await new WmsEndpoint(url).isReady();
|
|
25291
25352
|
return endpointWms
|
|
25292
25353
|
.getLayers()
|
|
25293
25354
|
.flatMap(wmsLayerFlatten)
|
|
25294
25355
|
.filter((l) => l.name);
|
|
25295
25356
|
}
|
|
25296
25357
|
case 'wmts': {
|
|
25297
|
-
const endpointWmts = new WmtsEndpoint(url);
|
|
25298
|
-
await endpointWmts.isReady();
|
|
25358
|
+
const endpointWmts = await new WmtsEndpoint(url).isReady();
|
|
25299
25359
|
return endpointWmts.getLayers();
|
|
25300
25360
|
}
|
|
25301
25361
|
default:
|
|
@@ -27501,6 +27561,11 @@ class UrlInputComponent {
|
|
|
27501
27561
|
this.uploadClick = new EventEmitter();
|
|
27502
27562
|
this.inputValue = '';
|
|
27503
27563
|
}
|
|
27564
|
+
ngOnChanges(changes) {
|
|
27565
|
+
if (changes['value']) {
|
|
27566
|
+
this.inputValue = changes['value'].currentValue;
|
|
27567
|
+
}
|
|
27568
|
+
}
|
|
27504
27569
|
handleInput(event) {
|
|
27505
27570
|
const value = event.target.value;
|
|
27506
27571
|
this.inputValue = value;
|
|
@@ -27532,7 +27597,7 @@ class UrlInputComponent {
|
|
|
27532
27597
|
provideNgIconsConfig({
|
|
27533
27598
|
size: '1.5em',
|
|
27534
27599
|
}),
|
|
27535
|
-
], ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <input\n #input\n class=\"gn-ui-text-input gn-ui-url-input px-[var(--text-padding)]\"\n [ngClass]=\"extraClass\"\n type=\"url\"\n [value]=\"inputValue\"\n (input)=\"handleInput($event)\"\n (keydown.enter)=\"handleUpload(input)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n />\n <div\n class=\"absolute inset-y-[var(--side-padding)] left-[var(--2x-side-padding)] grid justify-center items-center pointer-events-none\"\n [ngClass]=\"{\n 'text-primary': !disabled,\n 'text-primary-lightest': disabled,\n }\"\n >\n <ng-icon name=\"iconoirLink\"></ng-icon>\n </div>\n <gn-ui-button\n *ngIf=\"showValidateButton\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n type=\"primary\"\n [disabled]=\"disabled || input.value === '' || !isValidUrl(input.value)\"\n (buttonClick)=\"handleUpload(input)\"\n >\n <ng-content>\n <ng-icon name=\"iconoirArrowUp\"></ng-icon>\n </ng-content>\n </gn-ui-button>\n</span>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6rem) - 6px);--2x-side-padding: calc(var(--side-padding) * 2);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27600
|
+
], usesOnChanges: true, ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <input\n #input\n class=\"gn-ui-text-input gn-ui-url-input px-[var(--text-padding)]\"\n [ngClass]=\"extraClass\"\n type=\"url\"\n [value]=\"inputValue\"\n (input)=\"handleInput($event)\"\n (keydown.enter)=\"handleUpload(input)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n />\n <div\n class=\"absolute inset-y-[var(--side-padding)] left-[var(--2x-side-padding)] grid justify-center items-center pointer-events-none\"\n [ngClass]=\"{\n 'text-primary': !disabled,\n 'text-primary-lightest': disabled,\n }\"\n >\n <ng-icon name=\"iconoirLink\"></ng-icon>\n </div>\n <gn-ui-button\n *ngIf=\"showValidateButton\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n type=\"primary\"\n [disabled]=\"disabled || input.value === '' || !isValidUrl(input.value)\"\n (buttonClick)=\"handleUpload(input)\"\n >\n <ng-content>\n <ng-icon name=\"iconoirArrowUp\"></ng-icon>\n </ng-content>\n </gn-ui-button>\n</span>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6rem) - 6px);--2x-side-padding: calc(var(--side-padding) * 2);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27536
27601
|
}
|
|
27537
27602
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UrlInputComponent, decorators: [{
|
|
27538
27603
|
type: Component,
|
|
@@ -28833,6 +28898,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28833
28898
|
type: Input
|
|
28834
28899
|
}] } });
|
|
28835
28900
|
|
|
28901
|
+
marker('record.was.created.time');
|
|
28836
28902
|
class RecordPreviewFeedComponent extends RecordPreviewComponent {
|
|
28837
28903
|
constructor(elementRef, translate) {
|
|
28838
28904
|
super(elementRef);
|
|
@@ -30343,7 +30409,7 @@ class ActionMenuComponent {
|
|
|
30343
30409
|
this.cdr.markForCheck();
|
|
30344
30410
|
}
|
|
30345
30411
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, deps: [{ token: i1$a.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30346
|
-
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
|
|
30412
|
+
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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.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: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30347
30413
|
}
|
|
30348
30414
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionMenuComponent, decorators: [{
|
|
30349
30415
|
type: Component,
|
|
@@ -30354,7 +30420,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30354
30420
|
MatDialogModule,
|
|
30355
30421
|
ConfirmationDialogComponent,
|
|
30356
30422
|
TranslateModule,
|
|
30357
|
-
], 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
|
|
30423
|
+
], 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" }]
|
|
30358
30424
|
}], ctorParameters: () => [{ type: i1$a.MatDialog }, { type: i0.ChangeDetectorRef }], propDecorators: { canDuplicate: [{
|
|
30359
30425
|
type: Input
|
|
30360
30426
|
}], canDelete: [{
|
|
@@ -30382,6 +30448,7 @@ class ResultsTableComponent {
|
|
|
30382
30448
|
this.canDuplicate = () => true;
|
|
30383
30449
|
this.canDelete = () => true;
|
|
30384
30450
|
this.isDraftPage = false;
|
|
30451
|
+
this.isDuplicating = false;
|
|
30385
30452
|
// emits the column (field) as well as the order
|
|
30386
30453
|
this.sortByChange = new EventEmitter();
|
|
30387
30454
|
this.recordClick = new EventEmitter();
|
|
@@ -30489,7 +30556,7 @@ class ResultsTableComponent {
|
|
|
30489
30556
|
this.recordsSelectedChange.emit([[record], selected]);
|
|
30490
30557
|
}
|
|
30491
30558
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, deps: [{ token: i1$8.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30492
|
-
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" }, 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]=\"'
|
|
30559
|
+
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$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.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: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.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"] }] }); }
|
|
30493
30560
|
}
|
|
30494
30561
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
30495
30562
|
type: Component,
|
|
@@ -30503,7 +30570,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30503
30570
|
ActionMenuComponent,
|
|
30504
30571
|
NgIconComponent,
|
|
30505
30572
|
CdkOverlayOrigin,
|
|
30506
|
-
], 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]=\"'
|
|
30573
|
+
], 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" }]
|
|
30507
30574
|
}], ctorParameters: () => [{ type: i1$8.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], propDecorators: { records: [{
|
|
30508
30575
|
type: Input
|
|
30509
30576
|
}], selectedRecordsIdentifiers: [{
|
|
@@ -30518,6 +30585,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30518
30585
|
type: Input
|
|
30519
30586
|
}], isDraftPage: [{
|
|
30520
30587
|
type: Input
|
|
30588
|
+
}], isDuplicating: [{
|
|
30589
|
+
type: Input
|
|
30521
30590
|
}], sortByChange: [{
|
|
30522
30591
|
type: Output
|
|
30523
30592
|
}], recordClick: [{
|
|
@@ -32736,15 +32805,17 @@ class ResultsTableContainerComponent {
|
|
|
32736
32805
|
this.subscription.unsubscribe();
|
|
32737
32806
|
}
|
|
32738
32807
|
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: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32739
|
-
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" }, 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 (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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "hasDraft", "canDuplicate", "canDelete", "isDraftPage"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "deleteRecord", "recordsSelectedChange"] }] }); }
|
|
32808
|
+
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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.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"] }] }); }
|
|
32740
32809
|
}
|
|
32741
32810
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
32742
32811
|
type: Component,
|
|
32743
|
-
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], 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 (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" }]
|
|
32812
|
+
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], 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" }]
|
|
32744
32813
|
}], ctorParameters: () => [{ type: SearchFacade }, { type: SearchService }, { type: SelectionService }, { type: RecordsRepositoryInterface }, { type: NotificationsService }, { type: i2.TranslateService }], propDecorators: { canDuplicate: [{
|
|
32745
32814
|
type: Input
|
|
32746
32815
|
}], canDelete: [{
|
|
32747
32816
|
type: Input
|
|
32817
|
+
}], isDuplicating: [{
|
|
32818
|
+
type: Input
|
|
32748
32819
|
}], recordClick: [{
|
|
32749
32820
|
type: Output
|
|
32750
32821
|
}], duplicateRecord: [{
|
|
@@ -35058,6 +35129,7 @@ const SupportedTypes = [
|
|
|
35058
35129
|
'geojson',
|
|
35059
35130
|
'excel',
|
|
35060
35131
|
'gml',
|
|
35132
|
+
'wfs',
|
|
35061
35133
|
];
|
|
35062
35134
|
const AllMimeTypes = {
|
|
35063
35135
|
csv: CsvMimeTypes,
|
|
@@ -35071,7 +35143,8 @@ function parseHeaders(httpHeaders) {
|
|
|
35071
35143
|
const result = {};
|
|
35072
35144
|
if (httpHeaders.has('Content-Type')) {
|
|
35073
35145
|
result.mimeType = httpHeaders.get('Content-Type').split(';')[0];
|
|
35074
|
-
const supported = SupportedTypes.filter((type) =>
|
|
35146
|
+
const supported = SupportedTypes.filter((type) => type !== 'wfs') // Ignore wfs type as it is not a file type
|
|
35147
|
+
.filter((type) => AllMimeTypes[type].indexOf(result.mimeType) > -1)[0] || null;
|
|
35075
35148
|
if (supported !== null)
|
|
35076
35149
|
result.supportedType = supported;
|
|
35077
35150
|
}
|
|
@@ -35604,6 +35677,80 @@ class GmlReader extends BaseFileReader {
|
|
|
35604
35677
|
}
|
|
35605
35678
|
}
|
|
35606
35679
|
|
|
35680
|
+
class WfsReader extends BaseReader {
|
|
35681
|
+
constructor(url, wfsEndpoint, featureTypeName) {
|
|
35682
|
+
super(url);
|
|
35683
|
+
this.endpoint = wfsEndpoint;
|
|
35684
|
+
this.featureTypeName = featureTypeName;
|
|
35685
|
+
this.version = this.endpoint.getVersion();
|
|
35686
|
+
}
|
|
35687
|
+
get properties() {
|
|
35688
|
+
return this.getData().then((result) => result.properties);
|
|
35689
|
+
}
|
|
35690
|
+
get info() {
|
|
35691
|
+
return this.endpoint.getFeatureTypeFull(this.featureTypeName).then((result) => ({
|
|
35692
|
+
itemsCount: result.objectCount,
|
|
35693
|
+
}));
|
|
35694
|
+
}
|
|
35695
|
+
static async createReader(wfsUrlEndpoint, featureTypeName) {
|
|
35696
|
+
const wfsEndpoint = await new WfsEndpoint(wfsUrlEndpoint).isReady();
|
|
35697
|
+
const featureTypes = wfsEndpoint.getFeatureTypes();
|
|
35698
|
+
const featureType = wfsEndpoint.getFeatureTypeSummary(featureTypes.length === 1 && !featureTypeName
|
|
35699
|
+
? featureTypes[0].name
|
|
35700
|
+
: featureTypeName);
|
|
35701
|
+
if (!featureType) {
|
|
35702
|
+
throw new Error('wfs.featuretype.notfound');
|
|
35703
|
+
}
|
|
35704
|
+
if (wfsEndpoint.supportsStartIndex()) {
|
|
35705
|
+
return new WfsReader(wfsUrlEndpoint, wfsEndpoint, featureType.name);
|
|
35706
|
+
}
|
|
35707
|
+
else if (wfsEndpoint.supportsJson(featureType.name)) {
|
|
35708
|
+
return new GeojsonReader(wfsEndpoint.getFeatureUrl(featureType.name, {
|
|
35709
|
+
asJson: true,
|
|
35710
|
+
outputCrs: 'EPSG:4326',
|
|
35711
|
+
}));
|
|
35712
|
+
}
|
|
35713
|
+
else {
|
|
35714
|
+
if (featureType.outputFormats.find((f) => f.toLowerCase().includes('gml')) &&
|
|
35715
|
+
(featureType.defaultCrs === 'EPSG:4326' ||
|
|
35716
|
+
featureType.otherCrs?.includes('EPSG:4326'))) {
|
|
35717
|
+
return new GmlReader(wfsEndpoint.getFeatureUrl(featureType.name, {
|
|
35718
|
+
outputFormat: featureType.outputFormats.find((f) => f.toLowerCase().includes('gml')),
|
|
35719
|
+
outputCrs: 'EPSG:4326',
|
|
35720
|
+
}), featureType.name, wfsEndpoint.getVersion());
|
|
35721
|
+
}
|
|
35722
|
+
throw new Error('wfs.geojsongml.notsupported');
|
|
35723
|
+
}
|
|
35724
|
+
}
|
|
35725
|
+
getData() {
|
|
35726
|
+
const asJson = this.endpoint.supportsJson(this.featureTypeName);
|
|
35727
|
+
let url = this.endpoint.getFeatureUrl(this.featureTypeName, {
|
|
35728
|
+
...(this.startIndex !== null && { startIndex: this.startIndex }),
|
|
35729
|
+
...(this.count !== null && { maxFeatures: this.count }),
|
|
35730
|
+
asJson,
|
|
35731
|
+
outputCrs: 'EPSG:4326',
|
|
35732
|
+
// sortBy: this.sort // TODO: no sort in ogc-client?
|
|
35733
|
+
});
|
|
35734
|
+
if (Array.isArray(this.sort) && this.sort.length > 0) {
|
|
35735
|
+
const finalUrl = new URL(url);
|
|
35736
|
+
const sorts = this.sort
|
|
35737
|
+
.map((fieldSort) => `${fieldSort[1]}+${fieldSort[0] === 'asc' ? 'A' : 'D'}`)
|
|
35738
|
+
.join(',');
|
|
35739
|
+
// Direct update on string url to prevent encoding of +A and +D
|
|
35740
|
+
url = `${url}${finalUrl.search ? '&' : ''}SORTBY=${sorts}`;
|
|
35741
|
+
}
|
|
35742
|
+
return fetchDataAsText(url).then((text) => asJson
|
|
35743
|
+
? parseGeojson(text)
|
|
35744
|
+
: parseGml(text, this.featureTypeName, this.version));
|
|
35745
|
+
}
|
|
35746
|
+
load() {
|
|
35747
|
+
// Nothing to load for Wfs
|
|
35748
|
+
}
|
|
35749
|
+
async read() {
|
|
35750
|
+
return (await this.getData()).items;
|
|
35751
|
+
}
|
|
35752
|
+
}
|
|
35753
|
+
|
|
35607
35754
|
async function openDataset(url, typeHint, options) {
|
|
35608
35755
|
const fileType = await inferDatasetType(url, typeHint);
|
|
35609
35756
|
let reader;
|
|
@@ -35624,6 +35771,9 @@ async function openDataset(url, typeHint, options) {
|
|
|
35624
35771
|
case 'gml':
|
|
35625
35772
|
reader = new GmlReader(url, options.namespace, options.wfsVersion);
|
|
35626
35773
|
break;
|
|
35774
|
+
case 'wfs':
|
|
35775
|
+
reader = await WfsReader.createReader(url, options.wfsFeatureType);
|
|
35776
|
+
break;
|
|
35627
35777
|
}
|
|
35628
35778
|
reader.load();
|
|
35629
35779
|
return reader;
|
|
@@ -35801,19 +35951,9 @@ class DataService {
|
|
|
35801
35951
|
}
|
|
35802
35952
|
getDataset(link) {
|
|
35803
35953
|
if (link.type === 'service' && link.accessServiceProtocol === 'wfs') {
|
|
35804
|
-
|
|
35805
|
-
|
|
35806
|
-
|
|
35807
|
-
if (urls.gml)
|
|
35808
|
-
return openDataset(urls.gml.featureUrl, 'gml', {
|
|
35809
|
-
namespace: urls.gml.namespace,
|
|
35810
|
-
wfsVersion: urls.gml.wfsVersion,
|
|
35811
|
-
});
|
|
35812
|
-
return null;
|
|
35813
|
-
}), tap$1((url) => {
|
|
35814
|
-
if (url === null) {
|
|
35815
|
-
throw new Error('wfs.geojsongml.notsupported');
|
|
35816
|
-
}
|
|
35954
|
+
const wfsUrlEndpoint = this.proxy.getProxiedUrl(link.url.toString());
|
|
35955
|
+
return from(openDataset(wfsUrlEndpoint, 'wfs', {
|
|
35956
|
+
wfsFeatureType: link.name,
|
|
35817
35957
|
}));
|
|
35818
35958
|
}
|
|
35819
35959
|
else if (link.type === 'download') {
|
|
@@ -37263,6 +37403,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37263
37403
|
class DataViewComponent {
|
|
37264
37404
|
constructor(mdViewFacade) {
|
|
37265
37405
|
this.mdViewFacade = mdViewFacade;
|
|
37406
|
+
this.displaySource = true;
|
|
37266
37407
|
this.chartConfig$ = new BehaviorSubject(null);
|
|
37267
37408
|
this.compatibleDataLinks$ = combineLatest([
|
|
37268
37409
|
this.mdViewFacade.dataLinks$,
|
|
@@ -37291,7 +37432,7 @@ class DataViewComponent {
|
|
|
37291
37432
|
this.selectedLink$.next(link);
|
|
37292
37433
|
}
|
|
37293
37434
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, deps: [{ token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37294
|
-
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" }, 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 [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-[420px]\">\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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.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: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37435
|
+
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-[420px]\">\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$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.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: i2.TranslatePipe, name: "translate" }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37295
37436
|
}
|
|
37296
37437
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, decorators: [{
|
|
37297
37438
|
type: Component,
|
|
@@ -37301,9 +37442,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37301
37442
|
TableViewComponent,
|
|
37302
37443
|
TranslateModule,
|
|
37303
37444
|
ChartViewComponent,
|
|
37304
|
-
], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\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-[420px]\">\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" }]
|
|
37445
|
+
], 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-[420px]\">\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" }]
|
|
37305
37446
|
}], ctorParameters: () => [{ type: MdViewFacade }], propDecorators: { mode: [{
|
|
37306
37447
|
type: Input
|
|
37448
|
+
}], displaySource: [{
|
|
37449
|
+
type: Input
|
|
37307
37450
|
}], chartConfig$: [{
|
|
37308
37451
|
type: Output
|
|
37309
37452
|
}] } });
|
|
@@ -37394,7 +37537,7 @@ class DataViewShareComponent {
|
|
|
37394
37537
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
37395
37538
|
}
|
|
37396
37539
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewShareComponent, deps: [{ token: WEB_COMPONENT_EMBEDDER_URL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37397
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewShareComponent, isStandalone: true, selector: "gn-ui-data-view-share", inputs: {
|
|
37540
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewShareComponent, isStandalone: true, selector: "gn-ui-data-view-share", inputs: { viewType: "viewType" }, ngImport: i0, template: "<div class=\"px-5 my-1\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink\n [viewType]=\"viewType\"\n ></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component\n [viewType]=\"viewType\"\n ></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2$4.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2$4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i2$4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: DataViewPermalinkComponent, selector: "gn-ui-data-view-permalink", inputs: ["viewType"] }, { kind: "component", type: DataViewWebComponentComponent, selector: "gn-ui-data-view-web-component", inputs: ["viewType"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37398
37541
|
}
|
|
37399
37542
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewShareComponent, decorators: [{
|
|
37400
37543
|
type: Component,
|
|
@@ -37404,15 +37547,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37404
37547
|
DataViewPermalinkComponent,
|
|
37405
37548
|
DataViewWebComponentComponent,
|
|
37406
37549
|
TranslateModule,
|
|
37407
|
-
], standalone: true, template: "<div class=\"px-5 my-1\"
|
|
37550
|
+
], standalone: true, template: "<div class=\"px-5 my-1\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink\n [viewType]=\"viewType\"\n ></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component\n [viewType]=\"viewType\"\n ></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"] }]
|
|
37408
37551
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
37409
37552
|
type: Optional
|
|
37410
37553
|
}, {
|
|
37411
37554
|
type: Inject,
|
|
37412
37555
|
args: [WEB_COMPONENT_EMBEDDER_URL]
|
|
37413
|
-
}] }], propDecorators: {
|
|
37414
|
-
type: Input
|
|
37415
|
-
}], viewType: [{
|
|
37556
|
+
}] }], propDecorators: { viewType: [{
|
|
37416
37557
|
type: Input
|
|
37417
37558
|
}] } });
|
|
37418
37559
|
|
|
@@ -37494,6 +37635,7 @@ class MapViewComponent {
|
|
|
37494
37635
|
this.mapUtils = mapUtils;
|
|
37495
37636
|
this.dataService = dataService;
|
|
37496
37637
|
this.changeRef = changeRef;
|
|
37638
|
+
this.displaySource = true;
|
|
37497
37639
|
this.excludeWfs$ = new BehaviorSubject(false);
|
|
37498
37640
|
this.showLegend = true;
|
|
37499
37641
|
this.legendExists = false;
|
|
@@ -37604,7 +37746,7 @@ class MapViewComponent {
|
|
|
37604
37746
|
this.selectedLinkIndex$.next(link);
|
|
37605
37747
|
}
|
|
37606
37748
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, deps: [{ token: MdViewFacade }, { token: MapUtilsService }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37607
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { excludeWfs: "excludeWfs" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37749
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { excludeWfs: "excludeWfs", displaySource: "displaySource" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37608
37750
|
}
|
|
37609
37751
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, decorators: [{
|
|
37610
37752
|
type: Component,
|
|
@@ -37620,9 +37762,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37620
37762
|
ExternalViewerButtonComponent,
|
|
37621
37763
|
ButtonComponent,
|
|
37622
37764
|
MapLegendComponent,
|
|
37623
|
-
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
37765
|
+
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
37624
37766
|
}], ctorParameters: () => [{ type: MdViewFacade }, { type: MapUtilsService }, { type: DataService }, { type: i0.ChangeDetectorRef }], propDecorators: { excludeWfs: [{
|
|
37625
37767
|
type: Input
|
|
37768
|
+
}], displaySource: [{
|
|
37769
|
+
type: Input
|
|
37626
37770
|
}], mapContainer: [{
|
|
37627
37771
|
type: ViewChild,
|
|
37628
37772
|
args: ['mapContainer']
|
|
@@ -37926,6 +38070,8 @@ const RECORD_KEYWORDS_FIELD = {
|
|
|
37926
38070
|
model: 'keywords',
|
|
37927
38071
|
formFieldConfig: {},
|
|
37928
38072
|
};
|
|
38073
|
+
// keeping track of the label to not lose existing translation
|
|
38074
|
+
marker('editor.record.form.field.keywords');
|
|
37929
38075
|
const RECORD_RESOURCE_CREATED_FIELD = {
|
|
37930
38076
|
model: 'resourceCreated',
|
|
37931
38077
|
formFieldConfig: {
|
|
@@ -38006,16 +38152,22 @@ const RECORD_SPATIAL_EXTENTS_FIELD = {
|
|
|
38006
38152
|
model: 'spatialExtents',
|
|
38007
38153
|
formFieldConfig: {},
|
|
38008
38154
|
};
|
|
38155
|
+
// keeping track of the label to not lose existing translation
|
|
38156
|
+
marker('editor.record.form.field.spatialExtents');
|
|
38009
38157
|
const RECORD_ONLINE_RESOURCES = {
|
|
38010
38158
|
model: 'onlineResources',
|
|
38011
38159
|
modelSpecifier: 'onlineResourceType:!link',
|
|
38012
38160
|
formFieldConfig: {},
|
|
38013
38161
|
};
|
|
38162
|
+
// keeping track of the label to not lose existing translation
|
|
38163
|
+
marker('editor.record.form.field.onlineResources');
|
|
38014
38164
|
const RECORD_ONLINE_LINK_RESOURCES = {
|
|
38015
38165
|
model: 'onlineResources',
|
|
38016
38166
|
modelSpecifier: 'onlineResourceType:link',
|
|
38017
38167
|
formFieldConfig: {},
|
|
38018
38168
|
};
|
|
38169
|
+
// keeping track of the label to not lose existing translation
|
|
38170
|
+
marker('editor.record.form.field.onlineLinkResources');
|
|
38019
38171
|
/************************************************************
|
|
38020
38172
|
*************** SECTIONS *****************
|
|
38021
38173
|
************************************************************
|
|
@@ -38104,7 +38256,7 @@ const DEFAULT_CONFIGURATION = {
|
|
|
38104
38256
|
],
|
|
38105
38257
|
},
|
|
38106
38258
|
{
|
|
38107
|
-
labelKey: marker('editor.record.form.page.
|
|
38259
|
+
labelKey: marker('editor.record.form.page.resources'),
|
|
38108
38260
|
sections: [ASSOCIATED_RESOURCES_SECTION, ANNEXES_SECTION],
|
|
38109
38261
|
},
|
|
38110
38262
|
{
|
|
@@ -38877,7 +39029,6 @@ class ImportRecordComponent {
|
|
|
38877
39029
|
];
|
|
38878
39030
|
this.isRecordImportInProgress = false;
|
|
38879
39031
|
this.sectionDisplayed = 'mainMenu';
|
|
38880
|
-
this.externalImportBackLabel = this.translateService.instant('dashboard.importRecord.importExternalLabel');
|
|
38881
39032
|
}
|
|
38882
39033
|
displayMainMenu() {
|
|
38883
39034
|
this.sectionDisplayed = 'mainMenu';
|
|
@@ -38924,7 +39075,7 @@ class ImportRecordComponent {
|
|
|
38924
39075
|
provideNgIconsConfig({
|
|
38925
39076
|
size: '1.5em',
|
|
38926
39077
|
}),
|
|
38927
|
-
], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\">
|
|
39078
|
+
], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\" translate\n >dashboard.importRecord.importExternal.title</span\n >\n <span translate>dashboard.importRecord.importExternal.subtitle</span>\n </div>\n <gn-ui-url-input\n (uploadClick)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.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 }); }
|
|
38928
39079
|
}
|
|
38929
39080
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImportRecordComponent, decorators: [{
|
|
38930
39081
|
type: Component,
|
|
@@ -38944,7 +39095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38944
39095
|
provideNgIconsConfig({
|
|
38945
39096
|
size: '1.5em',
|
|
38946
39097
|
}),
|
|
38947
|
-
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\">
|
|
39098
|
+
], template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\" translate\n >dashboard.importRecord.importExternal.title</span\n >\n <span translate>dashboard.importRecord.importExternal.subtitle</span>\n </div>\n <gn-ui-url-input\n (uploadClick)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n" }]
|
|
38948
39099
|
}], ctorParameters: () => [{ type: i1$e.Router }, { type: i2.TranslateService }, { type: i0.ChangeDetectorRef }, { type: NotificationsService }, { type: RecordsRepositoryInterface }], propDecorators: { closeImportMenu: [{
|
|
38949
39100
|
type: Output
|
|
38950
39101
|
}] } });
|
|
@@ -38990,7 +39141,7 @@ class GenericKeywordsComponent {
|
|
|
38990
39141
|
provideIcons({
|
|
38991
39142
|
matWarningAmberOutline,
|
|
38992
39143
|
}),
|
|
38993
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.form.
|
|
39144
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.record.form.keywords.place.withoutExtent' | translate\"\n class=\"badge-warning\"\n name=\"matWarningAmberOutline\"\n ></ng-icon>\n </gn-ui-badge>\n </div>\n</div>\n", styles: [".badge-warning{font-size:1.4em}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38994
39145
|
}
|
|
38995
39146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericKeywordsComponent, decorators: [{
|
|
38996
39147
|
type: Component,
|
|
@@ -39006,7 +39157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39006
39157
|
provideIcons({
|
|
39007
39158
|
matWarningAmberOutline,
|
|
39008
39159
|
}),
|
|
39009
|
-
], template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.form.
|
|
39160
|
+
], template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.record.form.keywords.place.withoutExtent' | translate\"\n class=\"badge-warning\"\n name=\"matWarningAmberOutline\"\n ></ng-icon>\n </gn-ui-badge>\n </div>\n</div>\n", styles: [".badge-warning{font-size:1.4em}\n"] }]
|
|
39010
39161
|
}], ctorParameters: () => [{ type: PlatformServiceInterface }], propDecorators: { keywords: [{
|
|
39011
39162
|
type: Input
|
|
39012
39163
|
}], keywordTypes: [{
|
|
@@ -39042,7 +39193,7 @@ class FormFieldKeywordsComponent {
|
|
|
39042
39193
|
this.valueChange.emit(allKeywords);
|
|
39043
39194
|
}
|
|
39044
39195
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldKeywordsComponent, deps: [{ token: EditorFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39045
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldKeywordsComponent, isStandalone: true, selector: "gn-ui-form-field-keywords", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [keywords]=\"filteredKeywords\"\n [keywordTypes]=\"keywordTypes\"\n [placeholder]=\"'editor.form.keywords.placeholder' | translate\"\n (changedKeywords)=\"handleKeywordsChange($event)\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-generic-keywords>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: GenericKeywordsComponent, selector: "gn-ui-generic-keywords", inputs: ["keywords", "keywordTypes", "placeholder", "allowSubmit"], outputs: ["changedKeywords", "addedKeyword", "deletedKeyword"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39196
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldKeywordsComponent, isStandalone: true, selector: "gn-ui-form-field-keywords", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [keywords]=\"filteredKeywords\"\n [keywordTypes]=\"keywordTypes\"\n [placeholder]=\"'editor.record.form.keywords.placeholder' | translate\"\n (changedKeywords)=\"handleKeywordsChange($event)\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-generic-keywords>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: GenericKeywordsComponent, selector: "gn-ui-generic-keywords", inputs: ["keywords", "keywordTypes", "placeholder", "allowSubmit"], outputs: ["changedKeywords", "addedKeyword", "deletedKeyword"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39046
39197
|
}
|
|
39047
39198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldKeywordsComponent, decorators: [{
|
|
39048
39199
|
type: Component,
|
|
@@ -39054,7 +39205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39054
39205
|
AutocompleteComponent,
|
|
39055
39206
|
GenericKeywordsComponent,
|
|
39056
39207
|
TranslateModule,
|
|
39057
|
-
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [keywords]=\"filteredKeywords\"\n [keywordTypes]=\"keywordTypes\"\n [placeholder]=\"'editor.form.keywords.placeholder' | translate\"\n (changedKeywords)=\"handleKeywordsChange($event)\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-generic-keywords>\n</div>\n" }]
|
|
39208
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [keywords]=\"filteredKeywords\"\n [keywordTypes]=\"keywordTypes\"\n [placeholder]=\"'editor.record.form.keywords.placeholder' | translate\"\n (changedKeywords)=\"handleKeywordsChange($event)\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-generic-keywords>\n</div>\n" }]
|
|
39058
39209
|
}], ctorParameters: () => [{ type: EditorFacade }], propDecorators: { value: [{
|
|
39059
39210
|
type: Input
|
|
39060
39211
|
}], valueChange: [{
|
|
@@ -39474,7 +39625,7 @@ class FormFieldSpatialExtentComponent {
|
|
|
39474
39625
|
this.editorFacade.updateRecordField('spatialExtents', spatialExtents);
|
|
39475
39626
|
}
|
|
39476
39627
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldSpatialExtentComponent, deps: [{ token: PlatformServiceInterface }, { token: EditorFacade }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39477
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldSpatialExtentComponent, isStandalone: true, selector: "gn-ui-form-field-spatial-extent", ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'
|
|
39628
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldSpatialExtentComponent, isStandalone: true, selector: "gn-ui-form-field-spatial-extent", ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'editor.record.form.keywords.place.placeholder' | translate\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-form-field-map-container\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-form-field-map-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "component", type: GenericKeywordsComponent, selector: "gn-ui-generic-keywords", inputs: ["keywords", "keywordTypes", "placeholder", "allowSubmit"], outputs: ["changedKeywords", "addedKeyword", "deletedKeyword"] }, { kind: "component", type: FormFieldMapContainerComponent, selector: "gn-ui-form-field-map-container", inputs: ["spatialExtents"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39478
39629
|
}
|
|
39479
39630
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldSpatialExtentComponent, decorators: [{
|
|
39480
39631
|
type: Component,
|
|
@@ -39482,16 +39633,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39482
39633
|
CommonModule,
|
|
39483
39634
|
GenericKeywordsComponent,
|
|
39484
39635
|
FormFieldMapContainerComponent,
|
|
39485
|
-
|
|
39636
|
+
TranslateModule,
|
|
39637
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'editor.record.form.keywords.place.placeholder' | translate\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-form-field-map-container\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-form-field-map-container>\n </div>\n</div>\n" }]
|
|
39486
39638
|
}], ctorParameters: () => [{ type: PlatformServiceInterface }, { type: EditorFacade }, { type: i2.TranslateService }] });
|
|
39487
39639
|
|
|
39488
39640
|
class ContactCardComponent {
|
|
39489
39641
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39490
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContactCardComponent, isStandalone: true, selector: "gn-ui-contact-card", inputs: { contact: "contact" }, ngImport: i0, template: "<div class=\"gn-ui-card\">\n <gn-ui-thumbnail\n class=\"w-[56px] h-[56px] rounded-[4px] overflow-hidden shrink-0\"\n [thumbnailUrl]=\"contact.organization?.logoUrl?.href\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-col w-full overflow-hidden leading-snug\">\n <div class=\"text-[16px] font-bold text-main\" data-test=\"contactCardName\">\n {{ contact.firstName }} {{ contact.lastName }}\n </div>\n <div class=\"text-[14px] text-gray-900\" data-test=\"contactCardEmail\">\n {{ contact.email }}\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39642
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContactCardComponent, isStandalone: true, selector: "gn-ui-contact-card", inputs: { contact: "contact" }, ngImport: i0, template: "<div class=\"gn-ui-card\">\n <gn-ui-thumbnail\n class=\"w-[56px] h-[56px] rounded-[4px] overflow-hidden shrink-0\"\n [thumbnailUrl]=\"contact.organization?.logoUrl?.href\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-col w-full overflow-hidden leading-snug justify-center\">\n <div class=\"text-[16px] font-bold text-main\" data-test=\"contactCardName\">\n {{ contact.firstName }} {{ contact.lastName }}\n </div>\n <div class=\"text-[14px] text-gray-900\" data-test=\"contactCardEmail\">\n {{ contact.email }}\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39491
39643
|
}
|
|
39492
39644
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactCardComponent, decorators: [{
|
|
39493
39645
|
type: Component,
|
|
39494
|
-
args: [{ selector: 'gn-ui-contact-card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ButtonComponent, ThumbnailComponent], template: "<div class=\"gn-ui-card\">\n <gn-ui-thumbnail\n class=\"w-[56px] h-[56px] rounded-[4px] overflow-hidden shrink-0\"\n [thumbnailUrl]=\"contact.organization?.logoUrl?.href\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-col w-full overflow-hidden leading-snug\">\n <div class=\"text-[16px] font-bold text-main\" data-test=\"contactCardName\">\n {{ contact.firstName }} {{ contact.lastName }}\n </div>\n <div class=\"text-[14px] text-gray-900\" data-test=\"contactCardEmail\">\n {{ contact.email }}\n </div>\n </div>\n</div>\n" }]
|
|
39646
|
+
args: [{ selector: 'gn-ui-contact-card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ButtonComponent, ThumbnailComponent], template: "<div class=\"gn-ui-card\">\n <gn-ui-thumbnail\n class=\"w-[56px] h-[56px] rounded-[4px] overflow-hidden shrink-0\"\n [thumbnailUrl]=\"contact.organization?.logoUrl?.href\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-col w-full overflow-hidden leading-snug justify-center\">\n <div class=\"text-[16px] font-bold text-main\" data-test=\"contactCardName\">\n {{ contact.firstName }} {{ contact.lastName }}\n </div>\n <div class=\"text-[14px] text-gray-900\" data-test=\"contactCardEmail\">\n {{ contact.email }}\n </div>\n </div>\n</div>\n" }]
|
|
39495
39647
|
}], propDecorators: { contact: [{
|
|
39496
39648
|
type: Input
|
|
39497
39649
|
}] } });
|
|
@@ -39606,7 +39758,7 @@ class FormFieldContactsForResourceComponent {
|
|
|
39606
39758
|
provideNgIconsConfig({
|
|
39607
39759
|
size: '1.5rem',
|
|
39608
39760
|
}),
|
|
39609
|
-
], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n [placeholder]=\"'
|
|
39761
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39610
39762
|
}
|
|
39611
39763
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsForResourceComponent, decorators: [{
|
|
39612
39764
|
type: Component,
|
|
@@ -39625,7 +39777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39625
39777
|
provideNgIconsConfig({
|
|
39626
39778
|
size: '1.5rem',
|
|
39627
39779
|
}),
|
|
39628
|
-
], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n [placeholder]=\"'
|
|
39780
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-row flex-wrap gap-2\" data-test=\"rolesToPick\">\n <ng-container *ngFor=\"let role of rolesToPick\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"addRoleToDisplay(role)\">\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon>\n \n <span translate>{{ roleToLabel(role) }}</span>\n </gn-ui-button>\n </ng-container>\n </div>\n <div\n class=\"mt-8\"\n *ngIf=\"\n roleSectionsToDisplay && roleSectionsToDisplay.length > 0;\n else noContact\n \"\n data-test=\"displayedRoles\"\n >\n <div\n *ngFor=\"\n let role of roleSectionsToDisplay;\n let index = index;\n let isLast = last\n \"\n class=\"flex flex-col gap-4\"\n >\n <div class=\"flex flex-row justify-between\">\n <span class=\"font-bold text-base\" translate>{{\n roleToLabel(role)\n }}</span>\n </div>\n\n <gn-ui-autocomplete\n [placeholder]=\"\n 'editor.record.form.field.contactsForResource.placeholder' | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event, role)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n [allowSubmit]=\"false\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contactsForRessourceByRole.get(role) as contacts\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event, role)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n\n <hr class=\"border-t-[#D6D3D1] mt-4 mb-6\" *ngIf=\"!isLast\" />\n </div>\n </div>\n <ng-template #noContact>\n <div\n class=\"p-4 border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contactsForResource.noContact\n </div>\n </ng-template>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
39629
39781
|
}], ctorParameters: () => [{ type: PlatformServiceInterface }, { type: OrganizationsServiceInterface }], propDecorators: { value: [{
|
|
39630
39782
|
type: Input
|
|
39631
39783
|
}], valueChange: [{
|
|
@@ -39704,7 +39856,7 @@ class FormFieldContactsComponent {
|
|
|
39704
39856
|
this.subscription.unsubscribe();
|
|
39705
39857
|
}
|
|
39706
39858
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, deps: [{ token: PlatformServiceInterface }, { token: OrganizationsServiceInterface }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39707
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldContactsComponent, isStandalone: true, selector: "gn-ui-form-field-contacts", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'
|
|
39859
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldContactsComponent, isStandalone: true, selector: "gn-ui-form-field-contacts", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'editor.record.form.field.contacts.placeholder' | translate\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 text-sm border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ContactCardComponent, selector: "gn-ui-contact-card", inputs: ["contact"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39708
39860
|
}
|
|
39709
39861
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldContactsComponent, decorators: [{
|
|
39710
39862
|
type: Component,
|
|
@@ -39717,7 +39869,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39717
39869
|
TranslateModule,
|
|
39718
39870
|
ContactCardComponent,
|
|
39719
39871
|
SortableListComponent,
|
|
39720
|
-
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'
|
|
39872
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-autocomplete\n [placeholder]=\"'editor.record.form.field.contacts.placeholder' | translate\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"addContact($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n >\n </gn-ui-autocomplete>\n\n <ng-container *ngIf=\"contacts.length > 0; else noContact\">\n <ng-container *ngIf=\"contacts.length === 1\">\n <ng-container *ngFor=\"let contact of contacts; let index = index\">\n <gn-ui-contact-card\n [contact]=\"contact\"\n ></gn-ui-contact-card> </ng-container\n ></ng-container>\n\n <ng-container *ngIf=\"contacts.length > 1\">\n <gn-ui-sortable-list\n [items]=\"contacts\"\n (itemsOrderChange)=\"handleContactsChanged($event)\"\n [elementTemplate]=\"contactTemplate\"\n ></gn-ui-sortable-list>\n <ng-template #contactTemplate let-contact>\n <gn-ui-contact-card [contact]=\"contact\"></gn-ui-contact-card>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #noContact>\n <div\n class=\"p-4 text-sm border border-primary bg-primary-lightest rounded-lg\"\n translate\n >\n editor.record.form.field.contacts.noContact\n </div>\n</ng-template>\n" }]
|
|
39721
39873
|
}], ctorParameters: () => [{ type: PlatformServiceInterface }, { type: OrganizationsServiceInterface }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
|
|
39722
39874
|
type: Input
|
|
39723
39875
|
}], valueChange: [{
|
|
@@ -39733,8 +39885,8 @@ class OnlineResourceCardComponent {
|
|
|
39733
39885
|
case 'link':
|
|
39734
39886
|
case 'service':
|
|
39735
39887
|
case 'download':
|
|
39736
|
-
return (this.onlineResource.
|
|
39737
|
-
this.onlineResource.
|
|
39888
|
+
return (this.onlineResource.description ||
|
|
39889
|
+
this.onlineResource.name ||
|
|
39738
39890
|
'(unknown)');
|
|
39739
39891
|
case 'endpoint':
|
|
39740
39892
|
return this.onlineResource.description;
|
|
@@ -39909,7 +40061,7 @@ class FormFieldOnlineLinkResourcesComponent {
|
|
|
39909
40061
|
});
|
|
39910
40062
|
}
|
|
39911
40063
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineLinkResourcesComponent, deps: [{ token: NotificationsService }, { token: i2.TranslateService }, { token: PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: i1$a.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39912
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineLinkResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-link-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [
|
|
40064
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineLinkResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-link-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FileInputComponent, selector: "gn-ui-file-input", inputs: ["maxSizeMB", "uploadProgress", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: OnlineResourceCardComponent, selector: "gn-ui-online-resource-card", inputs: ["onlineResource"], outputs: ["modifyClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39913
40065
|
}
|
|
39914
40066
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineLinkResourcesComponent, decorators: [{
|
|
39915
40067
|
type: Component,
|
|
@@ -39922,7 +40074,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39922
40074
|
TextAreaComponent,
|
|
39923
40075
|
UrlInputComponent,
|
|
39924
40076
|
TranslateModule,
|
|
39925
|
-
], template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [
|
|
40077
|
+
], template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n" }]
|
|
39926
40078
|
}], ctorParameters: () => [{ type: NotificationsService }, { type: i2.TranslateService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: i1$a.MatDialog }], propDecorators: { metadataUuid: [{
|
|
39927
40079
|
type: Input
|
|
39928
40080
|
}], value: [{
|
|
@@ -39934,15 +40086,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39934
40086
|
args: ['dialogTemplate']
|
|
39935
40087
|
}] } });
|
|
39936
40088
|
|
|
40089
|
+
marker('editor.record.form.field.onlineResource.edit.identifier.placeholder');
|
|
40090
|
+
marker('editor.record.form.field.onlineResource.edit.identifier.placeholder.wps');
|
|
39937
40091
|
class OnlineServiceResourceInputComponent {
|
|
40092
|
+
set service(service) {
|
|
40093
|
+
this._service = { ...service };
|
|
40094
|
+
}
|
|
39938
40095
|
constructor(cdr) {
|
|
39939
40096
|
this.cdr = cdr;
|
|
39940
40097
|
this.disabled = false;
|
|
39941
40098
|
this.modifyMode = false;
|
|
39942
|
-
this.
|
|
39943
|
-
this.identifierSubmit = new EventEmitter();
|
|
40099
|
+
this.serviceChange = new EventEmitter();
|
|
39944
40100
|
this.errorMessage = false;
|
|
39945
|
-
this.
|
|
40101
|
+
this.layersSubject = new BehaviorSubject([]);
|
|
40102
|
+
this.layers$ = this.layersSubject.asObservable();
|
|
39946
40103
|
this.protocolOptions = [
|
|
39947
40104
|
{
|
|
39948
40105
|
label: 'OGC API',
|
|
@@ -39973,77 +40130,87 @@ class OnlineServiceResourceInputComponent {
|
|
|
39973
40130
|
value: 'other',
|
|
39974
40131
|
},
|
|
39975
40132
|
];
|
|
40133
|
+
/**
|
|
40134
|
+
* gn-ui-autocomplete
|
|
40135
|
+
*/
|
|
40136
|
+
this.autoCompleteAction = (query) => {
|
|
40137
|
+
const fuzzyFilter = createFuzzyFilter(query);
|
|
40138
|
+
return this.layers$.pipe(switchMap((layers) => [
|
|
40139
|
+
layers.filter((layer) => fuzzyFilter(layer.name)),
|
|
40140
|
+
]), debounceTime$1(100), distinctUntilChanged$1());
|
|
40141
|
+
};
|
|
39976
40142
|
}
|
|
39977
40143
|
get activeLayerSuggestion() {
|
|
39978
|
-
return !['wps', 'GPFDL', 'esriRest', 'other'].includes(this.
|
|
39979
|
-
}
|
|
39980
|
-
ngOnChanges() {
|
|
39981
|
-
this.selectedProtocol =
|
|
39982
|
-
this.protocolOptions.find((option) => option.value === this.service.accessServiceProtocol)?.value ?? 'other';
|
|
39983
|
-
}
|
|
39984
|
-
ngOnInit() {
|
|
39985
|
-
if (this.service.url) {
|
|
39986
|
-
this.url = this.service.url.toString();
|
|
39987
|
-
}
|
|
40144
|
+
return !['wps', 'GPFDL', 'esriRest', 'other'].includes(this._service.accessServiceProtocol);
|
|
39988
40145
|
}
|
|
39989
40146
|
handleUrlValueChange(url) {
|
|
39990
|
-
this.url = url;
|
|
39991
|
-
this.service.url = new URL(url);
|
|
40147
|
+
this._service.url = url ? new URL(url) : undefined;
|
|
39992
40148
|
this.resetLayersSuggestion();
|
|
39993
|
-
this.urlChange.emit(this.url);
|
|
39994
40149
|
}
|
|
39995
40150
|
async handleUploadClick(url) {
|
|
39996
|
-
this.url = url;
|
|
39997
40151
|
try {
|
|
39998
|
-
const layers = await getLayers(url, this.
|
|
39999
|
-
|
|
40000
|
-
return {
|
|
40001
|
-
label: l.title ? `${l.title} ${l.name ? `(${l.name})` : ''}` : l.name,
|
|
40002
|
-
value: l.name || l.title,
|
|
40003
|
-
};
|
|
40004
|
-
});
|
|
40005
|
-
if (this.layers.length === 0) {
|
|
40152
|
+
const layers = await getLayers(url, this._service.accessServiceProtocol);
|
|
40153
|
+
if (layers.length === 0) {
|
|
40006
40154
|
throw new Error('No layers found');
|
|
40007
40155
|
}
|
|
40156
|
+
this.layersSubject.next([...layers]);
|
|
40008
40157
|
}
|
|
40009
40158
|
catch (e) {
|
|
40010
40159
|
this.errorMessage = true;
|
|
40011
|
-
this.
|
|
40160
|
+
this.layersSubject.next([]);
|
|
40012
40161
|
}
|
|
40013
40162
|
this.cdr.detectChanges();
|
|
40014
40163
|
}
|
|
40015
|
-
|
|
40016
|
-
this.
|
|
40164
|
+
resetAllFormFields() {
|
|
40165
|
+
this._service.url = null;
|
|
40166
|
+
this.resetLayersSuggestion();
|
|
40017
40167
|
}
|
|
40018
40168
|
resetLayersSuggestion() {
|
|
40019
40169
|
this.errorMessage = false;
|
|
40020
|
-
this.
|
|
40021
|
-
this.
|
|
40170
|
+
this.layersSubject.next([]);
|
|
40171
|
+
this._service.identifierInService = null;
|
|
40022
40172
|
}
|
|
40023
|
-
|
|
40024
|
-
|
|
40025
|
-
|
|
40026
|
-
|
|
40027
|
-
|
|
40173
|
+
submit() {
|
|
40174
|
+
this.serviceChange.emit({
|
|
40175
|
+
...this._service,
|
|
40176
|
+
name: this._service.identifierInService, // should we keep the identifierInService? read-write duplicate with name
|
|
40177
|
+
});
|
|
40178
|
+
this._service.accessServiceProtocol = 'ogcFeatures';
|
|
40179
|
+
this.resetAllFormFields();
|
|
40028
40180
|
}
|
|
40029
40181
|
getIdentifierPlaceholder() {
|
|
40030
40182
|
const baseKey = 'editor.record.form.field.onlineResource.edit.identifier.placeholder';
|
|
40031
|
-
return this.
|
|
40183
|
+
return this._service.accessServiceProtocol === 'wps'
|
|
40032
40184
|
? `${baseKey}.wps`
|
|
40033
40185
|
: baseKey;
|
|
40034
40186
|
}
|
|
40187
|
+
/**
|
|
40188
|
+
* gn-ui-autocomplete
|
|
40189
|
+
*/
|
|
40190
|
+
displayWithFn(item) {
|
|
40191
|
+
return item.title
|
|
40192
|
+
? `${item.title} ${item.name ? `(${item.name})` : ''}`
|
|
40193
|
+
: item.name;
|
|
40194
|
+
}
|
|
40195
|
+
/**
|
|
40196
|
+
* gn-ui-autocomplete
|
|
40197
|
+
*/
|
|
40198
|
+
handleSelectValue(val) {
|
|
40199
|
+
this._service.identifierInService = val.name; // should we keep the identifierInService? read-write duplicate with name
|
|
40200
|
+
this._service.description = val.title;
|
|
40201
|
+
}
|
|
40035
40202
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40036
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnlineServiceResourceInputComponent, isStandalone: true, selector: "gn-ui-online-service-resource-input", inputs: { service: "service", protocolHint: "protocolHint", disabled: "disabled", modifyMode: "modifyMode" }, outputs: {
|
|
40037
|
-
provideIcons({
|
|
40203
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnlineServiceResourceInputComponent, isStandalone: true, selector: "gn-ui-online-service-resource-input", inputs: { service: "service", protocolHint: "protocolHint", disabled: "disabled", modifyMode: "modifyMode" }, outputs: { serviceChange: "serviceChange" }, providers: [
|
|
40204
|
+
provideIcons({ iconoirRefresh }),
|
|
40038
40205
|
provideNgIconsConfig({
|
|
40039
40206
|
size: '1.5em',
|
|
40040
40207
|
}),
|
|
40041
|
-
],
|
|
40208
|
+
], ngImport: i0, template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"_service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n (change)=\"resetAllFormFields()\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (uploadClick)=\"handleUploadClick($event)\"\n (valueChange)=\"handleUrlValueChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"_service.url?.toString()\"\n [showValidateButton]=\"activeLayerSuggestion\"\n >\n <ng-content *ngIf=\"activeLayerSuggestion\">\n <ng-icon name=\"iconoirRefresh\"></ng-icon>\n </ng-content>\n </gn-ui-url-input>\n\n <p class=\"text-sm text-red-500 pl-4\" *ngIf=\"errorMessage\" translate>\n editor.record.form.field.onlineResource.edit.identifier.error\n </p>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"_service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n *ngIf=\"\n !activeLayerSuggestion ||\n (_service.url && errorMessage) ||\n (modifyMode && (layers$ | async).length === 0)\n \"\n ></gn-ui-text-input>\n <gn-ui-autocomplete\n class=\"border-b border-gray-300 pb-4\"\n [placeholder]=\"\n 'editor.record.form.field.onlineResource.edit.identifier.select.label'\n | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleSelectValue($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"0\"\n [clearOnSelection]=\"false\"\n *ngIf=\"activeLayerSuggestion && (layers$ | async)?.length > 0\"\n >\n </gn-ui-autocomplete>\n <gn-ui-button\n (buttonClick)=\"submit()\"\n [disabled]=\"disabled || !_service.identifierInService\"\n type=\"primary\"\n *ngIf=\"\n !modifyMode &&\n ((activeLayerSuggestion && (layers$ | async)) ||\n !activeLayerSuggestion ||\n (_service.url && errorMessage))\n \"\n >\n <span class=\"text-white font-bold\" translate>\n editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i4$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40042
40209
|
}
|
|
40043
40210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, decorators: [{
|
|
40044
40211
|
type: Component,
|
|
40045
40212
|
args: [{ selector: 'gn-ui-online-service-resource-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
40046
|
-
|
|
40213
|
+
AutocompleteComponent,
|
|
40047
40214
|
ButtonComponent,
|
|
40048
40215
|
CommonModule,
|
|
40049
40216
|
FormsModule,
|
|
@@ -40054,11 +40221,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40054
40221
|
TranslateModule,
|
|
40055
40222
|
UrlInputComponent,
|
|
40056
40223
|
], providers: [
|
|
40057
|
-
provideIcons({
|
|
40224
|
+
provideIcons({ iconoirRefresh }),
|
|
40058
40225
|
provideNgIconsConfig({
|
|
40059
40226
|
size: '1.5em',
|
|
40060
40227
|
}),
|
|
40061
|
-
], template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"
|
|
40228
|
+
], template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"_service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n (change)=\"resetAllFormFields()\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (uploadClick)=\"handleUploadClick($event)\"\n (valueChange)=\"handleUrlValueChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"_service.url?.toString()\"\n [showValidateButton]=\"activeLayerSuggestion\"\n >\n <ng-content *ngIf=\"activeLayerSuggestion\">\n <ng-icon name=\"iconoirRefresh\"></ng-icon>\n </ng-content>\n </gn-ui-url-input>\n\n <p class=\"text-sm text-red-500 pl-4\" *ngIf=\"errorMessage\" translate>\n editor.record.form.field.onlineResource.edit.identifier.error\n </p>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"_service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n *ngIf=\"\n !activeLayerSuggestion ||\n (_service.url && errorMessage) ||\n (modifyMode && (layers$ | async).length === 0)\n \"\n ></gn-ui-text-input>\n <gn-ui-autocomplete\n class=\"border-b border-gray-300 pb-4\"\n [placeholder]=\"\n 'editor.record.form.field.onlineResource.edit.identifier.select.label'\n | translate\n \"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleSelectValue($event)\"\n [displayWithFn]=\"displayWithFn\"\n [minCharacterCount]=\"0\"\n [clearOnSelection]=\"false\"\n *ngIf=\"activeLayerSuggestion && (layers$ | async)?.length > 0\"\n >\n </gn-ui-autocomplete>\n <gn-ui-button\n (buttonClick)=\"submit()\"\n [disabled]=\"disabled || !_service.identifierInService\"\n type=\"primary\"\n *ngIf=\"\n !modifyMode &&\n ((activeLayerSuggestion && (layers$ | async)) ||\n !activeLayerSuggestion ||\n (_service.url && errorMessage))\n \"\n >\n <span class=\"text-white font-bold\" translate>\n editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n" }]
|
|
40062
40229
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { service: [{
|
|
40063
40230
|
type: Input
|
|
40064
40231
|
}], protocolHint: [{
|
|
@@ -40067,9 +40234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40067
40234
|
type: Input
|
|
40068
40235
|
}], modifyMode: [{
|
|
40069
40236
|
type: Input
|
|
40070
|
-
}],
|
|
40071
|
-
type: Output
|
|
40072
|
-
}], identifierSubmit: [{
|
|
40237
|
+
}], serviceChange: [{
|
|
40073
40238
|
type: Output
|
|
40074
40239
|
}] } });
|
|
40075
40240
|
|
|
@@ -40158,28 +40323,8 @@ class FormFieldOnlineResourcesComponent {
|
|
|
40158
40323
|
this.handleError(e);
|
|
40159
40324
|
}
|
|
40160
40325
|
}
|
|
40161
|
-
|
|
40162
|
-
this.valueChange.emit([
|
|
40163
|
-
...this.allResources,
|
|
40164
|
-
{
|
|
40165
|
-
...this.newService,
|
|
40166
|
-
url: new URL(url),
|
|
40167
|
-
},
|
|
40168
|
-
]);
|
|
40169
|
-
}
|
|
40170
|
-
handleIdentifierSubmit(payload) {
|
|
40171
|
-
this.valueChange.emit([
|
|
40172
|
-
...this.allResources,
|
|
40173
|
-
{
|
|
40174
|
-
...this.newService,
|
|
40175
|
-
url: new URL(payload.url),
|
|
40176
|
-
},
|
|
40177
|
-
]);
|
|
40178
|
-
}
|
|
40179
|
-
handleServiceModify(oldService, newService) {
|
|
40180
|
-
oldService.accessServiceProtocol = newService.accessServiceProtocol;
|
|
40181
|
-
oldService.identifierInService = newService.identifierInService;
|
|
40182
|
-
oldService.url = newService.url;
|
|
40326
|
+
handleServiceChange(service) {
|
|
40327
|
+
this.valueChange.emit([...this.allResources, service]);
|
|
40183
40328
|
}
|
|
40184
40329
|
handleResourcesChange(items) {
|
|
40185
40330
|
const notLinks = items;
|
|
@@ -40229,7 +40374,7 @@ class FormFieldOnlineResourcesComponent {
|
|
|
40229
40374
|
});
|
|
40230
40375
|
}
|
|
40231
40376
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineResourcesComponent, deps: [{ token: NotificationsService }, { token: i2.TranslateService }, { token: PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: i1$a.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40232
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n
|
|
40377
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n (serviceChange)=\"handleServiceChange($event)\"\n ></gn-ui-online-service-resource-input>\n </div>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"notLinkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <ng-container *ngIf=\"onlineResource.type === 'service'; else urlInput\">\n <gn-ui-online-service-resource-input\n [service]=\"onlineResource\"\n [modifyMode]=\"true\"\n [disabled]=\"true\"\n ></gn-ui-online-service-resource-input>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n </ng-container>\n <ng-template #urlInput>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </ng-template>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SwitchToggleComponent, selector: "gn-ui-switch-toggle", inputs: ["options", "ariaLabel", "extraClasses", "disabled"], outputs: ["selectedValue"] }, { kind: "component", type: FileInputComponent, selector: "gn-ui-file-input", inputs: ["maxSizeMB", "uploadProgress", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel"] }, { kind: "component", type: OnlineServiceResourceInputComponent, selector: "gn-ui-online-service-resource-input", inputs: ["service", "protocolHint", "disabled", "modifyMode"], outputs: ["serviceChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: OnlineResourceCardComponent, selector: "gn-ui-online-resource-card", inputs: ["onlineResource"], outputs: ["modifyClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40233
40378
|
}
|
|
40234
40379
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineResourcesComponent, decorators: [{
|
|
40235
40380
|
type: Component,
|
|
@@ -40244,7 +40389,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40244
40389
|
TextInputComponent,
|
|
40245
40390
|
TextAreaComponent,
|
|
40246
40391
|
TranslateModule,
|
|
40247
|
-
], template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n
|
|
40392
|
+
], template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n (serviceChange)=\"handleServiceChange($event)\"\n ></gn-ui-online-service-resource-input>\n </div>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"notLinkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <ng-container *ngIf=\"onlineResource.type === 'service'; else urlInput\">\n <gn-ui-online-service-resource-input\n [service]=\"onlineResource\"\n [modifyMode]=\"true\"\n [disabled]=\"true\"\n ></gn-ui-online-service-resource-input>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n </ng-container>\n <ng-template #urlInput>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </ng-template>\n </div>\n </ng-template>\n</div>\n" }]
|
|
40248
40393
|
}], ctorParameters: () => [{ type: NotificationsService }, { type: i2.TranslateService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: i1$a.MatDialog }], propDecorators: { metadataUuid: [{
|
|
40249
40394
|
type: Input
|
|
40250
40395
|
}], value: [{
|
|
@@ -40465,11 +40610,11 @@ class FormFieldUpdateFrequencyComponent {
|
|
|
40465
40610
|
})));
|
|
40466
40611
|
}
|
|
40467
40612
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldUpdateFrequencyComponent, deps: [{ token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40468
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldUpdateFrequencyComponent, isStandalone: true, selector: "gn-ui-form-field-update-frequency", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.updateFrequency.planned' | translate\"\n [value]=\"planned\"\n (toggled)=\"onPlannedToggled()\"\n ></gn-ui-check-toggle>\n <gn-ui-dropdown-selector\n title=\"updateFrequency\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedFrequency\"\n (selectValue)=\"onSelectFrequencyValue($event)\"\n [disabled]=\"!planned\"\n [extraBtnClass]=\"'input-as-button gn-ui-text-input'\"\n >\n </gn-ui-dropdown-selector>\n</div>\n", styles: ["gn-ui-dropdown-selector{max-width:calc(50% - 16px)}\n"], dependencies: [{ kind: "component", type: CheckToggleComponent, selector: "gn-ui-check-toggle", inputs: ["title", "label", "value", "color"], outputs: ["toggled"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40613
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldUpdateFrequencyComponent, isStandalone: true, selector: "gn-ui-form-field-update-frequency", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.updateFrequency.planned' | translate\"\n [value]=\"planned\"\n (toggled)=\"onPlannedToggled()\"\n ></gn-ui-check-toggle>\n <gn-ui-dropdown-selector\n [title]=\"'editor.record.form.field.updateFrequency' | translate\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedFrequency\"\n (selectValue)=\"onSelectFrequencyValue($event)\"\n [disabled]=\"!planned\"\n [extraBtnClass]=\"'input-as-button gn-ui-text-input'\"\n >\n </gn-ui-dropdown-selector>\n</div>\n", styles: ["gn-ui-dropdown-selector{max-width:calc(50% - 16px)}\n"], dependencies: [{ kind: "component", type: CheckToggleComponent, selector: "gn-ui-check-toggle", inputs: ["title", "label", "value", "color"], outputs: ["toggled"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40469
40614
|
}
|
|
40470
40615
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldUpdateFrequencyComponent, decorators: [{
|
|
40471
40616
|
type: Component,
|
|
40472
|
-
args: [{ selector: 'gn-ui-form-field-update-frequency', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CheckToggleComponent, DropdownSelectorComponent, TranslateModule], template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.updateFrequency.planned' | translate\"\n [value]=\"planned\"\n (toggled)=\"onPlannedToggled()\"\n ></gn-ui-check-toggle>\n <gn-ui-dropdown-selector\n title=\"updateFrequency\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedFrequency\"\n (selectValue)=\"onSelectFrequencyValue($event)\"\n [disabled]=\"!planned\"\n [extraBtnClass]=\"'input-as-button gn-ui-text-input'\"\n >\n </gn-ui-dropdown-selector>\n</div>\n", styles: ["gn-ui-dropdown-selector{max-width:calc(50% - 16px)}\n"] }]
|
|
40617
|
+
args: [{ selector: 'gn-ui-form-field-update-frequency', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CheckToggleComponent, DropdownSelectorComponent, TranslateModule], template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.updateFrequency.planned' | translate\"\n [value]=\"planned\"\n (toggled)=\"onPlannedToggled()\"\n ></gn-ui-check-toggle>\n <gn-ui-dropdown-selector\n [title]=\"'editor.record.form.field.updateFrequency' | translate\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedFrequency\"\n (selectValue)=\"onSelectFrequencyValue($event)\"\n [disabled]=\"!planned\"\n [extraBtnClass]=\"'input-as-button gn-ui-text-input'\"\n >\n </gn-ui-dropdown-selector>\n</div>\n", styles: ["gn-ui-dropdown-selector{max-width:calc(50% - 16px)}\n"] }]
|
|
40473
40618
|
}], ctorParameters: () => [{ type: i2.TranslateService }], propDecorators: { value: [{
|
|
40474
40619
|
type: Input
|
|
40475
40620
|
}], valueChange: [{
|