geonetwork-ui 2.4.0-dev.58b3c2e5 → 2.4.0-dev.613f7319
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/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 +30 -0
- package/esm2022/translations/en.json +30 -0
- package/esm2022/translations/es.json +30 -0
- package/esm2022/translations/fr.json +30 -0
- package/esm2022/translations/it.json +30 -0
- package/esm2022/translations/nl.json +30 -0
- package/esm2022/translations/pt.json +30 -0
- package/fesm2022/geonetwork-ui.mjs +547 -123
- 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/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/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/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 +30 -0
- package/translations/en.json +30 -0
- package/translations/es.json +30 -0
- package/translations/fr.json +30 -0
- package/translations/it.json +30 -0
- package/translations/nl.json +30 -0
- package/translations/pt.json +30 -0
- package/translations/sk.json +30 -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
|
}
|
|
@@ -17472,6 +17475,18 @@ var de = {
|
|
|
17472
17475
|
"downloads.format.unknown": "unbekannt",
|
|
17473
17476
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
17474
17477
|
dropFile: dropFile$6,
|
|
17478
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
17479
|
+
"editor.record.form.bottomButtons.next": "",
|
|
17480
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
17481
|
+
"editor.record.form.field.abstract": "",
|
|
17482
|
+
"editor.record.form.field.keywords": "Schlagwörter",
|
|
17483
|
+
"editor.record.form.field.license": "Lizenz",
|
|
17484
|
+
"editor.record.form.field.recordUpdated": "",
|
|
17485
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
17486
|
+
"editor.record.form.field.temporalExtents": "",
|
|
17487
|
+
"editor.record.form.field.title": "",
|
|
17488
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
17489
|
+
"editor.record.form.field.updateFrequency": "",
|
|
17475
17490
|
"editor.record.form.abstract": "Kurzbeschreibung",
|
|
17476
17491
|
"editor.record.form.keywords": "Schlüsselwörter",
|
|
17477
17492
|
"editor.record.form.license": "Lizenz",
|
|
@@ -17484,6 +17499,22 @@ var de = {
|
|
|
17484
17499
|
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
17485
17500
|
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
17486
17501
|
"editor.record.form.license.unknown": "Unbekannt oder nicht vorhanden",
|
|
17502
|
+
"editor.record.form.page.accessAndContact": "",
|
|
17503
|
+
"editor.record.form.page.description": "",
|
|
17504
|
+
"editor.record.form.page.ressources": "",
|
|
17505
|
+
"editor.record.form.section.about.description": "",
|
|
17506
|
+
"editor.record.form.section.about.label": "",
|
|
17507
|
+
"editor.record.form.section.annexes.label": "",
|
|
17508
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
17509
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
17510
|
+
"editor.record.form.section.classification.description": "",
|
|
17511
|
+
"editor.record.form.section.classification.label": "",
|
|
17512
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
17513
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
17514
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
17515
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
17516
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
17517
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
17487
17518
|
"editor.record.form.metadata.title": "Metadaten-Titel",
|
|
17488
17519
|
"editor.record.form.record.updated": "Datensatz zuletzt aktualisiert",
|
|
17489
17520
|
"editor.record.form.resourceUpdated": "Letztes Aktualisierungsdatum",
|
|
@@ -17508,6 +17539,7 @@ var de = {
|
|
|
17508
17539
|
"editor.record.saveStatus.draftWithChangesPending": "Als Entwurf gespeichert - Änderungen stehen aus",
|
|
17509
17540
|
"editor.record.saveStatus.recordUpToDate": "Datensatz ist auf dem neuesten Stand",
|
|
17510
17541
|
"editor.record.upToDate": "Dieser Datensatz ist auf dem neuesten Stand",
|
|
17542
|
+
"editor.sidebar.menu.editor": "",
|
|
17511
17543
|
"externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
|
|
17512
17544
|
"facets.block.title.OrgForResource": "Organisation",
|
|
17513
17545
|
"facets.block.title.availableInServices": "Verfügbar für",
|
|
@@ -17585,6 +17617,7 @@ var de = {
|
|
|
17585
17617
|
"pagination.pageOf": "von",
|
|
17586
17618
|
previous: previous$6,
|
|
17587
17619
|
"record.action.download": "Herunterladen",
|
|
17620
|
+
"record.action.duplicate": "",
|
|
17588
17621
|
"record.action.view": "Anzeigen",
|
|
17589
17622
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
17590
17623
|
"record.metadata.about": "Beschreibung",
|
|
@@ -17907,6 +17940,18 @@ var en = {
|
|
|
17907
17940
|
"downloads.format.unknown": "unknown",
|
|
17908
17941
|
"downloads.wfs.featuretype.not.found": "The layer was not found",
|
|
17909
17942
|
dropFile: dropFile$5,
|
|
17943
|
+
"editor.record.form.bottomButtons.comeBackLater": "Come back later",
|
|
17944
|
+
"editor.record.form.bottomButtons.next": "Next",
|
|
17945
|
+
"editor.record.form.bottomButtons.previous": "Previous",
|
|
17946
|
+
"editor.record.form.field.abstract": "Abstract",
|
|
17947
|
+
"editor.record.form.field.keywords": "Keywords",
|
|
17948
|
+
"editor.record.form.field.license": "License",
|
|
17949
|
+
"editor.record.form.field.recordUpdated": "Record Updated",
|
|
17950
|
+
"editor.record.form.field.resourceUpdated": "Resource Updated",
|
|
17951
|
+
"editor.record.form.field.temporalExtents": "Temporal extents",
|
|
17952
|
+
"editor.record.form.field.title": "Metadata title",
|
|
17953
|
+
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
17954
|
+
"editor.record.form.field.updateFrequency": "Update frequency",
|
|
17910
17955
|
"editor.record.form.abstract": "Abstract",
|
|
17911
17956
|
"editor.record.form.keywords": "Keywords",
|
|
17912
17957
|
"editor.record.form.license": "License",
|
|
@@ -17919,6 +17964,22 @@ var en = {
|
|
|
17919
17964
|
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
17920
17965
|
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
17921
17966
|
"editor.record.form.license.unknown": "Unknown or absent",
|
|
17967
|
+
"editor.record.form.page.accessAndContact": "Access and contact",
|
|
17968
|
+
"editor.record.form.page.description": "Resource description",
|
|
17969
|
+
"editor.record.form.page.ressources": "Resources",
|
|
17970
|
+
"editor.record.form.section.about.description": "This section describes the resource.",
|
|
17971
|
+
"editor.record.form.section.about.label": "About the resource",
|
|
17972
|
+
"editor.record.form.section.annexes.label": "Annexes",
|
|
17973
|
+
"editor.record.form.section.associatedResources.description": "Drop files here to associate them with the resource.",
|
|
17974
|
+
"editor.record.form.section.associatedResources.label": "Associated resources",
|
|
17975
|
+
"editor.record.form.section.classification.description": "The classification has an impact on the access to the data.",
|
|
17976
|
+
"editor.record.form.section.classification.label": "Classification",
|
|
17977
|
+
"editor.record.form.section.dataManagers.description": "The data managers are responsible for the data.",
|
|
17978
|
+
"editor.record.form.section.dataManagers.label": "Data managers",
|
|
17979
|
+
"editor.record.form.section.dataPointOfContact.description": "This information concerns the metadata.",
|
|
17980
|
+
"editor.record.form.section.dataPointOfContact.label": "Data point of contact",
|
|
17981
|
+
"editor.record.form.section.geographicalCoverage.label": "Geographical coverage",
|
|
17982
|
+
"editor.record.form.section.useAndAccessConditions.label": "Use and access conditions",
|
|
17922
17983
|
"editor.record.form.metadata.title": "Metadata title",
|
|
17923
17984
|
"editor.record.form.record.updated": "Record updated",
|
|
17924
17985
|
"editor.record.form.resourceUpdated": "Last update date",
|
|
@@ -17943,6 +18004,7 @@ var en = {
|
|
|
17943
18004
|
"editor.record.saveStatus.draftWithChangesPending": "Saved as draft - changes are pending",
|
|
17944
18005
|
"editor.record.saveStatus.recordUpToDate": "Record is up to date",
|
|
17945
18006
|
"editor.record.upToDate": "This record is up to date",
|
|
18007
|
+
"editor.sidebar.menu.editor": "Editor",
|
|
17946
18008
|
"externalviewer.dataset.unnamed": "Datahub layer",
|
|
17947
18009
|
"facets.block.title.OrgForResource": "Organisation",
|
|
17948
18010
|
"facets.block.title.availableInServices": "Available for",
|
|
@@ -18020,6 +18082,7 @@ var en = {
|
|
|
18020
18082
|
"pagination.pageOf": "of",
|
|
18021
18083
|
previous: previous$5,
|
|
18022
18084
|
"record.action.download": "Download",
|
|
18085
|
+
"record.action.duplicate": "Duplicate",
|
|
18023
18086
|
"record.action.view": "View",
|
|
18024
18087
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
18025
18088
|
"record.metadata.about": "Description",
|
|
@@ -18342,6 +18405,18 @@ var es = {
|
|
|
18342
18405
|
"downloads.format.unknown": "",
|
|
18343
18406
|
"downloads.wfs.featuretype.not.found": "",
|
|
18344
18407
|
dropFile: dropFile$4,
|
|
18408
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
18409
|
+
"editor.record.form.bottomButtons.next": "",
|
|
18410
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
18411
|
+
"editor.record.form.field.abstract": "",
|
|
18412
|
+
"editor.record.form.field.keywords": "",
|
|
18413
|
+
"editor.record.form.field.license": "",
|
|
18414
|
+
"editor.record.form.field.recordUpdated": "",
|
|
18415
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
18416
|
+
"editor.record.form.field.temporalExtents": "",
|
|
18417
|
+
"editor.record.form.field.title": "",
|
|
18418
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
18419
|
+
"editor.record.form.field.updateFrequency": "",
|
|
18345
18420
|
"editor.record.form.abstract": "",
|
|
18346
18421
|
"editor.record.form.keywords": "",
|
|
18347
18422
|
"editor.record.form.license": "",
|
|
@@ -18354,6 +18429,22 @@ var es = {
|
|
|
18354
18429
|
"editor.record.form.license.odc-by": "",
|
|
18355
18430
|
"editor.record.form.license.pddl": "",
|
|
18356
18431
|
"editor.record.form.license.unknown": "",
|
|
18432
|
+
"editor.record.form.page.accessAndContact": "",
|
|
18433
|
+
"editor.record.form.page.description": "",
|
|
18434
|
+
"editor.record.form.page.ressources": "",
|
|
18435
|
+
"editor.record.form.section.about.description": "",
|
|
18436
|
+
"editor.record.form.section.about.label": "",
|
|
18437
|
+
"editor.record.form.section.annexes.label": "",
|
|
18438
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
18439
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
18440
|
+
"editor.record.form.section.classification.description": "",
|
|
18441
|
+
"editor.record.form.section.classification.label": "",
|
|
18442
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
18443
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
18444
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
18445
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
18446
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
18447
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
18357
18448
|
"editor.record.form.metadata.title": "",
|
|
18358
18449
|
"editor.record.form.record.updated": "",
|
|
18359
18450
|
"editor.record.form.resourceUpdated": "",
|
|
@@ -18378,6 +18469,7 @@ var es = {
|
|
|
18378
18469
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
18379
18470
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
18380
18471
|
"editor.record.upToDate": "",
|
|
18472
|
+
"editor.sidebar.menu.editor": "",
|
|
18381
18473
|
"externalviewer.dataset.unnamed": "",
|
|
18382
18474
|
"facets.block.title.OrgForResource": "",
|
|
18383
18475
|
"facets.block.title.availableInServices": "",
|
|
@@ -18455,6 +18547,7 @@ var es = {
|
|
|
18455
18547
|
"pagination.pageOf": "",
|
|
18456
18548
|
previous: previous$4,
|
|
18457
18549
|
"record.action.download": "",
|
|
18550
|
+
"record.action.duplicate": "",
|
|
18458
18551
|
"record.action.view": "",
|
|
18459
18552
|
"record.externalViewer.open": "",
|
|
18460
18553
|
"record.metadata.about": "",
|
|
@@ -18777,6 +18870,18 @@ var fr = {
|
|
|
18777
18870
|
"downloads.format.unknown": "inconnu",
|
|
18778
18871
|
"downloads.wfs.featuretype.not.found": "La couche n'a pas été retrouvée",
|
|
18779
18872
|
dropFile: dropFile$3,
|
|
18873
|
+
"editor.record.form.bottomButtons.comeBackLater": "Revenir plus tard",
|
|
18874
|
+
"editor.record.form.bottomButtons.next": "Suivant",
|
|
18875
|
+
"editor.record.form.bottomButtons.previous": "Précédent",
|
|
18876
|
+
"editor.record.form.field.abstract": "Résumé",
|
|
18877
|
+
"editor.record.form.field.keywords": "Mots-clés",
|
|
18878
|
+
"editor.record.form.field.license": "Licence",
|
|
18879
|
+
"editor.record.form.field.recordUpdated": "Date de dernière révision",
|
|
18880
|
+
"editor.record.form.field.resourceUpdated": "Date de dernière révision",
|
|
18881
|
+
"editor.record.form.field.temporalExtents": "Étendue temporelle",
|
|
18882
|
+
"editor.record.form.field.title": "Titre",
|
|
18883
|
+
"editor.record.form.field.uniqueIdentifier": "Identifiant unique",
|
|
18884
|
+
"editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
|
|
18780
18885
|
"editor.record.form.abstract": "",
|
|
18781
18886
|
"editor.record.form.keywords": "",
|
|
18782
18887
|
"editor.record.form.license": "Licence",
|
|
@@ -18789,6 +18894,22 @@ var fr = {
|
|
|
18789
18894
|
"editor.record.form.license.odc-by": "",
|
|
18790
18895
|
"editor.record.form.license.pddl": "",
|
|
18791
18896
|
"editor.record.form.license.unknown": "Non-reconnue ou absente",
|
|
18897
|
+
"editor.record.form.page.accessAndContact": "Acces et contact",
|
|
18898
|
+
"editor.record.form.page.description": "Description de la ressource",
|
|
18899
|
+
"editor.record.form.page.ressources": "Ressources",
|
|
18900
|
+
"editor.record.form.section.about.description": "Ces informations concernent la donnée.",
|
|
18901
|
+
"editor.record.form.section.about.label": "A propos de la ressource",
|
|
18902
|
+
"editor.record.form.section.annexes.label": "Annexes",
|
|
18903
|
+
"editor.record.form.section.associatedResources.description": "Déposez les jeux de données associées à cette fiche de métadonnée.",
|
|
18904
|
+
"editor.record.form.section.associatedResources.label": "Ressources associees",
|
|
18905
|
+
"editor.record.form.section.classification.description": "La classification a un impact sur la recherche du jeux de données.",
|
|
18906
|
+
"editor.record.form.section.classification.label": "Classification",
|
|
18907
|
+
"editor.record.form.section.dataManagers.description": "Cette information concerne la donnée.",
|
|
18908
|
+
"editor.record.form.section.dataManagers.label": "Responsables de la donnee",
|
|
18909
|
+
"editor.record.form.section.dataPointOfContact.description": "Cette information concerne la fiche de métadonnée.",
|
|
18910
|
+
"editor.record.form.section.dataPointOfContact.label": "Point de contact de la metadonee",
|
|
18911
|
+
"editor.record.form.section.geographicalCoverage.label": "Couverture geographique",
|
|
18912
|
+
"editor.record.form.section.useAndAccessConditions.label": "Conditions d'acces et usage",
|
|
18792
18913
|
"editor.record.form.metadata.title": "",
|
|
18793
18914
|
"editor.record.form.record.updated": "",
|
|
18794
18915
|
"editor.record.form.resourceUpdated": "Date de dernière révision",
|
|
@@ -18813,6 +18934,7 @@ var fr = {
|
|
|
18813
18934
|
"editor.record.saveStatus.draftWithChangesPending": "Brouillon enregistré - modifications en cours",
|
|
18814
18935
|
"editor.record.saveStatus.recordUpToDate": "La fiche publiée est à jour",
|
|
18815
18936
|
"editor.record.upToDate": "",
|
|
18937
|
+
"editor.sidebar.menu.editor": "",
|
|
18816
18938
|
"externalviewer.dataset.unnamed": "Couche du datahub",
|
|
18817
18939
|
"facets.block.title.OrgForResource": "Organisation",
|
|
18818
18940
|
"facets.block.title.availableInServices": "Disponible pour",
|
|
@@ -18890,6 +19012,7 @@ var fr = {
|
|
|
18890
19012
|
"pagination.pageOf": "sur",
|
|
18891
19013
|
previous: previous$3,
|
|
18892
19014
|
"record.action.download": "Télécharger",
|
|
19015
|
+
"record.action.duplicate": "Dupliquer",
|
|
18893
19016
|
"record.action.view": "Voir",
|
|
18894
19017
|
"record.externalViewer.open": "Ouvrir dans le visualiseur externe",
|
|
18895
19018
|
"record.metadata.about": "Description",
|
|
@@ -19212,6 +19335,18 @@ var it = {
|
|
|
19212
19335
|
"downloads.format.unknown": "sconosciuto",
|
|
19213
19336
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
19214
19337
|
dropFile: dropFile$2,
|
|
19338
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
19339
|
+
"editor.record.form.bottomButtons.next": "",
|
|
19340
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
19341
|
+
"editor.record.form.field.abstract": "",
|
|
19342
|
+
"editor.record.form.field.keywords": "",
|
|
19343
|
+
"editor.record.form.field.license": "Licenza",
|
|
19344
|
+
"editor.record.form.field.recordUpdated": "",
|
|
19345
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
19346
|
+
"editor.record.form.field.temporalExtents": "",
|
|
19347
|
+
"editor.record.form.field.title": "",
|
|
19348
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
19349
|
+
"editor.record.form.field.updateFrequency": "",
|
|
19215
19350
|
"editor.record.form.abstract": "",
|
|
19216
19351
|
"editor.record.form.keywords": "",
|
|
19217
19352
|
"editor.record.form.license": "Licenza",
|
|
@@ -19224,6 +19359,22 @@ var it = {
|
|
|
19224
19359
|
"editor.record.form.license.odc-by": "",
|
|
19225
19360
|
"editor.record.form.license.pddl": "",
|
|
19226
19361
|
"editor.record.form.license.unknown": "Non riconosciuta o assente",
|
|
19362
|
+
"editor.record.form.page.accessAndContact": "",
|
|
19363
|
+
"editor.record.form.page.description": "",
|
|
19364
|
+
"editor.record.form.page.ressources": "",
|
|
19365
|
+
"editor.record.form.section.about.description": "",
|
|
19366
|
+
"editor.record.form.section.about.label": "",
|
|
19367
|
+
"editor.record.form.section.annexes.label": "",
|
|
19368
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
19369
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
19370
|
+
"editor.record.form.section.classification.description": "",
|
|
19371
|
+
"editor.record.form.section.classification.label": "",
|
|
19372
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
19373
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
19374
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
19375
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
19376
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
19377
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
19227
19378
|
"editor.record.form.metadata.title": "",
|
|
19228
19379
|
"editor.record.form.record.updated": "",
|
|
19229
19380
|
"editor.record.form.resourceUpdated": "",
|
|
@@ -19248,6 +19399,7 @@ var it = {
|
|
|
19248
19399
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
19249
19400
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
19250
19401
|
"editor.record.upToDate": "",
|
|
19402
|
+
"editor.sidebar.menu.editor": "",
|
|
19251
19403
|
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
19252
19404
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
19253
19405
|
"facets.block.title.availableInServices": "Disponibile per",
|
|
@@ -19325,6 +19477,7 @@ var it = {
|
|
|
19325
19477
|
"pagination.pageOf": "di",
|
|
19326
19478
|
previous: previous$2,
|
|
19327
19479
|
"record.action.download": "Scarica",
|
|
19480
|
+
"record.action.duplicate": "",
|
|
19328
19481
|
"record.action.view": "Visualizza",
|
|
19329
19482
|
"record.externalViewer.open": "Apri nell'visualizzatore esterno",
|
|
19330
19483
|
"record.metadata.about": "Descrizione",
|
|
@@ -19647,6 +19800,18 @@ var nl = {
|
|
|
19647
19800
|
"downloads.format.unknown": "",
|
|
19648
19801
|
"downloads.wfs.featuretype.not.found": "",
|
|
19649
19802
|
dropFile: dropFile$1,
|
|
19803
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
19804
|
+
"editor.record.form.bottomButtons.next": "",
|
|
19805
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
19806
|
+
"editor.record.form.field.abstract": "",
|
|
19807
|
+
"editor.record.form.field.keywords": "",
|
|
19808
|
+
"editor.record.form.field.license": "",
|
|
19809
|
+
"editor.record.form.field.recordUpdated": "",
|
|
19810
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
19811
|
+
"editor.record.form.field.temporalExtents": "",
|
|
19812
|
+
"editor.record.form.field.title": "",
|
|
19813
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
19814
|
+
"editor.record.form.field.updateFrequency": "",
|
|
19650
19815
|
"editor.record.form.abstract": "",
|
|
19651
19816
|
"editor.record.form.keywords": "",
|
|
19652
19817
|
"editor.record.form.license": "",
|
|
@@ -19659,6 +19824,22 @@ var nl = {
|
|
|
19659
19824
|
"editor.record.form.license.odc-by": "",
|
|
19660
19825
|
"editor.record.form.license.pddl": "",
|
|
19661
19826
|
"editor.record.form.license.unknown": "",
|
|
19827
|
+
"editor.record.form.page.accessAndContact": "",
|
|
19828
|
+
"editor.record.form.page.description": "",
|
|
19829
|
+
"editor.record.form.page.ressources": "",
|
|
19830
|
+
"editor.record.form.section.about.description": "",
|
|
19831
|
+
"editor.record.form.section.about.label": "",
|
|
19832
|
+
"editor.record.form.section.annexes.label": "",
|
|
19833
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
19834
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
19835
|
+
"editor.record.form.section.classification.description": "",
|
|
19836
|
+
"editor.record.form.section.classification.label": "",
|
|
19837
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
19838
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
19839
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
19840
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
19841
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
19842
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
19662
19843
|
"editor.record.form.metadata.title": "",
|
|
19663
19844
|
"editor.record.form.record.updated": "",
|
|
19664
19845
|
"editor.record.form.resourceUpdated": "",
|
|
@@ -19683,6 +19864,7 @@ var nl = {
|
|
|
19683
19864
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
19684
19865
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
19685
19866
|
"editor.record.upToDate": "",
|
|
19867
|
+
"editor.sidebar.menu.editor": "",
|
|
19686
19868
|
"externalviewer.dataset.unnamed": "",
|
|
19687
19869
|
"facets.block.title.OrgForResource": "",
|
|
19688
19870
|
"facets.block.title.availableInServices": "",
|
|
@@ -19760,6 +19942,7 @@ var nl = {
|
|
|
19760
19942
|
"pagination.pageOf": "",
|
|
19761
19943
|
previous: previous$1,
|
|
19762
19944
|
"record.action.download": "",
|
|
19945
|
+
"record.action.duplicate": "",
|
|
19763
19946
|
"record.action.view": "",
|
|
19764
19947
|
"record.externalViewer.open": "",
|
|
19765
19948
|
"record.metadata.about": "",
|
|
@@ -20082,6 +20265,18 @@ var pt = {
|
|
|
20082
20265
|
"downloads.format.unknown": "",
|
|
20083
20266
|
"downloads.wfs.featuretype.not.found": "",
|
|
20084
20267
|
dropFile: dropFile,
|
|
20268
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
20269
|
+
"editor.record.form.bottomButtons.next": "",
|
|
20270
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
20271
|
+
"editor.record.form.field.abstract": "",
|
|
20272
|
+
"editor.record.form.field.keywords": "",
|
|
20273
|
+
"editor.record.form.field.license": "",
|
|
20274
|
+
"editor.record.form.field.recordUpdated": "",
|
|
20275
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
20276
|
+
"editor.record.form.field.temporalExtents": "",
|
|
20277
|
+
"editor.record.form.field.title": "",
|
|
20278
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
20279
|
+
"editor.record.form.field.updateFrequency": "",
|
|
20085
20280
|
"editor.record.form.abstract": "",
|
|
20086
20281
|
"editor.record.form.keywords": "",
|
|
20087
20282
|
"editor.record.form.license": "",
|
|
@@ -20094,6 +20289,22 @@ var pt = {
|
|
|
20094
20289
|
"editor.record.form.license.odc-by": "",
|
|
20095
20290
|
"editor.record.form.license.pddl": "",
|
|
20096
20291
|
"editor.record.form.license.unknown": "",
|
|
20292
|
+
"editor.record.form.page.accessAndContact": "",
|
|
20293
|
+
"editor.record.form.page.description": "",
|
|
20294
|
+
"editor.record.form.page.ressources": "",
|
|
20295
|
+
"editor.record.form.section.about.description": "",
|
|
20296
|
+
"editor.record.form.section.about.label": "",
|
|
20297
|
+
"editor.record.form.section.annexes.label": "",
|
|
20298
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
20299
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
20300
|
+
"editor.record.form.section.classification.description": "",
|
|
20301
|
+
"editor.record.form.section.classification.label": "",
|
|
20302
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
20303
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
20304
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
20305
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
20306
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
20307
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
20097
20308
|
"editor.record.form.metadata.title": "",
|
|
20098
20309
|
"editor.record.form.record.updated": "",
|
|
20099
20310
|
"editor.record.form.resourceUpdated": "",
|
|
@@ -20118,6 +20329,7 @@ var pt = {
|
|
|
20118
20329
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
20119
20330
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
20120
20331
|
"editor.record.upToDate": "",
|
|
20332
|
+
"editor.sidebar.menu.editor": "",
|
|
20121
20333
|
"externalviewer.dataset.unnamed": "",
|
|
20122
20334
|
"facets.block.title.OrgForResource": "",
|
|
20123
20335
|
"facets.block.title.availableInServices": "",
|
|
@@ -20195,6 +20407,7 @@ var pt = {
|
|
|
20195
20407
|
"pagination.pageOf": "",
|
|
20196
20408
|
previous: previous,
|
|
20197
20409
|
"record.action.download": "",
|
|
20410
|
+
"record.action.duplicate": "",
|
|
20198
20411
|
"record.action.view": "",
|
|
20199
20412
|
"record.externalViewer.open": "",
|
|
20200
20413
|
"record.metadata.about": "",
|
|
@@ -21327,6 +21540,17 @@ class Gn4Repository {
|
|
|
21327
21540
|
.then((record) => [record, xml, isSavedAlready]);
|
|
21328
21541
|
}));
|
|
21329
21542
|
}
|
|
21543
|
+
openRecordForDuplication(uniqueIdentifier) {
|
|
21544
|
+
return this.loadRecordAsXml(uniqueIdentifier).pipe(switchMap(async (recordAsXml) => {
|
|
21545
|
+
const converter = findConverterForDocument(recordAsXml);
|
|
21546
|
+
const record = await converter.readRecord(recordAsXml);
|
|
21547
|
+
record.uniqueIdentifier = `TEMP-ID-${Date.now()}`;
|
|
21548
|
+
record.title = `${record.title} (Copy)`;
|
|
21549
|
+
const xml = await converter.writeRecord(record, recordAsXml);
|
|
21550
|
+
window.localStorage.setItem(this.getLocalStorageKeyForRecord(record.uniqueIdentifier), xml);
|
|
21551
|
+
return [record, xml, false];
|
|
21552
|
+
}));
|
|
21553
|
+
}
|
|
21330
21554
|
serializeRecordToXml(record, referenceRecordSource) {
|
|
21331
21555
|
// if there's a reference record, use that standard; otherwise, use iso19139
|
|
21332
21556
|
const converter = referenceRecordSource
|
|
@@ -28316,11 +28540,11 @@ class UserPreviewComponent {
|
|
|
28316
28540
|
return (this.user.name + ' ' + this.user.surname).trim();
|
|
28317
28541
|
}
|
|
28318
28542
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28319
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserPreviewComponent, selector: "gn-ui-user-preview", inputs: { user: "user", avatarPlaceholder: "avatarPlaceholder" }, ngImport: i0, template: "<figure class=\"text-center\">\n <div\n class=\"w-
|
|
28543
|
+
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 }); }
|
|
28320
28544
|
}
|
|
28321
28545
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreviewComponent, decorators: [{
|
|
28322
28546
|
type: Component,
|
|
28323
|
-
args: [{ selector: 'gn-ui-user-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<figure class=\"text-center\">\n <div\n class=\"w-
|
|
28547
|
+
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" }]
|
|
28324
28548
|
}], propDecorators: { user: [{
|
|
28325
28549
|
type: Input
|
|
28326
28550
|
}], avatarPlaceholder: [{
|
|
@@ -28669,6 +28893,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28669
28893
|
}]
|
|
28670
28894
|
}] });
|
|
28671
28895
|
|
|
28896
|
+
class ActionMenuComponent {
|
|
28897
|
+
constructor() {
|
|
28898
|
+
this.duplicate = new EventEmitter();
|
|
28899
|
+
}
|
|
28900
|
+
openMenu() {
|
|
28901
|
+
this.trigger.openMenu();
|
|
28902
|
+
}
|
|
28903
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28904
|
+
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"] }] }); }
|
|
28905
|
+
}
|
|
28906
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionMenuComponent, decorators: [{
|
|
28907
|
+
type: Component,
|
|
28908
|
+
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" }]
|
|
28909
|
+
}], propDecorators: { duplicate: [{
|
|
28910
|
+
type: Output
|
|
28911
|
+
}], trigger: [{
|
|
28912
|
+
type: ViewChild,
|
|
28913
|
+
args: [MatMenuTrigger]
|
|
28914
|
+
}] } });
|
|
28915
|
+
|
|
28672
28916
|
class ResultsTableComponent {
|
|
28673
28917
|
constructor() {
|
|
28674
28918
|
this.records = [];
|
|
@@ -28678,6 +28922,7 @@ class ResultsTableComponent {
|
|
|
28678
28922
|
// emits the column (field) as well as the order
|
|
28679
28923
|
this.sortByChange = new EventEmitter();
|
|
28680
28924
|
this.recordClick = new EventEmitter();
|
|
28925
|
+
this.duplicateRecord = new EventEmitter();
|
|
28681
28926
|
this.recordsSelectedChange = new EventEmitter();
|
|
28682
28927
|
}
|
|
28683
28928
|
dateToString(date) {
|
|
@@ -28712,6 +28957,9 @@ class ResultsTableComponent {
|
|
|
28712
28957
|
handleRecordClick(item) {
|
|
28713
28958
|
this.recordClick.emit(item);
|
|
28714
28959
|
}
|
|
28960
|
+
handleDuplicate(item) {
|
|
28961
|
+
this.duplicateRecord.emit(item);
|
|
28962
|
+
}
|
|
28715
28963
|
setSortBy(col, order) {
|
|
28716
28964
|
this.sortByChange.emit([col, order]);
|
|
28717
28965
|
}
|
|
@@ -28747,7 +28995,7 @@ class ResultsTableComponent {
|
|
|
28747
28995
|
return !allSelected && someSelected;
|
|
28748
28996
|
}
|
|
28749
28997
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28750
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", recordHasDraft: "recordHasDraft" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", recordsSelectedChange: "recordsSelectedChange" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
28998
|
+
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"] }] }); }
|
|
28751
28999
|
}
|
|
28752
29000
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
28753
29001
|
type: Component,
|
|
@@ -28759,7 +29007,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28759
29007
|
MatIconModule,
|
|
28760
29008
|
TranslateModule,
|
|
28761
29009
|
BadgeComponent,
|
|
28762
|
-
|
|
29010
|
+
ActionMenuComponent,
|
|
29011
|
+
], 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" }]
|
|
28763
29012
|
}], propDecorators: { records: [{
|
|
28764
29013
|
type: Input
|
|
28765
29014
|
}], selectedRecordsIdentifiers: [{
|
|
@@ -28772,6 +29021,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28772
29021
|
type: Output
|
|
28773
29022
|
}], recordClick: [{
|
|
28774
29023
|
type: Output
|
|
29024
|
+
}], duplicateRecord: [{
|
|
29025
|
+
type: Output
|
|
28775
29026
|
}], recordsSelectedChange: [{
|
|
28776
29027
|
type: Output
|
|
28777
29028
|
}] } });
|
|
@@ -30753,6 +31004,7 @@ class ResultsTableContainerComponent {
|
|
|
30753
31004
|
this.selectionService = selectionService;
|
|
30754
31005
|
this.recordsRepository = recordsRepository;
|
|
30755
31006
|
this.recordClick = new EventEmitter();
|
|
31007
|
+
this.duplicateRecord = new EventEmitter();
|
|
30756
31008
|
this.records$ = this.searchFacade.results$;
|
|
30757
31009
|
this.selectedRecords$ = this.selectionService.selectedRecordsIdentifiers$;
|
|
30758
31010
|
this.sortBy$ = this.searchFacade.sortBy$;
|
|
@@ -30761,6 +31013,9 @@ class ResultsTableContainerComponent {
|
|
|
30761
31013
|
handleRecordClick(item) {
|
|
30762
31014
|
this.recordClick.emit(item);
|
|
30763
31015
|
}
|
|
31016
|
+
handleDuplicateRecord(item) {
|
|
31017
|
+
this.duplicateRecord.emit(item);
|
|
31018
|
+
}
|
|
30764
31019
|
handleSortByChange(col, order) {
|
|
30765
31020
|
this.searchService.setSortBy([order, col]);
|
|
30766
31021
|
}
|
|
@@ -30773,13 +31028,15 @@ class ResultsTableContainerComponent {
|
|
|
30773
31028
|
}
|
|
30774
31029
|
}
|
|
30775
31030
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableContainerComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30776
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", outputs: { recordClick: "recordClick" }, ngImport: i0, template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "recordHasDraft"], outputs: ["sortByChange", "recordClick", "recordsSelectedChange"] }] }); }
|
|
31031
|
+
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"] }] }); }
|
|
30777
31032
|
}
|
|
30778
31033
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
30779
31034
|
type: Component,
|
|
30780
|
-
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n" }]
|
|
31035
|
+
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" }]
|
|
30781
31036
|
}], ctorParameters: function () { return [{ type: SearchFacade }, { type: SearchService }, { type: SelectionService }, { type: RecordsRepositoryInterface }]; }, propDecorators: { recordClick: [{
|
|
30782
31037
|
type: Output
|
|
31038
|
+
}], duplicateRecord: [{
|
|
31039
|
+
type: Output
|
|
30783
31040
|
}] } });
|
|
30784
31041
|
|
|
30785
31042
|
class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
|
|
@@ -31079,7 +31336,7 @@ class LayersPanelComponent {
|
|
|
31079
31336
|
this.mapFacade.addLayer(layer);
|
|
31080
31337
|
}
|
|
31081
31338
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayersPanelComponent, deps: [{ token: MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31082
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.ogc.api' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-ogc-api\n [ogcUrl]=\"ogcUrl\"\n (layerAdded)=\"addLayer($event)\"\n ></gn-ui-add-layer-from-ogc-api>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$
|
|
31339
|
+
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 }); }
|
|
31083
31340
|
}
|
|
31084
31341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayersPanelComponent, decorators: [{
|
|
31085
31342
|
type: Component,
|
|
@@ -31821,7 +32078,7 @@ class TableComponent {
|
|
|
31821
32078
|
return rowIdPrefix + id;
|
|
31822
32079
|
}
|
|
31823
32080
|
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 }); }
|
|
31824
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, isStandalone: true, selector: "gn-ui-table", inputs: { data: "data", activeId: "activeId" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"border border-gray-300 rounded-lg overflow-hidden bg-white h-full\">\n <cdk-virtual-scroll-viewport\n tvsItemSize=\"48\"\n headerHeight=\"56\"\n style=\"height: calc(100% - 37px)\"\n >\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z8\" matSort>\n <ng-container *ngFor=\"let prop of properties\" [matColumnDef]=\"prop\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ prop }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[prop] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"row.id === activeId\"\n ></tr>\n </table>\n </cdk-virtual-scroll-viewport>\n <div class=\"text-gray-900 border-t border-gray-300 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n > <span translate>table.object.count</span>.\n </div>\n</div>\n", styles: ["table{width:100%;background:white}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:whitesmoke}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1$9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i1$9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2$
|
|
32081
|
+
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 }); }
|
|
31825
32082
|
}
|
|
31826
32083
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, decorators: [{
|
|
31827
32084
|
type: Component,
|
|
@@ -33967,37 +34224,54 @@ const GN_UI_VERSION = new InjectionToken('gnUiVersion');
|
|
|
33967
34224
|
|
|
33968
34225
|
const WEB_COMPONENT_EMBEDDER_URL = new InjectionToken('webComponentEmbedderUrl');
|
|
33969
34226
|
class DataViewPermalinkComponent {
|
|
34227
|
+
set viewType(value) {
|
|
34228
|
+
this.viewType$.next(value);
|
|
34229
|
+
}
|
|
33970
34230
|
constructor(config, wcEmbedderBaseUrl, version, facade) {
|
|
33971
34231
|
this.config = config;
|
|
33972
34232
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
33973
34233
|
this.version = version;
|
|
33974
34234
|
this.facade = facade;
|
|
34235
|
+
this.viewType$ = new BehaviorSubject('map');
|
|
33975
34236
|
this.permalinkUrl$ = combineLatest([
|
|
34237
|
+
this.viewType$,
|
|
33976
34238
|
this.facade.chartConfig$,
|
|
33977
34239
|
this.facade.metadata$,
|
|
33978
|
-
]).pipe(map$2(([config, metadata]) => {
|
|
33979
|
-
|
|
33980
|
-
|
|
33981
|
-
|
|
33982
|
-
|
|
33983
|
-
|
|
33984
|
-
|
|
33985
|
-
|
|
33986
|
-
|
|
33987
|
-
|
|
33988
|
-
|
|
33989
|
-
|
|
33990
|
-
|
|
33991
|
-
|
|
33992
|
-
|
|
33993
|
-
url.searchParams.append('a', `chart-type=${chartType}`);
|
|
33994
|
-
return url.toString();
|
|
34240
|
+
]).pipe(map$2(([viewType, config, metadata]) => {
|
|
34241
|
+
const url = new URL(`${this.wcEmbedderBaseUrl}`, window.location.origin);
|
|
34242
|
+
url.searchParams.set('v', `${this.version}`);
|
|
34243
|
+
if (viewType === 'chart') {
|
|
34244
|
+
if (config) {
|
|
34245
|
+
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
34246
|
+
url.searchParams.append('e', `gn-dataset-view-chart`);
|
|
34247
|
+
url.searchParams.append('a', `aggregation=${aggregation}`);
|
|
34248
|
+
url.searchParams.append('a', `x-property=${xProperty}`);
|
|
34249
|
+
url.searchParams.append('a', `y-property=${yProperty}`);
|
|
34250
|
+
url.searchParams.append('a', `chart-type=${chartType}`);
|
|
34251
|
+
}
|
|
34252
|
+
else {
|
|
34253
|
+
return '';
|
|
34254
|
+
}
|
|
33995
34255
|
}
|
|
33996
|
-
|
|
34256
|
+
else if (viewType === 'table') {
|
|
34257
|
+
// table
|
|
34258
|
+
url.searchParams.append('e', `gn-dataset-view-table`);
|
|
34259
|
+
}
|
|
34260
|
+
else {
|
|
34261
|
+
// map
|
|
34262
|
+
url.searchParams.append('e', `gn-dataset-view-map`);
|
|
34263
|
+
}
|
|
34264
|
+
url.searchParams.append('a', `api-url=${this.config.basePath}`);
|
|
34265
|
+
url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
|
|
34266
|
+
url.searchParams.append('a', `primary-color=#0f4395`);
|
|
34267
|
+
url.searchParams.append('a', `secondary-color=#8bc832`);
|
|
34268
|
+
url.searchParams.append('a', `main-color=#555`);
|
|
34269
|
+
url.searchParams.append('a', `background-color=#fdfbff`);
|
|
34270
|
+
return url.toString();
|
|
33997
34271
|
}));
|
|
33998
34272
|
}
|
|
33999
34273
|
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 }); }
|
|
34000
|
-
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 }); }
|
|
34274
|
+
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 }); }
|
|
34001
34275
|
}
|
|
34002
34276
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewPermalinkComponent, decorators: [{
|
|
34003
34277
|
type: Component,
|
|
@@ -34013,37 +34287,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34013
34287
|
}] }, { type: undefined, decorators: [{
|
|
34014
34288
|
type: Inject,
|
|
34015
34289
|
args: [GN_UI_VERSION]
|
|
34016
|
-
}] }, { type: MdViewFacade }]; }
|
|
34290
|
+
}] }, { type: MdViewFacade }]; }, propDecorators: { viewType: [{
|
|
34291
|
+
type: Input
|
|
34292
|
+
}] } });
|
|
34017
34293
|
|
|
34018
34294
|
class DataViewWebComponentComponent {
|
|
34295
|
+
set viewType(value) {
|
|
34296
|
+
this.viewType$.next(value);
|
|
34297
|
+
}
|
|
34019
34298
|
constructor(config, version, facade) {
|
|
34020
34299
|
this.config = config;
|
|
34021
34300
|
this.version = version;
|
|
34022
34301
|
this.facade = facade;
|
|
34023
|
-
this.
|
|
34024
|
-
|
|
34025
|
-
|
|
34302
|
+
this.viewType$ = new BehaviorSubject('map');
|
|
34303
|
+
this.webComponentHtml$ = combineLatest(this.viewType$, this.facade.chartConfig$, this.facade.metadata$).pipe(map$2(([viewType, config, metadata]) => {
|
|
34304
|
+
if (viewType === 'chart') {
|
|
34305
|
+
if (config) {
|
|
34306
|
+
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
34307
|
+
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
34308
|
+
<gn-dataset-view-chart
|
|
34309
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
34310
|
+
dataset-id="${metadata.uniqueIdentifier}"
|
|
34311
|
+
aggregation="${aggregation}"
|
|
34312
|
+
x-property="${xProperty}"
|
|
34313
|
+
y-property="${yProperty}"
|
|
34314
|
+
chart-type="${chartType}"
|
|
34315
|
+
primary-color="#0f4395"
|
|
34316
|
+
secondary-color="#8bc832"
|
|
34317
|
+
main-color="#555"
|
|
34318
|
+
background-color="#fdfbff"
|
|
34319
|
+
main-font="'Inter', sans-serif"
|
|
34320
|
+
title-font="'DM Serif Display', serif"
|
|
34321
|
+
></gn-dataset-view-chart>`;
|
|
34322
|
+
}
|
|
34323
|
+
return '';
|
|
34324
|
+
}
|
|
34325
|
+
else if (viewType === 'table') {
|
|
34026
34326
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
34027
|
-
<gn-dataset-view-
|
|
34327
|
+
<gn-dataset-view-table
|
|
34328
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
34329
|
+
dataset-id="${metadata.uniqueIdentifier}"
|
|
34330
|
+
primary-color="#0f4395"
|
|
34331
|
+
secondary-color="#8bc832"
|
|
34332
|
+
main-color="#555"
|
|
34333
|
+
background-color="#fdfbff"
|
|
34334
|
+
main-font="'Inter', sans-serif"
|
|
34335
|
+
title-font="'DM Serif Display', serif"
|
|
34336
|
+
></gn-dataset-view-table>`;
|
|
34337
|
+
}
|
|
34338
|
+
else {
|
|
34339
|
+
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${this.version}/gn-wc.js"></script>
|
|
34340
|
+
<gn-dataset-view-map
|
|
34028
34341
|
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
34029
34342
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
34030
|
-
aggregation="${aggregation}"
|
|
34031
|
-
x-property="${xProperty}"
|
|
34032
|
-
y-property="${yProperty}"
|
|
34033
|
-
chart-type="${chartType}"
|
|
34034
34343
|
primary-color="#0f4395"
|
|
34035
34344
|
secondary-color="#8bc832"
|
|
34036
34345
|
main-color="#555"
|
|
34037
34346
|
background-color="#fdfbff"
|
|
34038
34347
|
main-font="'Inter', sans-serif"
|
|
34039
34348
|
title-font="'DM Serif Display', serif"
|
|
34040
|
-
></gn-dataset-view-
|
|
34349
|
+
></gn-dataset-view-map>`;
|
|
34041
34350
|
}
|
|
34042
|
-
return '';
|
|
34043
34351
|
}));
|
|
34044
34352
|
}
|
|
34045
34353
|
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 }); }
|
|
34046
|
-
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 }); }
|
|
34354
|
+
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 }); }
|
|
34047
34355
|
}
|
|
34048
34356
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewWebComponentComponent, decorators: [{
|
|
34049
34357
|
type: Component,
|
|
@@ -34054,24 +34362,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34054
34362
|
}] }, { type: undefined, decorators: [{
|
|
34055
34363
|
type: Inject,
|
|
34056
34364
|
args: [GN_UI_VERSION]
|
|
34057
|
-
}] }, { type: MdViewFacade }]; }
|
|
34365
|
+
}] }, { type: MdViewFacade }]; }, propDecorators: { viewType: [{
|
|
34366
|
+
type: Input
|
|
34367
|
+
}] } });
|
|
34058
34368
|
|
|
34059
34369
|
class DataViewShareComponent {
|
|
34370
|
+
set viewType(value) {
|
|
34371
|
+
this._viewType = value;
|
|
34372
|
+
}
|
|
34373
|
+
get viewType() {
|
|
34374
|
+
return this._viewType;
|
|
34375
|
+
}
|
|
34060
34376
|
constructor(wcEmbedderBaseUrl) {
|
|
34061
34377
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
34062
34378
|
}
|
|
34063
34379
|
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 }); }
|
|
34064
|
-
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$
|
|
34380
|
+
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 }); }
|
|
34065
34381
|
}
|
|
34066
34382
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataViewShareComponent, decorators: [{
|
|
34067
34383
|
type: Component,
|
|
34068
|
-
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"] }]
|
|
34384
|
+
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"] }]
|
|
34069
34385
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
34070
34386
|
type: Optional
|
|
34071
34387
|
}, {
|
|
34072
34388
|
type: Inject,
|
|
34073
34389
|
args: [WEB_COMPONENT_EMBEDDER_URL]
|
|
34074
|
-
}] }]; }
|
|
34390
|
+
}] }]; }, propDecorators: { viewType: [{
|
|
34391
|
+
type: Input
|
|
34392
|
+
}] } });
|
|
34075
34393
|
|
|
34076
34394
|
class FeatureRecordModule {
|
|
34077
34395
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureRecordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -34161,75 +34479,159 @@ const saveRecord = createAction('[Editor] Save record');
|
|
|
34161
34479
|
const saveRecordSuccess = createAction('[Editor] Save record success');
|
|
34162
34480
|
const saveRecordFailure = createAction('[Editor] Save record failure', props());
|
|
34163
34481
|
const draftSaveSuccess = createAction('[Editor] Draft save success');
|
|
34482
|
+
const setCurrentPage = createAction('[Editor] Set current page', props());
|
|
34164
34483
|
|
|
34165
|
-
|
|
34166
|
-
|
|
34167
|
-
|
|
34168
|
-
|
|
34169
|
-
|
|
34170
|
-
|
|
34171
|
-
|
|
34484
|
+
/**
|
|
34485
|
+
* This file contains the configuration of the fields that will be displayed in the editor.
|
|
34486
|
+
* To add a new field, you need to create a new EditorField object in the fields part of this file.
|
|
34487
|
+
* Then add it to the corresponding section in the sections part of this file.
|
|
34488
|
+
* Finally, add the section to the corresponding page in the pages part of this file.
|
|
34489
|
+
*/
|
|
34490
|
+
/************************************************************
|
|
34491
|
+
*************** FIELDS *****************
|
|
34492
|
+
************************************************************
|
|
34493
|
+
*/
|
|
34494
|
+
const RECORD_LICENSE_FIELD = {
|
|
34495
|
+
model: 'licenses',
|
|
34496
|
+
formFieldConfig: {
|
|
34497
|
+
labelKey: marker('editor.record.form.field.license'),
|
|
34172
34498
|
},
|
|
34173
|
-
|
|
34174
|
-
|
|
34175
|
-
|
|
34176
|
-
|
|
34177
|
-
|
|
34178
|
-
},
|
|
34499
|
+
};
|
|
34500
|
+
const RECORD_KEYWORDS_FIELD = {
|
|
34501
|
+
model: 'keywords',
|
|
34502
|
+
formFieldConfig: {
|
|
34503
|
+
labelKey: marker('editor.record.form.field.keywords'),
|
|
34179
34504
|
},
|
|
34180
|
-
|
|
34181
|
-
|
|
34182
|
-
|
|
34183
|
-
|
|
34184
|
-
|
|
34185
|
-
|
|
34186
|
-
},
|
|
34505
|
+
};
|
|
34506
|
+
const RECORD_UNIQUE_IDENTIFIER_FIELD = {
|
|
34507
|
+
model: 'uniqueIdentifier',
|
|
34508
|
+
formFieldConfig: {
|
|
34509
|
+
labelKey: marker('editor.record.form.field.uniqueIdentifier'),
|
|
34510
|
+
locked: true,
|
|
34187
34511
|
},
|
|
34188
|
-
|
|
34189
|
-
|
|
34190
|
-
|
|
34191
|
-
|
|
34192
|
-
|
|
34193
|
-
locked: true,
|
|
34194
|
-
},
|
|
34195
|
-
onSaveProcess: '${dateNow()}',
|
|
34512
|
+
};
|
|
34513
|
+
const RECORD_RESOURCE_UPDATED_FIELD = {
|
|
34514
|
+
model: 'resourceUpdated',
|
|
34515
|
+
formFieldConfig: {
|
|
34516
|
+
labelKey: marker('editor.record.form.field.resourceUpdated'),
|
|
34196
34517
|
},
|
|
34197
|
-
|
|
34198
|
-
|
|
34199
|
-
|
|
34200
|
-
|
|
34201
|
-
|
|
34202
|
-
|
|
34518
|
+
};
|
|
34519
|
+
const RECORD_UPDATED_FIELD = {
|
|
34520
|
+
model: 'recordUpdated',
|
|
34521
|
+
formFieldConfig: {
|
|
34522
|
+
labelKey: marker('editor.record.form.field.recordUpdated'),
|
|
34523
|
+
locked: true,
|
|
34203
34524
|
},
|
|
34204
|
-
{
|
|
34205
|
-
|
|
34206
|
-
|
|
34207
|
-
|
|
34208
|
-
|
|
34209
|
-
|
|
34525
|
+
onSaveProcess: '${dateNow()}',
|
|
34526
|
+
};
|
|
34527
|
+
const RECORD_UPDATE_FREQUENCY_FIELD = {
|
|
34528
|
+
model: 'updateFrequency',
|
|
34529
|
+
formFieldConfig: {
|
|
34530
|
+
labelKey: marker('editor.record.form.field.updateFrequency'),
|
|
34210
34531
|
},
|
|
34211
|
-
|
|
34212
|
-
|
|
34213
|
-
|
|
34214
|
-
|
|
34215
|
-
|
|
34216
|
-
},
|
|
34532
|
+
};
|
|
34533
|
+
const RECORD_TEMPORAL_EXTENTS_FIELD = {
|
|
34534
|
+
model: 'temporalExtents',
|
|
34535
|
+
formFieldConfig: {
|
|
34536
|
+
labelKey: marker('editor.record.form.field.temporalExtents'),
|
|
34217
34537
|
},
|
|
34218
|
-
|
|
34219
|
-
|
|
34220
|
-
|
|
34221
|
-
|
|
34222
|
-
|
|
34223
|
-
},
|
|
34538
|
+
};
|
|
34539
|
+
const RECORD_TITLE_FIELD = {
|
|
34540
|
+
model: 'title',
|
|
34541
|
+
formFieldConfig: {
|
|
34542
|
+
labelKey: marker('editor.record.form.field.title'),
|
|
34224
34543
|
},
|
|
34225
|
-
|
|
34226
|
-
|
|
34227
|
-
|
|
34228
|
-
|
|
34229
|
-
|
|
34230
|
-
},
|
|
34544
|
+
};
|
|
34545
|
+
const RECORD_ABSTRACT_FIELD = {
|
|
34546
|
+
model: 'abstract',
|
|
34547
|
+
formFieldConfig: {
|
|
34548
|
+
labelKey: marker('editor.record.form.field.abstract'),
|
|
34231
34549
|
},
|
|
34232
|
-
|
|
34550
|
+
};
|
|
34551
|
+
/************************************************************
|
|
34552
|
+
*************** SECTIONS *****************
|
|
34553
|
+
************************************************************
|
|
34554
|
+
*/
|
|
34555
|
+
const TITLE_SECTION = {
|
|
34556
|
+
hidden: false,
|
|
34557
|
+
fields: [RECORD_TITLE_FIELD, RECORD_ABSTRACT_FIELD],
|
|
34558
|
+
};
|
|
34559
|
+
const ABOUT_SECTION = {
|
|
34560
|
+
labelKey: marker('editor.record.form.section.about.label'),
|
|
34561
|
+
descriptionKey: marker('editor.record.form.section.about.description'),
|
|
34562
|
+
hidden: false,
|
|
34563
|
+
fields: [
|
|
34564
|
+
RECORD_UNIQUE_IDENTIFIER_FIELD,
|
|
34565
|
+
RECORD_RESOURCE_UPDATED_FIELD,
|
|
34566
|
+
RECORD_UPDATED_FIELD,
|
|
34567
|
+
RECORD_UPDATE_FREQUENCY_FIELD,
|
|
34568
|
+
RECORD_TEMPORAL_EXTENTS_FIELD,
|
|
34569
|
+
],
|
|
34570
|
+
};
|
|
34571
|
+
const GEOGRAPHICAL_COVERAGE_SECTION = {
|
|
34572
|
+
labelKey: marker('editor.record.form.section.geographicalCoverage.label'),
|
|
34573
|
+
hidden: false,
|
|
34574
|
+
fields: [],
|
|
34575
|
+
};
|
|
34576
|
+
const ASSOCIATED_RESOURCES_SECTION = {
|
|
34577
|
+
labelKey: marker('editor.record.form.section.associatedResources.label'),
|
|
34578
|
+
descriptionKey: marker('editor.record.form.section.associatedResources.description'),
|
|
34579
|
+
hidden: false,
|
|
34580
|
+
fields: [],
|
|
34581
|
+
};
|
|
34582
|
+
const ANNEXES_SECTION = {
|
|
34583
|
+
labelKey: marker('editor.record.form.section.annexes.label'),
|
|
34584
|
+
hidden: false,
|
|
34585
|
+
fields: [],
|
|
34586
|
+
};
|
|
34587
|
+
const CLASSIFICATION_SECTION = {
|
|
34588
|
+
labelKey: marker('editor.record.form.section.classification.label'),
|
|
34589
|
+
descriptionKey: marker('editor.record.form.section.classification.description'),
|
|
34590
|
+
hidden: false,
|
|
34591
|
+
fields: [RECORD_KEYWORDS_FIELD],
|
|
34592
|
+
};
|
|
34593
|
+
const USE_AND_ACCESS_CONDITIONS_SECTION = {
|
|
34594
|
+
labelKey: marker('editor.record.form.section.useAndAccessConditions.label'),
|
|
34595
|
+
hidden: false,
|
|
34596
|
+
fields: [RECORD_LICENSE_FIELD],
|
|
34597
|
+
};
|
|
34598
|
+
const DATA_MANAGERS_SECTION = {
|
|
34599
|
+
labelKey: marker('editor.record.form.section.dataManagers.label'),
|
|
34600
|
+
descriptionKey: marker('editor.record.form.section.dataManagers.description'),
|
|
34601
|
+
hidden: false,
|
|
34602
|
+
fields: [],
|
|
34603
|
+
};
|
|
34604
|
+
const DATA_POINT_OF_CONTACT_SECTION = {
|
|
34605
|
+
labelKey: marker('editor.record.form.section.dataPointOfContact.label'),
|
|
34606
|
+
descriptionKey: marker('editor.record.form.section.dataPointOfContact.description'),
|
|
34607
|
+
hidden: false,
|
|
34608
|
+
fields: [],
|
|
34609
|
+
};
|
|
34610
|
+
/************************************************************
|
|
34611
|
+
*************** PAGES *****************
|
|
34612
|
+
************************************************************
|
|
34613
|
+
*/
|
|
34614
|
+
const DEFAULT_CONFIGURATION = {
|
|
34615
|
+
pages: [
|
|
34616
|
+
{
|
|
34617
|
+
labelKey: marker('editor.record.form.page.description'),
|
|
34618
|
+
sections: [TITLE_SECTION, ABOUT_SECTION, GEOGRAPHICAL_COVERAGE_SECTION],
|
|
34619
|
+
},
|
|
34620
|
+
{
|
|
34621
|
+
labelKey: marker('editor.record.form.page.ressources'),
|
|
34622
|
+
sections: [ASSOCIATED_RESOURCES_SECTION, ANNEXES_SECTION],
|
|
34623
|
+
},
|
|
34624
|
+
{
|
|
34625
|
+
labelKey: marker('editor.record.form.page.accessAndContact'),
|
|
34626
|
+
sections: [
|
|
34627
|
+
CLASSIFICATION_SECTION,
|
|
34628
|
+
USE_AND_ACCESS_CONDITIONS_SECTION,
|
|
34629
|
+
DATA_MANAGERS_SECTION,
|
|
34630
|
+
DATA_POINT_OF_CONTACT_SECTION,
|
|
34631
|
+
],
|
|
34632
|
+
},
|
|
34633
|
+
],
|
|
34634
|
+
};
|
|
34233
34635
|
|
|
34234
34636
|
const EDITOR_FEATURE_KEY = 'editor';
|
|
34235
34637
|
const initialEditorState = {
|
|
@@ -34239,7 +34641,8 @@ const initialEditorState = {
|
|
|
34239
34641
|
saving: false,
|
|
34240
34642
|
saveError: null,
|
|
34241
34643
|
changedSinceSave: false,
|
|
34242
|
-
|
|
34644
|
+
editorConfig: DEFAULT_CONFIGURATION,
|
|
34645
|
+
currentPage: 0,
|
|
34243
34646
|
};
|
|
34244
34647
|
const reducer = createReducer(initialEditorState, on(openRecord, (state, { record, recordSource, alreadySavedOnce }) => ({
|
|
34245
34648
|
...state,
|
|
@@ -34269,6 +34672,9 @@ const reducer = createReducer(initialEditorState, on(openRecord, (state, { recor
|
|
|
34269
34672
|
})), on(markRecordAsChanged, (state) => ({
|
|
34270
34673
|
...state,
|
|
34271
34674
|
changedSinceSave: true,
|
|
34675
|
+
})), on(setCurrentPage, (state, { page }) => ({
|
|
34676
|
+
...state,
|
|
34677
|
+
currentPage: page,
|
|
34272
34678
|
})));
|
|
34273
34679
|
function editorReducer(state, action) {
|
|
34274
34680
|
return reducer(state, action);
|
|
@@ -34281,11 +34687,21 @@ const selectRecordSaving = createSelector(selectEditorState, (state) => state.sa
|
|
|
34281
34687
|
const selectRecordSaveError = createSelector(selectEditorState, (state) => state.saveError);
|
|
34282
34688
|
const selectRecordChangedSinceSave = createSelector(selectEditorState, (state) => state.changedSinceSave);
|
|
34283
34689
|
const selectRecordAlreadySavedOnce = createSelector(selectEditorState, (state) => state.alreadySavedOnce);
|
|
34284
|
-
const
|
|
34285
|
-
const
|
|
34286
|
-
|
|
34287
|
-
|
|
34288
|
-
|
|
34690
|
+
const selectEditorConfig = createSelector(selectEditorState, (state) => state.editorConfig);
|
|
34691
|
+
const selectCurrentPage = createSelector(selectEditorState, (state) => state.currentPage);
|
|
34692
|
+
const selectRecordSections = createSelector(selectEditorState, (state) => {
|
|
34693
|
+
const currentPage = state.editorConfig.pages[state.currentPage];
|
|
34694
|
+
if (!currentPage) {
|
|
34695
|
+
return [];
|
|
34696
|
+
}
|
|
34697
|
+
return currentPage.sections.map((section) => ({
|
|
34698
|
+
...section,
|
|
34699
|
+
fieldsWithValues: section.fields.map((fieldConfig) => ({
|
|
34700
|
+
config: fieldConfig,
|
|
34701
|
+
value: state.record?.[fieldConfig.model] ?? null,
|
|
34702
|
+
})),
|
|
34703
|
+
}));
|
|
34704
|
+
});
|
|
34289
34705
|
|
|
34290
34706
|
class EditorFacade {
|
|
34291
34707
|
constructor() {
|
|
@@ -34298,8 +34714,10 @@ class EditorFacade {
|
|
|
34298
34714
|
this.saveError$ = this.store.pipe(select(selectRecordSaveError), filter$1((error) => !!error));
|
|
34299
34715
|
this.saveSuccess$ = this.actions$.pipe(ofType(saveRecordSuccess));
|
|
34300
34716
|
this.changedSinceSave$ = this.store.pipe(select(selectRecordChangedSinceSave));
|
|
34301
|
-
this.
|
|
34717
|
+
this.currentSections$ = this.store.pipe(select(selectRecordSections));
|
|
34302
34718
|
this.draftSaveSuccess$ = this.actions$.pipe(ofType(draftSaveSuccess));
|
|
34719
|
+
this.currentPage$ = this.store.pipe(select(selectCurrentPage));
|
|
34720
|
+
this.editorConfig$ = this.store.pipe(select(selectEditorConfig));
|
|
34303
34721
|
}
|
|
34304
34722
|
openRecord(record, recordSource, alreadySavedOnce) {
|
|
34305
34723
|
this.store.dispatch(openRecord({ record, recordSource, alreadySavedOnce }));
|
|
@@ -34310,6 +34728,9 @@ class EditorFacade {
|
|
|
34310
34728
|
updateRecordField(field, value) {
|
|
34311
34729
|
this.store.dispatch(updateRecordField({ field, value }));
|
|
34312
34730
|
}
|
|
34731
|
+
setCurrentPage(page) {
|
|
34732
|
+
this.store.dispatch(setCurrentPage({ page }));
|
|
34733
|
+
}
|
|
34313
34734
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34314
34735
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditorFacade }); }
|
|
34315
34736
|
}
|
|
@@ -34337,12 +34758,13 @@ class EditorService {
|
|
|
34337
34758
|
// returns the record as it was when saved, alongside its source
|
|
34338
34759
|
saveRecord(record, fieldsConfig, generateNewUniqueIdentifier = false) {
|
|
34339
34760
|
const savedRecord = { ...record };
|
|
34761
|
+
const fields = fieldsConfig.pages.flatMap((page) => page.sections.flatMap((section) => section.fields));
|
|
34340
34762
|
// run onSave processes
|
|
34341
|
-
for (const field of
|
|
34763
|
+
for (const field of fields) {
|
|
34342
34764
|
if (field.onSaveProcess && field.model) {
|
|
34343
34765
|
const evaluator = evaluate(field.onSaveProcess);
|
|
34344
34766
|
savedRecord[field.model] = evaluator({
|
|
34345
|
-
|
|
34767
|
+
model: field.model,
|
|
34346
34768
|
value: record[field.model],
|
|
34347
34769
|
});
|
|
34348
34770
|
}
|
|
@@ -34379,7 +34801,7 @@ class EditorEffects {
|
|
|
34379
34801
|
this.editorService = inject(EditorService);
|
|
34380
34802
|
this.recordsRepository = inject(RecordsRepositoryInterface);
|
|
34381
34803
|
this.store = inject(Store);
|
|
34382
|
-
this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(saveRecord), withLatestFrom$1(this.store.select(selectRecord), this.store.select(
|
|
34804
|
+
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
|
|
34383
34805
|
.saveRecord(record, fieldsConfig, !alreadySavedOnce)
|
|
34384
34806
|
.pipe(switchMap$1(([record, recordSource]) => of(saveRecordSuccess(), openRecord({
|
|
34385
34807
|
record,
|
|
@@ -35332,7 +35754,7 @@ class FormFieldComponent {
|
|
|
35332
35754
|
return this.model === 'title' || this.model === 'abstract';
|
|
35333
35755
|
}
|
|
35334
35756
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35335
|
-
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 <
|
|
35757
|
+
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 }); }
|
|
35336
35758
|
}
|
|
35337
35759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
35338
35760
|
type: Component,
|
|
@@ -35355,7 +35777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35355
35777
|
FormFieldArrayComponent,
|
|
35356
35778
|
FormFieldKeywordsComponent,
|
|
35357
35779
|
TranslateModule,
|
|
35358
|
-
], 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 <
|
|
35780
|
+
], 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" }]
|
|
35359
35781
|
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
35360
35782
|
type: Input
|
|
35361
35783
|
}], config: [{
|
|
@@ -35372,23 +35794,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35372
35794
|
class RecordFormComponent {
|
|
35373
35795
|
constructor(facade) {
|
|
35374
35796
|
this.facade = facade;
|
|
35375
|
-
this.fields$ = this.facade.recordFields$;
|
|
35376
35797
|
}
|
|
35377
|
-
handleFieldValueChange(
|
|
35378
|
-
if (!
|
|
35798
|
+
handleFieldValueChange(model, newValue) {
|
|
35799
|
+
if (!model) {
|
|
35379
35800
|
return;
|
|
35380
35801
|
}
|
|
35381
|
-
this.facade.updateRecordField(
|
|
35802
|
+
this.facade.updateRecordField(model, newValue);
|
|
35382
35803
|
}
|
|
35383
35804
|
fieldTracker(index, field) {
|
|
35384
35805
|
return field.config.model;
|
|
35385
35806
|
}
|
|
35807
|
+
sectionTracker(index, section) {
|
|
35808
|
+
return section.labelKey;
|
|
35809
|
+
}
|
|
35386
35810
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordFormComponent, deps: [{ token: EditorFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35387
|
-
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-
|
|
35811
|
+
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 }); }
|
|
35388
35812
|
}
|
|
35389
35813
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordFormComponent, decorators: [{
|
|
35390
35814
|
type: Component,
|
|
35391
|
-
args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent], template: "<div class=\"flex flex-col gap-6 p-
|
|
35815
|
+
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" }]
|
|
35392
35816
|
}], ctorParameters: function () { return [{ type: EditorFacade }]; } });
|
|
35393
35817
|
|
|
35394
35818
|
const ROUTER_STATE_KEY = 'router';
|
|
@@ -35771,5 +36195,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35771
36195
|
* Generated bundle index. Do not edit.
|
|
35772
36196
|
*/
|
|
35773
36197
|
|
|
35774
|
-
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,
|
|
36198
|
+
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 };
|
|
35775
36199
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|