geonetwork-ui 2.8.0-dev.83aaa1736 → 2.8.0-dev.8b715be88
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +25 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +7 -7
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -2
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +10 -10
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -2
- package/esm2022/libs/common/domain/src/index.mjs +3 -0
- package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +6 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/index.mjs +2 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +3 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +18 -7
- package/esm2022/libs/feature/dataviz/src/lib/stac-view/stac-view.component.mjs +51 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +23 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -4
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +23 -8
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +14 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -1
- package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +9 -7
- package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +8 -12
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.mjs +37 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +2 -3
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +3 -1
- package/esm2022/libs/util/shared/src/lib/utils/sort-by.mjs +9 -6
- package/esm2022/translations/de.json +13 -3
- package/esm2022/translations/en.json +13 -4
- package/esm2022/translations/es.json +12 -2
- package/esm2022/translations/fr.json +13 -3
- package/esm2022/translations/it.json +14 -4
- package/esm2022/translations/nl.json +12 -2
- package/esm2022/translations/pt.json +12 -2
- package/esm2022/translations/sk.json +13 -3
- package/fesm2022/geonetwork-ui.mjs +340 -83
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.ts +1 -0
- package/libs/api/metadata-converter/src/lib/common/distribution.mapper.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/iso19139/iso19139.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +5 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +7 -7
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
- package/libs/common/domain/src/index.d.ts +3 -0
- package/libs/common/domain/src/index.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -2
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/sort-by.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/dataviz/src/index.d.ts +1 -0
- package/libs/feature/dataviz/src/index.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts +16 -0
- package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +2 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +3 -2
- 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-web-component/data-view-web-component.component.d.ts +3 -2
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -24
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts +3 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts +4 -3
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/sort-by.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +27 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +13 -6
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +6 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +37 -36
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -2
- package/src/libs/common/domain/src/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +10 -1
- package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +5 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -1
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +5 -0
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +10 -0
- package/src/libs/feature/dataviz/src/index.ts +1 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +1 -0
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +16 -5
- package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.css +0 -0
- package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.html +40 -0
- package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.ts +62 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +3 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +30 -0
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +7 -1
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +23 -4
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +30 -1
- package/src/libs/feature/router/src/lib/default/router.service.ts +8 -0
- package/src/libs/feature/router/src/lib/default/state/router.effects.ts +6 -7
- package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +8 -12
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.css +0 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.html +31 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.ts +30 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +56 -14
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +4 -2
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +2 -0
- package/src/libs/util/shared/src/lib/utils/sort-by.ts +8 -5
- package/translations/de.json +13 -3
- package/translations/en.json +13 -4
- package/translations/es.json +12 -2
- package/translations/fr.json +13 -3
- package/translations/it.json +14 -4
- package/translations/nl.json +12 -2
- package/translations/pt.json +12 -2
- package/translations/sk.json +13 -3
- package/src/libs/common/domain/src/lib/index.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-by.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/search/src/lib/sort-by/sort-by.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"sort-by.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/search/src/lib/sort-by/sort-by.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAA;AAExD,OAAO,EAEL,WAAW,EACZ,MAAM,2DAA2D,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;;AAM/D,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,qBAMa,eAAgB,YAAW,MAAM;IAsB1C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,aAAa;IAtBd,iBAAiB,EAAE,OAAO,CAAA;IACnC,OAAO,EAAE,UAAU,EAAE,CAapB;IACD,cAAc,yCAGb;gBAGS,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,aAAa;IAGtC,QAAQ,IAAI,IAAI;IAShB,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;yCAnC9B,eAAe;2CAAf,eAAe;CAsC3B"}
|
|
@@ -14,6 +14,7 @@ export * from './lib/markdown-editor/markdown-editor.component';
|
|
|
14
14
|
export * from './lib/markdown-parser/markdown-parser.component';
|
|
15
15
|
export * from './lib/metadata-catalog/metadata-catalog.component';
|
|
16
16
|
export * from './lib/metadata-contact/metadata-contact.component';
|
|
17
|
+
export * from './lib/metadata-doi/metadata-doi.component';
|
|
17
18
|
export * from './lib/metadata-info/metadata-info.component';
|
|
18
19
|
export * from './lib/metadata-quality-item/metadata-quality-item.component';
|
|
19
20
|
export * from './lib/metadata-quality/metadata-quality.component';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/elements/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA;AACjD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yDAAyD,CAAA;AACvE,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+CAA+C,CAAA;AAC7D,cAAc,yCAAyC,CAAA;AACvD,cAAc,6DAA6D,CAAA;AAC3E,cAAc,uCAAuC,CAAA;AACrD,cAAc,uDAAuD,CAAA;AACrE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,mDAAmD,CAAA;AACjE,cAAc,mDAAmD,CAAA;AACjE,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6DAA6D,CAAA;AAC3E,cAAc,mDAAmD,CAAA;AACjE,cAAc,2CAA2C,CAAA;AACzD,cAAc,iDAAiD,CAAA;AAC/D,cAAc,qCAAqC,CAAA;AACnD,cAAc,uDAAuD,CAAA;AACrE,cAAc,2CAA2C,CAAA;AACzD,cAAc,uDAAuD,CAAA;AACrE,cAAc,uDAAuD,CAAA;AACrE,cAAc,2DAA2D,CAAA;AACzE,cAAc,kFAAkF,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/ui/elements/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA;AACjD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yDAAyD,CAAA;AACvE,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+CAA+C,CAAA;AAC7D,cAAc,yCAAyC,CAAA;AACvD,cAAc,6DAA6D,CAAA;AAC3E,cAAc,uCAAuC,CAAA;AACrD,cAAc,uDAAuD,CAAA;AACrE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,mDAAmD,CAAA;AACjE,cAAc,mDAAmD,CAAA;AACjE,cAAc,2CAA2C,CAAA;AACzD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6DAA6D,CAAA;AAC3E,cAAc,mDAAmD,CAAA;AACjE,cAAc,2CAA2C,CAAA;AACzD,cAAc,iDAAiD,CAAA;AAC/D,cAAc,qCAAqC,CAAA;AACnD,cAAc,uDAAuD,CAAA;AACrE,cAAc,2CAA2C,CAAA;AACzD,cAAc,uDAAuD,CAAA;AACrE,cAAc,uDAAuD,CAAA;AACrE,cAAc,2DAA2D,CAAA;AACzE,cAAc,kFAAkF,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class MetadataDoiComponent {
|
|
3
|
+
code: string;
|
|
4
|
+
link?: string;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MetadataDoiComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MetadataDoiComponent, "gn-ui-metadata-doi", never, { "code": { "alias": "code"; "required": false; }; "link": { "alias": "link"; "required": false; }; }, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=metadata-doi.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-doi.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.ts"],"names":[],"mappings":";AAQA,qBAkBa,oBAAoB;IACtB,IAAI,EAAG,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;yCAFX,oBAAoB;2CAApB,oBAAoB;CAGhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-selector.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAGL,UAAU,EACV,YAAY,EAEZ,MAAM,EAEN,SAAS,EAGV,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;;AAa1D,qBAuBa,yBAA0B,YAAW,MAAM;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,UAAO;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC9B,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,SAAK;IAClB,QAAQ,SAAK;IACb,QAAQ,EAAE,OAAO,CAAA;IAChB,WAAW,wBAA8C;IACvC,aAAa,EAAE,gBAAgB,CAAA;IAC3B,OAAO,EAAE,mBAAmB,CAAA;IAC5D,WAAW,UAAQ;IACnB,YAAY,SAAS;IACrB,gBAAgB,SAAS;IACzB,gBAAgB,EAAE,iBAAiB,EAAE,CAepC;IAED,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;IAEnC,IAAI,cAAc,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"dropdown-selector.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAGL,UAAU,EACV,YAAY,EAEZ,MAAM,EAEN,SAAS,EAGV,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;;AAa1D,qBAuBa,yBAA0B,YAAW,MAAM;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,UAAO;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC9B,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,SAAK;IAClB,QAAQ,SAAK;IACb,QAAQ,EAAE,OAAO,CAAA;IAChB,WAAW,wBAA8C;IACvC,aAAa,EAAE,gBAAgB,CAAA;IAC3B,OAAO,EAAE,mBAAmB,CAAA;IAC5D,WAAW,UAAQ;IACnB,YAAY,SAAS;IACrB,gBAAgB,SAAS;IACzB,gBAAgB,EAAE,iBAAiB,EAAE,CAepC;IAED,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;IAEnC,IAAI,cAAc,IAAI,cAAc,CAOnC;IAED,IAAI,EAAE,WAEL;IAED,cAAc,IAAI,MAAM;IAIxB,QAAQ,IAAI,IAAI;IAOhB,UAAU,CAAC,MAAM,EAAE,cAAc;IAIjC,aAAa,CAAC,MAAM,EAAE,cAAc;IAMpC,WAAW;IAcX,YAAY;IAIZ,cAAc;IAId,aAAa;IAIP,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAuB/C,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAczC,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B,IAAI,YAAY,IAAI,MAAM,GAAG,CAAC,CAAC,CAM9B;IAED,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc;yCArJ/C,yBAAyB;2CAAzB,yBAAyB;CA2JrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-classifier.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-classifier.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,2DAA2D,CAAA;;AAGlE,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,OAAO,WAAW;IAClB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,YAAY,gBAAgB;IAC5B,OAAO,YAAY;CACpB;AAED,qBAGa,qBAAqB;IAChC,gBAAgB,CACd,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"link-classifier.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-classifier.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,2DAA2D,CAAA;;AAGlE,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,OAAO,WAAW;IAClB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,YAAY,gBAAgB;IAC5B,OAAO,YAAY;CACpB;AAED,qBAGa,qBAAqB;IAChC,gBAAgB,CACd,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,GAClD,SAAS,EAAE;IA8Cd,QAAQ,CACN,IAAI,EAAE,qBAAqB,GAAG,qBAAqB,EACnD,KAAK,EAAE,SAAS;yCAnDP,qBAAqB;6CAArB,qBAAqB;CAuDjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-by.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/sort-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAA;AAEvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAG7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"sort-by.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/sort-by.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAA;AAEvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAG7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAQlE"}
|
package/package.json
CHANGED
|
@@ -10,6 +10,7 @@ export function matchProtocol(protocol: string): ServiceProtocol {
|
|
|
10
10
|
if (/esri/i.test(protocol)) return 'esriRest'
|
|
11
11
|
if (/DOWNLOAD-1/i.test(protocol)) return 'GPFDL'
|
|
12
12
|
if (/DB:POSTGIS/i.test(protocol)) return 'postgis'
|
|
13
|
+
if (/stac\W*items/i.test(protocol)) return 'stac'
|
|
13
14
|
return 'other'
|
|
14
15
|
}
|
|
15
16
|
|
|
@@ -56,7 +56,7 @@ export class DcatApConverter extends BaseConverter<string> {
|
|
|
56
56
|
spatialExtents: readSpatialExtents,
|
|
57
57
|
keywords: readKeywords,
|
|
58
58
|
topics: readTopics,
|
|
59
|
-
|
|
59
|
+
resourceIdentifiers: () => undefined,
|
|
60
60
|
recordUpdated: readRecordUpdated,
|
|
61
61
|
recordCreated: readRecordCreated,
|
|
62
62
|
resourceUpdated: readResourceUpdated,
|
|
@@ -96,7 +96,7 @@ export class DcatApConverter extends BaseConverter<string> {
|
|
|
96
96
|
recordUpdated: () => undefined,
|
|
97
97
|
recordCreated: () => undefined,
|
|
98
98
|
recordPublished: () => undefined,
|
|
99
|
-
|
|
99
|
+
resourceIdentifiers: () => undefined,
|
|
100
100
|
resourceUpdated: () => undefined,
|
|
101
101
|
resourceCreated: () => undefined,
|
|
102
102
|
resourcePublished: () => undefined,
|
|
@@ -70,7 +70,7 @@ export const GENERIC_DATASET_RECORD: DatasetRecord = {
|
|
|
70
70
|
recordCreated: new Date('2021-11-15T09:00:00'),
|
|
71
71
|
recordPublished: new Date('2022-01-01T10:00:00'),
|
|
72
72
|
recordUpdated: new Date('2022-02-01T15:12:00'),
|
|
73
|
-
|
|
73
|
+
resourceIdentifiers: [{ code: '2d974612-70b1-4662-a9f4-c43cbe453773' }],
|
|
74
74
|
resourceCreated: new Date('2022-09-01T14:18:19'),
|
|
75
75
|
resourceUpdated: new Date('2022-12-04T15:12:00'),
|
|
76
76
|
title: 'A very interesting dataset (un jeu de données très intéressant)',
|
package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ServiceRecord } from '../../../../../../libs/common/domain/src/lib/mode
|
|
|
2
2
|
|
|
3
3
|
export const GEO2FRANCE_SERVICE_EAUXUSEES_RECORD: ServiceRecord = {
|
|
4
4
|
uniqueIdentifier: 'be052079-f1f6-4f6f-a722-cbf11deb40eb',
|
|
5
|
-
|
|
5
|
+
resourceIdentifiers: [{ code: 'https://id.eaufrance.fr/meta/ODP_WFS' }],
|
|
6
6
|
kind: 'service',
|
|
7
7
|
otherLanguages: [],
|
|
8
8
|
defaultLanguage: 'fr',
|
|
@@ -146,6 +146,9 @@ Ce lot de données produit en 2019, a été numérisé à partir du PCI Vecteur
|
|
|
146
146
|
defaultLanguage: 'fr',
|
|
147
147
|
otherLanguages: [],
|
|
148
148
|
translations: {},
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
resourceIdentifiers: [
|
|
150
|
+
{
|
|
151
|
+
code: 'https://www.geoportail-urbanisme.gouv.fr/document/60036_PLU_20220329',
|
|
152
|
+
},
|
|
153
|
+
],
|
|
151
154
|
}
|
|
@@ -68,7 +68,7 @@ export const GEOCAT_CH_DATASET_RECORD: DatasetRecord = {
|
|
|
68
68
|
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.`,
|
|
69
69
|
overviews: [],
|
|
70
70
|
topics: ['planningCadastre', 'planningCadastre_Planning'],
|
|
71
|
-
|
|
71
|
+
resourceIdentifiers: [{ code: 'ch.are.alpenkonvention' }],
|
|
72
72
|
keywords: [
|
|
73
73
|
{
|
|
74
74
|
thesaurus: {
|
|
@@ -2,7 +2,7 @@ import { ReuseRecord } from '../../../../../../libs/common/domain/src/lib/model/
|
|
|
2
2
|
|
|
3
3
|
export const GEORHENA_REUSE_SOLAIRE_RECORD: ReuseRecord = {
|
|
4
4
|
uniqueIdentifier: '015e6d20-0d69-4ae7-adfe-85c588aac141',
|
|
5
|
-
|
|
5
|
+
resourceIdentifiers: [{ code: '04_2022_301' }],
|
|
6
6
|
kind: 'reuse',
|
|
7
7
|
otherLanguages: ['de', 'en'],
|
|
8
8
|
defaultLanguage: 'fr',
|
|
@@ -71,7 +71,7 @@ Toutes ces données sont reprises dans BDR.`,
|
|
|
71
71
|
recordCreated: new Date('2019-04-02T12:34:35'),
|
|
72
72
|
recordUpdated: new Date('2022-06-16T05:01:21'),
|
|
73
73
|
resourceCreated: new Date('2002-01-01'),
|
|
74
|
-
|
|
74
|
+
resourceIdentifiers: [{ code: '2d974612-70b1-4662-a9f4-c43cbe453773' }],
|
|
75
75
|
resourceUpdated: new Date('2022-06-16'),
|
|
76
76
|
resourcePublished: new Date('2022-06-16'),
|
|
77
77
|
onlineResources: [
|
|
@@ -645,7 +645,7 @@ export const METAWAL_SERVICE_RECORD: ServiceRecord = {
|
|
|
645
645
|
},
|
|
646
646
|
recordCreated: new Date('2019-04-02T12:31:58'),
|
|
647
647
|
recordUpdated: new Date('2022-02-09T11:31:06.766Z'),
|
|
648
|
-
|
|
648
|
+
resourceIdentifiers: [{ code: '6d2b6fdb-f1ea-4d48-8697-a0c05512f1dc' }],
|
|
649
649
|
resourcePublished: new Date('2016-12-01'),
|
|
650
650
|
securityConstraints: [],
|
|
651
651
|
title:
|
|
@@ -2,7 +2,7 @@ import { ReuseRecord } from '../../../../../../libs/common/domain/src/lib/model/
|
|
|
2
2
|
|
|
3
3
|
export const WALLONIE_REUSE_SPW_RECORD: ReuseRecord = {
|
|
4
4
|
uniqueIdentifier: '83809bcd-1763-4d28-b820-2b9828083ba5',
|
|
5
|
-
|
|
5
|
+
resourceIdentifiers: [{ code: '83809bcd-1763-4d28-b820-2b9828083ba5' }],
|
|
6
6
|
kind: 'reuse',
|
|
7
7
|
otherLanguages: [],
|
|
8
8
|
defaultLanguage: 'fr',
|
package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ServiceRecord } from '../../../../../../libs/common/domain/src/lib/mode
|
|
|
2
2
|
|
|
3
3
|
export const WALLONIE_SERVICE_NAPITSWALLONIA_RECORD: ServiceRecord = {
|
|
4
4
|
uniqueIdentifier: 'fe1c1a3d-c75b-435c-a1d1-48426818f54d',
|
|
5
|
-
|
|
5
|
+
resourceIdentifiers: [{ code: 'fe1c1a3d-c75b-435c-a1d1-48426818f54d' }],
|
|
6
6
|
kind: 'service',
|
|
7
7
|
otherLanguages: [],
|
|
8
8
|
defaultLanguage: 'fr',
|
|
@@ -451,6 +451,32 @@ export class Gn4FieldMapper {
|
|
|
451
451
|
}),
|
|
452
452
|
}
|
|
453
453
|
},
|
|
454
|
+
resourceIdentifier: (output, source) => {
|
|
455
|
+
const identifiers = getAsArray(selectField(source, 'resourceIdentifier'))
|
|
456
|
+
|
|
457
|
+
if (!identifiers.length) return output
|
|
458
|
+
|
|
459
|
+
const mappedIdentifiers = identifiers
|
|
460
|
+
.map((id) => {
|
|
461
|
+
const code = selectField<string>(id, 'code')
|
|
462
|
+
const codeSpace = selectField<string>(id, 'codeSpace')
|
|
463
|
+
const link = selectField<string>(id, 'link')
|
|
464
|
+
|
|
465
|
+
return {
|
|
466
|
+
code,
|
|
467
|
+
...(codeSpace && { codeSpace }),
|
|
468
|
+
...(link && { url: link }),
|
|
469
|
+
}
|
|
470
|
+
})
|
|
471
|
+
.filter((id) => id !== null)
|
|
472
|
+
|
|
473
|
+
if (!mappedIdentifiers.length) return output
|
|
474
|
+
|
|
475
|
+
return {
|
|
476
|
+
...output,
|
|
477
|
+
resourceIdentifiers: mappedIdentifiers,
|
|
478
|
+
}
|
|
479
|
+
},
|
|
454
480
|
}
|
|
455
481
|
|
|
456
482
|
private genericField = (output) => output
|
|
@@ -513,6 +539,7 @@ export class Gn4FieldMapper {
|
|
|
513
539
|
/TMS/i.test(protocol) ||
|
|
514
540
|
/ogc\W*api\W*features/i.test(protocol) ||
|
|
515
541
|
/^DB:POSTGIS/i.test(protocol) ||
|
|
542
|
+
/stac\W*items/i.test(protocol) ||
|
|
516
543
|
(/^WWW:DOWNLOAD-/.test(protocol) && /data.geopf.fr/.test(url)) // TO DO : change with the good protocol when decided
|
|
517
544
|
) {
|
|
518
545
|
return 'service'
|
|
@@ -92,7 +92,7 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
92
92
|
recordUpdated: readRecordUpdated,
|
|
93
93
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
94
94
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
95
|
-
|
|
95
|
+
resourceIdentifiers: readResourceIdentifier,
|
|
96
96
|
resourceUpdated: readResourceUpdated,
|
|
97
97
|
resourceCreated: readResourceCreated,
|
|
98
98
|
resourcePublished: readResourcePublished,
|
|
@@ -133,7 +133,7 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
133
133
|
recordUpdated: writeRecordUpdated,
|
|
134
134
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
135
135
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
136
|
-
|
|
136
|
+
resourceIdentifiers: writeResourceIdentifier,
|
|
137
137
|
resourceUpdated: writeResourceUpdated,
|
|
138
138
|
resourceCreated: writeResourceCreated,
|
|
139
139
|
resourcePublished: writeResourcePublished,
|
|
@@ -240,12 +240,19 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
240
240
|
const onlineResources = this.readers['onlineResources'](rootEl, tr)
|
|
241
241
|
const otherLanguages = this.readers['otherLanguages'](rootEl, tr)
|
|
242
242
|
const defaultLanguage = this.readers['defaultLanguage'](rootEl, tr)
|
|
243
|
-
const
|
|
243
|
+
const resourceIdentifiers = this.readers['resourceIdentifiers'](
|
|
244
|
+
rootEl,
|
|
245
|
+
tr
|
|
246
|
+
) as Array<{
|
|
247
|
+
code: string
|
|
248
|
+
codeSpace?: string
|
|
249
|
+
url?: string
|
|
250
|
+
}>
|
|
244
251
|
const spatialExtents = this.readers['spatialExtents'](rootEl, tr)
|
|
245
252
|
|
|
246
253
|
return {
|
|
247
254
|
uniqueIdentifier,
|
|
248
|
-
...(
|
|
255
|
+
...(resourceIdentifiers?.length > 0 && { resourceIdentifiers }),
|
|
249
256
|
kind,
|
|
250
257
|
otherLanguages,
|
|
251
258
|
defaultLanguage,
|
|
@@ -388,8 +395,8 @@ export class Iso19139Converter extends BaseConverter<string> {
|
|
|
388
395
|
this.writers['otherConstraints'](record, rootEl)
|
|
389
396
|
fieldChanged('onlineResources') &&
|
|
390
397
|
this.writers['onlineResources'](record, rootEl)
|
|
391
|
-
fieldChanged('
|
|
392
|
-
this.writers['
|
|
398
|
+
fieldChanged('resourceIdentifiers') &&
|
|
399
|
+
this.writers['resourceIdentifiers'](record, rootEl)
|
|
393
400
|
|
|
394
401
|
if (record.kind === 'dataset') {
|
|
395
402
|
fieldChanged('status') && this.writers['status'](record, rootEl)
|
|
@@ -1183,8 +1183,10 @@ export function readDefaultLanguage(rootEl: XmlElement): LanguageCode {
|
|
|
1183
1183
|
)(rootEl)
|
|
1184
1184
|
}
|
|
1185
1185
|
|
|
1186
|
-
export function readResourceIdentifier(
|
|
1187
|
-
|
|
1186
|
+
export function readResourceIdentifier(
|
|
1187
|
+
rootEl: XmlElement
|
|
1188
|
+
): Array<{ code: string; codeSpace?: string; url?: string }> {
|
|
1189
|
+
const code = pipe(
|
|
1188
1190
|
findIdentification(),
|
|
1189
1191
|
findNestedElement(
|
|
1190
1192
|
'gmd:citation',
|
|
@@ -1195,4 +1197,6 @@ export function readResourceIdentifier(rootEl: XmlElement): string {
|
|
|
1195
1197
|
),
|
|
1196
1198
|
extractCharacterString()
|
|
1197
1199
|
)(rootEl)
|
|
1200
|
+
|
|
1201
|
+
return code ? [{ code }] : []
|
|
1198
1202
|
}
|
|
@@ -1502,14 +1502,16 @@ export function writeResourceIdentifier(
|
|
|
1502
1502
|
record: DatasetRecord,
|
|
1503
1503
|
rootEl: XmlElement
|
|
1504
1504
|
) {
|
|
1505
|
+
const firstIdentifier = record.resourceIdentifiers?.[0]?.code
|
|
1506
|
+
|
|
1505
1507
|
pipe(
|
|
1506
1508
|
findOrCreateIdentification(),
|
|
1507
1509
|
findNestedChildOrCreate('gmd:citation', 'gmd:CI_Citation'),
|
|
1508
1510
|
removeChildrenByName('gmd:identifier'),
|
|
1509
|
-
|
|
1511
|
+
firstIdentifier
|
|
1510
1512
|
? pipe(
|
|
1511
1513
|
createNestedChild('gmd:identifier', 'gmd:MD_Identifier', 'gmd:code'),
|
|
1512
|
-
writeCharacterString(
|
|
1514
|
+
writeCharacterString(firstIdentifier)
|
|
1513
1515
|
)
|
|
1514
1516
|
: noop
|
|
1515
1517
|
)(rootEl)
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
+
import { HttpClient, HttpEventType } from '@angular/common/http'
|
|
1
2
|
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core'
|
|
2
3
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
KeywordApiResponse,
|
|
5
|
+
ThesaurusApiResponse,
|
|
6
|
+
} from '../../../../../../../libs/api/metadata-converter/src'
|
|
7
|
+
import {
|
|
8
|
+
CatalogRecord,
|
|
9
|
+
Keyword,
|
|
10
|
+
Organization,
|
|
11
|
+
UserFeedback,
|
|
12
|
+
} from '../../../../../../../libs/common/domain/src/lib/model/record'
|
|
13
|
+
import { KeywordType } from '../../../../../../../libs/common/domain/src/lib/model/thesaurus'
|
|
14
|
+
import { UserModel } from '../../../../../../../libs/common/domain/src/lib/model/user/user.model'
|
|
15
|
+
import {
|
|
16
|
+
PlatformServiceInterface,
|
|
17
|
+
UploadEvent,
|
|
18
|
+
} from '../../../../../../../libs/common/domain/src/lib/platform.service.interface'
|
|
10
19
|
import {
|
|
11
20
|
MeApiService,
|
|
12
21
|
RecordsApiService,
|
|
@@ -15,26 +24,9 @@ import {
|
|
|
15
24
|
UserfeedbackApiService,
|
|
16
25
|
UsersApiService,
|
|
17
26
|
} from '../../../../../../../libs/data-access/gn4/src'
|
|
18
|
-
import {
|
|
19
|
-
PlatformServiceInterface,
|
|
20
|
-
UploadEvent,
|
|
21
|
-
} from '../../../../../../../libs/common/domain/src/lib/platform.service.interface'
|
|
22
|
-
import { UserModel } from '../../../../../../../libs/common/domain/src/lib/model/user/user.model'
|
|
23
|
-
import {
|
|
24
|
-
CatalogRecord,
|
|
25
|
-
Keyword,
|
|
26
|
-
Organization,
|
|
27
|
-
UserFeedback,
|
|
28
|
-
} from '../../../../../../../libs/common/domain/src/lib/model/record'
|
|
29
|
-
import { Gn4PlatformMapper } from './gn4-platform.mapper'
|
|
30
|
-
import { ltr } from 'semver'
|
|
31
|
-
import { HttpClient, HttpEventType } from '@angular/common/http'
|
|
32
|
-
import {
|
|
33
|
-
KeywordApiResponse,
|
|
34
|
-
ThesaurusApiResponse,
|
|
35
|
-
} from '../../../../../../../libs/api/metadata-converter/src'
|
|
36
|
-
import { KeywordType } from '../../../../../../../libs/common/domain/src/lib/model/thesaurus'
|
|
27
|
+
import { toLang3 } from '../../../../../../../libs/util/i18n/src'
|
|
37
28
|
import { noDuplicateFileName } from '../../../../../../../libs/util/shared/src'
|
|
29
|
+
import { TranslateService } from '@ngx-translate/core'
|
|
38
30
|
import {
|
|
39
31
|
combineLatest,
|
|
40
32
|
forkJoin,
|
|
@@ -43,9 +35,17 @@ import {
|
|
|
43
35
|
switchMap,
|
|
44
36
|
throwError,
|
|
45
37
|
} from 'rxjs'
|
|
46
|
-
import {
|
|
47
|
-
|
|
38
|
+
import {
|
|
39
|
+
catchError,
|
|
40
|
+
filter,
|
|
41
|
+
map,
|
|
42
|
+
mergeMap,
|
|
43
|
+
shareReplay,
|
|
44
|
+
tap,
|
|
45
|
+
} from 'rxjs/operators'
|
|
46
|
+
import { ltr } from 'semver'
|
|
48
47
|
import { Gn4SettingsService } from '../settings/gn4-settings.service'
|
|
48
|
+
import { Gn4PlatformMapper } from './gn4-platform.mapper'
|
|
49
49
|
|
|
50
50
|
const minApiVersion = '4.2.2'
|
|
51
51
|
|
|
@@ -56,7 +56,6 @@ export const DISABLE_AUTH = new InjectionToken<boolean>('gnDisableAuth', {
|
|
|
56
56
|
@Injectable()
|
|
57
57
|
export class Gn4PlatformService implements PlatformServiceInterface {
|
|
58
58
|
private readonly type = 'GeoNetwork'
|
|
59
|
-
private readonly me$: Observable<UserModel>
|
|
60
59
|
private readonly users$: Observable<UserModel[]>
|
|
61
60
|
private readonly isUserAnonymous$: Observable<boolean>
|
|
62
61
|
private readonly gnParseVersion = '4.2.5'
|
|
@@ -70,6 +69,15 @@ export class Gn4PlatformService implements PlatformServiceInterface {
|
|
|
70
69
|
}),
|
|
71
70
|
shareReplay(1)
|
|
72
71
|
)
|
|
72
|
+
|
|
73
|
+
private me$ = this.disableAuth
|
|
74
|
+
? of(null)
|
|
75
|
+
: of(true).pipe(
|
|
76
|
+
switchMap(() => this.meApi.getMe()),
|
|
77
|
+
switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)),
|
|
78
|
+
shareReplay({ bufferSize: 1, refCount: true })
|
|
79
|
+
)
|
|
80
|
+
|
|
73
81
|
/**
|
|
74
82
|
* A map of already loaded thesauri (groups of keywords); the key is a URI
|
|
75
83
|
* @private
|
|
@@ -93,13 +101,6 @@ export class Gn4PlatformService implements PlatformServiceInterface {
|
|
|
93
101
|
private settingsService: Gn4SettingsService,
|
|
94
102
|
@Inject(DISABLE_AUTH) @Optional() private disableAuth: boolean
|
|
95
103
|
) {
|
|
96
|
-
this.me$ = this.disableAuth
|
|
97
|
-
? of(null)
|
|
98
|
-
: this.meApi.getMe().pipe(
|
|
99
|
-
switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)),
|
|
100
|
-
shareReplay({ bufferSize: 1, refCount: true })
|
|
101
|
-
)
|
|
102
|
-
|
|
103
104
|
this.isUserAnonymous$ = this.me$.pipe(
|
|
104
105
|
map((user) => !user || !('id' in user))
|
|
105
106
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core'
|
|
2
2
|
import { SiteApiService } from '../../../../../../../libs/data-access/gn4/src'
|
|
3
|
+
import { Observable, of, switchMap } from 'rxjs'
|
|
3
4
|
import { map, shareReplay } from 'rxjs/operators'
|
|
4
|
-
import { Observable } from 'rxjs'
|
|
5
5
|
|
|
6
6
|
@Injectable({
|
|
7
7
|
providedIn: 'root',
|
|
@@ -25,7 +25,8 @@ export class Gn4SettingsService {
|
|
|
25
25
|
constructor(private siteApiService: SiteApiService) {}
|
|
26
26
|
|
|
27
27
|
private getSettingsSetValueByKey(key: string) {
|
|
28
|
-
return
|
|
28
|
+
return of(true).pipe(
|
|
29
|
+
switchMap(() => this.siteApiService.getSettingsSet(null, [key])),
|
|
29
30
|
map((v) => v[key]),
|
|
30
31
|
shareReplay({ bufferSize: 1, refCount: true })
|
|
31
32
|
)
|
|
@@ -113,6 +113,12 @@ export interface INSPIRE_topic {
|
|
|
113
113
|
label: string
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
export interface ResourceIdentifier {
|
|
117
|
+
code: string
|
|
118
|
+
codeSpace?: string
|
|
119
|
+
url?: string
|
|
120
|
+
}
|
|
121
|
+
|
|
116
122
|
export interface BaseRecord {
|
|
117
123
|
uniqueIdentifier: Uuid
|
|
118
124
|
ownerOrganization: Organization
|
|
@@ -135,7 +141,8 @@ export interface BaseRecord {
|
|
|
135
141
|
updateFrequency?: UpdateFrequency
|
|
136
142
|
|
|
137
143
|
// information related to the resource (dataset, service)
|
|
138
|
-
|
|
144
|
+
|
|
145
|
+
resourceIdentifiers?: Array<ResourceIdentifier>
|
|
139
146
|
contactsForResource: Array<Individual>
|
|
140
147
|
resourceCreated?: Date
|
|
141
148
|
resourcePublished?: Date
|
|
@@ -164,6 +171,7 @@ export type ServiceProtocol =
|
|
|
164
171
|
| 'tms'
|
|
165
172
|
| 'maplibre-style'
|
|
166
173
|
| 'postgis'
|
|
174
|
+
| 'stac'
|
|
167
175
|
| 'other'
|
|
168
176
|
|
|
169
177
|
marker('record.metadata.api.accessServiceProtocol.wms')
|
|
@@ -176,6 +184,7 @@ marker('record.metadata.api.accessServiceProtocol.GPFDL')
|
|
|
176
184
|
marker('record.metadata.api.accessServiceProtocol.tms')
|
|
177
185
|
marker('record.metadata.api.accessServiceProtocol.maplibre-style')
|
|
178
186
|
marker('record.metadata.api.accessServiceProtocol.postgis')
|
|
187
|
+
marker('record.metadata.api.accessServiceProtocol.stac')
|
|
179
188
|
marker('record.metadata.api.accessServiceProtocol.other')
|
|
180
189
|
|
|
181
190
|
export type OnlineResourceType = 'service' | 'download' | 'link' | 'endpoint'
|
|
@@ -6,4 +6,9 @@ export const SortByEnum: Record<string, SortByField> = {
|
|
|
6
6
|
RELEVANCY: ['desc', '_score'],
|
|
7
7
|
QUALITY_SCORE: ['desc', 'qualityScore'],
|
|
8
8
|
CHANGE_DATE: ['desc', 'changeDate'],
|
|
9
|
+
RESOURCE_DATES: [
|
|
10
|
+
['desc', 'revisionDateForResource'],
|
|
11
|
+
['desc', 'publicationDateForResource'],
|
|
12
|
+
['desc', 'creationDateForResource'],
|
|
13
|
+
],
|
|
9
14
|
}
|
|
@@ -45,6 +45,7 @@ export abstract class PlatformServiceInterface {
|
|
|
45
45
|
thesaurusId: string
|
|
46
46
|
): Observable<Keyword[]>
|
|
47
47
|
|
|
48
|
+
abstract getFeedbacksAllowed(): Observable<boolean>
|
|
48
49
|
abstract getUserFeedbacks(recordUuid: string): Observable<UserFeedback[]>
|
|
49
50
|
abstract postUserFeedbacks(recordUuid: UserFeedback): Observable<void>
|
|
50
51
|
|
|
@@ -58,5 +59,4 @@ export abstract class PlatformServiceInterface {
|
|
|
58
59
|
removeDuplicate?: boolean
|
|
59
60
|
): Observable<UploadEvent>
|
|
60
61
|
abstract getFileContent(url: URL): Observable<any>
|
|
61
|
-
abstract getFeedbacksAllowed(): Observable<boolean>
|
|
62
62
|
}
|
|
@@ -154,4 +154,9 @@ export const elasticLinkFixture = (): Record<string, unknown> => ({
|
|
|
154
154
|
name: 'myothertmslayer',
|
|
155
155
|
url: 'https://my.tms.server/MapServer',
|
|
156
156
|
},
|
|
157
|
+
stacItems: {
|
|
158
|
+
accessServiceProtocol: 'STAC:Items',
|
|
159
|
+
name: 'stac layer',
|
|
160
|
+
url: ' https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/collections/lidarhd/items',
|
|
161
|
+
},
|
|
157
162
|
})
|
|
@@ -268,4 +268,14 @@ export const aSetOfLinksFixture = () => ({
|
|
|
268
268
|
type: 'service',
|
|
269
269
|
accessServiceProtocol: 'postgis',
|
|
270
270
|
}) as DatasetServiceDistribution,
|
|
271
|
+
stacLink: () =>
|
|
272
|
+
({
|
|
273
|
+
name: 'Lidar HD point cloud (COPC)',
|
|
274
|
+
description: 'Lidar HD classified point clouds from IGN',
|
|
275
|
+
url: new URL(
|
|
276
|
+
'https://stacapi-cdos.apps.okd.crocc.meso.umontpellier.fr/collections/lidarhd/items'
|
|
277
|
+
),
|
|
278
|
+
type: 'service',
|
|
279
|
+
accessServiceProtocol: 'stac',
|
|
280
|
+
}) as DatasetServiceDistribution,
|
|
271
281
|
})
|
|
@@ -3,3 +3,4 @@ export * from './lib/chart-view/chart-view.component'
|
|
|
3
3
|
export * from './lib/figure/figure-container/figure-container.component'
|
|
4
4
|
export * from './lib/geo-table-view/geo-table-view.component'
|
|
5
5
|
export * from './lib/table-view/table-view.component'
|
|
6
|
+
export * from './lib/stac-view/stac-view.component'
|
|
@@ -108,6 +108,7 @@ export class ChartViewComponent {
|
|
|
108
108
|
chartType$ = new BehaviorSubject<InputChartType>('bar')
|
|
109
109
|
|
|
110
110
|
@Input() set userChartConfig(config: DatavizChartConfigModel) {
|
|
111
|
+
if (!config) return
|
|
111
112
|
this.aggregation$.next(config.aggregation)
|
|
112
113
|
this.xProperty$.next(config.xProperty)
|
|
113
114
|
this.yProperty$.next(config.yProperty)
|
|
@@ -97,16 +97,27 @@ export class DataService {
|
|
|
97
97
|
if (!featureType) {
|
|
98
98
|
throw new Error('wfs.featuretype.notfound')
|
|
99
99
|
}
|
|
100
|
+
|
|
101
|
+
const wfsVersion = endpoint.getVersion()
|
|
102
|
+
const addSrsName = wfsVersion === '1.1.0' || wfsVersion === '2.0.0'
|
|
103
|
+
const defaultCrs = featureType.defaultCrs
|
|
104
|
+
|
|
105
|
+
const shouldAddOutputCrs = addSrsName && defaultCrs
|
|
106
|
+
|
|
100
107
|
return {
|
|
101
|
-
all: featureType.outputFormats.reduce(
|
|
102
|
-
|
|
108
|
+
all: featureType.outputFormats.reduce((prev, curr) => {
|
|
109
|
+
const isJsonFormat = curr.toLowerCase().includes('json')
|
|
110
|
+
return {
|
|
103
111
|
...prev,
|
|
104
112
|
[curr]: endpoint.getFeatureUrl(featureType.name, {
|
|
105
113
|
outputFormat: curr,
|
|
114
|
+
...(shouldAddOutputCrs &&
|
|
115
|
+
!isJsonFormat && {
|
|
116
|
+
outputCrs: defaultCrs,
|
|
117
|
+
}),
|
|
106
118
|
}),
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
),
|
|
119
|
+
}
|
|
120
|
+
}, {}),
|
|
110
121
|
geojson: endpoint.supportsJson(featureType.name)
|
|
111
122
|
? endpoint.getFeatureUrl(featureType.name, {
|
|
112
123
|
asJson: true,
|
|
File without changes
|