geonetwork-ui 2.4.0-dev.e4dc8777 → 2.4.0-dev.e6ae55aa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +12 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +2 -6
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +7 -2
- package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +7 -3
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +16 -6
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +1 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +11 -7
- package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +143 -60
- package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
- package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +4 -3
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +42 -23
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +13 -5
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +49 -15
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +9 -3
- package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +29 -0
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -7
- package/esm2022/translations/de.json +64 -30
- package/esm2022/translations/en.json +36 -2
- package/esm2022/translations/es.json +34 -0
- package/esm2022/translations/fr.json +37 -3
- package/esm2022/translations/it.json +34 -0
- package/esm2022/translations/nl.json +34 -0
- package/esm2022/translations/pt.json +34 -0
- package/fesm2022/geonetwork-ui.mjs +611 -163
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +1 -0
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +9 -0
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +5 -0
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +4 -4
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -3
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +4 -8
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -7
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
- package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +38 -2
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +36 -0
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
- package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +2 -2
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +3 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +11 -0
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +4 -2
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +20 -0
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +12 -0
- package/src/libs/common/fixtures/src/index.ts +2 -0
- package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
- package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
- package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
- package/src/libs/data-access/gn4/src/spec.yaml +0 -8
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +5 -0
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +2 -2
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +9 -1
- package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +11 -5
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +22 -8
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +9 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +2 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +51 -11
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +15 -8
- package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +175 -61
- package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +53 -0
- package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +8 -4
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
- package/src/libs/feature/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 +5 -0
- package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +31 -0
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +38 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +17 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +22 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +26 -12
- package/translations/de.json +64 -30
- package/translations/en.json +36 -2
- package/translations/es.json +34 -0
- package/translations/fr.json +37 -3
- package/translations/it.json +34 -0
- package/translations/nl.json +34 -0
- package/translations/pt.json +34 -0
- package/translations/sk.json +34 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
- package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
- package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
- package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
|
@@ -48,7 +48,7 @@ import { MVT, WFS, GeoJSON as GeoJSON$1 } from 'ol/format';
|
|
|
48
48
|
import VectorTileLayer from 'ol/layer/VectorTile';
|
|
49
49
|
import OGCMapTile from 'ol/source/OGCMapTile.js';
|
|
50
50
|
import ImageLayer from 'ol/layer/Image';
|
|
51
|
-
import * as i2$
|
|
51
|
+
import * as i2$6 from '@angular/material/tabs';
|
|
52
52
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
53
53
|
import * as i2$2 from '@angular/forms';
|
|
54
54
|
import { FormsModule, ReactiveFormsModule, UntypedFormControl, FormArray, FormControl } from '@angular/forms';
|
|
@@ -81,6 +81,8 @@ import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle } from '@angular/c
|
|
|
81
81
|
import EmblaCarousel from 'embla-carousel';
|
|
82
82
|
import { formatDistance } from 'date-fns';
|
|
83
83
|
import { enUS, sk, pt as pt$1, nl as nl$1, it as it$1, es as es$1, de as de$1, fr as fr$1 } from 'date-fns/locale';
|
|
84
|
+
import * as i2$5 from '@angular/material/menu';
|
|
85
|
+
import { MatMenuTrigger, MatMenuModule } from '@angular/material/menu';
|
|
84
86
|
import * as i1$8 from '@ngrx/effects';
|
|
85
87
|
import { createEffect, ofType, EffectsModule, Actions } from '@ngrx/effects';
|
|
86
88
|
import tippy from 'tippy.js';
|
|
@@ -91,7 +93,7 @@ import { trigger, transition, animate, keyframes, style } from '@angular/animati
|
|
|
91
93
|
import { Chart, BarController, BarElement, CategoryScale, LinearScale, LineController, LineElement, PointElement, PieController, ArcElement, ScatterController, Tooltip, Colors, Legend } from 'chart.js';
|
|
92
94
|
import * as i4 from '@angular/cdk/scrolling';
|
|
93
95
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
94
|
-
import * as i2$
|
|
96
|
+
import * as i2$7 from '@angular/material/sort';
|
|
95
97
|
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
96
98
|
import * as i1$9 from '@angular/material/table';
|
|
97
99
|
import { MatTableModule } from '@angular/material/table';
|
|
@@ -2176,6 +2178,7 @@ const mapKeywords = (thesauri, language) => {
|
|
|
2176
2178
|
keywords.push({
|
|
2177
2179
|
label: selectTranslatedValue(keyword, language),
|
|
2178
2180
|
type: getKeywordTypeFromKeywordTypeCode(rawThesaurus.theme),
|
|
2181
|
+
...(keyword.link && { key: keyword.link }),
|
|
2179
2182
|
...(thesaurus && { thesaurus }),
|
|
2180
2183
|
});
|
|
2181
2184
|
}
|
|
@@ -8641,11 +8644,7 @@ class RecordsApiService {
|
|
|
8641
8644
|
headers = headers.set('Accept', httpHeaderAcceptSelected);
|
|
8642
8645
|
}
|
|
8643
8646
|
// to determine the Content-Type header
|
|
8644
|
-
const consumes = [
|
|
8645
|
-
'application/xml',
|
|
8646
|
-
'application/json',
|
|
8647
|
-
'application/x-www-form-urlencoded',
|
|
8648
|
-
];
|
|
8647
|
+
const consumes = ['application/xml'];
|
|
8649
8648
|
const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
|
|
8650
8649
|
if (httpContentTypeSelected !== undefined) {
|
|
8651
8650
|
headers = headers.set('Content-Type', httpContentTypeSelected);
|
|
@@ -17472,38 +17471,71 @@ var de = {
|
|
|
17472
17471
|
"downloads.format.unknown": "unbekannt",
|
|
17473
17472
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
17474
17473
|
dropFile: dropFile$6,
|
|
17475
|
-
"editor.record.form.
|
|
17474
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
17475
|
+
"editor.record.form.bottomButtons.next": "",
|
|
17476
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
17477
|
+
"editor.record.form.field.abstract": "",
|
|
17478
|
+
"editor.record.form.field.keywords": "Schlagwörter",
|
|
17479
|
+
"editor.record.form.field.license": "Lizenz",
|
|
17480
|
+
"editor.record.form.field.recordUpdated": "",
|
|
17481
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
17482
|
+
"editor.record.form.field.temporalExtents": "",
|
|
17483
|
+
"editor.record.form.field.title": "",
|
|
17484
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
17485
|
+
"editor.record.form.field.updateFrequency": "",
|
|
17486
|
+
"editor.record.form.abstract": "Kurzbeschreibung",
|
|
17487
|
+
"editor.record.form.keywords": "Schlüsselwörter",
|
|
17476
17488
|
"editor.record.form.license": "Lizenz",
|
|
17477
|
-
"editor.record.form.license.cc-by": "",
|
|
17478
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
17479
|
-
"editor.record.form.license.cc-zero": "",
|
|
17480
|
-
"editor.record.form.license.etalab": "",
|
|
17481
|
-
"editor.record.form.license.etalab-v2": "",
|
|
17482
|
-
"editor.record.form.license.odbl": "",
|
|
17483
|
-
"editor.record.form.license.odc-by": "",
|
|
17484
|
-
"editor.record.form.license.pddl": "",
|
|
17489
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
17490
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
17491
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
17492
|
+
"editor.record.form.license.etalab": "Offene Lizenz (Etalab)",
|
|
17493
|
+
"editor.record.form.license.etalab-v2": "Offene Lizenz v2.0 (Etalab)",
|
|
17494
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
17495
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
17496
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
17485
17497
|
"editor.record.form.license.unknown": "Unbekannt oder nicht vorhanden",
|
|
17486
|
-
"editor.record.form.
|
|
17487
|
-
"editor.record.form.
|
|
17488
|
-
"editor.record.form.
|
|
17489
|
-
"editor.record.form.
|
|
17490
|
-
"editor.record.form.
|
|
17491
|
-
"editor.record.form.
|
|
17492
|
-
"editor.record.form.
|
|
17493
|
-
"editor.record.form.
|
|
17494
|
-
"editor.record.
|
|
17495
|
-
"editor.record.
|
|
17496
|
-
"editor.record.
|
|
17497
|
-
"editor.record.
|
|
17498
|
-
"editor.record.
|
|
17499
|
-
"editor.record.
|
|
17500
|
-
"editor.record.
|
|
17501
|
-
"editor.record.
|
|
17502
|
-
"editor.record.
|
|
17503
|
-
"editor.record.
|
|
17504
|
-
"editor.record.
|
|
17505
|
-
"editor.record.
|
|
17506
|
-
"editor.record.
|
|
17498
|
+
"editor.record.form.page.accessAndContact": "",
|
|
17499
|
+
"editor.record.form.page.description": "",
|
|
17500
|
+
"editor.record.form.page.ressources": "",
|
|
17501
|
+
"editor.record.form.section.about.description": "",
|
|
17502
|
+
"editor.record.form.section.about.label": "",
|
|
17503
|
+
"editor.record.form.section.annexes.label": "",
|
|
17504
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
17505
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
17506
|
+
"editor.record.form.section.classification.description": "",
|
|
17507
|
+
"editor.record.form.section.classification.label": "",
|
|
17508
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
17509
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
17510
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
17511
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
17512
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
17513
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
17514
|
+
"editor.record.form.metadata.title": "Metadaten-Titel",
|
|
17515
|
+
"editor.record.form.record.updated": "Datensatz zuletzt aktualisiert",
|
|
17516
|
+
"editor.record.form.resourceUpdated": "Letztes Aktualisierungsdatum",
|
|
17517
|
+
"editor.record.form.temporalExtents": "Zeitlicher Umfang",
|
|
17518
|
+
"editor.record.form.temporalExtents.addDate": "Zeitpunkt",
|
|
17519
|
+
"editor.record.form.temporalExtents.addRange": "Zeitraum",
|
|
17520
|
+
"editor.record.form.temporalExtents.date": "Datum",
|
|
17521
|
+
"editor.record.form.temporalExtents.range": "Datumsbereich",
|
|
17522
|
+
"editor.record.form.unique.identifier": "Eindeutige Kennung (ID)",
|
|
17523
|
+
"editor.record.form.updateFrequency": "Aktualisierungshäufigkeit",
|
|
17524
|
+
"editor.record.form.updateFrequency.planned": "Die Daten sollten regelmäßig aktualisiert werden.",
|
|
17525
|
+
"editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
|
|
17526
|
+
"editor.record.loadError.closeMessage": "Verstanden",
|
|
17527
|
+
"editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
|
|
17528
|
+
"editor.record.publish": "Diesen Datensatz veröffentlichen",
|
|
17529
|
+
"editor.record.publishError.body": "Der Datensatz konnte nicht veröffentlicht werden:",
|
|
17530
|
+
"editor.record.publishError.closeMessage": "Verstanden",
|
|
17531
|
+
"editor.record.publishError.title": "Fehler beim Veröffentlichen des Datensatzes",
|
|
17532
|
+
"editor.record.publishSuccess.body": "Der Datensatz wurde erfolgreich veröffentlicht!",
|
|
17533
|
+
"editor.record.publishSuccess.title": "Veröffentlichung erfolgreich",
|
|
17534
|
+
"editor.record.saveStatus.asDraftOnly": "Nur als Entwurf gespeichert - noch nicht veröffentlicht",
|
|
17535
|
+
"editor.record.saveStatus.draftWithChangesPending": "Als Entwurf gespeichert - Änderungen stehen aus",
|
|
17536
|
+
"editor.record.saveStatus.recordUpToDate": "Datensatz ist auf dem neuesten Stand",
|
|
17537
|
+
"editor.record.upToDate": "Dieser Datensatz ist auf dem neuesten Stand",
|
|
17538
|
+
"editor.sidebar.menu.editor": "",
|
|
17507
17539
|
"externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
|
|
17508
17540
|
"facets.block.title.OrgForResource": "Organisation",
|
|
17509
17541
|
"facets.block.title.availableInServices": "Verfügbar für",
|
|
@@ -17581,6 +17613,7 @@ var de = {
|
|
|
17581
17613
|
"pagination.pageOf": "von",
|
|
17582
17614
|
previous: previous$6,
|
|
17583
17615
|
"record.action.download": "Herunterladen",
|
|
17616
|
+
"record.action.duplicate": "",
|
|
17584
17617
|
"record.action.view": "Anzeigen",
|
|
17585
17618
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
17586
17619
|
"record.metadata.about": "Beschreibung",
|
|
@@ -17903,6 +17936,19 @@ var en = {
|
|
|
17903
17936
|
"downloads.format.unknown": "unknown",
|
|
17904
17937
|
"downloads.wfs.featuretype.not.found": "The layer was not found",
|
|
17905
17938
|
dropFile: dropFile$5,
|
|
17939
|
+
"editor.record.form.bottomButtons.comeBackLater": "Come back later",
|
|
17940
|
+
"editor.record.form.bottomButtons.next": "Next",
|
|
17941
|
+
"editor.record.form.bottomButtons.previous": "Previous",
|
|
17942
|
+
"editor.record.form.field.abstract": "Abstract",
|
|
17943
|
+
"editor.record.form.field.keywords": "Keywords",
|
|
17944
|
+
"editor.record.form.field.license": "License",
|
|
17945
|
+
"editor.record.form.field.recordUpdated": "Record Updated",
|
|
17946
|
+
"editor.record.form.field.resourceUpdated": "Resource Updated",
|
|
17947
|
+
"editor.record.form.field.temporalExtents": "Temporal extents",
|
|
17948
|
+
"editor.record.form.field.title": "Metadata title",
|
|
17949
|
+
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
17950
|
+
"editor.record.form.field.updateFrequency": "Update frequency",
|
|
17951
|
+
"editor.record.form.abstract": "Abstract",
|
|
17906
17952
|
"editor.record.form.keywords": "Keywords",
|
|
17907
17953
|
"editor.record.form.license": "License",
|
|
17908
17954
|
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
@@ -17914,12 +17960,31 @@ var en = {
|
|
|
17914
17960
|
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
17915
17961
|
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
17916
17962
|
"editor.record.form.license.unknown": "Unknown or absent",
|
|
17963
|
+
"editor.record.form.page.accessAndContact": "Access and contact",
|
|
17964
|
+
"editor.record.form.page.description": "Resource description",
|
|
17965
|
+
"editor.record.form.page.ressources": "Resources",
|
|
17966
|
+
"editor.record.form.section.about.description": "This section describes the resource.",
|
|
17967
|
+
"editor.record.form.section.about.label": "About the resource",
|
|
17968
|
+
"editor.record.form.section.annexes.label": "Annexes",
|
|
17969
|
+
"editor.record.form.section.associatedResources.description": "Drop files here to associate them with the resource.",
|
|
17970
|
+
"editor.record.form.section.associatedResources.label": "Associated resources",
|
|
17971
|
+
"editor.record.form.section.classification.description": "The classification has an impact on the access to the data.",
|
|
17972
|
+
"editor.record.form.section.classification.label": "Classification",
|
|
17973
|
+
"editor.record.form.section.dataManagers.description": "The data managers are responsible for the data.",
|
|
17974
|
+
"editor.record.form.section.dataManagers.label": "Data managers",
|
|
17975
|
+
"editor.record.form.section.dataPointOfContact.description": "This information concerns the metadata.",
|
|
17976
|
+
"editor.record.form.section.dataPointOfContact.label": "Data point of contact",
|
|
17977
|
+
"editor.record.form.section.geographicalCoverage.label": "Geographical coverage",
|
|
17978
|
+
"editor.record.form.section.useAndAccessConditions.label": "Use and access conditions",
|
|
17979
|
+
"editor.record.form.metadata.title": "Metadata title",
|
|
17980
|
+
"editor.record.form.record.updated": "Record updated",
|
|
17917
17981
|
"editor.record.form.resourceUpdated": "Last update date",
|
|
17918
17982
|
"editor.record.form.temporalExtents": "Temporal extent",
|
|
17919
17983
|
"editor.record.form.temporalExtents.addDate": "Time instant",
|
|
17920
17984
|
"editor.record.form.temporalExtents.addRange": "Time period",
|
|
17921
17985
|
"editor.record.form.temporalExtents.date": "Date",
|
|
17922
17986
|
"editor.record.form.temporalExtents.range": "Date range",
|
|
17987
|
+
"editor.record.form.unique.identifier": "Unique identifier",
|
|
17923
17988
|
"editor.record.form.updateFrequency": "Update frequency",
|
|
17924
17989
|
"editor.record.form.updateFrequency.planned": "The data should be updated regularly.",
|
|
17925
17990
|
"editor.record.loadError.body": "The record could not be loaded:",
|
|
@@ -17935,6 +18000,7 @@ var en = {
|
|
|
17935
18000
|
"editor.record.saveStatus.draftWithChangesPending": "Saved as draft - changes are pending",
|
|
17936
18001
|
"editor.record.saveStatus.recordUpToDate": "Record is up to date",
|
|
17937
18002
|
"editor.record.upToDate": "This record is up to date",
|
|
18003
|
+
"editor.sidebar.menu.editor": "Editor",
|
|
17938
18004
|
"externalviewer.dataset.unnamed": "Datahub layer",
|
|
17939
18005
|
"facets.block.title.OrgForResource": "Organisation",
|
|
17940
18006
|
"facets.block.title.availableInServices": "Available for",
|
|
@@ -18003,8 +18069,8 @@ var en = {
|
|
|
18003
18069
|
"organisations.sortBy.nameDesc": "Name Z → A",
|
|
18004
18070
|
"organisations.sortBy.recordCountAsc": "Publications 0 → 9",
|
|
18005
18071
|
"organisations.sortBy.recordCountDesc": "Publications 9 → 0",
|
|
18006
|
-
"organization.details.lastPublishedDatasets": "
|
|
18007
|
-
"organization.details.lastPublishedDatasets.searchAllButton": "
|
|
18072
|
+
"organization.details.lastPublishedDatasets": "",
|
|
18073
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
18008
18074
|
"organization.details.mailContact": "Contact by email",
|
|
18009
18075
|
"organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}",
|
|
18010
18076
|
"pagination.nextPage": "Next page",
|
|
@@ -18012,6 +18078,7 @@ var en = {
|
|
|
18012
18078
|
"pagination.pageOf": "of",
|
|
18013
18079
|
previous: previous$5,
|
|
18014
18080
|
"record.action.download": "Download",
|
|
18081
|
+
"record.action.duplicate": "Duplicate",
|
|
18015
18082
|
"record.action.view": "View",
|
|
18016
18083
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
18017
18084
|
"record.metadata.about": "Description",
|
|
@@ -18334,6 +18401,19 @@ var es = {
|
|
|
18334
18401
|
"downloads.format.unknown": "",
|
|
18335
18402
|
"downloads.wfs.featuretype.not.found": "",
|
|
18336
18403
|
dropFile: dropFile$4,
|
|
18404
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
18405
|
+
"editor.record.form.bottomButtons.next": "",
|
|
18406
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
18407
|
+
"editor.record.form.field.abstract": "",
|
|
18408
|
+
"editor.record.form.field.keywords": "",
|
|
18409
|
+
"editor.record.form.field.license": "",
|
|
18410
|
+
"editor.record.form.field.recordUpdated": "",
|
|
18411
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
18412
|
+
"editor.record.form.field.temporalExtents": "",
|
|
18413
|
+
"editor.record.form.field.title": "",
|
|
18414
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
18415
|
+
"editor.record.form.field.updateFrequency": "",
|
|
18416
|
+
"editor.record.form.abstract": "",
|
|
18337
18417
|
"editor.record.form.keywords": "",
|
|
18338
18418
|
"editor.record.form.license": "",
|
|
18339
18419
|
"editor.record.form.license.cc-by": "",
|
|
@@ -18345,12 +18425,31 @@ var es = {
|
|
|
18345
18425
|
"editor.record.form.license.odc-by": "",
|
|
18346
18426
|
"editor.record.form.license.pddl": "",
|
|
18347
18427
|
"editor.record.form.license.unknown": "",
|
|
18428
|
+
"editor.record.form.page.accessAndContact": "",
|
|
18429
|
+
"editor.record.form.page.description": "",
|
|
18430
|
+
"editor.record.form.page.ressources": "",
|
|
18431
|
+
"editor.record.form.section.about.description": "",
|
|
18432
|
+
"editor.record.form.section.about.label": "",
|
|
18433
|
+
"editor.record.form.section.annexes.label": "",
|
|
18434
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
18435
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
18436
|
+
"editor.record.form.section.classification.description": "",
|
|
18437
|
+
"editor.record.form.section.classification.label": "",
|
|
18438
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
18439
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
18440
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
18441
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
18442
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
18443
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
18444
|
+
"editor.record.form.metadata.title": "",
|
|
18445
|
+
"editor.record.form.record.updated": "",
|
|
18348
18446
|
"editor.record.form.resourceUpdated": "",
|
|
18349
18447
|
"editor.record.form.temporalExtents": "",
|
|
18350
18448
|
"editor.record.form.temporalExtents.addDate": "",
|
|
18351
18449
|
"editor.record.form.temporalExtents.addRange": "",
|
|
18352
18450
|
"editor.record.form.temporalExtents.date": "",
|
|
18353
18451
|
"editor.record.form.temporalExtents.range": "",
|
|
18452
|
+
"editor.record.form.unique.identifier": "",
|
|
18354
18453
|
"editor.record.form.updateFrequency": "",
|
|
18355
18454
|
"editor.record.form.updateFrequency.planned": "",
|
|
18356
18455
|
"editor.record.loadError.body": "",
|
|
@@ -18366,6 +18465,7 @@ var es = {
|
|
|
18366
18465
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
18367
18466
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
18368
18467
|
"editor.record.upToDate": "",
|
|
18468
|
+
"editor.sidebar.menu.editor": "",
|
|
18369
18469
|
"externalviewer.dataset.unnamed": "",
|
|
18370
18470
|
"facets.block.title.OrgForResource": "",
|
|
18371
18471
|
"facets.block.title.availableInServices": "",
|
|
@@ -18443,6 +18543,7 @@ var es = {
|
|
|
18443
18543
|
"pagination.pageOf": "",
|
|
18444
18544
|
previous: previous$4,
|
|
18445
18545
|
"record.action.download": "",
|
|
18546
|
+
"record.action.duplicate": "",
|
|
18446
18547
|
"record.action.view": "",
|
|
18447
18548
|
"record.externalViewer.open": "",
|
|
18448
18549
|
"record.metadata.about": "",
|
|
@@ -18765,7 +18866,20 @@ var fr = {
|
|
|
18765
18866
|
"downloads.format.unknown": "inconnu",
|
|
18766
18867
|
"downloads.wfs.featuretype.not.found": "La couche n'a pas été retrouvée",
|
|
18767
18868
|
dropFile: dropFile$3,
|
|
18768
|
-
"editor.record.form.
|
|
18869
|
+
"editor.record.form.bottomButtons.comeBackLater": "Revenir plus tard",
|
|
18870
|
+
"editor.record.form.bottomButtons.next": "Suivant",
|
|
18871
|
+
"editor.record.form.bottomButtons.previous": "Précédent",
|
|
18872
|
+
"editor.record.form.field.abstract": "Résumé",
|
|
18873
|
+
"editor.record.form.field.keywords": "Mots-clés",
|
|
18874
|
+
"editor.record.form.field.license": "Licence",
|
|
18875
|
+
"editor.record.form.field.recordUpdated": "Date de dernière révision",
|
|
18876
|
+
"editor.record.form.field.resourceUpdated": "Date de dernière révision",
|
|
18877
|
+
"editor.record.form.field.temporalExtents": "Étendue temporelle",
|
|
18878
|
+
"editor.record.form.field.title": "Titre",
|
|
18879
|
+
"editor.record.form.field.uniqueIdentifier": "Identifiant unique",
|
|
18880
|
+
"editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
|
|
18881
|
+
"editor.record.form.abstract": "",
|
|
18882
|
+
"editor.record.form.keywords": "",
|
|
18769
18883
|
"editor.record.form.license": "Licence",
|
|
18770
18884
|
"editor.record.form.license.cc-by": "",
|
|
18771
18885
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -18776,12 +18890,31 @@ var fr = {
|
|
|
18776
18890
|
"editor.record.form.license.odc-by": "",
|
|
18777
18891
|
"editor.record.form.license.pddl": "",
|
|
18778
18892
|
"editor.record.form.license.unknown": "Non-reconnue ou absente",
|
|
18893
|
+
"editor.record.form.page.accessAndContact": "Acces et contact",
|
|
18894
|
+
"editor.record.form.page.description": "Description de la ressource",
|
|
18895
|
+
"editor.record.form.page.ressources": "Ressources",
|
|
18896
|
+
"editor.record.form.section.about.description": "Ces informations concernent la donnée.",
|
|
18897
|
+
"editor.record.form.section.about.label": "A propos de la ressource",
|
|
18898
|
+
"editor.record.form.section.annexes.label": "Annexes",
|
|
18899
|
+
"editor.record.form.section.associatedResources.description": "Déposez les jeux de données associées à cette fiche de métadonnée.",
|
|
18900
|
+
"editor.record.form.section.associatedResources.label": "Ressources associees",
|
|
18901
|
+
"editor.record.form.section.classification.description": "La classification a un impact sur la recherche du jeux de données.",
|
|
18902
|
+
"editor.record.form.section.classification.label": "Classification",
|
|
18903
|
+
"editor.record.form.section.dataManagers.description": "Cette information concerne la donnée.",
|
|
18904
|
+
"editor.record.form.section.dataManagers.label": "Responsables de la donnee",
|
|
18905
|
+
"editor.record.form.section.dataPointOfContact.description": "Cette information concerne la fiche de métadonnée.",
|
|
18906
|
+
"editor.record.form.section.dataPointOfContact.label": "Point de contact de la metadonee",
|
|
18907
|
+
"editor.record.form.section.geographicalCoverage.label": "Couverture geographique",
|
|
18908
|
+
"editor.record.form.section.useAndAccessConditions.label": "Conditions d'acces et usage",
|
|
18909
|
+
"editor.record.form.metadata.title": "",
|
|
18910
|
+
"editor.record.form.record.updated": "",
|
|
18779
18911
|
"editor.record.form.resourceUpdated": "Date de dernière révision",
|
|
18780
18912
|
"editor.record.form.temporalExtents": "Étendue temporelle",
|
|
18781
18913
|
"editor.record.form.temporalExtents.addDate": "Date déterminée",
|
|
18782
18914
|
"editor.record.form.temporalExtents.addRange": "Période de temps",
|
|
18783
18915
|
"editor.record.form.temporalExtents.date": "Date concernée",
|
|
18784
18916
|
"editor.record.form.temporalExtents.range": "Période concernée",
|
|
18917
|
+
"editor.record.form.unique.identifier": "",
|
|
18785
18918
|
"editor.record.form.updateFrequency": "Fréquence de mise à jour",
|
|
18786
18919
|
"editor.record.form.updateFrequency.planned": "Ces données doivent être mise à jour régulièrement.",
|
|
18787
18920
|
"editor.record.loadError.body": "",
|
|
@@ -18797,6 +18930,7 @@ var fr = {
|
|
|
18797
18930
|
"editor.record.saveStatus.draftWithChangesPending": "Brouillon enregistré - modifications en cours",
|
|
18798
18931
|
"editor.record.saveStatus.recordUpToDate": "La fiche publiée est à jour",
|
|
18799
18932
|
"editor.record.upToDate": "",
|
|
18933
|
+
"editor.sidebar.menu.editor": "",
|
|
18800
18934
|
"externalviewer.dataset.unnamed": "Couche du datahub",
|
|
18801
18935
|
"facets.block.title.OrgForResource": "Organisation",
|
|
18802
18936
|
"facets.block.title.availableInServices": "Disponible pour",
|
|
@@ -18865,8 +18999,8 @@ var fr = {
|
|
|
18865
18999
|
"organisations.sortBy.nameDesc": "Nom Z → A",
|
|
18866
19000
|
"organisations.sortBy.recordCountAsc": "Données 0 → 9",
|
|
18867
19001
|
"organisations.sortBy.recordCountDesc": "Données 9 → 0",
|
|
18868
|
-
"organization.details.lastPublishedDatasets": "
|
|
18869
|
-
"organization.details.lastPublishedDatasets.searchAllButton": "
|
|
19002
|
+
"organization.details.lastPublishedDatasets": "",
|
|
19003
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
18870
19004
|
"organization.details.mailContact": "Contacter par mail",
|
|
18871
19005
|
"organization.header.recordCount": "{count, plural, =0{donnée} one{donnée} other{données}}",
|
|
18872
19006
|
"pagination.nextPage": "Page suivante",
|
|
@@ -18874,6 +19008,7 @@ var fr = {
|
|
|
18874
19008
|
"pagination.pageOf": "sur",
|
|
18875
19009
|
previous: previous$3,
|
|
18876
19010
|
"record.action.download": "Télécharger",
|
|
19011
|
+
"record.action.duplicate": "Dupliquer",
|
|
18877
19012
|
"record.action.view": "Voir",
|
|
18878
19013
|
"record.externalViewer.open": "Ouvrir dans le visualiseur externe",
|
|
18879
19014
|
"record.metadata.about": "Description",
|
|
@@ -19196,6 +19331,19 @@ var it = {
|
|
|
19196
19331
|
"downloads.format.unknown": "sconosciuto",
|
|
19197
19332
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
19198
19333
|
dropFile: dropFile$2,
|
|
19334
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
19335
|
+
"editor.record.form.bottomButtons.next": "",
|
|
19336
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
19337
|
+
"editor.record.form.field.abstract": "",
|
|
19338
|
+
"editor.record.form.field.keywords": "",
|
|
19339
|
+
"editor.record.form.field.license": "Licenza",
|
|
19340
|
+
"editor.record.form.field.recordUpdated": "",
|
|
19341
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
19342
|
+
"editor.record.form.field.temporalExtents": "",
|
|
19343
|
+
"editor.record.form.field.title": "",
|
|
19344
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
19345
|
+
"editor.record.form.field.updateFrequency": "",
|
|
19346
|
+
"editor.record.form.abstract": "",
|
|
19199
19347
|
"editor.record.form.keywords": "",
|
|
19200
19348
|
"editor.record.form.license": "Licenza",
|
|
19201
19349
|
"editor.record.form.license.cc-by": "",
|
|
@@ -19207,12 +19355,31 @@ var it = {
|
|
|
19207
19355
|
"editor.record.form.license.odc-by": "",
|
|
19208
19356
|
"editor.record.form.license.pddl": "",
|
|
19209
19357
|
"editor.record.form.license.unknown": "Non riconosciuta o assente",
|
|
19358
|
+
"editor.record.form.page.accessAndContact": "",
|
|
19359
|
+
"editor.record.form.page.description": "",
|
|
19360
|
+
"editor.record.form.page.ressources": "",
|
|
19361
|
+
"editor.record.form.section.about.description": "",
|
|
19362
|
+
"editor.record.form.section.about.label": "",
|
|
19363
|
+
"editor.record.form.section.annexes.label": "",
|
|
19364
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
19365
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
19366
|
+
"editor.record.form.section.classification.description": "",
|
|
19367
|
+
"editor.record.form.section.classification.label": "",
|
|
19368
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
19369
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
19370
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
19371
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
19372
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
19373
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
19374
|
+
"editor.record.form.metadata.title": "",
|
|
19375
|
+
"editor.record.form.record.updated": "",
|
|
19210
19376
|
"editor.record.form.resourceUpdated": "",
|
|
19211
19377
|
"editor.record.form.temporalExtents": "",
|
|
19212
19378
|
"editor.record.form.temporalExtents.addDate": "",
|
|
19213
19379
|
"editor.record.form.temporalExtents.addRange": "",
|
|
19214
19380
|
"editor.record.form.temporalExtents.date": "",
|
|
19215
19381
|
"editor.record.form.temporalExtents.range": "",
|
|
19382
|
+
"editor.record.form.unique.identifier": "",
|
|
19216
19383
|
"editor.record.form.updateFrequency": "",
|
|
19217
19384
|
"editor.record.form.updateFrequency.planned": "",
|
|
19218
19385
|
"editor.record.loadError.body": "",
|
|
@@ -19228,6 +19395,7 @@ var it = {
|
|
|
19228
19395
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
19229
19396
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
19230
19397
|
"editor.record.upToDate": "",
|
|
19398
|
+
"editor.sidebar.menu.editor": "",
|
|
19231
19399
|
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
19232
19400
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
19233
19401
|
"facets.block.title.availableInServices": "Disponibile per",
|
|
@@ -19305,6 +19473,7 @@ var it = {
|
|
|
19305
19473
|
"pagination.pageOf": "di",
|
|
19306
19474
|
previous: previous$2,
|
|
19307
19475
|
"record.action.download": "Scarica",
|
|
19476
|
+
"record.action.duplicate": "",
|
|
19308
19477
|
"record.action.view": "Visualizza",
|
|
19309
19478
|
"record.externalViewer.open": "Apri nell'visualizzatore esterno",
|
|
19310
19479
|
"record.metadata.about": "Descrizione",
|
|
@@ -19627,6 +19796,19 @@ var nl = {
|
|
|
19627
19796
|
"downloads.format.unknown": "",
|
|
19628
19797
|
"downloads.wfs.featuretype.not.found": "",
|
|
19629
19798
|
dropFile: dropFile$1,
|
|
19799
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
19800
|
+
"editor.record.form.bottomButtons.next": "",
|
|
19801
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
19802
|
+
"editor.record.form.field.abstract": "",
|
|
19803
|
+
"editor.record.form.field.keywords": "",
|
|
19804
|
+
"editor.record.form.field.license": "",
|
|
19805
|
+
"editor.record.form.field.recordUpdated": "",
|
|
19806
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
19807
|
+
"editor.record.form.field.temporalExtents": "",
|
|
19808
|
+
"editor.record.form.field.title": "",
|
|
19809
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
19810
|
+
"editor.record.form.field.updateFrequency": "",
|
|
19811
|
+
"editor.record.form.abstract": "",
|
|
19630
19812
|
"editor.record.form.keywords": "",
|
|
19631
19813
|
"editor.record.form.license": "",
|
|
19632
19814
|
"editor.record.form.license.cc-by": "",
|
|
@@ -19638,12 +19820,31 @@ var nl = {
|
|
|
19638
19820
|
"editor.record.form.license.odc-by": "",
|
|
19639
19821
|
"editor.record.form.license.pddl": "",
|
|
19640
19822
|
"editor.record.form.license.unknown": "",
|
|
19823
|
+
"editor.record.form.page.accessAndContact": "",
|
|
19824
|
+
"editor.record.form.page.description": "",
|
|
19825
|
+
"editor.record.form.page.ressources": "",
|
|
19826
|
+
"editor.record.form.section.about.description": "",
|
|
19827
|
+
"editor.record.form.section.about.label": "",
|
|
19828
|
+
"editor.record.form.section.annexes.label": "",
|
|
19829
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
19830
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
19831
|
+
"editor.record.form.section.classification.description": "",
|
|
19832
|
+
"editor.record.form.section.classification.label": "",
|
|
19833
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
19834
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
19835
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
19836
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
19837
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
19838
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
19839
|
+
"editor.record.form.metadata.title": "",
|
|
19840
|
+
"editor.record.form.record.updated": "",
|
|
19641
19841
|
"editor.record.form.resourceUpdated": "",
|
|
19642
19842
|
"editor.record.form.temporalExtents": "",
|
|
19643
19843
|
"editor.record.form.temporalExtents.addDate": "",
|
|
19644
19844
|
"editor.record.form.temporalExtents.addRange": "",
|
|
19645
19845
|
"editor.record.form.temporalExtents.date": "",
|
|
19646
19846
|
"editor.record.form.temporalExtents.range": "",
|
|
19847
|
+
"editor.record.form.unique.identifier": "",
|
|
19647
19848
|
"editor.record.form.updateFrequency": "",
|
|
19648
19849
|
"editor.record.form.updateFrequency.planned": "",
|
|
19649
19850
|
"editor.record.loadError.body": "",
|
|
@@ -19659,6 +19860,7 @@ var nl = {
|
|
|
19659
19860
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
19660
19861
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
19661
19862
|
"editor.record.upToDate": "",
|
|
19863
|
+
"editor.sidebar.menu.editor": "",
|
|
19662
19864
|
"externalviewer.dataset.unnamed": "",
|
|
19663
19865
|
"facets.block.title.OrgForResource": "",
|
|
19664
19866
|
"facets.block.title.availableInServices": "",
|
|
@@ -19736,6 +19938,7 @@ var nl = {
|
|
|
19736
19938
|
"pagination.pageOf": "",
|
|
19737
19939
|
previous: previous$1,
|
|
19738
19940
|
"record.action.download": "",
|
|
19941
|
+
"record.action.duplicate": "",
|
|
19739
19942
|
"record.action.view": "",
|
|
19740
19943
|
"record.externalViewer.open": "",
|
|
19741
19944
|
"record.metadata.about": "",
|
|
@@ -20058,6 +20261,19 @@ var pt = {
|
|
|
20058
20261
|
"downloads.format.unknown": "",
|
|
20059
20262
|
"downloads.wfs.featuretype.not.found": "",
|
|
20060
20263
|
dropFile: dropFile,
|
|
20264
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
20265
|
+
"editor.record.form.bottomButtons.next": "",
|
|
20266
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
20267
|
+
"editor.record.form.field.abstract": "",
|
|
20268
|
+
"editor.record.form.field.keywords": "",
|
|
20269
|
+
"editor.record.form.field.license": "",
|
|
20270
|
+
"editor.record.form.field.recordUpdated": "",
|
|
20271
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
20272
|
+
"editor.record.form.field.temporalExtents": "",
|
|
20273
|
+
"editor.record.form.field.title": "",
|
|
20274
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
20275
|
+
"editor.record.form.field.updateFrequency": "",
|
|
20276
|
+
"editor.record.form.abstract": "",
|
|
20061
20277
|
"editor.record.form.keywords": "",
|
|
20062
20278
|
"editor.record.form.license": "",
|
|
20063
20279
|
"editor.record.form.license.cc-by": "",
|
|
@@ -20069,12 +20285,31 @@ var pt = {
|
|
|
20069
20285
|
"editor.record.form.license.odc-by": "",
|
|
20070
20286
|
"editor.record.form.license.pddl": "",
|
|
20071
20287
|
"editor.record.form.license.unknown": "",
|
|
20288
|
+
"editor.record.form.page.accessAndContact": "",
|
|
20289
|
+
"editor.record.form.page.description": "",
|
|
20290
|
+
"editor.record.form.page.ressources": "",
|
|
20291
|
+
"editor.record.form.section.about.description": "",
|
|
20292
|
+
"editor.record.form.section.about.label": "",
|
|
20293
|
+
"editor.record.form.section.annexes.label": "",
|
|
20294
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
20295
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
20296
|
+
"editor.record.form.section.classification.description": "",
|
|
20297
|
+
"editor.record.form.section.classification.label": "",
|
|
20298
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
20299
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
20300
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
20301
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
20302
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
20303
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
20304
|
+
"editor.record.form.metadata.title": "",
|
|
20305
|
+
"editor.record.form.record.updated": "",
|
|
20072
20306
|
"editor.record.form.resourceUpdated": "",
|
|
20073
20307
|
"editor.record.form.temporalExtents": "",
|
|
20074
20308
|
"editor.record.form.temporalExtents.addDate": "",
|
|
20075
20309
|
"editor.record.form.temporalExtents.addRange": "",
|
|
20076
20310
|
"editor.record.form.temporalExtents.date": "",
|
|
20077
20311
|
"editor.record.form.temporalExtents.range": "",
|
|
20312
|
+
"editor.record.form.unique.identifier": "",
|
|
20078
20313
|
"editor.record.form.updateFrequency": "",
|
|
20079
20314
|
"editor.record.form.updateFrequency.planned": "",
|
|
20080
20315
|
"editor.record.loadError.body": "",
|
|
@@ -20090,6 +20325,7 @@ var pt = {
|
|
|
20090
20325
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
20091
20326
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
20092
20327
|
"editor.record.upToDate": "",
|
|
20328
|
+
"editor.sidebar.menu.editor": "",
|
|
20093
20329
|
"externalviewer.dataset.unnamed": "",
|
|
20094
20330
|
"facets.block.title.OrgForResource": "",
|
|
20095
20331
|
"facets.block.title.availableInServices": "",
|
|
@@ -20167,6 +20403,7 @@ var pt = {
|
|
|
20167
20403
|
"pagination.pageOf": "",
|
|
20168
20404
|
previous: previous,
|
|
20169
20405
|
"record.action.download": "",
|
|
20406
|
+
"record.action.duplicate": "",
|
|
20170
20407
|
"record.action.view": "",
|
|
20171
20408
|
"record.externalViewer.open": "",
|
|
20172
20409
|
"record.metadata.about": "",
|
|
@@ -21299,6 +21536,17 @@ class Gn4Repository {
|
|
|
21299
21536
|
.then((record) => [record, xml, isSavedAlready]);
|
|
21300
21537
|
}));
|
|
21301
21538
|
}
|
|
21539
|
+
openRecordForDuplication(uniqueIdentifier) {
|
|
21540
|
+
return this.loadRecordAsXml(uniqueIdentifier).pipe(switchMap(async (recordAsXml) => {
|
|
21541
|
+
const converter = findConverterForDocument(recordAsXml);
|
|
21542
|
+
const record = await converter.readRecord(recordAsXml);
|
|
21543
|
+
record.uniqueIdentifier = `TEMP-ID-${Date.now()}`;
|
|
21544
|
+
record.title = `${record.title} (Copy)`;
|
|
21545
|
+
const xml = await converter.writeRecord(record, recordAsXml);
|
|
21546
|
+
window.localStorage.setItem(this.getLocalStorageKeyForRecord(record.uniqueIdentifier), xml);
|
|
21547
|
+
return [record, xml, false];
|
|
21548
|
+
}));
|
|
21549
|
+
}
|
|
21302
21550
|
serializeRecordToXml(record, referenceRecordSource) {
|
|
21303
21551
|
// if there's a reference record, use that standard; otherwise, use iso19139
|
|
21304
21552
|
const converter = referenceRecordSource
|
|
@@ -28288,11 +28536,11 @@ class UserPreviewComponent {
|
|
|
28288
28536
|
return (this.user.name + ' ' + this.user.surname).trim();
|
|
28289
28537
|
}
|
|
28290
28538
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28291
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserPreviewComponent, selector: "gn-ui-user-preview", inputs: { user: "user", avatarPlaceholder: "avatarPlaceholder" }, ngImport: i0, template: "<figure class=\"text-center\">\n <div\n class=\"w-
|
|
28539
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserPreviewComponent, selector: "gn-ui-user-preview", inputs: { user: "user", avatarPlaceholder: "avatarPlaceholder" }, ngImport: i0, template: "<figure class=\"text-center\">\n <div\n class=\"w-10 h-10 border border-primary rounded-full capitalize\"\n [matTooltip]=\"userFullName\"\n >\n <gn-ui-avatar\n [avatarUrl]=\"user.profileIcon\"\n [avatarPlaceholder]=\"avatarPlaceholder\"\n ></gn-ui-avatar>\n </div>\n</figure>\n", dependencies: [{ kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: AvatarComponent, selector: "gn-ui-avatar", inputs: ["avatarUrl", "avatarPlaceholder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28292
28540
|
}
|
|
28293
28541
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreviewComponent, decorators: [{
|
|
28294
28542
|
type: Component,
|
|
28295
|
-
args: [{ selector: 'gn-ui-user-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<figure class=\"text-center\">\n <div\n class=\"w-
|
|
28543
|
+
args: [{ selector: 'gn-ui-user-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<figure class=\"text-center\">\n <div\n class=\"w-10 h-10 border border-primary rounded-full capitalize\"\n [matTooltip]=\"userFullName\"\n >\n <gn-ui-avatar\n [avatarUrl]=\"user.profileIcon\"\n [avatarPlaceholder]=\"avatarPlaceholder\"\n ></gn-ui-avatar>\n </div>\n</figure>\n" }]
|
|
28296
28544
|
}], propDecorators: { user: [{
|
|
28297
28545
|
type: Input
|
|
28298
28546
|
}], avatarPlaceholder: [{
|
|
@@ -28641,6 +28889,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28641
28889
|
}]
|
|
28642
28890
|
}] });
|
|
28643
28891
|
|
|
28892
|
+
class ActionMenuComponent {
|
|
28893
|
+
constructor() {
|
|
28894
|
+
this.duplicate = new EventEmitter();
|
|
28895
|
+
}
|
|
28896
|
+
openMenu() {
|
|
28897
|
+
this.trigger.openMenu();
|
|
28898
|
+
}
|
|
28899
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28900
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ActionMenuComponent, isStandalone: true, selector: "gn-ui-action-menu", outputs: { duplicate: "duplicate" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<gn-ui-button\n type=\"outline\"\n [matMenuTriggerFor]=\"menu\"\n (buttonClick)=\"openMenu()\"\n data-test=\"record-menu-button\"\n>\n <mat-icon class=\"material-symbols-outlined\">more_vert</mat-icon>\n</gn-ui-button>\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"duplicate.emit()\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span translate>record.action.duplicate</span>\n </button>\n</mat-menu>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2$5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i2$5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2$5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
28901
|
+
}
|
|
28902
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionMenuComponent, decorators: [{
|
|
28903
|
+
type: Component,
|
|
28904
|
+
args: [{ selector: 'gn-ui-action-menu', standalone: true, imports: [MatIconModule, ButtonComponent, MatMenuModule, TranslateModule], template: "<gn-ui-button\n type=\"outline\"\n [matMenuTriggerFor]=\"menu\"\n (buttonClick)=\"openMenu()\"\n data-test=\"record-menu-button\"\n>\n <mat-icon class=\"material-symbols-outlined\">more_vert</mat-icon>\n</gn-ui-button>\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"duplicate.emit()\"\n data-test=\"record-menu-duplicate-button\"\n >\n <span translate>record.action.duplicate</span>\n </button>\n</mat-menu>\n" }]
|
|
28905
|
+
}], propDecorators: { duplicate: [{
|
|
28906
|
+
type: Output
|
|
28907
|
+
}], trigger: [{
|
|
28908
|
+
type: ViewChild,
|
|
28909
|
+
args: [MatMenuTrigger]
|
|
28910
|
+
}] } });
|
|
28911
|
+
|
|
28644
28912
|
class ResultsTableComponent {
|
|
28645
28913
|
constructor() {
|
|
28646
28914
|
this.records = [];
|
|
@@ -28650,6 +28918,7 @@ class ResultsTableComponent {
|
|
|
28650
28918
|
// emits the column (field) as well as the order
|
|
28651
28919
|
this.sortByChange = new EventEmitter();
|
|
28652
28920
|
this.recordClick = new EventEmitter();
|
|
28921
|
+
this.duplicateRecord = new EventEmitter();
|
|
28653
28922
|
this.recordsSelectedChange = new EventEmitter();
|
|
28654
28923
|
}
|
|
28655
28924
|
dateToString(date) {
|
|
@@ -28684,6 +28953,9 @@ class ResultsTableComponent {
|
|
|
28684
28953
|
handleRecordClick(item) {
|
|
28685
28954
|
this.recordClick.emit(item);
|
|
28686
28955
|
}
|
|
28956
|
+
handleDuplicate(item) {
|
|
28957
|
+
this.duplicateRecord.emit(item);
|
|
28958
|
+
}
|
|
28687
28959
|
setSortBy(col, order) {
|
|
28688
28960
|
this.sortByChange.emit([col, order]);
|
|
28689
28961
|
}
|
|
@@ -28719,7 +28991,7 @@ class ResultsTableComponent {
|
|
|
28719
28991
|
return !allSelected && someSelected;
|
|
28720
28992
|
}
|
|
28721
28993
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28722
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", recordHasDraft: "recordHasDraft" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", recordsSelectedChange: "recordsSelectedChange" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
28994
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", recordHasDraft: "recordHasDraft" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", recordsSelectedChange: "recordsSelectedChange" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\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-action-menu (duplicate)=\"handleDuplicate(item)\">\n </gn-ui-action-menu>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", outputs: ["duplicate"] }] }); }
|
|
28723
28995
|
}
|
|
28724
28996
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
28725
28997
|
type: Component,
|
|
@@ -28731,7 +29003,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28731
29003
|
MatIconModule,
|
|
28732
29004
|
TranslateModule,
|
|
28733
29005
|
BadgeComponent,
|
|
28734
|
-
|
|
29006
|
+
ActionMenuComponent,
|
|
29007
|
+
], template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\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-action-menu (duplicate)=\"handleDuplicate(item)\">\n </gn-ui-action-menu>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
28735
29008
|
}], propDecorators: { records: [{
|
|
28736
29009
|
type: Input
|
|
28737
29010
|
}], selectedRecordsIdentifiers: [{
|
|
@@ -28744,6 +29017,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28744
29017
|
type: Output
|
|
28745
29018
|
}], recordClick: [{
|
|
28746
29019
|
type: Output
|
|
29020
|
+
}], duplicateRecord: [{
|
|
29021
|
+
type: Output
|
|
28747
29022
|
}], recordsSelectedChange: [{
|
|
28748
29023
|
type: Output
|
|
28749
29024
|
}] } });
|
|
@@ -30725,6 +31000,7 @@ class ResultsTableContainerComponent {
|
|
|
30725
31000
|
this.selectionService = selectionService;
|
|
30726
31001
|
this.recordsRepository = recordsRepository;
|
|
30727
31002
|
this.recordClick = new EventEmitter();
|
|
31003
|
+
this.duplicateRecord = new EventEmitter();
|
|
30728
31004
|
this.records$ = this.searchFacade.results$;
|
|
30729
31005
|
this.selectedRecords$ = this.selectionService.selectedRecordsIdentifiers$;
|
|
30730
31006
|
this.sortBy$ = this.searchFacade.sortBy$;
|
|
@@ -30733,6 +31009,9 @@ class ResultsTableContainerComponent {
|
|
|
30733
31009
|
handleRecordClick(item) {
|
|
30734
31010
|
this.recordClick.emit(item);
|
|
30735
31011
|
}
|
|
31012
|
+
handleDuplicateRecord(item) {
|
|
31013
|
+
this.duplicateRecord.emit(item);
|
|
31014
|
+
}
|
|
30736
31015
|
handleSortByChange(col, order) {
|
|
30737
31016
|
this.searchService.setSortBy([order, col]);
|
|
30738
31017
|
}
|
|
@@ -30745,13 +31024,15 @@ class ResultsTableContainerComponent {
|
|
|
30745
31024
|
}
|
|
30746
31025
|
}
|
|
30747
31026
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableContainerComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30748
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", outputs: { recordClick: "recordClick" }, ngImport: i0, template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "recordHasDraft"], outputs: ["sortByChange", "recordClick", "recordsSelectedChange"] }] }); }
|
|
31027
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "recordHasDraft"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "recordsSelectedChange"] }] }); }
|
|
30749
31028
|
}
|
|
30750
31029
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
30751
31030
|
type: Component,
|
|
30752
|
-
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n" }]
|
|
31031
|
+
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n" }]
|
|
30753
31032
|
}], ctorParameters: function () { return [{ type: SearchFacade }, { type: SearchService }, { type: SelectionService }, { type: RecordsRepositoryInterface }]; }, propDecorators: { recordClick: [{
|
|
30754
31033
|
type: Output
|
|
31034
|
+
}], duplicateRecord: [{
|
|
31035
|
+
type: Output
|
|
30755
31036
|
}] } });
|
|
30756
31037
|
|
|
30757
31038
|
class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
|
|
@@ -31051,7 +31332,7 @@ class LayersPanelComponent {
|
|
|
31051
31332
|
this.mapFacade.addLayer(layer);
|
|
31052
31333
|
}
|
|
31053
31334
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayersPanelComponent, deps: [{ token: MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31054
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$
|
|
31335
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$6.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i2$6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: AddLayerFromOgcApiComponent, selector: "gn-ui-add-layer-from-ogc-api", inputs: ["ogcUrl"], outputs: ["layerAdded"] }, { kind: "component", type: AddLayerFromCatalogComponent, selector: "gn-ui-add-layer-from-catalog" }, { kind: "component", type: AddLayerFromWmsComponent, selector: "gn-ui-add-layer-from-wms" }, { kind: "component", type: AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file" }, { kind: "component", type: AddLayerFromWfsComponent, selector: "gn-ui-add-layer-from-wfs" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31055
31336
|
}
|
|
31056
31337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayersPanelComponent, decorators: [{
|
|
31057
31338
|
type: Component,
|
|
@@ -31793,7 +32074,7 @@ class TableComponent {
|
|
|
31793
32074
|
return rowIdPrefix + id;
|
|
31794
32075
|
}
|
|
31795
32076
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31796
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, isStandalone: true, selector: "gn-ui-table", inputs: { data: "data", activeId: "activeId" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"border border-gray-300 rounded-lg overflow-hidden bg-white h-full\">\n <cdk-virtual-scroll-viewport\n tvsItemSize=\"48\"\n headerHeight=\"56\"\n style=\"height: calc(100% - 37px)\"\n >\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z8\" matSort>\n <ng-container *ngFor=\"let prop of properties\" [matColumnDef]=\"prop\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ prop }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[prop] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"row.id === activeId\"\n ></tr>\n </table>\n </cdk-virtual-scroll-viewport>\n <div class=\"text-gray-900 border-t border-gray-300 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n > <span translate>table.object.count</span>.\n </div>\n</div>\n", styles: ["table{width:100%;background:white}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:whitesmoke}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1$9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i1$9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2$
|
|
32077
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, isStandalone: true, selector: "gn-ui-table", inputs: { data: "data", activeId: "activeId" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"border border-gray-300 rounded-lg overflow-hidden bg-white h-full\">\n <cdk-virtual-scroll-viewport\n tvsItemSize=\"48\"\n headerHeight=\"56\"\n style=\"height: calc(100% - 37px)\"\n >\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z8\" matSort>\n <ng-container *ngFor=\"let prop of properties\" [matColumnDef]=\"prop\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ prop }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[prop] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"row.id === activeId\"\n ></tr>\n </table>\n </cdk-virtual-scroll-viewport>\n <div class=\"text-gray-900 border-t border-gray-300 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n > <span translate>table.object.count</span>.\n </div>\n</div>\n", styles: ["table{width:100%;background:white}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:whitesmoke}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1$9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i1$9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2$7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2$7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: TableVirtualScrollModule }, { kind: "directive", type: i3$2.TableItemSizeDirective, selector: "cdk-virtual-scroll-viewport[tvsItemSize]", inputs: ["tvsItemSize", "headerEnabled", "headerHeight", "footerEnabled", "footerHeight", "bufferMultiplier"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "component", type: i4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31797
32078
|
}
|
|
31798
32079
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, decorators: [{
|
|
31799
32080
|
type: Component,
|
|
@@ -33939,37 +34220,54 @@ const GN_UI_VERSION = new InjectionToken('gnUiVersion');
|
|
|
33939
34220
|
|
|
33940
34221
|
const WEB_COMPONENT_EMBEDDER_URL = new InjectionToken('webComponentEmbedderUrl');
|
|
33941
34222
|
class DataViewPermalinkComponent {
|
|
34223
|
+
set viewType(value) {
|
|
34224
|
+
this.viewType$.next(value);
|
|
34225
|
+
}
|
|
33942
34226
|
constructor(config, wcEmbedderBaseUrl, version, facade) {
|
|
33943
34227
|
this.config = config;
|
|
33944
34228
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
33945
34229
|
this.version = version;
|
|
33946
34230
|
this.facade = facade;
|
|
34231
|
+
this.viewType$ = new BehaviorSubject('map');
|
|
33947
34232
|
this.permalinkUrl$ = combineLatest([
|
|
34233
|
+
this.viewType$,
|
|
33948
34234
|
this.facade.chartConfig$,
|
|
33949
34235
|
this.facade.metadata$,
|
|
33950
|
-
]).pipe(map$2(([config, metadata]) => {
|
|
33951
|
-
|
|
33952
|
-
|
|
33953
|
-
|
|
33954
|
-
|
|
33955
|
-
|
|
33956
|
-
|
|
33957
|
-
|
|
33958
|
-
|
|
33959
|
-
|
|
33960
|
-
|
|
33961
|
-
|
|
33962
|
-
|
|
33963
|
-
|
|
33964
|
-
|
|
33965
|
-
url.searchParams.append('a', `chart-type=${chartType}`);
|
|
33966
|
-
return url.toString();
|
|
34236
|
+
]).pipe(map$2(([viewType, config, metadata]) => {
|
|
34237
|
+
const url = new URL(`${this.wcEmbedderBaseUrl}`, window.location.origin);
|
|
34238
|
+
url.searchParams.set('v', `${this.version}`);
|
|
34239
|
+
if (viewType === 'chart') {
|
|
34240
|
+
if (config) {
|
|
34241
|
+
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
34242
|
+
url.searchParams.append('e', `gn-dataset-view-chart`);
|
|
34243
|
+
url.searchParams.append('a', `aggregation=${aggregation}`);
|
|
34244
|
+
url.searchParams.append('a', `x-property=${xProperty}`);
|
|
34245
|
+
url.searchParams.append('a', `y-property=${yProperty}`);
|
|
34246
|
+
url.searchParams.append('a', `chart-type=${chartType}`);
|
|
34247
|
+
}
|
|
34248
|
+
else {
|
|
34249
|
+
return '';
|
|
34250
|
+
}
|
|
33967
34251
|
}
|
|
33968
|
-
|
|
34252
|
+
else if (viewType === 'table') {
|
|
34253
|
+
// table
|
|
34254
|
+
url.searchParams.append('e', `gn-dataset-view-table`);
|
|
34255
|
+
}
|
|
34256
|
+
else {
|
|
34257
|
+
// map
|
|
34258
|
+
url.searchParams.append('e', `gn-dataset-view-map`);
|
|
34259
|
+
}
|
|
34260
|
+
url.searchParams.append('a', `api-url=${this.config.basePath}`);
|
|
34261
|
+
url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
|
|
34262
|
+
url.searchParams.append('a', `primary-color=#0f4395`);
|
|
34263
|
+
url.searchParams.append('a', `secondary-color=#8bc832`);
|
|
34264
|
+
url.searchParams.append('a', `main-color=#555`);
|
|
34265
|
+
url.searchParams.append('a', `background-color=#fdfbff`);
|
|
34266
|
+
return url.toString();
|
|
33969
34267
|
}));
|
|
33970
34268
|
}
|
|
33971
34269
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: GN_UI_VERSION }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33972
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewPermalinkComponent, selector: "gn-ui-data-view-permalink", ngImport: i0, template: "<gn-ui-copy-text-button\n *ngIf=\"wcEmbedderBaseUrl\"\n [text]=\"permalinkUrl$ | async\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34270
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewPermalinkComponent, selector: "gn-ui-data-view-permalink", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n *ngIf=\"wcEmbedderBaseUrl\"\n [text]=\"permalinkUrl$ | async\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33973
34271
|
}
|
|
33974
34272
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewPermalinkComponent, decorators: [{
|
|
33975
34273
|
type: Component,
|
|
@@ -33985,37 +34283,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33985
34283
|
}] }, { type: undefined, decorators: [{
|
|
33986
34284
|
type: Inject,
|
|
33987
34285
|
args: [GN_UI_VERSION]
|
|
33988
|
-
}] }, { type: MdViewFacade }]; }
|
|
34286
|
+
}] }, { type: MdViewFacade }]; }, propDecorators: { viewType: [{
|
|
34287
|
+
type: Input
|
|
34288
|
+
}] } });
|
|
33989
34289
|
|
|
33990
34290
|
class DataViewWebComponentComponent {
|
|
34291
|
+
set viewType(value) {
|
|
34292
|
+
this.viewType$.next(value);
|
|
34293
|
+
}
|
|
33991
34294
|
constructor(config, version, facade) {
|
|
33992
34295
|
this.config = config;
|
|
33993
34296
|
this.version = version;
|
|
33994
34297
|
this.facade = facade;
|
|
33995
|
-
this.
|
|
33996
|
-
|
|
33997
|
-
|
|
34298
|
+
this.viewType$ = new BehaviorSubject('map');
|
|
34299
|
+
this.webComponentHtml$ = combineLatest(this.viewType$, this.facade.chartConfig$, this.facade.metadata$).pipe(map$2(([viewType, config, metadata]) => {
|
|
34300
|
+
if (viewType === 'chart') {
|
|
34301
|
+
if (config) {
|
|
34302
|
+
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
34303
|
+
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
34304
|
+
<gn-dataset-view-chart
|
|
34305
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
34306
|
+
dataset-id="${metadata.uniqueIdentifier}"
|
|
34307
|
+
aggregation="${aggregation}"
|
|
34308
|
+
x-property="${xProperty}"
|
|
34309
|
+
y-property="${yProperty}"
|
|
34310
|
+
chart-type="${chartType}"
|
|
34311
|
+
primary-color="#0f4395"
|
|
34312
|
+
secondary-color="#8bc832"
|
|
34313
|
+
main-color="#555"
|
|
34314
|
+
background-color="#fdfbff"
|
|
34315
|
+
main-font="'Inter', sans-serif"
|
|
34316
|
+
title-font="'DM Serif Display', serif"
|
|
34317
|
+
></gn-dataset-view-chart>`;
|
|
34318
|
+
}
|
|
34319
|
+
return '';
|
|
34320
|
+
}
|
|
34321
|
+
else if (viewType === 'table') {
|
|
33998
34322
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
33999
|
-
<gn-dataset-view-
|
|
34323
|
+
<gn-dataset-view-table
|
|
34324
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
34325
|
+
dataset-id="${metadata.uniqueIdentifier}"
|
|
34326
|
+
primary-color="#0f4395"
|
|
34327
|
+
secondary-color="#8bc832"
|
|
34328
|
+
main-color="#555"
|
|
34329
|
+
background-color="#fdfbff"
|
|
34330
|
+
main-font="'Inter', sans-serif"
|
|
34331
|
+
title-font="'DM Serif Display', serif"
|
|
34332
|
+
></gn-dataset-view-table>`;
|
|
34333
|
+
}
|
|
34334
|
+
else {
|
|
34335
|
+
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
34336
|
+
<gn-dataset-view-map
|
|
34000
34337
|
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
34001
34338
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
34002
|
-
aggregation="${aggregation}"
|
|
34003
|
-
x-property="${xProperty}"
|
|
34004
|
-
y-property="${yProperty}"
|
|
34005
|
-
chart-type="${chartType}"
|
|
34006
34339
|
primary-color="#0f4395"
|
|
34007
34340
|
secondary-color="#8bc832"
|
|
34008
34341
|
main-color="#555"
|
|
34009
34342
|
background-color="#fdfbff"
|
|
34010
34343
|
main-font="'Inter', sans-serif"
|
|
34011
34344
|
title-font="'DM Serif Display', serif"
|
|
34012
|
-
></gn-dataset-view-
|
|
34345
|
+
></gn-dataset-view-map>`;
|
|
34013
34346
|
}
|
|
34014
|
-
return '';
|
|
34015
34347
|
}));
|
|
34016
34348
|
}
|
|
34017
34349
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewWebComponentComponent, deps: [{ token: Configuration }, { token: GN_UI_VERSION }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34018
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewWebComponentComponent, selector: "gn-ui-data-view-web-component", ngImport: i0, template: "<gn-ui-copy-text-button\n [text]=\"webComponentHtml$ | async\"\n [rows]=\"3\"\n [tooltipText]=\"'tooltip.html.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34350
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewWebComponentComponent, selector: "gn-ui-data-view-web-component", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n [text]=\"webComponentHtml$ | async\"\n [rows]=\"3\"\n [tooltipText]=\"'tooltip.html.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34019
34351
|
}
|
|
34020
34352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewWebComponentComponent, decorators: [{
|
|
34021
34353
|
type: Component,
|
|
@@ -34026,24 +34358,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34026
34358
|
}] }, { type: undefined, decorators: [{
|
|
34027
34359
|
type: Inject,
|
|
34028
34360
|
args: [GN_UI_VERSION]
|
|
34029
|
-
}] }, { type: MdViewFacade }]; }
|
|
34361
|
+
}] }, { type: MdViewFacade }]; }, propDecorators: { viewType: [{
|
|
34362
|
+
type: Input
|
|
34363
|
+
}] } });
|
|
34030
34364
|
|
|
34031
34365
|
class DataViewShareComponent {
|
|
34366
|
+
set viewType(value) {
|
|
34367
|
+
this._viewType = value;
|
|
34368
|
+
}
|
|
34369
|
+
get viewType() {
|
|
34370
|
+
return this._viewType;
|
|
34371
|
+
}
|
|
34032
34372
|
constructor(wcEmbedderBaseUrl) {
|
|
34033
34373
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
34034
34374
|
}
|
|
34035
34375
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewShareComponent, deps: [{ token: WEB_COMPONENT_EMBEDDER_URL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34036
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewShareComponent, selector: "gn-ui-data-view-share", ngImport: i0, template: "<div class=\"container-lg px-5 my-1 lg:mx-auto\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$
|
|
34376
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataViewShareComponent, selector: "gn-ui-data-view-share", inputs: { viewType: "viewType" }, ngImport: i0, template: "<div class=\"container-lg px-5 my-1 lg:mx-auto\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink\n [viewType]=\"viewType\"\n ></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component\n [viewType]=\"viewType\"\n ></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$6.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2$6.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i2$6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: DataViewPermalinkComponent, selector: "gn-ui-data-view-permalink", inputs: ["viewType"] }, { kind: "component", type: DataViewWebComponentComponent, selector: "gn-ui-data-view-web-component", inputs: ["viewType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34037
34377
|
}
|
|
34038
34378
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewShareComponent, decorators: [{
|
|
34039
34379
|
type: Component,
|
|
34040
|
-
args: [{ selector: 'gn-ui-data-view-share', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container-lg px-5 my-1 lg:mx-auto\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"] }]
|
|
34380
|
+
args: [{ selector: 'gn-ui-data-view-share', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container-lg px-5 my-1 lg:mx-auto\">\n <mat-tab-group\n [selectedIndex]=\"0\"\n animationDuration=\"0ms\"\n mat-stretch-tabs=\"false\"\n mat-align-tabs=\"start\"\n [disableRipple]=\"!wcEmbedderBaseUrl\"\n >\n <mat-tab *ngIf=\"wcEmbedderBaseUrl\">\n <ng-template mat-tab-label>\n <span class=\"tab-header-label-gray\" translate>share.tab.permalink</span>\n </ng-template>\n <gn-ui-data-view-permalink\n [viewType]=\"viewType\"\n ></gn-ui-data-view-permalink>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <span\n [class]=\"\n wcEmbedderBaseUrl\n ? 'tab-header-label-gray'\n : 'single-tab-header-label-gray'\n \"\n translate\n >share.tab.webComponent</span\n >\n </ng-template>\n <gn-ui-data-view-web-component\n [viewType]=\"viewType\"\n ></gn-ui-data-view-web-component>\n </mat-tab>\n </mat-tab-group>\n</div>\n", styles: ["::ng-deep .mat-mdc-tab.mdc-tab.mdc-tab--active .tab-header-label-gray{opacity:100%;font-weight:700}.tab-header-label-gray{@apply text-sm text-gray-700 opacity-75 hover:text-gray-900;}.single-tab-header-label-gray{@apply text-sm text-gray-900;}\n"] }]
|
|
34041
34381
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
34042
34382
|
type: Optional
|
|
34043
34383
|
}, {
|
|
34044
34384
|
type: Inject,
|
|
34045
34385
|
args: [WEB_COMPONENT_EMBEDDER_URL]
|
|
34046
|
-
}] }]; }
|
|
34386
|
+
}] }]; }, propDecorators: { viewType: [{
|
|
34387
|
+
type: Input
|
|
34388
|
+
}] } });
|
|
34047
34389
|
|
|
34048
34390
|
class FeatureRecordModule {
|
|
34049
34391
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureRecordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -34133,75 +34475,159 @@ const saveRecord = createAction('[Editor] Save record');
|
|
|
34133
34475
|
const saveRecordSuccess = createAction('[Editor] Save record success');
|
|
34134
34476
|
const saveRecordFailure = createAction('[Editor] Save record failure', props());
|
|
34135
34477
|
const draftSaveSuccess = createAction('[Editor] Draft save success');
|
|
34478
|
+
const setCurrentPage = createAction('[Editor] Set current page', props());
|
|
34136
34479
|
|
|
34137
|
-
|
|
34138
|
-
|
|
34139
|
-
|
|
34140
|
-
|
|
34141
|
-
|
|
34142
|
-
|
|
34143
|
-
|
|
34480
|
+
/**
|
|
34481
|
+
* This file contains the configuration of the fields that will be displayed in the editor.
|
|
34482
|
+
* To add a new field, you need to create a new EditorField object in the fields part of this file.
|
|
34483
|
+
* Then add it to the corresponding section in the sections part of this file.
|
|
34484
|
+
* Finally, add the section to the corresponding page in the pages part of this file.
|
|
34485
|
+
*/
|
|
34486
|
+
/************************************************************
|
|
34487
|
+
*************** FIELDS *****************
|
|
34488
|
+
************************************************************
|
|
34489
|
+
*/
|
|
34490
|
+
const RECORD_LICENSE_FIELD = {
|
|
34491
|
+
model: 'licenses',
|
|
34492
|
+
formFieldConfig: {
|
|
34493
|
+
labelKey: marker('editor.record.form.field.license'),
|
|
34144
34494
|
},
|
|
34145
|
-
|
|
34146
|
-
|
|
34147
|
-
|
|
34148
|
-
|
|
34149
|
-
|
|
34150
|
-
},
|
|
34495
|
+
};
|
|
34496
|
+
const RECORD_KEYWORDS_FIELD = {
|
|
34497
|
+
model: 'keywords',
|
|
34498
|
+
formFieldConfig: {
|
|
34499
|
+
labelKey: marker('editor.record.form.field.keywords'),
|
|
34151
34500
|
},
|
|
34152
|
-
|
|
34153
|
-
|
|
34154
|
-
|
|
34155
|
-
|
|
34156
|
-
|
|
34157
|
-
|
|
34158
|
-
},
|
|
34501
|
+
};
|
|
34502
|
+
const RECORD_UNIQUE_IDENTIFIER_FIELD = {
|
|
34503
|
+
model: 'uniqueIdentifier',
|
|
34504
|
+
formFieldConfig: {
|
|
34505
|
+
labelKey: marker('editor.record.form.field.uniqueIdentifier'),
|
|
34506
|
+
locked: true,
|
|
34159
34507
|
},
|
|
34160
|
-
|
|
34161
|
-
|
|
34162
|
-
|
|
34163
|
-
|
|
34164
|
-
|
|
34165
|
-
locked: true,
|
|
34166
|
-
},
|
|
34167
|
-
onSaveProcess: '${dateNow()}',
|
|
34508
|
+
};
|
|
34509
|
+
const RECORD_RESOURCE_UPDATED_FIELD = {
|
|
34510
|
+
model: 'resourceUpdated',
|
|
34511
|
+
formFieldConfig: {
|
|
34512
|
+
labelKey: marker('editor.record.form.field.resourceUpdated'),
|
|
34168
34513
|
},
|
|
34169
|
-
|
|
34170
|
-
|
|
34171
|
-
|
|
34172
|
-
|
|
34173
|
-
|
|
34174
|
-
|
|
34514
|
+
};
|
|
34515
|
+
const RECORD_UPDATED_FIELD = {
|
|
34516
|
+
model: 'recordUpdated',
|
|
34517
|
+
formFieldConfig: {
|
|
34518
|
+
labelKey: marker('editor.record.form.field.recordUpdated'),
|
|
34519
|
+
locked: true,
|
|
34175
34520
|
},
|
|
34176
|
-
{
|
|
34177
|
-
|
|
34178
|
-
|
|
34179
|
-
|
|
34180
|
-
|
|
34181
|
-
|
|
34521
|
+
onSaveProcess: '${dateNow()}',
|
|
34522
|
+
};
|
|
34523
|
+
const RECORD_UPDATE_FREQUENCY_FIELD = {
|
|
34524
|
+
model: 'updateFrequency',
|
|
34525
|
+
formFieldConfig: {
|
|
34526
|
+
labelKey: marker('editor.record.form.field.updateFrequency'),
|
|
34182
34527
|
},
|
|
34183
|
-
|
|
34184
|
-
|
|
34185
|
-
|
|
34186
|
-
|
|
34187
|
-
|
|
34188
|
-
},
|
|
34528
|
+
};
|
|
34529
|
+
const RECORD_TEMPORAL_EXTENTS_FIELD = {
|
|
34530
|
+
model: 'temporalExtents',
|
|
34531
|
+
formFieldConfig: {
|
|
34532
|
+
labelKey: marker('editor.record.form.field.temporalExtents'),
|
|
34189
34533
|
},
|
|
34190
|
-
|
|
34191
|
-
|
|
34192
|
-
|
|
34193
|
-
|
|
34194
|
-
|
|
34195
|
-
},
|
|
34534
|
+
};
|
|
34535
|
+
const RECORD_TITLE_FIELD = {
|
|
34536
|
+
model: 'title',
|
|
34537
|
+
formFieldConfig: {
|
|
34538
|
+
labelKey: marker('editor.record.form.field.title'),
|
|
34196
34539
|
},
|
|
34197
|
-
|
|
34198
|
-
|
|
34199
|
-
|
|
34200
|
-
|
|
34201
|
-
|
|
34202
|
-
},
|
|
34540
|
+
};
|
|
34541
|
+
const RECORD_ABSTRACT_FIELD = {
|
|
34542
|
+
model: 'abstract',
|
|
34543
|
+
formFieldConfig: {
|
|
34544
|
+
labelKey: marker('editor.record.form.field.abstract'),
|
|
34203
34545
|
},
|
|
34204
|
-
|
|
34546
|
+
};
|
|
34547
|
+
/************************************************************
|
|
34548
|
+
*************** SECTIONS *****************
|
|
34549
|
+
************************************************************
|
|
34550
|
+
*/
|
|
34551
|
+
const TITLE_SECTION = {
|
|
34552
|
+
hidden: false,
|
|
34553
|
+
fields: [RECORD_TITLE_FIELD, RECORD_ABSTRACT_FIELD],
|
|
34554
|
+
};
|
|
34555
|
+
const ABOUT_SECTION = {
|
|
34556
|
+
labelKey: marker('editor.record.form.section.about.label'),
|
|
34557
|
+
descriptionKey: marker('editor.record.form.section.about.description'),
|
|
34558
|
+
hidden: false,
|
|
34559
|
+
fields: [
|
|
34560
|
+
RECORD_UNIQUE_IDENTIFIER_FIELD,
|
|
34561
|
+
RECORD_RESOURCE_UPDATED_FIELD,
|
|
34562
|
+
RECORD_UPDATED_FIELD,
|
|
34563
|
+
RECORD_UPDATE_FREQUENCY_FIELD,
|
|
34564
|
+
RECORD_TEMPORAL_EXTENTS_FIELD,
|
|
34565
|
+
],
|
|
34566
|
+
};
|
|
34567
|
+
const GEOGRAPHICAL_COVERAGE_SECTION = {
|
|
34568
|
+
labelKey: marker('editor.record.form.section.geographicalCoverage.label'),
|
|
34569
|
+
hidden: false,
|
|
34570
|
+
fields: [],
|
|
34571
|
+
};
|
|
34572
|
+
const ASSOCIATED_RESOURCES_SECTION = {
|
|
34573
|
+
labelKey: marker('editor.record.form.section.associatedResources.label'),
|
|
34574
|
+
descriptionKey: marker('editor.record.form.section.associatedResources.description'),
|
|
34575
|
+
hidden: false,
|
|
34576
|
+
fields: [],
|
|
34577
|
+
};
|
|
34578
|
+
const ANNEXES_SECTION = {
|
|
34579
|
+
labelKey: marker('editor.record.form.section.annexes.label'),
|
|
34580
|
+
hidden: false,
|
|
34581
|
+
fields: [],
|
|
34582
|
+
};
|
|
34583
|
+
const CLASSIFICATION_SECTION = {
|
|
34584
|
+
labelKey: marker('editor.record.form.section.classification.label'),
|
|
34585
|
+
descriptionKey: marker('editor.record.form.section.classification.description'),
|
|
34586
|
+
hidden: false,
|
|
34587
|
+
fields: [RECORD_KEYWORDS_FIELD],
|
|
34588
|
+
};
|
|
34589
|
+
const USE_AND_ACCESS_CONDITIONS_SECTION = {
|
|
34590
|
+
labelKey: marker('editor.record.form.section.useAndAccessConditions.label'),
|
|
34591
|
+
hidden: false,
|
|
34592
|
+
fields: [RECORD_LICENSE_FIELD],
|
|
34593
|
+
};
|
|
34594
|
+
const DATA_MANAGERS_SECTION = {
|
|
34595
|
+
labelKey: marker('editor.record.form.section.dataManagers.label'),
|
|
34596
|
+
descriptionKey: marker('editor.record.form.section.dataManagers.description'),
|
|
34597
|
+
hidden: false,
|
|
34598
|
+
fields: [],
|
|
34599
|
+
};
|
|
34600
|
+
const DATA_POINT_OF_CONTACT_SECTION = {
|
|
34601
|
+
labelKey: marker('editor.record.form.section.dataPointOfContact.label'),
|
|
34602
|
+
descriptionKey: marker('editor.record.form.section.dataPointOfContact.description'),
|
|
34603
|
+
hidden: false,
|
|
34604
|
+
fields: [],
|
|
34605
|
+
};
|
|
34606
|
+
/************************************************************
|
|
34607
|
+
*************** PAGES *****************
|
|
34608
|
+
************************************************************
|
|
34609
|
+
*/
|
|
34610
|
+
const DEFAULT_CONFIGURATION = {
|
|
34611
|
+
pages: [
|
|
34612
|
+
{
|
|
34613
|
+
labelKey: marker('editor.record.form.page.description'),
|
|
34614
|
+
sections: [TITLE_SECTION, ABOUT_SECTION, GEOGRAPHICAL_COVERAGE_SECTION],
|
|
34615
|
+
},
|
|
34616
|
+
{
|
|
34617
|
+
labelKey: marker('editor.record.form.page.ressources'),
|
|
34618
|
+
sections: [ASSOCIATED_RESOURCES_SECTION, ANNEXES_SECTION],
|
|
34619
|
+
},
|
|
34620
|
+
{
|
|
34621
|
+
labelKey: marker('editor.record.form.page.accessAndContact'),
|
|
34622
|
+
sections: [
|
|
34623
|
+
CLASSIFICATION_SECTION,
|
|
34624
|
+
USE_AND_ACCESS_CONDITIONS_SECTION,
|
|
34625
|
+
DATA_MANAGERS_SECTION,
|
|
34626
|
+
DATA_POINT_OF_CONTACT_SECTION,
|
|
34627
|
+
],
|
|
34628
|
+
},
|
|
34629
|
+
],
|
|
34630
|
+
};
|
|
34205
34631
|
|
|
34206
34632
|
const EDITOR_FEATURE_KEY = 'editor';
|
|
34207
34633
|
const initialEditorState = {
|
|
@@ -34211,7 +34637,8 @@ const initialEditorState = {
|
|
|
34211
34637
|
saving: false,
|
|
34212
34638
|
saveError: null,
|
|
34213
34639
|
changedSinceSave: false,
|
|
34214
|
-
|
|
34640
|
+
editorConfig: DEFAULT_CONFIGURATION,
|
|
34641
|
+
currentPage: 0,
|
|
34215
34642
|
};
|
|
34216
34643
|
const reducer = createReducer(initialEditorState, on(openRecord, (state, { record, recordSource, alreadySavedOnce }) => ({
|
|
34217
34644
|
...state,
|
|
@@ -34241,6 +34668,9 @@ const reducer = createReducer(initialEditorState, on(openRecord, (state, { recor
|
|
|
34241
34668
|
})), on(markRecordAsChanged, (state) => ({
|
|
34242
34669
|
...state,
|
|
34243
34670
|
changedSinceSave: true,
|
|
34671
|
+
})), on(setCurrentPage, (state, { page }) => ({
|
|
34672
|
+
...state,
|
|
34673
|
+
currentPage: page,
|
|
34244
34674
|
})));
|
|
34245
34675
|
function editorReducer(state, action) {
|
|
34246
34676
|
return reducer(state, action);
|
|
@@ -34253,11 +34683,21 @@ const selectRecordSaving = createSelector(selectEditorState, (state) => state.sa
|
|
|
34253
34683
|
const selectRecordSaveError = createSelector(selectEditorState, (state) => state.saveError);
|
|
34254
34684
|
const selectRecordChangedSinceSave = createSelector(selectEditorState, (state) => state.changedSinceSave);
|
|
34255
34685
|
const selectRecordAlreadySavedOnce = createSelector(selectEditorState, (state) => state.alreadySavedOnce);
|
|
34256
|
-
const
|
|
34257
|
-
const
|
|
34258
|
-
|
|
34259
|
-
|
|
34260
|
-
|
|
34686
|
+
const selectEditorConfig = createSelector(selectEditorState, (state) => state.editorConfig);
|
|
34687
|
+
const selectCurrentPage = createSelector(selectEditorState, (state) => state.currentPage);
|
|
34688
|
+
const selectRecordSections = createSelector(selectEditorState, (state) => {
|
|
34689
|
+
const currentPage = state.editorConfig.pages[state.currentPage];
|
|
34690
|
+
if (!currentPage) {
|
|
34691
|
+
return [];
|
|
34692
|
+
}
|
|
34693
|
+
return currentPage.sections.map((section) => ({
|
|
34694
|
+
...section,
|
|
34695
|
+
fieldsWithValues: section.fields.map((fieldConfig) => ({
|
|
34696
|
+
config: fieldConfig,
|
|
34697
|
+
value: state.record?.[fieldConfig.model] ?? null,
|
|
34698
|
+
})),
|
|
34699
|
+
}));
|
|
34700
|
+
});
|
|
34261
34701
|
|
|
34262
34702
|
class EditorFacade {
|
|
34263
34703
|
constructor() {
|
|
@@ -34270,8 +34710,10 @@ class EditorFacade {
|
|
|
34270
34710
|
this.saveError$ = this.store.pipe(select(selectRecordSaveError), filter$1((error) => !!error));
|
|
34271
34711
|
this.saveSuccess$ = this.actions$.pipe(ofType(saveRecordSuccess));
|
|
34272
34712
|
this.changedSinceSave$ = this.store.pipe(select(selectRecordChangedSinceSave));
|
|
34273
|
-
this.
|
|
34713
|
+
this.currentSections$ = this.store.pipe(select(selectRecordSections));
|
|
34274
34714
|
this.draftSaveSuccess$ = this.actions$.pipe(ofType(draftSaveSuccess));
|
|
34715
|
+
this.currentPage$ = this.store.pipe(select(selectCurrentPage));
|
|
34716
|
+
this.editorConfig$ = this.store.pipe(select(selectEditorConfig));
|
|
34275
34717
|
}
|
|
34276
34718
|
openRecord(record, recordSource, alreadySavedOnce) {
|
|
34277
34719
|
this.store.dispatch(openRecord({ record, recordSource, alreadySavedOnce }));
|
|
@@ -34282,6 +34724,9 @@ class EditorFacade {
|
|
|
34282
34724
|
updateRecordField(field, value) {
|
|
34283
34725
|
this.store.dispatch(updateRecordField({ field, value }));
|
|
34284
34726
|
}
|
|
34727
|
+
setCurrentPage(page) {
|
|
34728
|
+
this.store.dispatch(setCurrentPage({ page }));
|
|
34729
|
+
}
|
|
34285
34730
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34286
34731
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorFacade }); }
|
|
34287
34732
|
}
|
|
@@ -34309,12 +34754,13 @@ class EditorService {
|
|
|
34309
34754
|
// returns the record as it was when saved, alongside its source
|
|
34310
34755
|
saveRecord(record, fieldsConfig, generateNewUniqueIdentifier = false) {
|
|
34311
34756
|
const savedRecord = { ...record };
|
|
34757
|
+
const fields = fieldsConfig.pages.flatMap((page) => page.sections.flatMap((section) => section.fields));
|
|
34312
34758
|
// run onSave processes
|
|
34313
|
-
for (const field of
|
|
34759
|
+
for (const field of fields) {
|
|
34314
34760
|
if (field.onSaveProcess && field.model) {
|
|
34315
34761
|
const evaluator = evaluate(field.onSaveProcess);
|
|
34316
34762
|
savedRecord[field.model] = evaluator({
|
|
34317
|
-
|
|
34763
|
+
model: field.model,
|
|
34318
34764
|
value: record[field.model],
|
|
34319
34765
|
});
|
|
34320
34766
|
}
|
|
@@ -34351,7 +34797,7 @@ class EditorEffects {
|
|
|
34351
34797
|
this.editorService = inject(EditorService);
|
|
34352
34798
|
this.recordsRepository = inject(RecordsRepositoryInterface);
|
|
34353
34799
|
this.store = inject(Store);
|
|
34354
|
-
this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(saveRecord), withLatestFrom$1(this.store.select(selectRecord), this.store.select(
|
|
34800
|
+
this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(saveRecord), withLatestFrom$1(this.store.select(selectRecord), this.store.select(selectEditorConfig), this.store.select(selectRecordAlreadySavedOnce)), switchMap$1(([, record, fieldsConfig, alreadySavedOnce]) => this.editorService
|
|
34355
34801
|
.saveRecord(record, fieldsConfig, !alreadySavedOnce)
|
|
34356
34802
|
.pipe(switchMap$1(([record, recordSource]) => of(saveRecordSuccess(), openRecord({
|
|
34357
34803
|
record,
|
|
@@ -35304,7 +35750,7 @@ class FormFieldComponent {
|
|
|
35304
35750
|
return this.model === 'title' || this.model === 'abstract';
|
|
35305
35751
|
}
|
|
35306
35752
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35307
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { model: "model", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <
|
|
35753
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { model: "model", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <span\n #titleInput\n class=\"grow font-title text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </span>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey! | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtents\">\n <gn-ui-form-field-temporal-extents\n [control]=\"formControl\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n type=\"text\"\n [control]=\"formControl\"\n [readonly]=\"isReadOnly\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isKeywords\">\n <gn-ui-form-field-keywords\n [control]=\"formControl\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: EditableLabelDirective, selector: "[gnUiEditableLabel]", inputs: ["gnUiEditableLabel"], outputs: ["editableLabelChanged"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["control", "label"] }, { kind: "component", type: FormFieldResourceUpdatedComponent, selector: "gn-ui-form-field-resource-updated", inputs: ["control"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["control"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["control"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "control", "readonly", "invalid", "placeholder", "options"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["control", "label", "hint", "helperText", "placeholder"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["control"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35308
35754
|
}
|
|
35309
35755
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
35310
35756
|
type: Component,
|
|
@@ -35327,7 +35773,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35327
35773
|
FormFieldArrayComponent,
|
|
35328
35774
|
FormFieldKeywordsComponent,
|
|
35329
35775
|
TranslateModule,
|
|
35330
|
-
], template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey | translate\"\n [hint]=\"config.hintKey | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <
|
|
35776
|
+
], template: "<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container *ngIf=\"isTitle\">\n <div class=\"flex justify-between items-center gap-3\">\n <span\n #titleInput\n class=\"grow font-title text-3xl font-normal\"\n [gnUiEditableLabel]=\"true\"\n (editableLabelChanged)=\"formControl.setValue($event)\"\n >\n {{ formControl.value }}\n </span>\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isAbstract\">\n <gn-ui-form-field-rich\n class=\"h-[8rem]\"\n [control]=\"formControl\"\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngIf=\"isLicenses\">\n <gn-ui-form-field-license\n [control]=\"formControl\"\n [label]=\"config.labelKey! | translate\"\n ></gn-ui-form-field-license>\n </ng-container>\n <ng-container *ngIf=\"isResourceUpdated\">\n <gn-ui-form-field-resource-updated\n [control]=\"formControl\"\n ></gn-ui-form-field-resource-updated>\n </ng-container>\n <ng-container *ngIf=\"isUpdateFrequency\">\n <gn-ui-form-field-update-frequency\n [control]=\"formControl\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngIf=\"isTemporalExtents\">\n <gn-ui-form-field-temporal-extents\n [control]=\"formControl\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngIf=\"isSimpleField\">\n <gn-ui-form-field-simple\n type=\"text\"\n [control]=\"formControl\"\n [readonly]=\"isReadOnly\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngIf=\"isSpatialExtentField\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngIf=\"isKeywords\">\n <gn-ui-form-field-keywords\n [control]=\"formControl\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n</ng-template>\n" }]
|
|
35331
35777
|
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
35332
35778
|
type: Input
|
|
35333
35779
|
}], config: [{
|
|
@@ -35344,23 +35790,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35344
35790
|
class RecordFormComponent {
|
|
35345
35791
|
constructor(facade) {
|
|
35346
35792
|
this.facade = facade;
|
|
35347
|
-
this.fields$ = this.facade.recordFields$;
|
|
35348
35793
|
}
|
|
35349
|
-
handleFieldValueChange(
|
|
35350
|
-
if (!
|
|
35794
|
+
handleFieldValueChange(model, newValue) {
|
|
35795
|
+
if (!model) {
|
|
35351
35796
|
return;
|
|
35352
35797
|
}
|
|
35353
|
-
this.facade.updateRecordField(
|
|
35798
|
+
this.facade.updateRecordField(model, newValue);
|
|
35354
35799
|
}
|
|
35355
35800
|
fieldTracker(index, field) {
|
|
35356
35801
|
return field.config.model;
|
|
35357
35802
|
}
|
|
35803
|
+
sectionTracker(index, section) {
|
|
35804
|
+
return section.labelKey;
|
|
35805
|
+
}
|
|
35358
35806
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordFormComponent, deps: [{ token: EditorFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35359
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<div class=\"flex flex-col gap-6 p-
|
|
35807
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<ng-container>\n <div class=\"flex flex-col gap-6 p-8\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-8 border p-8 rounded-[8px] shadow\">\n <div\n class=\"flex flex-col gap-2\"\n [ngClass]=\"section.labelKey ? 'mb-4' : 'hidden'\"\n >\n <div\n *ngIf=\"section.labelKey\"\n class=\"text-2xl font-petrona text-secondary\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div\n *ngIf=\"section.descriptionKey\"\n class=\"text-secondary-lightest\"\n translate\n >\n {{ section.descriptionKey }}\n </div>\n </div>\n <ng-container\n *ngFor=\"\n let field of section.fieldsWithValues;\n trackBy: fieldTracker\n \"\n >\n <ng-container *ngIf=\"!field.config.hidden\">\n <gn-ui-form-field\n [model]=\"field.config.model!\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n (valueChange)=\"\n handleFieldValueChange(field.config.model!, $event)\n \"\n ></gn-ui-form-field>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldComponent, selector: "gn-ui-form-field", inputs: ["model", "config", "value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35360
35808
|
}
|
|
35361
35809
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordFormComponent, decorators: [{
|
|
35362
35810
|
type: Component,
|
|
35363
|
-
args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent], template: "<div class=\"flex flex-col gap-6 p-
|
|
35811
|
+
args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent, TranslateModule], template: "<ng-container>\n <div class=\"flex flex-col gap-6 p-8\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-8 border p-8 rounded-[8px] shadow\">\n <div\n class=\"flex flex-col gap-2\"\n [ngClass]=\"section.labelKey ? 'mb-4' : 'hidden'\"\n >\n <div\n *ngIf=\"section.labelKey\"\n class=\"text-2xl font-petrona text-secondary\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div\n *ngIf=\"section.descriptionKey\"\n class=\"text-secondary-lightest\"\n translate\n >\n {{ section.descriptionKey }}\n </div>\n </div>\n <ng-container\n *ngFor=\"\n let field of section.fieldsWithValues;\n trackBy: fieldTracker\n \"\n >\n <ng-container *ngIf=\"!field.config.hidden\">\n <gn-ui-form-field\n [model]=\"field.config.model!\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n (valueChange)=\"\n handleFieldValueChange(field.config.model!, $event)\n \"\n ></gn-ui-form-field>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n" }]
|
|
35364
35812
|
}], ctorParameters: function () { return [{ type: EditorFacade }]; } });
|
|
35365
35813
|
|
|
35366
35814
|
const ROUTER_STATE_KEY = 'router';
|
|
@@ -35743,5 +36191,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35743
36191
|
* Generated bundle index. Do not edit.
|
|
35744
36192
|
*/
|
|
35745
36193
|
|
|
35746
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageOverlayPreviewComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MultilingualSearchField, MyOrgService, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WFS_MAX_FEATURES, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, findConverterForDocument, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, initSearch, initialEditorState, initialMapState, initialState, isBeginningOfResults, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, openRecord, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$2 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, saveRecord, saveRecordFailure, saveRecordSuccess, selectEditorState, selectFallback, selectFallbackFields, selectField, selectRecord, selectRecordAlreadySavedOnce, selectRecordChangedSinceSave,
|
|
36194
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseConverter, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageOverlayPreviewComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MultilingualSearchField, MyOrgService, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WFS_MAX_FEATURES, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, findConverterForDocument, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, initSearch, initialEditorState, initialMapState, initialState, isBeginningOfResults, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, openRecord, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$2 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, saveRecord, saveRecordFailure, saveRecordSuccess, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectRecord, selectRecordAlreadySavedOnce, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setCurrentPage, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, totalPages, updateLayer, updateRecordField };
|
|
35747
36195
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|