geonetwork-ui 2.6.1-dev.e79bf07fb → 2.6.2-dev.0ddab62ac
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/repository/src/lib/gn4/elasticsearch/constant.mjs +4 -6
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +11 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -2
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +4 -2
- package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +4 -2
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +4 -3
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +2 -7
- package/esm2022/translations/de.json +10 -0
- package/esm2022/translations/en.json +10 -0
- package/esm2022/translations/es.json +10 -0
- package/esm2022/translations/fr.json +10 -0
- package/esm2022/translations/it.json +10 -0
- package/esm2022/translations/nl.json +10 -0
- package/esm2022/translations/pt.json +10 -0
- package/esm2022/translations/sk.json +10 -0
- package/fesm2022/geonetwork-ui.mjs +116 -27
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +3 -5
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +11 -0
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +3 -1
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +3 -1
- package/src/libs/feature/record/src/lib/state/mdview.effects.ts +5 -1
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +6 -1
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -1
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +1 -9
- package/translations/de.json +10 -0
- package/translations/en.json +10 -0
- package/translations/es.json +10 -0
- package/translations/fr.json +10 -0
- package/translations/it.json +10 -0
- package/translations/nl.json +10 -0
- package/translations/pt.json +10 -0
- package/translations/sk.json +10 -0
|
@@ -900,6 +900,16 @@ const RecordStatusValues = [
|
|
|
900
900
|
'deprecated',
|
|
901
901
|
'removed',
|
|
902
902
|
];
|
|
903
|
+
marker('record.metadata.api.accessServiceProtocol.wms');
|
|
904
|
+
marker('record.metadata.api.accessServiceProtocol.wfs');
|
|
905
|
+
marker('record.metadata.api.accessServiceProtocol.wps');
|
|
906
|
+
marker('record.metadata.api.accessServiceProtocol.wmts');
|
|
907
|
+
marker('record.metadata.api.accessServiceProtocol.esriRest');
|
|
908
|
+
marker('record.metadata.api.accessServiceProtocol.ogcFeatures');
|
|
909
|
+
marker('record.metadata.api.accessServiceProtocol.GPFDL');
|
|
910
|
+
marker('record.metadata.api.accessServiceProtocol.tms');
|
|
911
|
+
marker('record.metadata.api.accessServiceProtocol.maplibre-style');
|
|
912
|
+
marker('record.metadata.api.accessServiceProtocol.other');
|
|
903
913
|
|
|
904
914
|
function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
|
|
905
915
|
return frequencyCode &&
|
|
@@ -19067,6 +19077,16 @@ var de = {
|
|
|
19067
19077
|
"record.kind.service": "",
|
|
19068
19078
|
"record.metadata.about": "Beschreibung",
|
|
19069
19079
|
"record.metadata.api": "API",
|
|
19080
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
19081
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
19082
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
19083
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
19084
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
19085
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
19086
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
19087
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
19088
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
19089
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
19070
19090
|
"record.metadata.api.form.closeButton": "Schließen",
|
|
19071
19091
|
"record.metadata.api.form.closeForm": "Formular schließen",
|
|
19072
19092
|
"record.metadata.api.form.create": "Ihre Anfrage erstellen",
|
|
@@ -19677,6 +19697,16 @@ var en = {
|
|
|
19677
19697
|
"record.kind.service": "Service",
|
|
19678
19698
|
"record.metadata.about": "Description",
|
|
19679
19699
|
"record.metadata.api": "API",
|
|
19700
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "GPFDL",
|
|
19701
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "esriRest",
|
|
19702
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "maplibre-style",
|
|
19703
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
|
|
19704
|
+
"record.metadata.api.accessServiceProtocol.other": "other",
|
|
19705
|
+
"record.metadata.api.accessServiceProtocol.tms": "tms",
|
|
19706
|
+
"record.metadata.api.accessServiceProtocol.wfs": "wfs",
|
|
19707
|
+
"record.metadata.api.accessServiceProtocol.wms": "wms",
|
|
19708
|
+
"record.metadata.api.accessServiceProtocol.wmts": "wmts",
|
|
19709
|
+
"record.metadata.api.accessServiceProtocol.wps": "wps",
|
|
19680
19710
|
"record.metadata.api.form.closeButton": "Close",
|
|
19681
19711
|
"record.metadata.api.form.closeForm": "Close the form",
|
|
19682
19712
|
"record.metadata.api.form.create": "Create your request",
|
|
@@ -20287,6 +20317,16 @@ var es = {
|
|
|
20287
20317
|
"record.kind.service": "",
|
|
20288
20318
|
"record.metadata.about": "",
|
|
20289
20319
|
"record.metadata.api": "",
|
|
20320
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
20321
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
20322
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
20323
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
20324
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
20325
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
20326
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
20327
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
20328
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
20329
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
20290
20330
|
"record.metadata.api.form.closeButton": "",
|
|
20291
20331
|
"record.metadata.api.form.closeForm": "",
|
|
20292
20332
|
"record.metadata.api.form.create": "",
|
|
@@ -20897,6 +20937,16 @@ var fr = {
|
|
|
20897
20937
|
"record.kind.service": "Service",
|
|
20898
20938
|
"record.metadata.about": "A propos",
|
|
20899
20939
|
"record.metadata.api": "API",
|
|
20940
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
20941
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
20942
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
20943
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
20944
|
+
"record.metadata.api.accessServiceProtocol.other": "autre",
|
|
20945
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
20946
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
20947
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
20948
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
20949
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
20900
20950
|
"record.metadata.api.form.closeButton": "Fermer",
|
|
20901
20951
|
"record.metadata.api.form.closeForm": "Fermer le panneau de personnalisation",
|
|
20902
20952
|
"record.metadata.api.form.create": "Paramétrer votre requête",
|
|
@@ -21507,6 +21557,16 @@ var it = {
|
|
|
21507
21557
|
"record.kind.service": "Servizio",
|
|
21508
21558
|
"record.metadata.about": "Descrizione",
|
|
21509
21559
|
"record.metadata.api": "API",
|
|
21560
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
21561
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
21562
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
21563
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
21564
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
21565
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
21566
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
21567
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
21568
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
21569
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
21510
21570
|
"record.metadata.api.form.closeButton": "Chiude",
|
|
21511
21571
|
"record.metadata.api.form.closeForm": "Chiude il pannello di personalizzazione",
|
|
21512
21572
|
"record.metadata.api.form.create": "Configura la sua richiesta",
|
|
@@ -22117,6 +22177,16 @@ var nl = {
|
|
|
22117
22177
|
"record.kind.service": "",
|
|
22118
22178
|
"record.metadata.about": "",
|
|
22119
22179
|
"record.metadata.api": "",
|
|
22180
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
22181
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
22182
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
22183
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
22184
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
22185
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
22186
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
22187
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
22188
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
22189
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
22120
22190
|
"record.metadata.api.form.closeButton": "",
|
|
22121
22191
|
"record.metadata.api.form.closeForm": "",
|
|
22122
22192
|
"record.metadata.api.form.create": "",
|
|
@@ -22727,6 +22797,16 @@ var pt = {
|
|
|
22727
22797
|
"record.kind.service": "",
|
|
22728
22798
|
"record.metadata.about": "",
|
|
22729
22799
|
"record.metadata.api": "",
|
|
22800
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
22801
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
22802
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
22803
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
22804
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
22805
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
22806
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
22807
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
22808
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
22809
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
22730
22810
|
"record.metadata.api.form.closeButton": "",
|
|
22731
22811
|
"record.metadata.api.form.closeForm": "",
|
|
22732
22812
|
"record.metadata.api.form.create": "",
|
|
@@ -23337,6 +23417,16 @@ var sk = {
|
|
|
23337
23417
|
"record.kind.service": "",
|
|
23338
23418
|
"record.metadata.about": "O",
|
|
23339
23419
|
"record.metadata.api": "API",
|
|
23420
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
23421
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
23422
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
23423
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
23424
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
23425
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
23426
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
23427
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
23428
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
23429
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
23340
23430
|
"record.metadata.api.form.closeButton": "Zavrieť",
|
|
23341
23431
|
"record.metadata.api.form.closeForm": "Zavrieť formulár",
|
|
23342
23432
|
"record.metadata.api.form.create": "Vytvoriť požiadavku",
|
|
@@ -24068,14 +24158,12 @@ const ES_SOURCE_SUMMARY = [
|
|
|
24068
24158
|
'codelist_status_text',
|
|
24069
24159
|
'link',
|
|
24070
24160
|
'linkProtocol',
|
|
24071
|
-
'contactForResource
|
|
24072
|
-
'contact
|
|
24073
|
-
'contact
|
|
24161
|
+
'contactForResource*.organisation*',
|
|
24162
|
+
'contact*.organisation*',
|
|
24163
|
+
'contact*.email',
|
|
24074
24164
|
'userSavedCount',
|
|
24075
|
-
'updateFrequency',
|
|
24076
24165
|
'cl_topic',
|
|
24077
24166
|
'cl_maintenanceAndUpdateFrequency',
|
|
24078
|
-
'tag',
|
|
24079
24167
|
'MD_LegalConstraints*Object',
|
|
24080
24168
|
'qualityScore',
|
|
24081
24169
|
'allKeywords',
|
|
@@ -26326,7 +26414,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26326
26414
|
}] } });
|
|
26327
26415
|
|
|
26328
26416
|
var name = "geonetwork-ui";
|
|
26329
|
-
var version = "2.6.
|
|
26417
|
+
var version = "2.6.2-dev.0ddab62ac";
|
|
26330
26418
|
var engines = {
|
|
26331
26419
|
node: ">=20"
|
|
26332
26420
|
};
|
|
@@ -26359,27 +26447,28 @@ var peerDependencies = {
|
|
|
26359
26447
|
"@ngrx/operators": "18.x",
|
|
26360
26448
|
"@ngx-translate/core": "16.x",
|
|
26361
26449
|
"@ngx-translate/http-loader": "16.x",
|
|
26450
|
+
"flag-icons": "^7.3.2",
|
|
26362
26451
|
rxjs: "7.x",
|
|
26363
26452
|
"zone.js": "*",
|
|
26364
26453
|
tailwindcss: "3.x"
|
|
26365
26454
|
};
|
|
26366
26455
|
var dependencies = {
|
|
26367
|
-
"@biesbjerg/ngx-translate-extract-marker": "
|
|
26368
|
-
"@camptocamp/ogc-client": "1.
|
|
26369
|
-
"@geospatial-sdk/core": "0.0.5-dev.
|
|
26370
|
-
"@geospatial-sdk/geocoding": "0.0.5-dev.
|
|
26371
|
-
"@geospatial-sdk/legend": "0.0.5-dev.
|
|
26372
|
-
"@geospatial-sdk/openlayers": "0.0.5-dev.
|
|
26456
|
+
"@biesbjerg/ngx-translate-extract-marker": "~1.0.0",
|
|
26457
|
+
"@camptocamp/ogc-client": "1.2.1-dev.b1a75df",
|
|
26458
|
+
"@geospatial-sdk/core": "0.0.5-dev.37",
|
|
26459
|
+
"@geospatial-sdk/geocoding": "0.0.5-dev.37",
|
|
26460
|
+
"@geospatial-sdk/legend": "0.0.5-dev.37",
|
|
26461
|
+
"@geospatial-sdk/openlayers": "0.0.5-dev.37",
|
|
26373
26462
|
"@ltd/j-toml": "~1.35.2",
|
|
26374
26463
|
"@messageformat/core": "^3.0.1",
|
|
26375
26464
|
"@ng-icons/core": "29.10.0",
|
|
26376
26465
|
"@ng-icons/iconoir": "29.10.0",
|
|
26377
26466
|
"@ng-icons/material-icons": "29.10.0",
|
|
26378
26467
|
"@ng-icons/tabler-icons": "29.10.0",
|
|
26379
|
-
"@nx/angular": "20.
|
|
26468
|
+
"@nx/angular": "20.3.4",
|
|
26380
26469
|
"@rgrove/parse-xml": "4.2.0",
|
|
26381
26470
|
alasql: "4.6.0",
|
|
26382
|
-
axios: "1.8.
|
|
26471
|
+
axios: "1.8.4",
|
|
26383
26472
|
basiclightbox: "^5.0.4",
|
|
26384
26473
|
"chart.js": "4.4.7",
|
|
26385
26474
|
"chroma-js": "3.1.2",
|
|
@@ -26406,7 +26495,7 @@ var dependencies = {
|
|
|
26406
26495
|
tslib: "^2.3.0",
|
|
26407
26496
|
typeorm: "^0.3.14",
|
|
26408
26497
|
"whatwg-fetch": "^3.6.2",
|
|
26409
|
-
xlsx: "https://cdn.sheetjs.com/xlsx-0.20.
|
|
26498
|
+
xlsx: "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
|
|
26410
26499
|
};
|
|
26411
26500
|
var packageJson = {
|
|
26412
26501
|
name: name,
|
|
@@ -31903,9 +31992,7 @@ class MetadataQualityComponent {
|
|
|
31903
31992
|
topic: (metadata) => (metadata?.topics?.length ?? 0) > 0,
|
|
31904
31993
|
organisation: (metadata) => !!metadata?.contacts?.[0]?.organization?.name,
|
|
31905
31994
|
},
|
|
31906
|
-
service: {
|
|
31907
|
-
capabilities: (metadata) => (metadata?.onlineResources ?? []).some((resource) => this.hasGetCapabilities(resource?.url?.href ?? '')),
|
|
31908
|
-
},
|
|
31995
|
+
service: {},
|
|
31909
31996
|
reuse: {
|
|
31910
31997
|
topic: (metadata) => (metadata?.topics?.length ?? 0) > 0,
|
|
31911
31998
|
organisation: (metadata) => !!metadata?.contacts?.[0]?.organization?.name,
|
|
@@ -31927,9 +32014,6 @@ class MetadataQualityComponent {
|
|
|
31927
32014
|
this.items.push({ name, value });
|
|
31928
32015
|
}
|
|
31929
32016
|
}
|
|
31930
|
-
hasGetCapabilities(url) {
|
|
31931
|
-
return url.toLowerCase().includes('capabilities');
|
|
31932
|
-
}
|
|
31933
32017
|
initialize() {
|
|
31934
32018
|
this.items = [];
|
|
31935
32019
|
Object.entries(this.COMMON_CHECKS).forEach(([name, check]) => {
|
|
@@ -32326,7 +32410,7 @@ class ApiCardComponent {
|
|
|
32326
32410
|
}
|
|
32327
32411
|
}
|
|
32328
32412
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32329
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApiCardComponent, isStandalone: true, selector: "gn-ui-api-card", inputs: { link: "link", currentLink: "currentLink", size: "size" }, outputs: { openRecordApiForm: "openRecordApiForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n >{{
|
|
32413
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApiCardComponent, isStandalone: true, selector: "gn-ui-api-card", inputs: { link: "link", currentLink: "currentLink", size: "size" }, outputs: { openRecordApiForm: "openRecordApiForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >record.metadata.api.accessServiceProtocol.{{\n link.accessServiceProtocol\n }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [
|
|
32330
32414
|
provideIcons({
|
|
32331
32415
|
iconoirSettings,
|
|
32332
32416
|
}),
|
|
@@ -32345,7 +32429,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
32345
32429
|
provideIcons({
|
|
32346
32430
|
iconoirSettings,
|
|
32347
32431
|
}),
|
|
32348
|
-
], template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n >{{
|
|
32432
|
+
], template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >record.metadata.api.accessServiceProtocol.{{\n link.accessServiceProtocol\n }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
|
|
32349
32433
|
}], propDecorators: { link: [{
|
|
32350
32434
|
type: Input
|
|
32351
32435
|
}], currentLink: [{
|
|
@@ -38220,7 +38304,7 @@ class DataService {
|
|
|
38220
38304
|
});
|
|
38221
38305
|
}
|
|
38222
38306
|
async getGeodataLinksFromTms(tmsLink, keepOriginalLink = false) {
|
|
38223
|
-
const endpoint = new TmsEndpoint(tmsLink.url.toString());
|
|
38307
|
+
const endpoint = new TmsEndpoint(tmsLink.url.toString().replace(/\/?$/, `/${tmsLink.name}`));
|
|
38224
38308
|
const tileMaps = await endpoint.allTileMaps.catch(() => {
|
|
38225
38309
|
throw new Error(`ogc.unreachable.unknown`);
|
|
38226
38310
|
});
|
|
@@ -38633,7 +38717,7 @@ class DataTableComponent {
|
|
|
38633
38717
|
}
|
|
38634
38718
|
}
|
|
38635
38719
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38636
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataTableComponent, isStandalone: true, selector: "gn-ui-data-table", inputs: { featureAttributes: "featureAttributes", dataset: "dataset", activeId: "activeId" }, outputs: { selected: "selected" }, providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\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]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 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\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}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:#f5f5f5}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)}.mat-mdc-paginator{background:none}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2$5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2$5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i3$1.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38720
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataTableComponent, isStandalone: true, selector: "gn-ui-data-table", inputs: { featureAttributes: "featureAttributes", dataset: "dataset", activeId: "activeId" }, outputs: { selected: "selected" }, providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\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]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 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\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}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:#f5f5f5}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)}.mat-mdc-paginator{background:none}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2$5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2$5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i3$1.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38637
38721
|
}
|
|
38638
38722
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
38639
38723
|
type: Component,
|
|
@@ -38647,6 +38731,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38647
38731
|
PopupAlertComponent,
|
|
38648
38732
|
LetDirective,
|
|
38649
38733
|
TranslatePipe,
|
|
38734
|
+
TranslateDirective,
|
|
38650
38735
|
], providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], selector: 'gn-ui-data-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\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]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 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\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}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:#f5f5f5}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)}.mat-mdc-paginator{background:none}\n"] }]
|
|
38651
38736
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: { featureAttributes: [{
|
|
38652
38737
|
type: Input
|
|
@@ -39350,7 +39435,9 @@ class MdViewEffects {
|
|
|
39350
39435
|
Metadata effects
|
|
39351
39436
|
*/
|
|
39352
39437
|
this.loadFullMetadata$ = createEffect(() => this.actions$.pipe(ofType(loadFullMetadata), switchMap$1(({ uuid }) => this.recordsRepository.getRecord(uuid)), map$1((record) => {
|
|
39353
|
-
if (record === null ||
|
|
39438
|
+
if (record === null ||
|
|
39439
|
+
(this.router.url !== '/' && // FIXME: special case for WC, find a better way
|
|
39440
|
+
!this.router.url.includes(record.kind))) {
|
|
39354
39441
|
return loadFullMetadataFailure({ notFound: true });
|
|
39355
39442
|
}
|
|
39356
39443
|
return loadFullMetadataSuccess({ full: record });
|
|
@@ -40532,7 +40619,9 @@ class MapViewComponent {
|
|
|
40532
40619
|
link.accessServiceProtocol === 'tms') {
|
|
40533
40620
|
// FIXME: here we're assuming that the TMS serves vector tiles only; should be checked with ogc-client first
|
|
40534
40621
|
return of({
|
|
40535
|
-
url: link.url
|
|
40622
|
+
url: link.url
|
|
40623
|
+
.toString()
|
|
40624
|
+
.replace(/\/?$/, `/${link.name}/{z}/{x}/{y}.pbf`),
|
|
40536
40625
|
type: 'xyz',
|
|
40537
40626
|
tileFormat: 'application/vnd.mapbox-vector-tile',
|
|
40538
40627
|
name: link.name,
|