geonetwork-ui 2.2.0-dev.6695ae4d → 2.2.0-dev.723017a4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +27 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +8 -8
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +2 -2
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.mjs +14 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +7 -9
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +30 -8
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +31 -14
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +10 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +14 -5
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +33 -8
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +9 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +41 -26
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +11 -9
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +7 -7
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -4
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +4 -4
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +6 -6
- package/esm2022/translations/de.json +2 -1
- package/esm2022/translations/en.json +2 -1
- package/esm2022/translations/es.json +2 -1
- package/esm2022/translations/fr.json +2 -1
- package/esm2022/translations/it.json +2 -1
- package/esm2022/translations/nl.json +2 -1
- package/esm2022/translations/pt.json +2 -1
- package/fesm2022/geonetwork-ui.mjs +259 -114
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +2 -0
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -5
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts +3 -0
- package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +2 -3
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +9 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +13 -2
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -8
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +3 -3
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -13
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/text-area/text-area.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +40 -40
- package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +55 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +50 -6
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +203 -20
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +29 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +11 -8
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +3 -5
- package/src/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.ts +16 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +5 -9
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +53 -19
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +78 -36
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +22 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +15 -4
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +47 -8
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +16 -3
- package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +1 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -4
- package/src/libs/common/fixtures/src/lib/gn4/groups.fixtures.ts +1 -1
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +25 -5
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +10 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +21 -16
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +43 -34
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.css +5 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +39 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +58 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +1 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +5 -5
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +6 -3
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +2 -3
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/text-area/text-area.component.ts +1 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +2 -2
- package/translations/de.json +2 -1
- package/translations/en.json +2 -1
- package/translations/es.json +2 -1
- package/translations/fr.json +2 -1
- package/translations/it.json +2 -1
- package/translations/nl.json +2 -1
- package/translations/pt.json +2 -1
- package/translations/sk.json +2 -1
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./dropdown-selector/dropdown-selector.component";
|
|
3
3
|
import * as i2 from "./autocomplete/autocomplete.component";
|
|
4
|
-
import * as i3 from "./
|
|
5
|
-
import * as i4 from "./
|
|
6
|
-
import * as i5 from "./
|
|
7
|
-
import * as i6 from "./
|
|
8
|
-
import * as i7 from "./
|
|
9
|
-
import * as i8 from "./
|
|
10
|
-
import * as i9 from "./
|
|
11
|
-
import * as i10 from "./
|
|
12
|
-
import * as i11 from "./
|
|
13
|
-
import * as i12 from "./form-field/form-field.component";
|
|
14
|
-
import * as i13 from "./form-field/form-field-
|
|
15
|
-
import * as i14 from "./form-field/form-field-
|
|
16
|
-
import * as i15 from "./form-field/form-field-
|
|
17
|
-
import * as i16 from "./form-field/form-field-
|
|
18
|
-
import * as i17 from "./form-field/form-field-
|
|
19
|
-
import * as i18 from "./
|
|
20
|
-
import * as i19 from "./
|
|
21
|
-
import * as i20 from "./
|
|
22
|
-
import * as i21 from "./
|
|
23
|
-
import * as i22 from "./
|
|
24
|
-
import * as i23 from "
|
|
25
|
-
import * as i24 from "
|
|
26
|
-
import * as i25 from "
|
|
27
|
-
import * as i26 from "@
|
|
28
|
-
import * as i27 from "ngx-
|
|
29
|
-
import * as i28 from "
|
|
30
|
-
import * as i29 from "
|
|
31
|
-
import * as i30 from "
|
|
32
|
-
import * as i31 from "
|
|
33
|
-
import * as i32 from "@angular/
|
|
34
|
-
import * as i33 from "
|
|
35
|
-
import * as i34 from "@angular/
|
|
36
|
-
import * as i35 from "@angular/material/
|
|
37
|
-
import * as i36 from "@angular/material/
|
|
38
|
-
import * as i37 from "@angular/material/
|
|
39
|
-
import * as i38 from "@angular/material/
|
|
40
|
-
import * as i39 from "
|
|
41
|
-
import * as i40 from "
|
|
42
|
-
import * as i41 from "./
|
|
4
|
+
import * as i3 from "./text-input/text-input.component";
|
|
5
|
+
import * as i4 from "./drag-and-drop-file-input/drag-and-drop-file-input.component";
|
|
6
|
+
import * as i5 from "./chips-input/chips-input.component";
|
|
7
|
+
import * as i6 from "./navigation-button/navigation-button.component";
|
|
8
|
+
import * as i7 from "./star-toggle/star-toggle.component";
|
|
9
|
+
import * as i8 from "./dropdown-multiselect/dropdown-multiselect.component";
|
|
10
|
+
import * as i9 from "./viewport-intersector/viewport-intersector.component";
|
|
11
|
+
import * as i10 from "./form-field/form-field.component";
|
|
12
|
+
import * as i11 from "./form-field/form-field-simple/form-field-simple.component";
|
|
13
|
+
import * as i12 from "./form-field/form-field-array/form-field-array.component";
|
|
14
|
+
import * as i13 from "./form-field/form-field-object/form-field-object.component";
|
|
15
|
+
import * as i14 from "./form-field/form-field-rich/form-field-rich.component";
|
|
16
|
+
import * as i15 from "./form-field/form-field-file/form-field-file.component";
|
|
17
|
+
import * as i16 from "./form-field/form-field-spatial-extent/form-field-spatial-extent.component";
|
|
18
|
+
import * as i17 from "./form-field/form-field-temporal-extent/form-field-temporal-extent.component";
|
|
19
|
+
import * as i18 from "./check-toggle/check-toggle.component";
|
|
20
|
+
import * as i19 from "./copy-text-button/copy-text-button.component";
|
|
21
|
+
import * as i20 from "./checkbox/checkbox.component";
|
|
22
|
+
import * as i21 from "./search-input/search-input.component";
|
|
23
|
+
import * as i22 from "./date-range-picker/date-range-picker.component";
|
|
24
|
+
import * as i23 from "@angular/common";
|
|
25
|
+
import * as i24 from "@ngx-translate/core";
|
|
26
|
+
import * as i25 from "ngx-dropzone";
|
|
27
|
+
import * as i26 from "@angular/forms";
|
|
28
|
+
import * as i27 from "ngx-chips";
|
|
29
|
+
import * as i28 from "../../../../util/shared/src/lib/util-shared.module";
|
|
30
|
+
import * as i29 from "@angular/material/autocomplete";
|
|
31
|
+
import * as i30 from "@angular/material/icon";
|
|
32
|
+
import * as i31 from "../../../widgets/src/lib/ui-widgets.module";
|
|
33
|
+
import * as i32 from "@angular/cdk/overlay";
|
|
34
|
+
import * as i33 from "@angular/material/checkbox";
|
|
35
|
+
import * as i34 from "@angular/material/tooltip";
|
|
36
|
+
import * as i35 from "@angular/material/form-field";
|
|
37
|
+
import * as i36 from "@angular/material/input";
|
|
38
|
+
import * as i37 from "@angular/material/datepicker";
|
|
39
|
+
import * as i38 from "@angular/material/core";
|
|
40
|
+
import * as i39 from "./editable-label/editable-label.directive";
|
|
41
|
+
import * as i40 from "./text-area/text-area.component";
|
|
42
|
+
import * as i41 from "./button/button.component";
|
|
43
43
|
export declare class UiInputsModule {
|
|
44
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<UiInputsModule, never>;
|
|
45
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<UiInputsModule, [typeof i1.DropdownSelectorComponent, typeof i2.AutocompleteComponent, typeof i3.
|
|
45
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<UiInputsModule, [typeof i1.DropdownSelectorComponent, typeof i2.AutocompleteComponent, typeof i3.TextInputComponent, typeof i4.DragAndDropFileInputComponent, typeof i5.ChipsInputComponent, typeof i6.NavigationButtonComponent, typeof i7.StarToggleComponent, typeof i8.DropdownMultiselectComponent, typeof i9.ViewportIntersectorComponent, typeof i10.FormFieldComponent, typeof i11.FormFieldSimpleComponent, typeof i12.FormFieldArrayComponent, typeof i13.FormFieldObjectComponent, typeof i14.FormFieldRichComponent, typeof i15.FormFieldFileComponent, typeof i16.FormFieldSpatialExtentComponent, typeof i17.FormFieldTemporalExtentComponent, typeof i18.CheckToggleComponent, typeof i19.CopyTextButtonComponent, typeof i20.CheckboxComponent, typeof i21.SearchInputComponent, typeof i22.DateRangePickerComponent], [typeof i23.CommonModule, typeof i24.TranslateModule, typeof i25.NgxDropzoneModule, typeof i26.FormsModule, typeof i26.ReactiveFormsModule, typeof i27.TagInputModule, typeof i28.UtilSharedModule, typeof i29.MatAutocompleteModule, typeof i30.MatIconModule, typeof i31.UiWidgetsModule, typeof i32.OverlayModule, typeof i33.MatCheckboxModule, typeof i34.MatTooltipModule, typeof i35.MatFormFieldModule, typeof i36.MatInputModule, typeof i37.MatDatepickerModule, typeof i38.MatNativeDateModule, typeof i39.EditableLabelDirective, typeof i40.TextAreaComponent, typeof i41.ButtonComponent], [typeof i1.DropdownSelectorComponent, typeof i2.AutocompleteComponent, typeof i41.ButtonComponent, typeof i3.TextInputComponent, typeof i4.DragAndDropFileInputComponent, typeof i40.TextAreaComponent, typeof i5.ChipsInputComponent, typeof i6.NavigationButtonComponent, typeof i7.StarToggleComponent, typeof i8.DropdownMultiselectComponent, typeof i9.ViewportIntersectorComponent, typeof i10.FormFieldComponent, typeof i18.CheckToggleComponent, typeof i19.CopyTextButtonComponent, typeof i20.CheckboxComponent, typeof i21.SearchInputComponent, typeof i22.DateRangePickerComponent, typeof i39.EditableLabelDirective]>;
|
|
46
46
|
static ɵinj: i0.ɵɵInjectorDeclaration<UiInputsModule>;
|
|
47
47
|
}
|
|
48
48
|
//# sourceMappingURL=ui-inputs.module.d.ts.map
|
|
@@ -6,7 +6,7 @@ export declare class InteractiveTableColumnComponent {
|
|
|
6
6
|
grow: boolean;
|
|
7
7
|
sortable: boolean;
|
|
8
8
|
activeSort: 'asc' | 'desc' | null;
|
|
9
|
-
sortChange: EventEmitter<"
|
|
9
|
+
sortChange: EventEmitter<"asc" | "desc">;
|
|
10
10
|
handleSortChange(): void;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveTableColumnComponent, never>;
|
|
12
12
|
static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveTableColumnComponent, "gn-ui-interactive-table-column", never, { "grow": { "alias": "grow"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "activeSort": { "alias": "activeSort"; "required": false; }; }, { "sortChange": "sortChange"; }, ["header", "cell"], never, true, never>;
|
package/package.json
CHANGED
|
@@ -57,8 +57,61 @@ Cette section contient des *caractères internationaux* (ainsi que des "caractè
|
|
|
57
57
|
url: new URL('http://my-org.net/two.png'),
|
|
58
58
|
},
|
|
59
59
|
],
|
|
60
|
-
keywords: [
|
|
61
|
-
|
|
60
|
+
keywords: [
|
|
61
|
+
{
|
|
62
|
+
thesaurus: {
|
|
63
|
+
id: 'geonetwork.thesaurus.local',
|
|
64
|
+
name: 'geonetwork.thesaurus.local',
|
|
65
|
+
},
|
|
66
|
+
type: 'other',
|
|
67
|
+
label: 'international',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
thesaurus: {
|
|
71
|
+
id: 'geonetwork.thesaurus.local',
|
|
72
|
+
name: 'geonetwork.thesaurus.local',
|
|
73
|
+
},
|
|
74
|
+
type: 'other',
|
|
75
|
+
label: 'test',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
thesaurus: {
|
|
79
|
+
id: 'geonetwork.thesaurus.local',
|
|
80
|
+
name: 'geonetwork.thesaurus.local',
|
|
81
|
+
},
|
|
82
|
+
type: 'other',
|
|
83
|
+
label: '_another_keyword_',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
thesaurus: {
|
|
87
|
+
id: 'geonetwork.thesaurus.theme',
|
|
88
|
+
name: 'geonetwork.thesaurus.theme',
|
|
89
|
+
},
|
|
90
|
+
type: 'theme',
|
|
91
|
+
label: 'test theme',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
thesaurus: {
|
|
95
|
+
id: 'geonetwork.thesaurus.place',
|
|
96
|
+
name: 'geonetwork.thesaurus.place',
|
|
97
|
+
},
|
|
98
|
+
type: 'place',
|
|
99
|
+
label: 'test place',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'theme',
|
|
103
|
+
label: 'themeNoThesaurus',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'theme',
|
|
107
|
+
label: 'themeNoThesaurus 2',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'temporal',
|
|
111
|
+
label: 'temporalNoThesaurus',
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
topics: ['agriculture'],
|
|
62
115
|
spatialRepresentation: 'grid',
|
|
63
116
|
distributions: [
|
|
64
117
|
{
|
|
@@ -38,13 +38,57 @@ Malgré l'attention portée à la création de ces données, il est rappelé que
|
|
|
38
38
|
},
|
|
39
39
|
],
|
|
40
40
|
keywords: [
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
{
|
|
42
|
+
thesaurus: {
|
|
43
|
+
name: 'GEMET - INSPIRE themes, version 1.0',
|
|
44
|
+
id: 'geonetwork.thesaurus.external.theme.inspire-theme',
|
|
45
|
+
url: new URL(
|
|
46
|
+
'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.theme.inspire-theme'
|
|
47
|
+
),
|
|
48
|
+
},
|
|
49
|
+
type: 'theme',
|
|
50
|
+
label: 'Usage des sols',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
thesaurus: {
|
|
54
|
+
name: 'GEMET - Concepts, version 2.4',
|
|
55
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
56
|
+
url: new URL(
|
|
57
|
+
'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.theme.gemet'
|
|
58
|
+
),
|
|
59
|
+
},
|
|
60
|
+
type: 'theme',
|
|
61
|
+
label: "document d'urbanisme",
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
type: 'other',
|
|
65
|
+
label: 'planification',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'other',
|
|
69
|
+
label: 'PLU',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'other',
|
|
73
|
+
label: "Plan local d'urbanisme",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'other',
|
|
77
|
+
label: 'données ouvertes',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
thesaurus: {
|
|
81
|
+
id: 'geonetwork.thesaurus.external.place.GeoCompiegnois',
|
|
82
|
+
name: 'Collectivités du Pays Compiégnois',
|
|
83
|
+
url: new URL(
|
|
84
|
+
'http://geo.compiegnois.fr/geonetwork/srv/eng/thesaurus.download?ref=external.place.GeoCompiegnois'
|
|
85
|
+
),
|
|
86
|
+
},
|
|
87
|
+
type: 'place',
|
|
88
|
+
label: 'Avrigny*60036',
|
|
89
|
+
},
|
|
46
90
|
],
|
|
47
|
-
|
|
91
|
+
topics: ['planningCadastre'],
|
|
48
92
|
spatialRepresentation: 'vector',
|
|
49
93
|
distributions: [
|
|
50
94
|
{
|
|
@@ -33,25 +33,185 @@ export const GEOCAT_CH_DATASET_RECORD: DatasetRecord = {
|
|
|
33
33
|
title: 'Alpenkonvention',
|
|
34
34
|
abstract: `Perimeter der Alpenkonvention in der Schweiz. Die Alpenkonvention ist ein völkerrechtlicher Vertrag zwischen den acht Alpenländern Deutschland, Frankreich, Italien, Liechtenstein, Monaco, Österreich, Schweiz, Slowenien sowie der Europäischen Union. Das Ziel des Übereinkommens ist der Schutz der Alpen durch eine sektorübergreifende, ganzheitliche und nachhaltige Politik.`,
|
|
35
35
|
overviews: [],
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
36
|
+
topics: ['planningCadastre', 'planningCadastre_Planning'],
|
|
37
|
+
keywords: [
|
|
38
|
+
{
|
|
39
|
+
thesaurus: {
|
|
40
|
+
name: 'geocat.ch',
|
|
41
|
+
id: 'geonetwork.thesaurus.local.theme.geocat.ch',
|
|
42
|
+
url: new URL(
|
|
43
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
44
|
+
),
|
|
45
|
+
},
|
|
46
|
+
type: 'theme',
|
|
47
|
+
label: 'Aufbewahrungs- und Archivierungsplanung AAP - Bund',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
thesaurus: {
|
|
51
|
+
name: 'geocat.ch',
|
|
52
|
+
id: 'geonetwork.thesaurus.local.theme.geocat.ch',
|
|
53
|
+
url: new URL(
|
|
54
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
55
|
+
),
|
|
56
|
+
},
|
|
57
|
+
type: 'theme',
|
|
58
|
+
label: 'Geobasisdaten',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
thesaurus: {
|
|
62
|
+
name: 'geocat.ch',
|
|
63
|
+
id: 'geonetwork.thesaurus.local.theme.geocat.ch',
|
|
64
|
+
url: new URL(
|
|
65
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
66
|
+
),
|
|
67
|
+
},
|
|
68
|
+
type: 'theme',
|
|
69
|
+
label: 'e-geo.ch',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: 'opendata.swiss',
|
|
73
|
+
thesaurus: {
|
|
74
|
+
id: 'geonetwork.thesaurus.local.theme.geocat.ch',
|
|
75
|
+
name: 'geocat.ch',
|
|
76
|
+
url: new URL(
|
|
77
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
78
|
+
),
|
|
79
|
+
},
|
|
80
|
+
type: 'theme',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
label: 'Nachhaltige Entwicklung',
|
|
84
|
+
thesaurus: {
|
|
85
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
86
|
+
name: 'GEMET',
|
|
87
|
+
url: new URL(
|
|
88
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
89
|
+
),
|
|
90
|
+
},
|
|
91
|
+
type: 'theme',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
label: 'Raumplanung',
|
|
95
|
+
thesaurus: {
|
|
96
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
97
|
+
name: 'GEMET',
|
|
98
|
+
url: new URL(
|
|
99
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
100
|
+
),
|
|
101
|
+
},
|
|
102
|
+
type: 'theme',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
label: 'Bergschutz',
|
|
106
|
+
thesaurus: {
|
|
107
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
108
|
+
name: 'GEMET',
|
|
109
|
+
url: new URL(
|
|
110
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
111
|
+
),
|
|
112
|
+
},
|
|
113
|
+
type: 'theme',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
label: 'Bodenschutz',
|
|
117
|
+
thesaurus: {
|
|
118
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
119
|
+
name: 'GEMET',
|
|
120
|
+
url: new URL(
|
|
121
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
122
|
+
),
|
|
123
|
+
},
|
|
124
|
+
type: 'theme',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
label: 'Umweltpolitik',
|
|
128
|
+
thesaurus: {
|
|
129
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
130
|
+
name: 'GEMET',
|
|
131
|
+
url: new URL(
|
|
132
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
133
|
+
),
|
|
134
|
+
},
|
|
135
|
+
type: 'theme',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
label: 'Umweltpolitik',
|
|
139
|
+
thesaurus: {
|
|
140
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
141
|
+
name: 'GEMET',
|
|
142
|
+
url: new URL(
|
|
143
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
144
|
+
),
|
|
145
|
+
},
|
|
146
|
+
type: 'theme',
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
label: 'Verkehr',
|
|
150
|
+
thesaurus: {
|
|
151
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
152
|
+
name: 'GEMET',
|
|
153
|
+
url: new URL(
|
|
154
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
155
|
+
),
|
|
156
|
+
},
|
|
157
|
+
type: 'theme',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
label: 'Verkehr',
|
|
161
|
+
thesaurus: {
|
|
162
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
163
|
+
name: 'GEMET',
|
|
164
|
+
url: new URL(
|
|
165
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
166
|
+
),
|
|
167
|
+
},
|
|
168
|
+
type: 'theme',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
label: 'Verkehr',
|
|
172
|
+
thesaurus: {
|
|
173
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
174
|
+
name: 'GEMET',
|
|
175
|
+
url: new URL(
|
|
176
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
177
|
+
),
|
|
178
|
+
},
|
|
179
|
+
type: 'theme',
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
label: 'Umweltüberwachung',
|
|
183
|
+
thesaurus: {
|
|
184
|
+
id: 'geonetwork.thesaurus.external.theme.inspire-theme',
|
|
185
|
+
name: 'GEMET - INSPIRE themes, version 1.0',
|
|
186
|
+
url: new URL(
|
|
187
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
188
|
+
),
|
|
189
|
+
},
|
|
190
|
+
type: 'theme',
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
label: 'Verwaltungseinheiten',
|
|
194
|
+
thesaurus: {
|
|
195
|
+
id: 'geonetwork.thesaurus.external.theme.inspire-theme',
|
|
196
|
+
name: 'GEMET - INSPIRE themes, version 1.0',
|
|
197
|
+
url: new URL(
|
|
198
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
199
|
+
),
|
|
200
|
+
},
|
|
201
|
+
type: 'theme',
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
label: 'BGDI Bundesgeodaten-Infrastruktur',
|
|
205
|
+
thesaurus: {
|
|
206
|
+
id: 'geonetwork.thesaurus.local.theme.geocat.ch',
|
|
207
|
+
name: 'geocat.ch',
|
|
208
|
+
url: new URL(
|
|
209
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
210
|
+
),
|
|
211
|
+
},
|
|
212
|
+
type: 'theme',
|
|
213
|
+
},
|
|
53
214
|
],
|
|
54
|
-
keywords: [],
|
|
55
215
|
spatialRepresentation: 'vector',
|
|
56
216
|
distributions: [
|
|
57
217
|
{
|
|
@@ -210,8 +370,31 @@ export const GEOCAT_CH_SERVICE_RECORD: ServiceRecord = {
|
|
|
210
370
|
description: 'Vorschaubild',
|
|
211
371
|
},
|
|
212
372
|
],
|
|
213
|
-
|
|
214
|
-
keywords: [
|
|
373
|
+
topics: [],
|
|
374
|
+
keywords: [
|
|
375
|
+
{
|
|
376
|
+
label: 'Verkehr',
|
|
377
|
+
thesaurus: {
|
|
378
|
+
id: 'geonetwork.thesaurus.external.theme.gemet',
|
|
379
|
+
name: 'GEMET',
|
|
380
|
+
url: new URL(
|
|
381
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
382
|
+
),
|
|
383
|
+
},
|
|
384
|
+
type: 'other',
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
label: 'opendata.swiss',
|
|
388
|
+
thesaurus: {
|
|
389
|
+
id: 'geonetwork.thesaurus.local.theme.geocat.ch',
|
|
390
|
+
name: 'geocat.ch',
|
|
391
|
+
url: new URL(
|
|
392
|
+
'https://geocat-dev.dev.bgdi.ch/geonetwork/srv/api/registries/vocabularies/local.theme.geocat.ch'
|
|
393
|
+
),
|
|
394
|
+
},
|
|
395
|
+
type: 'other',
|
|
396
|
+
},
|
|
397
|
+
],
|
|
215
398
|
onlineResources: [
|
|
216
399
|
{
|
|
217
400
|
type: 'link',
|
|
@@ -3,6 +3,8 @@ import {
|
|
|
3
3
|
Organization,
|
|
4
4
|
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
5
5
|
import { getRoleFromRoleCode } from '../iso19139/codelists/role.mapper'
|
|
6
|
+
import { Thesaurus } from './types'
|
|
7
|
+
import { getKeywordTypeFromKeywordTypeCode } from '../iso19139/codelists/keyword.mapper'
|
|
6
8
|
|
|
7
9
|
export type SourceWithUnknownProps = { [key: string]: unknown }
|
|
8
10
|
|
|
@@ -98,3 +100,30 @@ export const mapContact = (
|
|
|
98
100
|
...(phone && { phone }),
|
|
99
101
|
}
|
|
100
102
|
}
|
|
103
|
+
|
|
104
|
+
export const mapKeywords = (thesauri: Thesaurus[], language: string) => {
|
|
105
|
+
const keywords = []
|
|
106
|
+
for (const thesaurusId in thesauri) {
|
|
107
|
+
const rawThesaurus = thesauri[thesaurusId]
|
|
108
|
+
let thesaurus = null
|
|
109
|
+
if (rawThesaurus.id) {
|
|
110
|
+
const thesaurusSource: SourceWithUnknownProps = { ...rawThesaurus }
|
|
111
|
+
const url = getAsUrl(selectField(thesaurusSource, 'link'))
|
|
112
|
+
const name = selectField(thesaurusSource, 'title')
|
|
113
|
+
thesaurus = {
|
|
114
|
+
id: rawThesaurus.id,
|
|
115
|
+
...(name && { name }),
|
|
116
|
+
...(url && { url }),
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
for (const keyword of rawThesaurus.keywords) {
|
|
120
|
+
keywords.push({
|
|
121
|
+
label: selectTranslatedValue<string>(keyword, language),
|
|
122
|
+
type: getKeywordTypeFromKeywordTypeCode(rawThesaurus.theme),
|
|
123
|
+
...(thesaurus && { thesaurus }),
|
|
124
|
+
})
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return keywords
|
|
129
|
+
}
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
getAsUrl,
|
|
5
5
|
getFirstValue,
|
|
6
6
|
mapContact,
|
|
7
|
+
mapKeywords,
|
|
7
8
|
selectFallback,
|
|
8
9
|
selectFallbackFields,
|
|
9
10
|
selectField,
|
|
@@ -28,6 +29,7 @@ import {
|
|
|
28
29
|
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
29
30
|
import { matchProtocol } from '../common/distribution.mapper'
|
|
30
31
|
import { LangService } from '../../../../../../libs/util/i18n/src'
|
|
32
|
+
import { Thesaurus } from './types'
|
|
31
33
|
|
|
32
34
|
type ESResponseSource = SourceWithUnknownProps
|
|
33
35
|
|
|
@@ -92,8 +94,8 @@ export class Gn4FieldMapper {
|
|
|
92
94
|
},
|
|
93
95
|
cl_topic: (output, source) => ({
|
|
94
96
|
...output,
|
|
95
|
-
|
|
96
|
-
...(output.
|
|
97
|
+
topics: [
|
|
98
|
+
...(output.topics || []),
|
|
97
99
|
...getAsArray(
|
|
98
100
|
selectField<SourceWithUnknownProps[]>(source, 'cl_topic')
|
|
99
101
|
).map((topic) => selectTranslatedValue<string>(topic, this.lang3)),
|
|
@@ -171,16 +173,17 @@ export class Gn4FieldMapper {
|
|
|
171
173
|
output
|
|
172
174
|
)
|
|
173
175
|
},
|
|
174
|
-
|
|
176
|
+
allKeywords: (output, source) => ({
|
|
175
177
|
...output,
|
|
176
|
-
keywords:
|
|
177
|
-
selectField<
|
|
178
|
-
|
|
178
|
+
keywords: mapKeywords(
|
|
179
|
+
selectField<Thesaurus[]>(source, 'allKeywords'),
|
|
180
|
+
this.lang3
|
|
181
|
+
),
|
|
179
182
|
}),
|
|
180
183
|
inspireTheme: (output, source) => ({
|
|
181
184
|
...output,
|
|
182
|
-
|
|
183
|
-
...(output.
|
|
185
|
+
topics: [
|
|
186
|
+
...(output.topics || []),
|
|
184
187
|
...getAsArray(selectField(source, 'inspireTheme_syn')),
|
|
185
188
|
],
|
|
186
189
|
}),
|
|
@@ -56,15 +56,13 @@ interface SpecificationConformance {
|
|
|
56
56
|
pass: BooleanString
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
type Keyword = MultilingualField
|
|
60
|
-
type Keywords = Keyword[]
|
|
61
59
|
type ThesaurusName = string
|
|
62
|
-
interface Thesaurus {
|
|
60
|
+
export interface Thesaurus {
|
|
63
61
|
id?: string
|
|
64
62
|
title?: string
|
|
65
63
|
theme?: string
|
|
66
64
|
link?: string
|
|
67
|
-
keywords:
|
|
65
|
+
keywords: MultilingualField[]
|
|
68
66
|
}
|
|
69
67
|
|
|
70
68
|
export interface Link {
|
|
@@ -175,7 +173,7 @@ export type MetadataObject = Partial<{
|
|
|
175
173
|
specificationConformance: MaybeArray<SpecificationConformance>
|
|
176
174
|
standardNameObject: MultilingualField
|
|
177
175
|
standardVersionObject: MultilingualField
|
|
178
|
-
tag:
|
|
176
|
+
tag: MultilingualField[]
|
|
179
177
|
tagNumber: string
|
|
180
178
|
userSavedCount: string
|
|
181
179
|
userinfo: string
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { KeywordType } from '../../../../../../../libs/common/domain/src/lib/model/record'
|
|
2
|
+
|
|
3
|
+
export function getKeywordTypeFromKeywordTypeCode(
|
|
4
|
+
typeCode: string
|
|
5
|
+
): KeywordType {
|
|
6
|
+
if (!typeCode) return 'other'
|
|
7
|
+
switch (typeCode) {
|
|
8
|
+
case 'theme':
|
|
9
|
+
case 'place':
|
|
10
|
+
case 'temporal':
|
|
11
|
+
case 'other':
|
|
12
|
+
return typeCode
|
|
13
|
+
default:
|
|
14
|
+
return 'other'
|
|
15
|
+
}
|
|
16
|
+
}
|