geonetwork-ui 2.4.0-dev.8f04e899 → 2.4.0-dev.9121e5f4
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/gn4-repository.mjs +10 -1
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +2 -1
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +2 -2
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +9 -5
- package/esm2022/libs/common/domain/src/lib/model/record/organization.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/index.mjs +2 -1
- package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +1 -1
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +6 -6
- package/esm2022/libs/feature/catalog/src/lib/organization-url.token.mjs +4 -0
- package/esm2022/libs/feature/catalog/src/lib/records/records.service.mjs +4 -6
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +4 -2
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +8 -12
- package/esm2022/libs/feature/router/src/lib/default/constants.mjs +2 -1
- package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +9 -2
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +8 -1
- package/esm2022/libs/feature/search/src/index.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +49 -0
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/state/selectors.mjs +4 -1
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +5 -5
- package/esm2022/libs/ui/catalog/src/lib/ui-catalog.module.mjs +5 -2
- package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -8
- package/esm2022/libs/ui/elements/src/index.mjs +1 -2
- package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +5 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +4 -4
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +24 -5
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -9
- package/esm2022/libs/ui/layout/src/index.mjs +2 -1
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +71 -0
- package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +1 -1
- package/esm2022/libs/ui/search/src/index.mjs +2 -1
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +120 -0
- package/esm2022/translations/de.json +27 -4
- package/esm2022/translations/en.json +30 -4
- package/esm2022/translations/es.json +27 -4
- package/esm2022/translations/fr.json +31 -5
- package/esm2022/translations/it.json +27 -4
- package/esm2022/translations/nl.json +27 -4
- package/esm2022/translations/pt.json +27 -4
- package/fesm2022/geonetwork-ui.mjs +478 -228
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.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.service.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/organization.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/record/organization.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +2 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -0
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
- package/libs/feature/catalog/src/index.d.ts +1 -0
- package/libs/feature/catalog/src/index.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organization-url.token.d.ts +3 -0
- package/libs/feature/catalog/src/lib/organization-url.token.d.ts.map +1 -0
- package/libs/feature/catalog/src/lib/records/records.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/constants.d.ts +1 -0
- package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.config.d.ts +1 -0
- package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +1 -0
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts +1 -0
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/search/src/index.d.ts +1 -1
- package/libs/feature/search/src/index.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +25 -0
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -0
- package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/selectors.d.ts +1 -0
- package/libs/feature/search/src/lib/state/selectors.d.ts.map +1 -1
- package/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.d.ts +2 -2
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts +2 -1
- package/libs/ui/catalog/src/lib/ui-catalog.module.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -2
- package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +0 -1
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/error/error.component.d.ts +3 -1
- package/libs/ui/elements/src/lib/error/error.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +5 -1
- package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +19 -19
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/layout/src/index.d.ts +1 -0
- package/libs/ui/layout/src/index.d.ts.map +1 -1
- package/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.d.ts +2 -2
- package/libs/ui/layout/src/lib/max-lines/max-lines.component.d.ts.map +1 -0
- package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
- package/libs/ui/search/src/index.d.ts +1 -0
- package/libs/ui/search/src/index.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +30 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +14 -0
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +3 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +1 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +26 -15
- package/src/libs/common/domain/src/lib/model/record/organization.model.ts +1 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +5 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +3 -0
- package/src/libs/common/fixtures/src/lib/organisations.fixture.ts +28 -0
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +8 -0
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetMetadata.api.model.ts +4 -0
- package/src/libs/data-access/datafeeder/src/openapi/model/datasetUploadStatus.api.model.ts +2 -0
- package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
- package/src/libs/feature/catalog/src/index.ts +1 -0
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +0 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.html +1 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +2 -2
- package/src/libs/feature/catalog/src/lib/organization-url.token.ts +6 -0
- package/src/libs/feature/catalog/src/lib/records/records.service.ts +6 -8
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +8 -6
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +42 -31
- package/src/libs/feature/router/src/lib/default/constants.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.config.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +13 -1
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +9 -1
- package/src/libs/feature/search/src/index.ts +1 -1
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +9 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +49 -0
- package/src/libs/feature/search/src/lib/state/search.facade.ts +5 -0
- package/src/libs/feature/search/src/lib/state/selectors.ts +7 -0
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.html +8 -6
- package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
- package/src/libs/ui/catalog/src/lib/ui-catalog.module.ts +2 -0
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +11 -3
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +3 -7
- package/src/libs/ui/elements/src/index.ts +0 -1
- package/src/libs/ui/elements/src/lib/error/error.component.html +30 -6
- package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +22 -1
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -4
- package/src/libs/ui/layout/src/index.ts +1 -0
- package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.html +1 -0
- package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.ts +9 -5
- package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -1
- package/src/libs/ui/search/src/index.ts +1 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.css +0 -0
- package/src/libs/{feature → ui}/search/src/lib/results-table/results-table.component.html +8 -8
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +138 -0
- package/translations/de.json +27 -4
- package/translations/en.json +30 -4
- package/translations/es.json +27 -4
- package/translations/fr.json +31 -5
- package/translations/it.json +27 -4
- package/translations/nl.json +27 -4
- package/translations/pt.json +27 -4
- package/translations/sk.json +28 -5
- package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +0 -136
- package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +0 -69
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +0 -36
- package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +0 -1
- package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +0 -1
- package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +0 -171
- /package/src/libs/feature/search/src/lib/results-table/{results-table.component.css → results-table-container.component.css} +0 -0
- /package/src/libs/ui/{elements → layout}/src/lib/max-lines/max-lines.component.css +0 -0
|
@@ -8,7 +8,7 @@ import * as i1$1 from '@ngx-translate/core';
|
|
|
8
8
|
import { TranslateCompiler, TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
9
9
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
10
10
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
11
|
-
import { map as map$1, catchError, tap as tap$1, shareReplay, filter, startWith, withLatestFrom, switchMap as switchMap$1, take, delay, distinctUntilChanged, debounceTime, finalize, throttleTime, first as first$1, share, pairwise, mergeMap, defaultIfEmpty,
|
|
11
|
+
import { map as map$1, catchError, tap as tap$1, shareReplay, filter, startWith, withLatestFrom, switchMap as switchMap$1, take, delay, distinctUntilChanged, debounceTime, finalize, throttleTime, first as first$1, share, pairwise, mergeMap, defaultIfEmpty, toArray } from 'rxjs/operators';
|
|
12
12
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
13
13
|
import * as i1$3 from '@angular/common';
|
|
14
14
|
import { CommonModule, NgFor, NgComponentOutlet, NgOptimizedImage, NgForOf } from '@angular/common';
|
|
@@ -17306,9 +17306,10 @@ var next$6 = "weiter";
|
|
|
17306
17306
|
var previous$6 = "zurück";
|
|
17307
17307
|
var records$6 = "Datensätze";
|
|
17308
17308
|
var de = {
|
|
17309
|
+
"Add Layer As": "",
|
|
17309
17310
|
"button.login": "",
|
|
17310
17311
|
"catalog.figures.datasets": "{count, plural, =0{Datensätze} one{Datensatz} other{Datensätze}}",
|
|
17311
|
-
"catalog.figures.
|
|
17312
|
+
"catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
|
|
17312
17313
|
"chart.aggregation.average": "Durchschnitt",
|
|
17313
17314
|
"chart.aggregation.count": "Anzahl",
|
|
17314
17315
|
"chart.aggregation.max": "Maximum",
|
|
@@ -17324,16 +17325,22 @@ var de = {
|
|
|
17324
17325
|
"chart.type.line": "Liniendiagramm",
|
|
17325
17326
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
17326
17327
|
"chart.type.pie": "Kreisdiagramm",
|
|
17328
|
+
"dashboard.catalog.allRecords": "Metadatenkatalog",
|
|
17329
|
+
"dashboard.catalog.calendar": "Kalender",
|
|
17330
|
+
"dashboard.catalog.contacts": "Kontakte",
|
|
17331
|
+
"dashboard.catalog.discussion": "Diskussion",
|
|
17332
|
+
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
17327
17333
|
"dashboard.createRecord": "Neuer Eintrag",
|
|
17334
|
+
"dashboard.labels.catalog": "Katalog",
|
|
17328
17335
|
"dashboard.labels.mySpace": "Mein Bereich",
|
|
17329
17336
|
"dashboard.records.all": "Katalog",
|
|
17330
17337
|
"dashboard.records.hasDraft": "",
|
|
17331
17338
|
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
17332
17339
|
"dashboard.records.myLibrary": "Meine Bibliothek",
|
|
17333
|
-
"dashboard.records.myOrg": "Meine Organisation",
|
|
17334
17340
|
"dashboard.records.myRecords": "Meine Datensätze",
|
|
17335
17341
|
"dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
|
|
17336
17342
|
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
17343
|
+
"dashboard.records.templates": "Vorlagen",
|
|
17337
17344
|
"dashboard.records.userDetail": "Name",
|
|
17338
17345
|
"dashboard.records.userEmail": "E-Mail",
|
|
17339
17346
|
"dashboard.records.username": "Benutzername",
|
|
@@ -17405,6 +17412,15 @@ var de = {
|
|
|
17405
17412
|
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
17406
17413
|
"datafeeder.upload.uploadButton": "Hochladen",
|
|
17407
17414
|
"datafeeder.validation.encoding": "Codierung",
|
|
17415
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
17416
|
+
"datafeeder.validation.csv.delimiter.comma": "",
|
|
17417
|
+
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
17418
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
17419
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
17420
|
+
"datafeeder.validation.csv.quote.double": "",
|
|
17421
|
+
"datafeeder.validation.csv.quote.none": "",
|
|
17422
|
+
"datafeeder.validation.csv.quote.simple": "",
|
|
17423
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
17408
17424
|
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
17409
17425
|
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
17410
17426
|
"datafeeder.validation.projection": "Raumbezugssystem:",
|
|
@@ -17417,7 +17433,7 @@ var de = {
|
|
|
17417
17433
|
"datahub.header.lastRecords": "Die neuesten",
|
|
17418
17434
|
"datahub.header.myfavorites": "Meine Favoriten",
|
|
17419
17435
|
"datahub.header.news": "Startseite",
|
|
17420
|
-
"datahub.header.
|
|
17436
|
+
"datahub.header.organizations": "Organisationen",
|
|
17421
17437
|
"datahub.header.popularRecords": "Die beliebtesten",
|
|
17422
17438
|
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
|
|
17423
17439
|
"datahub.news.contact.contactus": "Kontaktieren Sie uns",
|
|
@@ -17453,6 +17469,7 @@ var de = {
|
|
|
17453
17469
|
"downloads.format.unknown": "unbekannt",
|
|
17454
17470
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
17455
17471
|
dropFile: dropFile$6,
|
|
17472
|
+
"editor.record.form.keywords": "Schlagwörter",
|
|
17456
17473
|
"editor.record.form.license": "Lizenz",
|
|
17457
17474
|
"editor.record.form.license.cc-by": "",
|
|
17458
17475
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -17552,6 +17569,10 @@ var de = {
|
|
|
17552
17569
|
"organisations.sortBy.nameDesc": "Name Z → A",
|
|
17553
17570
|
"organisations.sortBy.recordCountAsc": "Veröffentlichungen 0 → 9",
|
|
17554
17571
|
"organisations.sortBy.recordCountDesc": "Veröffentlichungen 9 → 0",
|
|
17572
|
+
"organization.details.lastPublishedDatasets": "",
|
|
17573
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
17574
|
+
"organization.details.mailContact": "",
|
|
17575
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
17555
17576
|
"pagination.nextPage": "Nächste Seite",
|
|
17556
17577
|
"pagination.page": "Seite",
|
|
17557
17578
|
"pagination.pageOf": "von",
|
|
@@ -17589,7 +17610,7 @@ var de = {
|
|
|
17589
17610
|
"record.metadata.preview": "Vorschau",
|
|
17590
17611
|
"record.metadata.producer": "Datenproduzent",
|
|
17591
17612
|
"record.metadata.publication": "Veröffentlichungsdatum",
|
|
17592
|
-
"record.metadata.publications": "Veröffentlichungen",
|
|
17613
|
+
"record.metadata.publications": "{count, plural, =0{Veröffentlichungsdatum} one{Veröffentlichungsdatum} other{Veröffentlichungen}}",
|
|
17593
17614
|
"record.metadata.quality": "Metadatenqualität",
|
|
17594
17615
|
"record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
|
|
17595
17616
|
"record.metadata.quality.contact.success": "Kontakt angegeben",
|
|
@@ -17649,6 +17670,8 @@ var de = {
|
|
|
17649
17670
|
"results.sortBy.relevancy": "Relevanz",
|
|
17650
17671
|
"search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
|
|
17651
17672
|
"search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
|
|
17673
|
+
"search.error.organizationHasNoDataset": "",
|
|
17674
|
+
"search.error.organizationNotFound": "",
|
|
17652
17675
|
"search.error.receivedError": "Ein Fehler ist aufgetreten",
|
|
17653
17676
|
"search.error.recordHasnolink": "",
|
|
17654
17677
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
@@ -17709,9 +17732,10 @@ var next$5 = "next";
|
|
|
17709
17732
|
var previous$5 = "previous";
|
|
17710
17733
|
var records$5 = "records";
|
|
17711
17734
|
var en = {
|
|
17735
|
+
"Add Layer As": "",
|
|
17712
17736
|
"button.login": "Log in",
|
|
17713
17737
|
"catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
|
|
17714
|
-
"catalog.figures.
|
|
17738
|
+
"catalog.figures.organizations": "{count, plural, =0{organizations} one{organization} other{organizations}}",
|
|
17715
17739
|
"chart.aggregation.average": "average",
|
|
17716
17740
|
"chart.aggregation.count": "count",
|
|
17717
17741
|
"chart.aggregation.max": "max",
|
|
@@ -17727,16 +17751,22 @@ var en = {
|
|
|
17727
17751
|
"chart.type.line": "line chart",
|
|
17728
17752
|
"chart.type.lineSmooth": "smooth line chart",
|
|
17729
17753
|
"chart.type.pie": "pie chart",
|
|
17754
|
+
"dashboard.catalog.allRecords": "Metadata records",
|
|
17755
|
+
"dashboard.catalog.calendar": "Calendar",
|
|
17756
|
+
"dashboard.catalog.contacts": "Contacts",
|
|
17757
|
+
"dashboard.catalog.discussion": "Discussion",
|
|
17758
|
+
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
17730
17759
|
"dashboard.createRecord": "New record",
|
|
17760
|
+
"dashboard.labels.catalog": "Catalog",
|
|
17731
17761
|
"dashboard.labels.mySpace": "My space",
|
|
17732
17762
|
"dashboard.records.all": "Metadata records",
|
|
17733
17763
|
"dashboard.records.hasDraft": "draft",
|
|
17734
17764
|
"dashboard.records.myDraft": "My drafts",
|
|
17735
17765
|
"dashboard.records.myLibrary": "My library",
|
|
17736
|
-
"dashboard.records.myOrg": "Organization",
|
|
17737
17766
|
"dashboard.records.myRecords": "My Records",
|
|
17738
17767
|
"dashboard.records.publishedRecords": "{count, plural, =1{published record} other{published records}}",
|
|
17739
17768
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
17769
|
+
"dashboard.records.templates": "Templates",
|
|
17740
17770
|
"dashboard.records.userDetail": "Name",
|
|
17741
17771
|
"dashboard.records.userEmail": "Email",
|
|
17742
17772
|
"dashboard.records.username": "Username",
|
|
@@ -17749,6 +17779,8 @@ var en = {
|
|
|
17749
17779
|
"datafeeder.analysisProgressBar.subtitle": "The analysis may take several minutes, please wait.",
|
|
17750
17780
|
"datafeeder.analysisProgressBar.title": "Analyze in progress",
|
|
17751
17781
|
"datafeeder.datasetValidation.datasetInformation": "The provided dataset contains {number} entities",
|
|
17782
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "Sample of the first 5 lines* of the dataset:",
|
|
17783
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*The table must display the first 5 lines (excluding the header)<br>If this is not the case, check that the file is correctly formatted",
|
|
17752
17784
|
"datafeeder.datasetValidation.submitButton": "OK, my data are correct",
|
|
17753
17785
|
"datafeeder.datasetValidation.title": "Make sure your data are correct",
|
|
17754
17786
|
"datafeeder.datasetValidation.unknown": " - ",
|
|
@@ -17779,6 +17811,7 @@ var en = {
|
|
|
17779
17811
|
"datafeeder.publishSuccess.geonetworkRecord": "Metadata record",
|
|
17780
17812
|
"datafeeder.publishSuccess.illustration.title": "Done, all is good!",
|
|
17781
17813
|
"datafeeder.publishSuccess.mapViewer": "Map viewer",
|
|
17814
|
+
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
17782
17815
|
"datafeeder.publishSuccess.subtitle": "View your data in:",
|
|
17783
17816
|
"datafeeder.publishSuccess.title": "Congratulation! \n Your dataset has been published",
|
|
17784
17817
|
"datafeeder.publishSuccess.uploadAnotherData": "Upload another dataset",
|
|
@@ -17807,6 +17840,15 @@ var en = {
|
|
|
17807
17840
|
"datafeeder.upload.maxFileSize": "Maximum file size is {size} MB",
|
|
17808
17841
|
"datafeeder.upload.title": "Upload your dataset",
|
|
17809
17842
|
"datafeeder.upload.uploadButton": "Upload",
|
|
17843
|
+
"datafeeder.validation.csv.delimiter": "Delimiter",
|
|
17844
|
+
"datafeeder.validation.csv.delimiter.comma": "Comma",
|
|
17845
|
+
"datafeeder.validation.csv.delimiter.semicolon": "Semicolon",
|
|
17846
|
+
"datafeeder.validation.csv.lat.field": "Latitude column",
|
|
17847
|
+
"datafeeder.validation.csv.lng.field": "Longitude column",
|
|
17848
|
+
"datafeeder.validation.csv.quote.double": "Double quote",
|
|
17849
|
+
"datafeeder.validation.csv.quote.none": "None",
|
|
17850
|
+
"datafeeder.validation.csv.quote.simple": "Simple quote",
|
|
17851
|
+
"datafeeder.validation.csv.quoteChar": "Quote separator",
|
|
17810
17852
|
"datafeeder.validation.encoding": "encoding",
|
|
17811
17853
|
"datafeeder.validation.extent.title": "Here is the dataset extent",
|
|
17812
17854
|
"datafeeder.validation.extent.title.unknown": "The projection system is unknown",
|
|
@@ -17820,7 +17862,7 @@ var en = {
|
|
|
17820
17862
|
"datahub.header.lastRecords": "The latest",
|
|
17821
17863
|
"datahub.header.myfavorites": "My favorites",
|
|
17822
17864
|
"datahub.header.news": "Home",
|
|
17823
|
-
"datahub.header.
|
|
17865
|
+
"datahub.header.organizations": "Organizations",
|
|
17824
17866
|
"datahub.header.popularRecords": "The most popular",
|
|
17825
17867
|
"datahub.header.title.html": "<div class=\"text-white\">Discover open<br> data from my Organization</div>",
|
|
17826
17868
|
"datahub.news.contact.contactus": "Contact us",
|
|
@@ -17856,6 +17898,7 @@ var en = {
|
|
|
17856
17898
|
"downloads.format.unknown": "unknown",
|
|
17857
17899
|
"downloads.wfs.featuretype.not.found": "The layer was not found",
|
|
17858
17900
|
dropFile: dropFile$5,
|
|
17901
|
+
"editor.record.form.keywords": "Keywords",
|
|
17859
17902
|
"editor.record.form.license": "License",
|
|
17860
17903
|
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
17861
17904
|
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
@@ -17955,6 +17998,10 @@ var en = {
|
|
|
17955
17998
|
"organisations.sortBy.nameDesc": "Name Z → A",
|
|
17956
17999
|
"organisations.sortBy.recordCountAsc": "Publications 0 → 9",
|
|
17957
18000
|
"organisations.sortBy.recordCountDesc": "Publications 9 → 0",
|
|
18001
|
+
"organization.details.lastPublishedDatasets": "Last published datasets",
|
|
18002
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "Search all",
|
|
18003
|
+
"organization.details.mailContact": "Contact by email",
|
|
18004
|
+
"organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}",
|
|
17958
18005
|
"pagination.nextPage": "Next page",
|
|
17959
18006
|
"pagination.page": "page",
|
|
17960
18007
|
"pagination.pageOf": "of",
|
|
@@ -17992,7 +18039,7 @@ var en = {
|
|
|
17992
18039
|
"record.metadata.preview": "Preview",
|
|
17993
18040
|
"record.metadata.producer": "Data producer",
|
|
17994
18041
|
"record.metadata.publication": "Date of publication",
|
|
17995
|
-
"record.metadata.publications": "publications",
|
|
18042
|
+
"record.metadata.publications": "{count, plural, =0{publication} one{publication} other{publications}}",
|
|
17996
18043
|
"record.metadata.quality": "Metadata Quality",
|
|
17997
18044
|
"record.metadata.quality.contact.failed": "Contact is not specified",
|
|
17998
18045
|
"record.metadata.quality.contact.success": "Contact is specified",
|
|
@@ -18052,6 +18099,8 @@ var en = {
|
|
|
18052
18099
|
"results.sortBy.relevancy": "Relevancy",
|
|
18053
18100
|
"search.autocomplete.error": "Suggestions could not be fetched:",
|
|
18054
18101
|
"search.error.couldNotReachApi": "The API could not be reached",
|
|
18102
|
+
"search.error.organizationHasNoDataset": "This organization has no dataset yet.",
|
|
18103
|
+
"search.error.organizationNotFound": "This organization could not be found.",
|
|
18055
18104
|
"search.error.receivedError": "An error was received",
|
|
18056
18105
|
"search.error.recordHasnolink": "This record currently has no link yet, please come back later.",
|
|
18057
18106
|
"search.error.recordNotFound": "The record with identifier \"{ id }\" could not be found.",
|
|
@@ -18112,9 +18161,10 @@ var next$4 = "";
|
|
|
18112
18161
|
var previous$4 = "";
|
|
18113
18162
|
var records$4 = "";
|
|
18114
18163
|
var es = {
|
|
18164
|
+
"Add Layer As": "",
|
|
18115
18165
|
"button.login": "",
|
|
18116
18166
|
"catalog.figures.datasets": "conjuntos de datos",
|
|
18117
|
-
"catalog.figures.
|
|
18167
|
+
"catalog.figures.organizations": "organizaciones",
|
|
18118
18168
|
"chart.aggregation.average": "promedio",
|
|
18119
18169
|
"chart.aggregation.count": "conteo",
|
|
18120
18170
|
"chart.aggregation.max": "máximo",
|
|
@@ -18130,16 +18180,22 @@ var es = {
|
|
|
18130
18180
|
"chart.type.line": "gráfico de líneas",
|
|
18131
18181
|
"chart.type.lineSmooth": "gráfico de líneas suave",
|
|
18132
18182
|
"chart.type.pie": "gráfico circular",
|
|
18183
|
+
"dashboard.catalog.allRecords": "",
|
|
18184
|
+
"dashboard.catalog.calendar": "",
|
|
18185
|
+
"dashboard.catalog.contacts": "",
|
|
18186
|
+
"dashboard.catalog.discussion": "",
|
|
18187
|
+
"dashboard.catalog.thesaurus": "",
|
|
18133
18188
|
"dashboard.createRecord": "",
|
|
18189
|
+
"dashboard.labels.catalog": "Catálogo",
|
|
18134
18190
|
"dashboard.labels.mySpace": "Mi espacio",
|
|
18135
18191
|
"dashboard.records.all": "Catálogo",
|
|
18136
18192
|
"dashboard.records.hasDraft": "",
|
|
18137
18193
|
"dashboard.records.myDraft": "Mis borradores",
|
|
18138
18194
|
"dashboard.records.myLibrary": "Mi biblioteca",
|
|
18139
|
-
"dashboard.records.myOrg": "Organización",
|
|
18140
18195
|
"dashboard.records.myRecords": "Mis Registros",
|
|
18141
18196
|
"dashboard.records.publishedRecords": "",
|
|
18142
18197
|
"dashboard.records.search": "Buscar \"{searchText}\"",
|
|
18198
|
+
"dashboard.records.templates": "",
|
|
18143
18199
|
"dashboard.records.userDetail": "",
|
|
18144
18200
|
"dashboard.records.userEmail": "",
|
|
18145
18201
|
"dashboard.records.username": "",
|
|
@@ -18210,6 +18266,15 @@ var es = {
|
|
|
18210
18266
|
"datafeeder.upload.maxFileSize": "",
|
|
18211
18267
|
"datafeeder.upload.title": "",
|
|
18212
18268
|
"datafeeder.upload.uploadButton": "",
|
|
18269
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
18270
|
+
"datafeeder.validation.csv.delimiter.comma": "Coma",
|
|
18271
|
+
"datafeeder.validation.csv.delimiter.semicolon": "Punto y coma",
|
|
18272
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
18273
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
18274
|
+
"datafeeder.validation.csv.quote.double": "Comillas dobles",
|
|
18275
|
+
"datafeeder.validation.csv.quote.none": "Ninguno",
|
|
18276
|
+
"datafeeder.validation.csv.quote.simple": "Comillas simples",
|
|
18277
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
18213
18278
|
"datafeeder.validation.encoding": "",
|
|
18214
18279
|
"datafeeder.validation.extent.title": "",
|
|
18215
18280
|
"datafeeder.validation.extent.title.unknown": "",
|
|
@@ -18223,7 +18288,7 @@ var es = {
|
|
|
18223
18288
|
"datahub.header.lastRecords": "",
|
|
18224
18289
|
"datahub.header.myfavorites": "",
|
|
18225
18290
|
"datahub.header.news": "",
|
|
18226
|
-
"datahub.header.
|
|
18291
|
+
"datahub.header.organizations": "",
|
|
18227
18292
|
"datahub.header.popularRecords": "",
|
|
18228
18293
|
"datahub.header.title.html": "",
|
|
18229
18294
|
"datahub.news.contact.contactus": "",
|
|
@@ -18259,6 +18324,7 @@ var es = {
|
|
|
18259
18324
|
"downloads.format.unknown": "",
|
|
18260
18325
|
"downloads.wfs.featuretype.not.found": "",
|
|
18261
18326
|
dropFile: dropFile$4,
|
|
18327
|
+
"editor.record.form.keywords": "",
|
|
18262
18328
|
"editor.record.form.license": "",
|
|
18263
18329
|
"editor.record.form.license.cc-by": "",
|
|
18264
18330
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -18358,6 +18424,10 @@ var es = {
|
|
|
18358
18424
|
"organisations.sortBy.nameDesc": "",
|
|
18359
18425
|
"organisations.sortBy.recordCountAsc": "",
|
|
18360
18426
|
"organisations.sortBy.recordCountDesc": "",
|
|
18427
|
+
"organization.details.lastPublishedDatasets": "",
|
|
18428
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
18429
|
+
"organization.details.mailContact": "",
|
|
18430
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
18361
18431
|
"pagination.nextPage": "",
|
|
18362
18432
|
"pagination.page": "",
|
|
18363
18433
|
"pagination.pageOf": "",
|
|
@@ -18395,7 +18465,7 @@ var es = {
|
|
|
18395
18465
|
"record.metadata.preview": "",
|
|
18396
18466
|
"record.metadata.producer": "",
|
|
18397
18467
|
"record.metadata.publication": "",
|
|
18398
|
-
"record.metadata.publications": "",
|
|
18468
|
+
"record.metadata.publications": "{count, plural, =0{} one{} other{}}",
|
|
18399
18469
|
"record.metadata.quality": "",
|
|
18400
18470
|
"record.metadata.quality.contact.failed": "",
|
|
18401
18471
|
"record.metadata.quality.contact.success": "",
|
|
@@ -18455,6 +18525,8 @@ var es = {
|
|
|
18455
18525
|
"results.sortBy.relevancy": "",
|
|
18456
18526
|
"search.autocomplete.error": "",
|
|
18457
18527
|
"search.error.couldNotReachApi": "",
|
|
18528
|
+
"search.error.organizationHasNoDataset": "",
|
|
18529
|
+
"search.error.organizationNotFound": "",
|
|
18458
18530
|
"search.error.receivedError": "",
|
|
18459
18531
|
"search.error.recordHasnolink": "",
|
|
18460
18532
|
"search.error.recordNotFound": "",
|
|
@@ -18515,9 +18587,10 @@ var next$3 = "suivant";
|
|
|
18515
18587
|
var previous$3 = "précédent";
|
|
18516
18588
|
var records$3 = "enregistrements";
|
|
18517
18589
|
var fr = {
|
|
18590
|
+
"Add Layer As": "",
|
|
18518
18591
|
"button.login": "Se connecter",
|
|
18519
18592
|
"catalog.figures.datasets": "{count, plural, =0{données} one{donnée} other{données}}",
|
|
18520
|
-
"catalog.figures.
|
|
18593
|
+
"catalog.figures.organizations": "{count, plural, =0{organisations} one{organisation} other{organisations}}",
|
|
18521
18594
|
"chart.aggregation.average": "moyenne",
|
|
18522
18595
|
"chart.aggregation.count": "nombre",
|
|
18523
18596
|
"chart.aggregation.max": "maximum",
|
|
@@ -18533,16 +18606,22 @@ var fr = {
|
|
|
18533
18606
|
"chart.type.line": "ligne",
|
|
18534
18607
|
"chart.type.lineSmooth": "ligne lisse",
|
|
18535
18608
|
"chart.type.pie": "camembert",
|
|
18609
|
+
"dashboard.catalog.allRecords": "Fiches de métadonnée",
|
|
18610
|
+
"dashboard.catalog.calendar": "Calendrier",
|
|
18611
|
+
"dashboard.catalog.contacts": "Annuaire",
|
|
18612
|
+
"dashboard.catalog.discussion": "Discussions",
|
|
18613
|
+
"dashboard.catalog.thesaurus": "Thesaurus",
|
|
18536
18614
|
"dashboard.createRecord": "Nouvel enregistrement",
|
|
18615
|
+
"dashboard.labels.catalog": "Catalogue",
|
|
18537
18616
|
"dashboard.labels.mySpace": "Mon espace",
|
|
18538
18617
|
"dashboard.records.all": "Catalogue",
|
|
18539
18618
|
"dashboard.records.hasDraft": "brouillon",
|
|
18540
18619
|
"dashboard.records.myDraft": "Mes brouillons",
|
|
18541
18620
|
"dashboard.records.myLibrary": "Ma bibliothèque",
|
|
18542
|
-
"dashboard.records.myOrg": "Mon organisation",
|
|
18543
18621
|
"dashboard.records.myRecords": "Mes fiches publiées",
|
|
18544
18622
|
"dashboard.records.publishedRecords": "{count, plural, =1{donnée publiée} other{données publiées}}",
|
|
18545
18623
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
18624
|
+
"dashboard.records.templates": "Modèles pré-remplis",
|
|
18546
18625
|
"dashboard.records.userDetail": "Nom",
|
|
18547
18626
|
"dashboard.records.userEmail": "Email",
|
|
18548
18627
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
@@ -18555,6 +18634,8 @@ var fr = {
|
|
|
18555
18634
|
"datafeeder.analysisProgressBar.subtitle": "L'analyse peut prendre plusieurs minutes, merci d'attendre.",
|
|
18556
18635
|
"datafeeder.analysisProgressBar.title": "Analyse en cours",
|
|
18557
18636
|
"datafeeder.datasetValidation.datasetInformation": "Le jeu de données fourni contient {number} entités",
|
|
18637
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "Résumé des 5 premières lignes* du CSV :",
|
|
18638
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*Le tableau doit afficher les 5 premières lignes (hors en-tête)<br>Si ce n'est pas le cas, vérifier que le fichier est bien formatté",
|
|
18558
18639
|
"datafeeder.datasetValidation.submitButton": "OK, mes données sont correctes",
|
|
18559
18640
|
"datafeeder.datasetValidation.title": "Vérifiez que vos données sont correctes",
|
|
18560
18641
|
"datafeeder.datasetValidation.unknown": " - ",
|
|
@@ -18584,7 +18665,8 @@ var fr = {
|
|
|
18584
18665
|
"datafeeder.publish.upload": "Upload maintenant",
|
|
18585
18666
|
"datafeeder.publishSuccess.geonetworkRecord": "Fiche de métadonnée",
|
|
18586
18667
|
"datafeeder.publishSuccess.illustration.title": "Terminé, tout s'est bien passé !",
|
|
18587
|
-
"datafeeder.publishSuccess.mapViewer": "
|
|
18668
|
+
"datafeeder.publishSuccess.mapViewer": "Visualiseur",
|
|
18669
|
+
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
18588
18670
|
"datafeeder.publishSuccess.subtitle": "Visualisez vos données :",
|
|
18589
18671
|
"datafeeder.publishSuccess.title": "Félicitations! \n Vos données ont été publiées",
|
|
18590
18672
|
"datafeeder.publishSuccess.uploadAnotherData": "Importer une autre donnée",
|
|
@@ -18613,6 +18695,15 @@ var fr = {
|
|
|
18613
18695
|
"datafeeder.upload.maxFileSize": "La taille maximale est {size} Mo",
|
|
18614
18696
|
"datafeeder.upload.title": "Importez vos données",
|
|
18615
18697
|
"datafeeder.upload.uploadButton": "Transférer",
|
|
18698
|
+
"datafeeder.validation.csv.delimiter": "Séparateur de colonne",
|
|
18699
|
+
"datafeeder.validation.csv.delimiter.comma": "Virgule",
|
|
18700
|
+
"datafeeder.validation.csv.delimiter.semicolon": "Point-virgule",
|
|
18701
|
+
"datafeeder.validation.csv.lat.field": "Colonne latitude",
|
|
18702
|
+
"datafeeder.validation.csv.lng.field": "Colonne longitude",
|
|
18703
|
+
"datafeeder.validation.csv.quote.double": "Double guillemets",
|
|
18704
|
+
"datafeeder.validation.csv.quote.none": "Aucun",
|
|
18705
|
+
"datafeeder.validation.csv.quote.simple": "Simple guillemet",
|
|
18706
|
+
"datafeeder.validation.csv.quoteChar": "Séparateur de texte",
|
|
18616
18707
|
"datafeeder.validation.encoding": "encodage",
|
|
18617
18708
|
"datafeeder.validation.extent.title": "Voici l'emprise du jeu de données",
|
|
18618
18709
|
"datafeeder.validation.extent.title.unknown": "Le système de projection est inconnu",
|
|
@@ -18626,7 +18717,7 @@ var fr = {
|
|
|
18626
18717
|
"datahub.header.lastRecords": "Les plus récentes",
|
|
18627
18718
|
"datahub.header.myfavorites": "Mes favoris",
|
|
18628
18719
|
"datahub.header.news": "Accueil",
|
|
18629
|
-
"datahub.header.
|
|
18720
|
+
"datahub.header.organizations": "Organisations",
|
|
18630
18721
|
"datahub.header.popularRecords": "Les plus appréciées",
|
|
18631
18722
|
"datahub.header.title.html": "<div class=\"text-white\">Toutes les données<br>publiques de mon organisation</div>",
|
|
18632
18723
|
"datahub.news.contact.contactus": "Contactez-nous",
|
|
@@ -18662,6 +18753,7 @@ var fr = {
|
|
|
18662
18753
|
"downloads.format.unknown": "inconnu",
|
|
18663
18754
|
"downloads.wfs.featuretype.not.found": "La couche n'a pas été retrouvée",
|
|
18664
18755
|
dropFile: dropFile$3,
|
|
18756
|
+
"editor.record.form.keywords": "Mots-clés",
|
|
18665
18757
|
"editor.record.form.license": "Licence",
|
|
18666
18758
|
"editor.record.form.license.cc-by": "",
|
|
18667
18759
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -18761,6 +18853,10 @@ var fr = {
|
|
|
18761
18853
|
"organisations.sortBy.nameDesc": "Nom Z → A",
|
|
18762
18854
|
"organisations.sortBy.recordCountAsc": "Données 0 → 9",
|
|
18763
18855
|
"organisations.sortBy.recordCountDesc": "Données 9 → 0",
|
|
18856
|
+
"organization.details.lastPublishedDatasets": "Dernières données publiées",
|
|
18857
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "Rechercher tous",
|
|
18858
|
+
"organization.details.mailContact": "Contacter par mail",
|
|
18859
|
+
"organization.header.recordCount": "{count, plural, =0{donnée} one{donnée} other{données}}",
|
|
18764
18860
|
"pagination.nextPage": "Page suivante",
|
|
18765
18861
|
"pagination.page": "page",
|
|
18766
18862
|
"pagination.pageOf": "sur",
|
|
@@ -18798,7 +18894,7 @@ var fr = {
|
|
|
18798
18894
|
"record.metadata.preview": "Aperçu",
|
|
18799
18895
|
"record.metadata.producer": "Producteur de la donnée",
|
|
18800
18896
|
"record.metadata.publication": "Date de publication",
|
|
18801
|
-
"record.metadata.publications": "données",
|
|
18897
|
+
"record.metadata.publications": "{count, plural, =0{donnée} one{donnée} other{données}}",
|
|
18802
18898
|
"record.metadata.quality": "Qualité des métadonnées",
|
|
18803
18899
|
"record.metadata.quality.contact.failed": "Contact n'est pas renseigné",
|
|
18804
18900
|
"record.metadata.quality.contact.success": "Contact est renseigné",
|
|
@@ -18858,6 +18954,8 @@ var fr = {
|
|
|
18858
18954
|
"results.sortBy.relevancy": "Pertinence",
|
|
18859
18955
|
"search.autocomplete.error": "Les suggestions ne peuvent pas être récupérées",
|
|
18860
18956
|
"search.error.couldNotReachApi": "Problème de connexion à l'API",
|
|
18957
|
+
"search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de données.",
|
|
18958
|
+
"search.error.organizationNotFound": "L'organisation n'a pas pu être trouvée.",
|
|
18861
18959
|
"search.error.receivedError": "Erreur retournée",
|
|
18862
18960
|
"search.error.recordHasnolink": "Ce dataset n'a pas encore de lien, réessayez plus tard s'il vous plaît.",
|
|
18863
18961
|
"search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
|
|
@@ -18918,9 +19016,10 @@ var next$2 = "successivo";
|
|
|
18918
19016
|
var previous$2 = "precedente";
|
|
18919
19017
|
var records$2 = "record";
|
|
18920
19018
|
var it = {
|
|
19019
|
+
"Add Layer As": "",
|
|
18921
19020
|
"button.login": "",
|
|
18922
19021
|
"catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
|
|
18923
|
-
"catalog.figures.
|
|
19022
|
+
"catalog.figures.organizations": "{count, plural, =0{organizzazioni} one{organizzazione} other{organizzazioni}}",
|
|
18924
19023
|
"chart.aggregation.average": "media",
|
|
18925
19024
|
"chart.aggregation.count": "conteggio",
|
|
18926
19025
|
"chart.aggregation.max": "massimo",
|
|
@@ -18936,16 +19035,22 @@ var it = {
|
|
|
18936
19035
|
"chart.type.line": "grafico a linee",
|
|
18937
19036
|
"chart.type.lineSmooth": "grafico a linea liscia",
|
|
18938
19037
|
"chart.type.pie": "grafico a torta",
|
|
19038
|
+
"dashboard.catalog.allRecords": "",
|
|
19039
|
+
"dashboard.catalog.calendar": "",
|
|
19040
|
+
"dashboard.catalog.contacts": "",
|
|
19041
|
+
"dashboard.catalog.discussion": "",
|
|
19042
|
+
"dashboard.catalog.thesaurus": "",
|
|
18939
19043
|
"dashboard.createRecord": "Crea un record",
|
|
19044
|
+
"dashboard.labels.catalog": "Catalogo",
|
|
18940
19045
|
"dashboard.labels.mySpace": "Il mio spazio",
|
|
18941
19046
|
"dashboard.records.all": "Catalogo",
|
|
18942
19047
|
"dashboard.records.hasDraft": "",
|
|
18943
19048
|
"dashboard.records.myDraft": "Le mie bozze",
|
|
18944
19049
|
"dashboard.records.myLibrary": "La mia biblioteca",
|
|
18945
|
-
"dashboard.records.myOrg": "La mia organizzazione",
|
|
18946
19050
|
"dashboard.records.myRecords": "I miei dati",
|
|
18947
19051
|
"dashboard.records.publishedRecords": "dati pubblicati",
|
|
18948
19052
|
"dashboard.records.search": "Risultati per \"{searchText}\"",
|
|
19053
|
+
"dashboard.records.templates": "",
|
|
18949
19054
|
"dashboard.records.userDetail": "Nome",
|
|
18950
19055
|
"dashboard.records.userEmail": "Email",
|
|
18951
19056
|
"dashboard.records.username": "Nome utente",
|
|
@@ -19016,6 +19121,15 @@ var it = {
|
|
|
19016
19121
|
"datafeeder.upload.maxFileSize": "Dimensione massima: {size} MB",
|
|
19017
19122
|
"datafeeder.upload.title": "Importa i suoi dati",
|
|
19018
19123
|
"datafeeder.upload.uploadButton": "Carica",
|
|
19124
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
19125
|
+
"datafeeder.validation.csv.delimiter.comma": "",
|
|
19126
|
+
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
19127
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
19128
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
19129
|
+
"datafeeder.validation.csv.quote.double": "",
|
|
19130
|
+
"datafeeder.validation.csv.quote.none": "",
|
|
19131
|
+
"datafeeder.validation.csv.quote.simple": "",
|
|
19132
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
19019
19133
|
"datafeeder.validation.encoding": "Codifica",
|
|
19020
19134
|
"datafeeder.validation.extent.title": "Ecco l'estensione del dataset",
|
|
19021
19135
|
"datafeeder.validation.extent.title.unknown": "Sistema di proiezione sconosciuto",
|
|
@@ -19029,7 +19143,7 @@ var it = {
|
|
|
19029
19143
|
"datahub.header.lastRecords": "Ultimi",
|
|
19030
19144
|
"datahub.header.myfavorites": "Miei preferiti",
|
|
19031
19145
|
"datahub.header.news": "Home",
|
|
19032
|
-
"datahub.header.
|
|
19146
|
+
"datahub.header.organizations": "Organizzazioni",
|
|
19033
19147
|
"datahub.header.popularRecords": "Più popolari",
|
|
19034
19148
|
"datahub.header.title.html": "<div class=\"text-white\">Tutti i dati<br>pubblici della mia organizzazione</div>",
|
|
19035
19149
|
"datahub.news.contact.contactus": "Contattateci",
|
|
@@ -19065,6 +19179,7 @@ var it = {
|
|
|
19065
19179
|
"downloads.format.unknown": "sconosciuto",
|
|
19066
19180
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
19067
19181
|
dropFile: dropFile$2,
|
|
19182
|
+
"editor.record.form.keywords": "",
|
|
19068
19183
|
"editor.record.form.license": "Licenza",
|
|
19069
19184
|
"editor.record.form.license.cc-by": "",
|
|
19070
19185
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -19164,6 +19279,10 @@ var it = {
|
|
|
19164
19279
|
"organisations.sortBy.nameDesc": "Nome Z → A",
|
|
19165
19280
|
"organisations.sortBy.recordCountAsc": "Dati 0 → 9",
|
|
19166
19281
|
"organisations.sortBy.recordCountDesc": "Dati 9 → 0",
|
|
19282
|
+
"organization.details.lastPublishedDatasets": "",
|
|
19283
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
19284
|
+
"organization.details.mailContact": "",
|
|
19285
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
19167
19286
|
"pagination.nextPage": "Pagina successiva",
|
|
19168
19287
|
"pagination.page": "pagina",
|
|
19169
19288
|
"pagination.pageOf": "di",
|
|
@@ -19201,7 +19320,7 @@ var it = {
|
|
|
19201
19320
|
"record.metadata.preview": "Anteprima",
|
|
19202
19321
|
"record.metadata.producer": "Produttore dei dati",
|
|
19203
19322
|
"record.metadata.publication": "Data di pubblicazione",
|
|
19204
|
-
"record.metadata.publications": "pubblicazioni",
|
|
19323
|
+
"record.metadata.publications": "{count, plural, =0{pubblicazione} one{pubblicazione} other{pubblicazioni}}",
|
|
19205
19324
|
"record.metadata.quality": "Qualità dei metadati",
|
|
19206
19325
|
"record.metadata.quality.contact.failed": "Il contatto non è specificato",
|
|
19207
19326
|
"record.metadata.quality.contact.success": "Il contatto è specificato",
|
|
@@ -19261,6 +19380,8 @@ var it = {
|
|
|
19261
19380
|
"results.sortBy.relevancy": "Rilevanza",
|
|
19262
19381
|
"search.autocomplete.error": "Impossibile recuperare le suggerimenti",
|
|
19263
19382
|
"search.error.couldNotReachApi": "Problema di connessione all'API",
|
|
19383
|
+
"search.error.organizationHasNoDataset": "",
|
|
19384
|
+
"search.error.organizationNotFound": "",
|
|
19264
19385
|
"search.error.receivedError": "Errore ricevuto",
|
|
19265
19386
|
"search.error.recordHasnolink": "",
|
|
19266
19387
|
"search.error.recordNotFound": "Impossibile trovare questo dato",
|
|
@@ -19321,9 +19442,10 @@ var next$1 = "";
|
|
|
19321
19442
|
var previous$1 = "";
|
|
19322
19443
|
var records$1 = "";
|
|
19323
19444
|
var nl = {
|
|
19445
|
+
"Add Layer As": "",
|
|
19324
19446
|
"button.login": "",
|
|
19325
19447
|
"catalog.figures.datasets": "datasets",
|
|
19326
|
-
"catalog.figures.
|
|
19448
|
+
"catalog.figures.organizations": "organisaties",
|
|
19327
19449
|
"chart.aggregation.average": "gemiddelde",
|
|
19328
19450
|
"chart.aggregation.count": "aantal",
|
|
19329
19451
|
"chart.aggregation.max": "max",
|
|
@@ -19339,16 +19461,22 @@ var nl = {
|
|
|
19339
19461
|
"chart.type.line": "lijndiagram",
|
|
19340
19462
|
"chart.type.lineSmooth": "glad lijndiagram",
|
|
19341
19463
|
"chart.type.pie": "cirkeldiagram",
|
|
19464
|
+
"dashboard.catalog.allRecords": "",
|
|
19465
|
+
"dashboard.catalog.calendar": "",
|
|
19466
|
+
"dashboard.catalog.contacts": "",
|
|
19467
|
+
"dashboard.catalog.discussion": "",
|
|
19468
|
+
"dashboard.catalog.thesaurus": "",
|
|
19342
19469
|
"dashboard.createRecord": "",
|
|
19470
|
+
"dashboard.labels.catalog": "Catalogus",
|
|
19343
19471
|
"dashboard.labels.mySpace": "Mijn ruimte",
|
|
19344
19472
|
"dashboard.records.all": "Catalogus",
|
|
19345
19473
|
"dashboard.records.hasDraft": "",
|
|
19346
19474
|
"dashboard.records.myDraft": "Mijn concepten",
|
|
19347
19475
|
"dashboard.records.myLibrary": "Mijn bibliotheek",
|
|
19348
|
-
"dashboard.records.myOrg": "Organisatie",
|
|
19349
19476
|
"dashboard.records.myRecords": "Mijn Records",
|
|
19350
19477
|
"dashboard.records.publishedRecords": "",
|
|
19351
19478
|
"dashboard.records.search": "Zoeken naar \"{searchText}\"",
|
|
19479
|
+
"dashboard.records.templates": "",
|
|
19352
19480
|
"dashboard.records.userDetail": "",
|
|
19353
19481
|
"dashboard.records.userEmail": "",
|
|
19354
19482
|
"dashboard.records.username": "",
|
|
@@ -19419,6 +19547,15 @@ var nl = {
|
|
|
19419
19547
|
"datafeeder.upload.maxFileSize": "",
|
|
19420
19548
|
"datafeeder.upload.title": "",
|
|
19421
19549
|
"datafeeder.upload.uploadButton": "",
|
|
19550
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
19551
|
+
"datafeeder.validation.csv.delimiter.comma": "",
|
|
19552
|
+
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
19553
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
19554
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
19555
|
+
"datafeeder.validation.csv.quote.double": "",
|
|
19556
|
+
"datafeeder.validation.csv.quote.none": "",
|
|
19557
|
+
"datafeeder.validation.csv.quote.simple": "",
|
|
19558
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
19422
19559
|
"datafeeder.validation.encoding": "",
|
|
19423
19560
|
"datafeeder.validation.extent.title": "",
|
|
19424
19561
|
"datafeeder.validation.extent.title.unknown": "",
|
|
@@ -19432,7 +19569,7 @@ var nl = {
|
|
|
19432
19569
|
"datahub.header.lastRecords": "",
|
|
19433
19570
|
"datahub.header.myfavorites": "",
|
|
19434
19571
|
"datahub.header.news": "",
|
|
19435
|
-
"datahub.header.
|
|
19572
|
+
"datahub.header.organizations": "",
|
|
19436
19573
|
"datahub.header.popularRecords": "",
|
|
19437
19574
|
"datahub.header.title.html": "",
|
|
19438
19575
|
"datahub.news.contact.contactus": "",
|
|
@@ -19468,6 +19605,7 @@ var nl = {
|
|
|
19468
19605
|
"downloads.format.unknown": "",
|
|
19469
19606
|
"downloads.wfs.featuretype.not.found": "",
|
|
19470
19607
|
dropFile: dropFile$1,
|
|
19608
|
+
"editor.record.form.keywords": "",
|
|
19471
19609
|
"editor.record.form.license": "",
|
|
19472
19610
|
"editor.record.form.license.cc-by": "",
|
|
19473
19611
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -19567,6 +19705,10 @@ var nl = {
|
|
|
19567
19705
|
"organisations.sortBy.nameDesc": "",
|
|
19568
19706
|
"organisations.sortBy.recordCountAsc": "",
|
|
19569
19707
|
"organisations.sortBy.recordCountDesc": "",
|
|
19708
|
+
"organization.details.lastPublishedDatasets": "",
|
|
19709
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
19710
|
+
"organization.details.mailContact": "",
|
|
19711
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
19570
19712
|
"pagination.nextPage": "",
|
|
19571
19713
|
"pagination.page": "",
|
|
19572
19714
|
"pagination.pageOf": "",
|
|
@@ -19604,7 +19746,7 @@ var nl = {
|
|
|
19604
19746
|
"record.metadata.preview": "",
|
|
19605
19747
|
"record.metadata.producer": "",
|
|
19606
19748
|
"record.metadata.publication": "",
|
|
19607
|
-
"record.metadata.publications": "",
|
|
19749
|
+
"record.metadata.publications": "{count, plural, =0{} one{} other{}}",
|
|
19608
19750
|
"record.metadata.quality": "",
|
|
19609
19751
|
"record.metadata.quality.contact.failed": "",
|
|
19610
19752
|
"record.metadata.quality.contact.success": "",
|
|
@@ -19664,6 +19806,8 @@ var nl = {
|
|
|
19664
19806
|
"results.sortBy.relevancy": "",
|
|
19665
19807
|
"search.autocomplete.error": "",
|
|
19666
19808
|
"search.error.couldNotReachApi": "",
|
|
19809
|
+
"search.error.organizationHasNoDataset": "",
|
|
19810
|
+
"search.error.organizationNotFound": "",
|
|
19667
19811
|
"search.error.receivedError": "",
|
|
19668
19812
|
"search.error.recordHasnolink": "",
|
|
19669
19813
|
"search.error.recordNotFound": "",
|
|
@@ -19724,9 +19868,10 @@ var next = "";
|
|
|
19724
19868
|
var previous = "";
|
|
19725
19869
|
var records = "";
|
|
19726
19870
|
var pt = {
|
|
19871
|
+
"Add Layer As": "",
|
|
19727
19872
|
"button.login": "",
|
|
19728
19873
|
"catalog.figures.datasets": "conjuntos de dados",
|
|
19729
|
-
"catalog.figures.
|
|
19874
|
+
"catalog.figures.organizations": "organizações",
|
|
19730
19875
|
"chart.aggregation.average": "média",
|
|
19731
19876
|
"chart.aggregation.count": "contagem",
|
|
19732
19877
|
"chart.aggregation.max": "máximo",
|
|
@@ -19742,16 +19887,22 @@ var pt = {
|
|
|
19742
19887
|
"chart.type.line": "gráfico de linha",
|
|
19743
19888
|
"chart.type.lineSmooth": "gráfico de linha suave",
|
|
19744
19889
|
"chart.type.pie": "gráfico de pizza",
|
|
19890
|
+
"dashboard.catalog.allRecords": "",
|
|
19891
|
+
"dashboard.catalog.calendar": "",
|
|
19892
|
+
"dashboard.catalog.contacts": "",
|
|
19893
|
+
"dashboard.catalog.discussion": "",
|
|
19894
|
+
"dashboard.catalog.thesaurus": "",
|
|
19745
19895
|
"dashboard.createRecord": "",
|
|
19896
|
+
"dashboard.labels.catalog": "Catálogo",
|
|
19746
19897
|
"dashboard.labels.mySpace": "Meu espaço",
|
|
19747
19898
|
"dashboard.records.all": "Catálogo",
|
|
19748
19899
|
"dashboard.records.hasDraft": "",
|
|
19749
19900
|
"dashboard.records.myDraft": "Meus rascunhos",
|
|
19750
19901
|
"dashboard.records.myLibrary": "Minha biblioteca",
|
|
19751
|
-
"dashboard.records.myOrg": "Organização",
|
|
19752
19902
|
"dashboard.records.myRecords": "Meus Registros",
|
|
19753
19903
|
"dashboard.records.publishedRecords": "",
|
|
19754
19904
|
"dashboard.records.search": "Buscar por \"{searchText}\"",
|
|
19905
|
+
"dashboard.records.templates": "",
|
|
19755
19906
|
"dashboard.records.userDetail": "",
|
|
19756
19907
|
"dashboard.records.userEmail": "",
|
|
19757
19908
|
"dashboard.records.username": "",
|
|
@@ -19822,6 +19973,15 @@ var pt = {
|
|
|
19822
19973
|
"datafeeder.upload.maxFileSize": "",
|
|
19823
19974
|
"datafeeder.upload.title": "",
|
|
19824
19975
|
"datafeeder.upload.uploadButton": "",
|
|
19976
|
+
"datafeeder.validation.csv.delimiter": "",
|
|
19977
|
+
"datafeeder.validation.csv.delimiter.comma": "",
|
|
19978
|
+
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
19979
|
+
"datafeeder.validation.csv.lat.field": "",
|
|
19980
|
+
"datafeeder.validation.csv.lng.field": "",
|
|
19981
|
+
"datafeeder.validation.csv.quote.double": "",
|
|
19982
|
+
"datafeeder.validation.csv.quote.none": "",
|
|
19983
|
+
"datafeeder.validation.csv.quote.simple": "",
|
|
19984
|
+
"datafeeder.validation.csv.quoteChar": "",
|
|
19825
19985
|
"datafeeder.validation.encoding": "",
|
|
19826
19986
|
"datafeeder.validation.extent.title": "",
|
|
19827
19987
|
"datafeeder.validation.extent.title.unknown": "",
|
|
@@ -19835,7 +19995,7 @@ var pt = {
|
|
|
19835
19995
|
"datahub.header.lastRecords": "",
|
|
19836
19996
|
"datahub.header.myfavorites": "",
|
|
19837
19997
|
"datahub.header.news": "",
|
|
19838
|
-
"datahub.header.
|
|
19998
|
+
"datahub.header.organizations": "",
|
|
19839
19999
|
"datahub.header.popularRecords": "",
|
|
19840
20000
|
"datahub.header.title.html": "",
|
|
19841
20001
|
"datahub.news.contact.contactus": "",
|
|
@@ -19871,6 +20031,7 @@ var pt = {
|
|
|
19871
20031
|
"downloads.format.unknown": "",
|
|
19872
20032
|
"downloads.wfs.featuretype.not.found": "",
|
|
19873
20033
|
dropFile: dropFile,
|
|
20034
|
+
"editor.record.form.keywords": "",
|
|
19874
20035
|
"editor.record.form.license": "",
|
|
19875
20036
|
"editor.record.form.license.cc-by": "",
|
|
19876
20037
|
"editor.record.form.license.cc-by-sa": "",
|
|
@@ -19970,6 +20131,10 @@ var pt = {
|
|
|
19970
20131
|
"organisations.sortBy.nameDesc": "",
|
|
19971
20132
|
"organisations.sortBy.recordCountAsc": "",
|
|
19972
20133
|
"organisations.sortBy.recordCountDesc": "",
|
|
20134
|
+
"organization.details.lastPublishedDatasets": "",
|
|
20135
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
20136
|
+
"organization.details.mailContact": "",
|
|
20137
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
19973
20138
|
"pagination.nextPage": "",
|
|
19974
20139
|
"pagination.page": "",
|
|
19975
20140
|
"pagination.pageOf": "",
|
|
@@ -20007,7 +20172,7 @@ var pt = {
|
|
|
20007
20172
|
"record.metadata.preview": "",
|
|
20008
20173
|
"record.metadata.producer": "",
|
|
20009
20174
|
"record.metadata.publication": "",
|
|
20010
|
-
"record.metadata.publications": "",
|
|
20175
|
+
"record.metadata.publications": "{count, plural, =0{} one{} other{}}",
|
|
20011
20176
|
"record.metadata.quality": "",
|
|
20012
20177
|
"record.metadata.quality.contact.failed": "",
|
|
20013
20178
|
"record.metadata.quality.contact.success": "",
|
|
@@ -20067,6 +20232,8 @@ var pt = {
|
|
|
20067
20232
|
"results.sortBy.relevancy": "",
|
|
20068
20233
|
"search.autocomplete.error": "",
|
|
20069
20234
|
"search.error.couldNotReachApi": "",
|
|
20235
|
+
"search.error.organizationHasNoDataset": "",
|
|
20236
|
+
"search.error.organizationNotFound": "",
|
|
20070
20237
|
"search.error.receivedError": "",
|
|
20071
20238
|
"search.error.recordHasnolink": "",
|
|
20072
20239
|
"search.error.recordNotFound": "",
|
|
@@ -21127,6 +21294,15 @@ class Gn4Repository {
|
|
|
21127
21294
|
recordHasDraft(uniqueIdentifier) {
|
|
21128
21295
|
return (window.localStorage.getItem(this.getLocalStorageKeyForRecord(uniqueIdentifier)) !== null);
|
|
21129
21296
|
}
|
|
21297
|
+
// generated by copilot
|
|
21298
|
+
getAllDrafts() {
|
|
21299
|
+
const items = { ...window.localStorage };
|
|
21300
|
+
const drafts = Object.keys(items)
|
|
21301
|
+
.filter((key) => key.startsWith('geonetwork-ui-draft-'))
|
|
21302
|
+
.map((key) => window.localStorage.getItem(key))
|
|
21303
|
+
.filter((draft) => draft !== null);
|
|
21304
|
+
return from(Promise.all(drafts.map((draft) => findConverterForDocument(draft).readRecord(draft))));
|
|
21305
|
+
}
|
|
21130
21306
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4Repository, deps: [{ token: SearchApiService }, { token: ElasticsearchService }, { token: Gn4Converter }, { token: RecordsApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21131
21307
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Gn4Repository }); }
|
|
21132
21308
|
}
|
|
@@ -21253,9 +21429,11 @@ class OrganizationsFromMetadataService {
|
|
|
21253
21429
|
return fullOrg;
|
|
21254
21430
|
return {
|
|
21255
21431
|
...fullOrg,
|
|
21432
|
+
email: emails[0],
|
|
21256
21433
|
...(group.description && { description: group.description }),
|
|
21257
21434
|
...(group.logo && { logoUrl: getAsUrl(`${IMAGE_URL$1}${group.logo}`) }),
|
|
21258
21435
|
...(group.website && { website: getAsUrl(group.website) }),
|
|
21436
|
+
...(group.email && { email: group.email }),
|
|
21259
21437
|
};
|
|
21260
21438
|
});
|
|
21261
21439
|
}
|
|
@@ -21356,6 +21534,7 @@ class OrganizationsFromGroupsService {
|
|
|
21356
21534
|
return {
|
|
21357
21535
|
name: group.label[lang3],
|
|
21358
21536
|
...(group.description && { description: group.description }),
|
|
21537
|
+
...(group.email && { email: group.email }),
|
|
21359
21538
|
...(group.logo && {
|
|
21360
21539
|
logoUrl: getAsUrl(`${IMAGE_URL}${group.logo}`),
|
|
21361
21540
|
}),
|
|
@@ -21620,7 +21799,7 @@ class Gn4PlatformMapper {
|
|
|
21620
21799
|
userFromApi(apiUser) {
|
|
21621
21800
|
if (!apiUser)
|
|
21622
21801
|
return null;
|
|
21623
|
-
const { enabled, emailAddresses,
|
|
21802
|
+
const { enabled, emailAddresses, organization, kind, lastLoginDate, accountNonExpired, accountNonLocked, id, credentialsNonExpired, ...user } = apiUser;
|
|
21624
21803
|
return { ...apiUser, id: id.toString() };
|
|
21625
21804
|
}
|
|
21626
21805
|
keywordsFromApi(keywords, thesaurus, lang3) {
|
|
@@ -21722,8 +21901,6 @@ class Gn4PlatformService {
|
|
|
21722
21901
|
this.allThesaurus$ = this.httpClient
|
|
21723
21902
|
.get(`${this.registriesApiService.configuration.basePath}/thesaurus?_content_type=json`)
|
|
21724
21903
|
.pipe(map$1((thesaurus) => {
|
|
21725
|
-
// FIXME: find a better way to exclude place keywords
|
|
21726
|
-
// thesaurus[0].filter((thes) => thes.dname !== 'place')
|
|
21727
21904
|
return thesaurus[0];
|
|
21728
21905
|
}), shareReplay(1));
|
|
21729
21906
|
this.me$ = this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
@@ -21767,8 +21944,14 @@ class Gn4PlatformService {
|
|
|
21767
21944
|
}
|
|
21768
21945
|
return this.keyTranslations$.pipe(map$1((translations) => translations[key]));
|
|
21769
21946
|
}
|
|
21770
|
-
searchKeywords(query) {
|
|
21771
|
-
const keywords$ = this.
|
|
21947
|
+
searchKeywords(query, keywordTypes) {
|
|
21948
|
+
const keywords$ = this.allThesaurus$.pipe(switchMap((thesaurus) => {
|
|
21949
|
+
const selectedThesauri = [];
|
|
21950
|
+
keywordTypes.map((keywordType) => {
|
|
21951
|
+
selectedThesauri.push(...thesaurus.filter((thes) => thes.dname === keywordType));
|
|
21952
|
+
});
|
|
21953
|
+
return this.registriesApiService.searchKeywords(query, this.langService.iso3, 10, 0, null, selectedThesauri.map((thes) => thes.key), null, `*${query}*`);
|
|
21954
|
+
}));
|
|
21772
21955
|
return combineLatest([keywords$, this.allThesaurus$]).pipe(map$1(([keywords, thesaurus]) => {
|
|
21773
21956
|
return this.mapper.keywordsFromApi(keywords, thesaurus, this.langService.iso3);
|
|
21774
21957
|
}));
|
|
@@ -26966,17 +27149,19 @@ var ErrorType;
|
|
|
26966
27149
|
ErrorType[ErrorType["RECEIVED_ERROR"] = 1] = "RECEIVED_ERROR";
|
|
26967
27150
|
ErrorType[ErrorType["RECORD_NOT_FOUND"] = 2] = "RECORD_NOT_FOUND";
|
|
26968
27151
|
ErrorType[ErrorType["DATASET_HAS_NO_LINK"] = 3] = "DATASET_HAS_NO_LINK";
|
|
27152
|
+
ErrorType[ErrorType["ORGANIZATION_HAS_NO_DATASET"] = 4] = "ORGANIZATION_HAS_NO_DATASET";
|
|
27153
|
+
ErrorType[ErrorType["ORGANIZATION_NOT_FOUND"] = 5] = "ORGANIZATION_NOT_FOUND";
|
|
26969
27154
|
})(ErrorType || (ErrorType = {}));
|
|
26970
27155
|
class ErrorComponent {
|
|
26971
27156
|
constructor() {
|
|
26972
27157
|
this.types = ErrorType;
|
|
26973
27158
|
}
|
|
26974
27159
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26975
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorComponent, selector: "gn-ui-error", inputs: { type: "type", error: "error", recordId: "recordId" }, ngImport: i0, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark</mat-icon
|
|
27160
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorComponent, selector: "gn-ui-error", inputs: { type: "type", error: "error", recordId: "recordId" }, ngImport: i0, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark\n </mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark2\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.couldNotReachApi</div>\n </div>\n <div\n *ngIf=\"type === types.DATASET_HAS_NO_LINK\"\n data-test=\"dataset-has-no-link-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">computer</mat-icon>\n </div>\n <div translate>search.error.recordHasnolink</div>\n </div>\n <div *ngIf=\"type === types.RECEIVED_ERROR\" data-test=\"received-error-error\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">mood_bad</mat-icon>\n </div>\n <div translate>search.error.receivedError</div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div *ngIf=\"type === types.ORGANIZATION_HAS_NO_DATASET\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.organizationHasNoDataset</div>\n </div>\n <div\n *ngIf=\"type === types.RECORD_NOT_FOUND\"\n data-test=\"record-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.recordNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div\n *ngIf=\"type === types.ORGANIZATION_NOT_FOUND\"\n data-test=\"org-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.organizationNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n</div>\n", styles: ["mat-icon{width:auto;height:auto}mat-icon.face{font-size:3em}mat-icon.question-mark1{position:absolute;bottom:1.1em;left:calc(50% + .7em);font-size:1.7em}mat-icon.question-mark2{position:absolute;bottom:1.6em;left:calc(50% + 1.6em);font-size:1.4em}.computer{font-size:3em}.computer-question-mark{position:absolute;top:.6em;left:calc(50% - .5em);font-size:1.2em}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26976
27161
|
}
|
|
26977
27162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
26978
27163
|
type: Component,
|
|
26979
|
-
args: [{ selector: 'gn-ui-error', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark</mat-icon
|
|
27164
|
+
args: [{ selector: 'gn-ui-error', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"p-[1.7em] bg-red-50 text-red-800 text-[1.5em] text-center rounded-lg\"\n>\n <div\n *ngIf=\"type === types.COULD_NOT_REACH_API\"\n data-test=\"could-not-reach-api-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">face</mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark1\"\n >question_mark\n </mat-icon>\n <mat-icon class=\"material-symbols-outlined question-mark2\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.couldNotReachApi</div>\n </div>\n <div\n *ngIf=\"type === types.DATASET_HAS_NO_LINK\"\n data-test=\"dataset-has-no-link-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">computer</mat-icon>\n </div>\n <div translate>search.error.recordHasnolink</div>\n </div>\n <div *ngIf=\"type === types.RECEIVED_ERROR\" data-test=\"received-error-error\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined face\">mood_bad</mat-icon>\n </div>\n <div translate>search.error.receivedError</div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div *ngIf=\"type === types.ORGANIZATION_HAS_NO_DATASET\">\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate>search.error.organizationHasNoDataset</div>\n </div>\n <div\n *ngIf=\"type === types.RECORD_NOT_FOUND\"\n data-test=\"record-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.recordNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n <div\n *ngIf=\"type === types.ORGANIZATION_NOT_FOUND\"\n data-test=\"org-not-found-error\"\n >\n <div class=\"relative opacity-40\">\n <mat-icon class=\"material-symbols-outlined computer\">computer</mat-icon>\n <mat-icon class=\"material-symbols-outlined computer-question-mark\"\n >question_mark\n </mat-icon>\n </div>\n <div translate [translateParams]=\"{ id: recordId }\">\n search.error.organizationNotFound\n </div>\n <div *ngIf=\"error\">{{ error }}</div>\n </div>\n</div>\n", styles: ["mat-icon{width:auto;height:auto}mat-icon.face{font-size:3em}mat-icon.question-mark1{position:absolute;bottom:1.1em;left:calc(50% + .7em);font-size:1.7em}mat-icon.question-mark2{position:absolute;bottom:1.6em;left:calc(50% + 1.6em);font-size:1.4em}.computer{font-size:3em}.computer-question-mark{position:absolute;top:.6em;left:calc(50% - .5em);font-size:1.2em}\n"] }]
|
|
26980
27165
|
}], propDecorators: { type: [{
|
|
26981
27166
|
type: Input
|
|
26982
27167
|
}], error: [{
|
|
@@ -27076,71 +27261,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27076
27261
|
type: Output
|
|
27077
27262
|
}] } });
|
|
27078
27263
|
|
|
27079
|
-
class MaxLinesComponent {
|
|
27080
|
-
constructor(cdr) {
|
|
27081
|
-
this.cdr = cdr;
|
|
27082
|
-
this.maxLines = 6;
|
|
27083
|
-
this.isExpanded = false;
|
|
27084
|
-
this.maxHeight = '';
|
|
27085
|
-
this.showToggleButton = false;
|
|
27086
|
-
}
|
|
27087
|
-
ngAfterViewInit() {
|
|
27088
|
-
this.calculateMaxHeight();
|
|
27089
|
-
this.observer = new ResizeObserver((mutations) => {
|
|
27090
|
-
mutations.forEach(() => {
|
|
27091
|
-
this.calculateMaxHeight();
|
|
27092
|
-
});
|
|
27093
|
-
});
|
|
27094
|
-
this.observer.observe(this.container.nativeElement.children[0]);
|
|
27095
|
-
}
|
|
27096
|
-
toggleDisplay() {
|
|
27097
|
-
this.isExpanded = !this.isExpanded;
|
|
27098
|
-
this.calculateMaxHeight();
|
|
27099
|
-
}
|
|
27100
|
-
calculateMaxHeight() {
|
|
27101
|
-
const containerElement = this.container.nativeElement;
|
|
27102
|
-
const contentElement = containerElement.children[0];
|
|
27103
|
-
const contentHeight = contentElement.getBoundingClientRect().height;
|
|
27104
|
-
if (contentHeight) {
|
|
27105
|
-
if (contentHeight > this.maxLines * this.getLineHeight(contentElement)) {
|
|
27106
|
-
this.showToggleButton = true;
|
|
27107
|
-
this.maxHeight = this.isExpanded
|
|
27108
|
-
? `${contentHeight}px`
|
|
27109
|
-
: `${this.maxLines * this.getLineHeight(contentElement)}px`;
|
|
27110
|
-
}
|
|
27111
|
-
else {
|
|
27112
|
-
this.showToggleButton = false;
|
|
27113
|
-
this.maxHeight = `${contentHeight}px`;
|
|
27114
|
-
}
|
|
27115
|
-
containerElement.setAttribute('style', `max-height: ${this.maxHeight}; overflow: hidden`);
|
|
27116
|
-
this.cdr.detectChanges();
|
|
27117
|
-
}
|
|
27118
|
-
}
|
|
27119
|
-
getLineHeight(element) {
|
|
27120
|
-
const computedStyle = window.getComputedStyle(element);
|
|
27121
|
-
const lineHeight = parseFloat(computedStyle.lineHeight);
|
|
27122
|
-
const fontSize = parseFloat(computedStyle.fontSize || '14');
|
|
27123
|
-
const result = isNaN(lineHeight) ? fontSize * 1.2 : lineHeight; // Use a default if line height is not specified
|
|
27124
|
-
return result;
|
|
27125
|
-
}
|
|
27126
|
-
ngOnDestroy() {
|
|
27127
|
-
if (!this.observer)
|
|
27128
|
-
return;
|
|
27129
|
-
this.observer.unobserve(this.container.nativeElement.children[0]);
|
|
27130
|
-
}
|
|
27131
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: { maxLines: "maxLines" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27133
|
-
}
|
|
27134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, decorators: [{
|
|
27135
|
-
type: Component,
|
|
27136
|
-
args: [{ selector: 'gn-ui-max-lines', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n" }]
|
|
27137
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { maxLines: [{
|
|
27138
|
-
type: Input
|
|
27139
|
-
}], container: [{
|
|
27140
|
-
type: ViewChild,
|
|
27141
|
-
args: ['container']
|
|
27142
|
-
}] } });
|
|
27143
|
-
|
|
27144
27264
|
class MetadataCatalogComponent {
|
|
27145
27265
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27146
27266
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataCatalogComponent, selector: "gn-ui-metadata-catalog", inputs: { sourceLabel: "sourceLabel" }, ngImport: i0, template: "<div>\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -27215,6 +27335,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27215
27335
|
args: ['contentDiv']
|
|
27216
27336
|
}] } });
|
|
27217
27337
|
|
|
27338
|
+
class MaxLinesComponent {
|
|
27339
|
+
constructor(cdr) {
|
|
27340
|
+
this.cdr = cdr;
|
|
27341
|
+
this.maxLines = 6;
|
|
27342
|
+
this.isExpanded = false;
|
|
27343
|
+
this.maxHeight = '';
|
|
27344
|
+
this.showToggleButton = false;
|
|
27345
|
+
}
|
|
27346
|
+
ngAfterViewInit() {
|
|
27347
|
+
this.calculateMaxHeight();
|
|
27348
|
+
this.observer = new ResizeObserver((mutations) => {
|
|
27349
|
+
mutations.forEach(() => {
|
|
27350
|
+
this.calculateMaxHeight();
|
|
27351
|
+
});
|
|
27352
|
+
});
|
|
27353
|
+
this.observer.observe(this.container.nativeElement.children[0]);
|
|
27354
|
+
}
|
|
27355
|
+
toggleDisplay() {
|
|
27356
|
+
this.isExpanded = !this.isExpanded;
|
|
27357
|
+
this.calculateMaxHeight();
|
|
27358
|
+
}
|
|
27359
|
+
calculateMaxHeight() {
|
|
27360
|
+
const containerElement = this.container.nativeElement;
|
|
27361
|
+
const contentElement = containerElement.children[0];
|
|
27362
|
+
const contentHeight = contentElement.getBoundingClientRect().height;
|
|
27363
|
+
if (contentHeight) {
|
|
27364
|
+
if (contentHeight > this.maxLines * this.getLineHeight(contentElement)) {
|
|
27365
|
+
this.showToggleButton = true;
|
|
27366
|
+
this.maxHeight = this.isExpanded
|
|
27367
|
+
? `${contentHeight}px`
|
|
27368
|
+
: `${this.maxLines * this.getLineHeight(contentElement)}px`;
|
|
27369
|
+
}
|
|
27370
|
+
else {
|
|
27371
|
+
this.showToggleButton = false;
|
|
27372
|
+
this.maxHeight = `${contentHeight}px`;
|
|
27373
|
+
}
|
|
27374
|
+
containerElement.setAttribute('style', `max-height: ${this.maxHeight}; overflow: hidden`);
|
|
27375
|
+
this.cdr.detectChanges();
|
|
27376
|
+
}
|
|
27377
|
+
}
|
|
27378
|
+
getLineHeight(element) {
|
|
27379
|
+
const computedStyle = window.getComputedStyle(element);
|
|
27380
|
+
const lineHeight = parseFloat(computedStyle.lineHeight);
|
|
27381
|
+
const fontSize = parseFloat(computedStyle.fontSize || '14');
|
|
27382
|
+
const result = isNaN(lineHeight) ? fontSize * 1.2 : lineHeight; // Use a default if line height is not specified
|
|
27383
|
+
return result;
|
|
27384
|
+
}
|
|
27385
|
+
ngOnDestroy() {
|
|
27386
|
+
if (!this.observer)
|
|
27387
|
+
return;
|
|
27388
|
+
this.observer.unobserve(this.container.nativeElement.children[0]);
|
|
27389
|
+
}
|
|
27390
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27391
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MaxLinesComponent, isStandalone: true, selector: "gn-ui-max-lines", inputs: { maxLines: "maxLines" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n data-cy=\"readMoreButton\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27392
|
+
}
|
|
27393
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MaxLinesComponent, decorators: [{
|
|
27394
|
+
type: Component,
|
|
27395
|
+
args: [{ selector: 'gn-ui-max-lines', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, TranslateModule], template: "<div\n #container\n class=\"max-lines overflow-hidden transition-[max-height] duration-300 relative\"\n [ngClass]=\"isExpanded ? 'ease-in' : 'ease-out'\"\n [style.maxHeight]=\"maxHeight\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showToggleButton && !isExpanded\"\n class=\"absolute inset-x-0 bottom-0 bg-gradient-to-b from-transparent to-white h-3\"\n ></div>\n</div>\n<div\n *ngIf=\"showToggleButton\"\n (click)=\"toggleDisplay()\"\n class=\"text-secondary cursor-pointer pt-2.5\"\n data-cy=\"readMoreButton\"\n>\n {{ (isExpanded ? 'ui.readLess' : 'ui.readMore') | translate }}\n</div>\n" }]
|
|
27396
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { maxLines: [{
|
|
27397
|
+
type: Input
|
|
27398
|
+
}], container: [{
|
|
27399
|
+
type: ViewChild,
|
|
27400
|
+
args: ['container']
|
|
27401
|
+
}] } });
|
|
27402
|
+
|
|
27218
27403
|
/* eslint-disable @angular-eslint/directive-selector */
|
|
27219
27404
|
class GnUiLinkifyDirective {
|
|
27220
27405
|
constructor(el, renderer) {
|
|
@@ -27354,7 +27539,7 @@ class MetadataInfoComponent {
|
|
|
27354
27539
|
this.keyword.emit(keyword);
|
|
27355
27540
|
}
|
|
27356
27541
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27357
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div>\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"mt-6 mb-3 font-medium text-primary text-sm\" translate>\n record.metadata.keywords\n </p>\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.recordCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.recordPublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordPublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.languages\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.languages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27542
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div>\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"mt-6 mb-3 font-medium text-primary text-sm\" translate>\n record.metadata.keywords\n </p>\n <div class=\"sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <h5 translate class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\">\n record.metadata.otherConstraints\n </h5>\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.recordCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordCreated.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.recordPublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordPublished.toLocaleDateString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.languages\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.languages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.technical' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27358
27543
|
}
|
|
27359
27544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MetadataInfoComponent, decorators: [{
|
|
27360
27545
|
type: Component,
|
|
@@ -27625,13 +27810,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27625
27810
|
}] } });
|
|
27626
27811
|
|
|
27627
27812
|
class RelatedRecordCardComponent {
|
|
27813
|
+
constructor() {
|
|
27814
|
+
this.extraClass = '';
|
|
27815
|
+
this.baseClasses = [
|
|
27816
|
+
'w-72',
|
|
27817
|
+
'h-96',
|
|
27818
|
+
'overflow-hidden',
|
|
27819
|
+
'rounded-lg',
|
|
27820
|
+
'bg-white',
|
|
27821
|
+
'cursor-pointer',
|
|
27822
|
+
'block',
|
|
27823
|
+
'hover:-translate-y-2 ',
|
|
27824
|
+
'duration-[180ms]',
|
|
27825
|
+
].join(' ');
|
|
27826
|
+
}
|
|
27827
|
+
get classList() {
|
|
27828
|
+
return `${this.baseClasses} ${this.extraClass}`;
|
|
27829
|
+
}
|
|
27628
27830
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RelatedRecordCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27629
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RelatedRecordCardComponent, selector: "gn-ui-related-record-card", inputs: { record: "record" }, ngImport: i0, template: "<a\n class=\"
|
|
27831
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RelatedRecordCardComponent, selector: "gn-ui-related-record-card", inputs: { record: "record", extraClass: "extraClass" }, ngImport: i0, template: "<a\n [class]=\"classList\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col justify-between h-44 px-5 pt-4 pb-6\">\n <h4\n class=\"max-h-24 font-title text-21 text-black text-ellipsis overflow-hidden\"\n >\n {{ record.title }}\n </h4>\n <div>\n <button\n mat-raised-button\n [matTooltip]=\"'tooltip.url.open' | translate\"\n matTooltipPosition=\"above\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle text-secondary\"\n >open_in_new</mat-icon\n >\n </button>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1$7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27630
27832
|
}
|
|
27631
27833
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RelatedRecordCardComponent, decorators: [{
|
|
27632
27834
|
type: Component,
|
|
27633
|
-
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"
|
|
27634
|
-
}], propDecorators: { record: [{
|
|
27835
|
+
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n [class]=\"classList\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col justify-between h-44 px-5 pt-4 pb-6\">\n <h4\n class=\"max-h-24 font-title text-21 text-black text-ellipsis overflow-hidden\"\n >\n {{ record.title }}\n </h4>\n <div>\n <button\n mat-raised-button\n [matTooltip]=\"'tooltip.url.open' | translate\"\n matTooltipPosition=\"above\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle text-secondary\"\n >open_in_new</mat-icon\n >\n </button>\n </div>\n </div>\n</a>\n" }]
|
|
27836
|
+
}], ctorParameters: function () { return []; }, propDecorators: { record: [{
|
|
27837
|
+
type: Input
|
|
27838
|
+
}], extraClass: [{
|
|
27635
27839
|
type: Input
|
|
27636
27840
|
}] } });
|
|
27637
27841
|
|
|
@@ -28188,7 +28392,6 @@ class UiElementsModule {
|
|
|
28188
28392
|
UserPreviewComponent,
|
|
28189
28393
|
GnUiLinkifyDirective,
|
|
28190
28394
|
PaginationButtonsComponent,
|
|
28191
|
-
MaxLinesComponent,
|
|
28192
28395
|
RecordApiFormComponent,
|
|
28193
28396
|
UserFeedbackItemComponent,
|
|
28194
28397
|
ImageOverlayPreviewComponent], imports: [CommonModule,
|
|
@@ -28203,7 +28406,8 @@ class UiElementsModule {
|
|
|
28203
28406
|
MarkdownParserComponent,
|
|
28204
28407
|
ThumbnailComponent,
|
|
28205
28408
|
TimeSincePipe,
|
|
28206
|
-
BadgeComponent
|
|
28409
|
+
BadgeComponent,
|
|
28410
|
+
MaxLinesComponent], exports: [MetadataInfoComponent,
|
|
28207
28411
|
ContentGhostComponent,
|
|
28208
28412
|
DownloadItemComponent,
|
|
28209
28413
|
DownloadsListComponent,
|
|
@@ -28219,7 +28423,6 @@ class UiElementsModule {
|
|
|
28219
28423
|
AvatarComponent,
|
|
28220
28424
|
UserPreviewComponent,
|
|
28221
28425
|
PaginationButtonsComponent,
|
|
28222
|
-
MaxLinesComponent,
|
|
28223
28426
|
RecordApiFormComponent,
|
|
28224
28427
|
MarkdownParserComponent,
|
|
28225
28428
|
UserFeedbackItemComponent,
|
|
@@ -28235,7 +28438,8 @@ class UiElementsModule {
|
|
|
28235
28438
|
UiInputsModule,
|
|
28236
28439
|
FormsModule,
|
|
28237
28440
|
ThumbnailComponent,
|
|
28238
|
-
BadgeComponent
|
|
28441
|
+
BadgeComponent,
|
|
28442
|
+
MaxLinesComponent] }); }
|
|
28239
28443
|
}
|
|
28240
28444
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UiElementsModule, decorators: [{
|
|
28241
28445
|
type: NgModule,
|
|
@@ -28256,6 +28460,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28256
28460
|
ThumbnailComponent,
|
|
28257
28461
|
TimeSincePipe,
|
|
28258
28462
|
BadgeComponent,
|
|
28463
|
+
MaxLinesComponent,
|
|
28259
28464
|
],
|
|
28260
28465
|
declarations: [
|
|
28261
28466
|
MetadataInfoComponent,
|
|
@@ -28274,7 +28479,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28274
28479
|
UserPreviewComponent,
|
|
28275
28480
|
GnUiLinkifyDirective,
|
|
28276
28481
|
PaginationButtonsComponent,
|
|
28277
|
-
MaxLinesComponent,
|
|
28278
28482
|
RecordApiFormComponent,
|
|
28279
28483
|
UserFeedbackItemComponent,
|
|
28280
28484
|
ImageOverlayPreviewComponent,
|
|
@@ -28296,7 +28500,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28296
28500
|
AvatarComponent,
|
|
28297
28501
|
UserPreviewComponent,
|
|
28298
28502
|
PaginationButtonsComponent,
|
|
28299
|
-
MaxLinesComponent,
|
|
28300
28503
|
RecordApiFormComponent,
|
|
28301
28504
|
MarkdownParserComponent,
|
|
28302
28505
|
UserFeedbackItemComponent,
|
|
@@ -28409,6 +28612,113 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
28409
28612
|
}]
|
|
28410
28613
|
}] });
|
|
28411
28614
|
|
|
28615
|
+
class ResultsTableComponent {
|
|
28616
|
+
constructor() {
|
|
28617
|
+
this.records = [];
|
|
28618
|
+
this.selectedRecordsIdentifiers = [];
|
|
28619
|
+
this.sortOrder = null;
|
|
28620
|
+
this.recordHasDraft = () => false;
|
|
28621
|
+
// emits the column (field) as well as the order
|
|
28622
|
+
this.sortByChange = new EventEmitter();
|
|
28623
|
+
this.recordClick = new EventEmitter();
|
|
28624
|
+
this.recordsSelectedChange = new EventEmitter();
|
|
28625
|
+
}
|
|
28626
|
+
dateToString(date) {
|
|
28627
|
+
return date?.toLocaleDateString(undefined, {
|
|
28628
|
+
year: 'numeric',
|
|
28629
|
+
month: 'long',
|
|
28630
|
+
day: 'numeric',
|
|
28631
|
+
timeZone: 'UTC',
|
|
28632
|
+
});
|
|
28633
|
+
}
|
|
28634
|
+
getStatus(isPublishedToAll) {
|
|
28635
|
+
return isPublishedToAll ? 'published' : 'not published';
|
|
28636
|
+
}
|
|
28637
|
+
getRecordFormats(record) {
|
|
28638
|
+
if (record.kind === 'service' || !('distributions' in record)) {
|
|
28639
|
+
return [];
|
|
28640
|
+
}
|
|
28641
|
+
const formats = Array.from(new Set(record.distributions.map((distribution) => getFileFormat(distribution)))).filter((format) => !!format);
|
|
28642
|
+
formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a));
|
|
28643
|
+
return formats;
|
|
28644
|
+
}
|
|
28645
|
+
formatUserInfo(userInfo) {
|
|
28646
|
+
const infos = (typeof userInfo === 'string' ? userInfo : '').split('|');
|
|
28647
|
+
if (infos && infos.length === 4) {
|
|
28648
|
+
return `${infos[2]} ${infos[1]}`;
|
|
28649
|
+
}
|
|
28650
|
+
return undefined;
|
|
28651
|
+
}
|
|
28652
|
+
getBadgeColor(format) {
|
|
28653
|
+
return getBadgeColor(format);
|
|
28654
|
+
}
|
|
28655
|
+
handleRecordClick(item) {
|
|
28656
|
+
this.recordClick.emit(item);
|
|
28657
|
+
}
|
|
28658
|
+
setSortBy(col, order) {
|
|
28659
|
+
this.sortByChange.emit([col, order]);
|
|
28660
|
+
}
|
|
28661
|
+
isSortedBy(col) {
|
|
28662
|
+
if (!this.sortOrder) {
|
|
28663
|
+
return null;
|
|
28664
|
+
}
|
|
28665
|
+
const sortArray = Array.isArray(this.sortOrder[0])
|
|
28666
|
+
? this.sortOrder
|
|
28667
|
+
: [this.sortOrder];
|
|
28668
|
+
for (const sort of sortArray) {
|
|
28669
|
+
if (sort[1] === col) {
|
|
28670
|
+
return sort[0];
|
|
28671
|
+
}
|
|
28672
|
+
}
|
|
28673
|
+
return null;
|
|
28674
|
+
}
|
|
28675
|
+
isChecked(record) {
|
|
28676
|
+
return this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier);
|
|
28677
|
+
}
|
|
28678
|
+
handleRecordSelectedChange(selected, record) {
|
|
28679
|
+
this.recordsSelectedChange.emit([[record], selected]);
|
|
28680
|
+
}
|
|
28681
|
+
async toggleSelectAll() {
|
|
28682
|
+
this.recordsSelectedChange.emit([this.records, !this.isAllSelected()]);
|
|
28683
|
+
}
|
|
28684
|
+
isAllSelected() {
|
|
28685
|
+
return this.records.every((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
|
|
28686
|
+
}
|
|
28687
|
+
isSomeSelected() {
|
|
28688
|
+
const allSelected = this.records.every((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
|
|
28689
|
+
const someSelected = this.records.some((record) => this.selectedRecordsIdentifiers.includes(record.uniqueIdentifier));
|
|
28690
|
+
return !allSelected && someSelected;
|
|
28691
|
+
}
|
|
28692
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28693
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", recordHasDraft: "recordHasDraft" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", recordsSelectedChange: "recordsSelectedChange" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
28694
|
+
}
|
|
28695
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
28696
|
+
type: Component,
|
|
28697
|
+
args: [{ selector: 'gn-ui-results-table', standalone: true, imports: [
|
|
28698
|
+
CommonModule,
|
|
28699
|
+
UiInputsModule,
|
|
28700
|
+
InteractiveTableComponent,
|
|
28701
|
+
InteractiveTableColumnComponent,
|
|
28702
|
+
MatIconModule,
|
|
28703
|
+
TranslateModule,
|
|
28704
|
+
BadgeComponent,
|
|
28705
|
+
], template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"isSomeSelected()\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"recordHasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
28706
|
+
}], propDecorators: { records: [{
|
|
28707
|
+
type: Input
|
|
28708
|
+
}], selectedRecordsIdentifiers: [{
|
|
28709
|
+
type: Input
|
|
28710
|
+
}], sortOrder: [{
|
|
28711
|
+
type: Input
|
|
28712
|
+
}], recordHasDraft: [{
|
|
28713
|
+
type: Input
|
|
28714
|
+
}], sortByChange: [{
|
|
28715
|
+
type: Output
|
|
28716
|
+
}], recordClick: [{
|
|
28717
|
+
type: Output
|
|
28718
|
+
}], recordsSelectedChange: [{
|
|
28719
|
+
type: Output
|
|
28720
|
+
}] } });
|
|
28721
|
+
|
|
28412
28722
|
const ADD_SEARCH = '[Search] Add search instance';
|
|
28413
28723
|
const SET_FILTERS = '[Search] Set Filters';
|
|
28414
28724
|
const SET_CONFIG_FILTERS = '[Search] Set config filters';
|
|
@@ -28946,6 +29256,9 @@ const getSearchResults = createSelector(getSearchStateSearch, (state) => state.r
|
|
|
28946
29256
|
const getSearchResultsLoading = createSelector(getSearchStateSearch, (state) => state.loadingResults);
|
|
28947
29257
|
const getSearchResultsAggregations = createSelector(getSearchStateSearch, (state) => state.results.aggregations);
|
|
28948
29258
|
const getSearchResultsHits = createSelector(getSearchStateSearch, (state) => state.results.count);
|
|
29259
|
+
const isBeginningOfResults = createSelector(getSearchStateSearch, (state) => {
|
|
29260
|
+
return state.params.currentPage === 0;
|
|
29261
|
+
});
|
|
28949
29262
|
const isEndOfResults = createSelector(getSearchStateSearch, (state) => {
|
|
28950
29263
|
return (state.params.currentPage * state.params.pageSize +
|
|
28951
29264
|
state.params.pageSize >=
|
|
@@ -28979,6 +29292,7 @@ class SearchFacade {
|
|
|
28979
29292
|
this.isLoading$ = this.store.pipe(select(getSearchResultsLoading, searchId));
|
|
28980
29293
|
this.searchFilters$ = this.store.pipe(select(getSearchFilters, searchId));
|
|
28981
29294
|
this.resultsHits$ = this.store.pipe(select(getSearchResultsHits, searchId));
|
|
29295
|
+
this.isBeginningOfResults$ = this.store.pipe(select(isBeginningOfResults, searchId));
|
|
28982
29296
|
this.isEndOfResults$ = this.store.pipe(select(isEndOfResults, searchId));
|
|
28983
29297
|
this.totalPages$ = this.store.pipe(select(totalPages, searchId));
|
|
28984
29298
|
this.currentPage$ = this.store.pipe(select(currentPage, searchId));
|
|
@@ -30371,7 +30685,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
30371
30685
|
}]
|
|
30372
30686
|
}] });
|
|
30373
30687
|
|
|
30374
|
-
class
|
|
30688
|
+
class ResultsTableContainerComponent {
|
|
30375
30689
|
constructor(searchFacade, searchService, selectionService, recordsRepository) {
|
|
30376
30690
|
this.searchFacade = searchFacade;
|
|
30377
30691
|
this.searchService = searchService;
|
|
@@ -30380,106 +30694,29 @@ class ResultsTableComponent {
|
|
|
30380
30694
|
this.recordClick = new EventEmitter();
|
|
30381
30695
|
this.records$ = this.searchFacade.results$;
|
|
30382
30696
|
this.selectedRecords$ = this.selectionService.selectedRecordsIdentifiers$;
|
|
30383
|
-
|
|
30384
|
-
|
|
30385
|
-
return date?.toLocaleDateString(undefined, {
|
|
30386
|
-
year: 'numeric',
|
|
30387
|
-
month: 'long',
|
|
30388
|
-
day: 'numeric',
|
|
30389
|
-
timeZone: 'UTC',
|
|
30390
|
-
});
|
|
30391
|
-
}
|
|
30392
|
-
getStatus(isPublishedToAll) {
|
|
30393
|
-
return isPublishedToAll ? 'published' : 'not published';
|
|
30394
|
-
}
|
|
30395
|
-
getRecordFormats(record) {
|
|
30396
|
-
if (record.kind === 'service' || !('distributions' in record)) {
|
|
30397
|
-
return [];
|
|
30398
|
-
}
|
|
30399
|
-
const formats = Array.from(new Set(record.distributions.map((distribution) => getFileFormat(distribution)))).filter((format) => !!format);
|
|
30400
|
-
formats.sort((a, b) => getFormatPriority(b) - getFormatPriority(a));
|
|
30401
|
-
return formats;
|
|
30402
|
-
}
|
|
30403
|
-
formatUserInfo(userInfo) {
|
|
30404
|
-
const infos = (typeof userInfo === 'string' ? userInfo : '').split('|');
|
|
30405
|
-
if (infos && infos.length === 4) {
|
|
30406
|
-
return `${infos[2]} ${infos[1]}`;
|
|
30407
|
-
}
|
|
30408
|
-
return undefined;
|
|
30409
|
-
}
|
|
30410
|
-
getBadgeColor(format) {
|
|
30411
|
-
return getBadgeColor(format);
|
|
30697
|
+
this.sortBy$ = this.searchFacade.sortBy$;
|
|
30698
|
+
this.hasDraft = (record) => this.recordsRepository.recordHasDraft(record.uniqueIdentifier);
|
|
30412
30699
|
}
|
|
30413
30700
|
handleRecordClick(item) {
|
|
30414
30701
|
this.recordClick.emit(item);
|
|
30415
30702
|
}
|
|
30416
|
-
|
|
30703
|
+
handleSortByChange(col, order) {
|
|
30417
30704
|
this.searchService.setSortBy([order, col]);
|
|
30418
30705
|
}
|
|
30419
|
-
|
|
30420
|
-
return this.searchFacade.sortBy$.pipe(take(1), map$1((sortOrder) => {
|
|
30421
|
-
const sortArray = Array.isArray(sortOrder[0])
|
|
30422
|
-
? sortOrder
|
|
30423
|
-
: [sortOrder];
|
|
30424
|
-
for (const sort of sortArray) {
|
|
30425
|
-
if (sort[1] === col) {
|
|
30426
|
-
return sort[0];
|
|
30427
|
-
}
|
|
30428
|
-
}
|
|
30429
|
-
return null;
|
|
30430
|
-
}));
|
|
30431
|
-
}
|
|
30432
|
-
isChecked(record) {
|
|
30433
|
-
return this.selectedRecords$.pipe(take(1), map$1((selectedRecords) => {
|
|
30434
|
-
return selectedRecords.includes(record.uniqueIdentifier);
|
|
30435
|
-
}));
|
|
30436
|
-
}
|
|
30437
|
-
handleRecordSelectedChange(selected, record) {
|
|
30706
|
+
handleRecordsSelectedChange(records, selected) {
|
|
30438
30707
|
if (!selected) {
|
|
30439
|
-
this.selectionService.deselectRecords([record]);
|
|
30440
|
-
}
|
|
30441
|
-
else {
|
|
30442
|
-
this.selectionService.selectRecords([record]);
|
|
30443
|
-
}
|
|
30444
|
-
}
|
|
30445
|
-
async toggleSelectAll() {
|
|
30446
|
-
const records = await firstValueFrom(this.records$);
|
|
30447
|
-
if (await firstValueFrom(this.isAllSelected())) {
|
|
30448
30708
|
this.selectionService.deselectRecords(records);
|
|
30449
30709
|
}
|
|
30450
30710
|
else {
|
|
30451
30711
|
this.selectionService.selectRecords(records);
|
|
30452
30712
|
}
|
|
30453
30713
|
}
|
|
30454
|
-
|
|
30455
|
-
|
|
30456
|
-
return records.every((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
30457
|
-
}));
|
|
30458
|
-
}
|
|
30459
|
-
isSomeSelected() {
|
|
30460
|
-
return combineLatest([this.records$, this.selectedRecords$]).pipe(take(1), map$1(([records, selectedRecords]) => {
|
|
30461
|
-
const allSelected = records.every((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
30462
|
-
const someSelected = records.some((record) => selectedRecords.includes(record.uniqueIdentifier));
|
|
30463
|
-
return !allSelected && someSelected;
|
|
30464
|
-
}));
|
|
30465
|
-
}
|
|
30466
|
-
hasDraft(record) {
|
|
30467
|
-
return this.recordsRepository.recordHasDraft(record.uniqueIdentifier);
|
|
30468
|
-
}
|
|
30469
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30470
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", outputs: { recordClick: "recordClick" }, ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records$ | async\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected() | async\"\n [indeterminate]=\"isSomeSelected() | async\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item) | async\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword') | async\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner') | async\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate') | async\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] }); }
|
|
30714
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableContainerComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30715
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", outputs: { recordClick: "recordClick" }, ngImport: i0, template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "recordHasDraft"], outputs: ["sortByChange", "recordClick", "recordsSelectedChange"] }] }); }
|
|
30471
30716
|
}
|
|
30472
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type:
|
|
30717
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
30473
30718
|
type: Component,
|
|
30474
|
-
args: [{ selector: 'gn-ui-results-table', standalone: true, imports: [
|
|
30475
|
-
CommonModule,
|
|
30476
|
-
UiInputsModule,
|
|
30477
|
-
InteractiveTableComponent,
|
|
30478
|
-
InteractiveTableColumnComponent,
|
|
30479
|
-
MatIconModule,
|
|
30480
|
-
TranslateModule,
|
|
30481
|
-
BadgeComponent,
|
|
30482
|
-
], template: "<gn-ui-interactive-table\n [items]=\"records$ | async\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <gn-ui-checkbox\n [checked]=\"isAllSelected() | async\"\n [indeterminate]=\"isSomeSelected() | async\"\n (changed)=\"toggleSelectAll()\"\n type=\"default\"\n class=\"-m-2 mr-3\"\n >\n </gn-ui-checkbox>\n </ng-template>\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item) | async\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword') | async\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full\">\n <span class=\"overflow-hidden text-ellipsis\">{{ item.title }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.4em 0.6em'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-sm text-white px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner') | async\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.author</span>\n </ng-template>\n <ng-template #cell let-item>\n <mat-icon class=\"material-symbols-outlined\">person</mat-icon>\n <span>{{ formatUserInfo(item.extras?.ownerInfo) }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ item.status }}\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate') | async\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.updatedOn</span>\n </ng-template>\n <ng-template #cell let-item>\n {{ dateToString(item.recordUpdated) }}\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30719
|
+
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], template: "<gn-ui-results-table\n [records]=\"records$ | async\"\n [recordHasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n (recordClick)=\"handleRecordClick($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n" }]
|
|
30483
30720
|
}], ctorParameters: function () { return [{ type: SearchFacade }, { type: SearchService }, { type: SelectionService }, { type: RecordsRepositoryInterface }]; }, propDecorators: { recordClick: [{
|
|
30484
30721
|
type: Output
|
|
30485
30722
|
}] } });
|
|
@@ -31295,12 +31532,9 @@ const getAddUserFeedbacksLoading = createSelector(getMdViewState, (state) => sta
|
|
|
31295
31532
|
|
|
31296
31533
|
class FigureComponent {
|
|
31297
31534
|
constructor() {
|
|
31535
|
+
this.unit = '';
|
|
31298
31536
|
this.color = 'primary';
|
|
31299
31537
|
}
|
|
31300
|
-
get hoverTitle() {
|
|
31301
|
-
return `${this.figure.toString()} ${this.unit || ''}
|
|
31302
|
-
${this.title}`;
|
|
31303
|
-
}
|
|
31304
31538
|
get textClass() {
|
|
31305
31539
|
return this.color === 'primary' ? 'text-primary' : 'text-secondary';
|
|
31306
31540
|
}
|
|
@@ -31308,11 +31542,11 @@ ${this.title}`;
|
|
|
31308
31542
|
return this.color === 'primary' ? 'bg-primary-white' : 'bg-secondary-white';
|
|
31309
31543
|
}
|
|
31310
31544
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31311
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureComponent, selector: "gn-ui-figure", inputs: { icon: "icon", title: "title", figure: "figure", unit: "unit", color: "color" }, ngImport: i0, template: "<div\n
|
|
31545
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FigureComponent, selector: "gn-ui-figure", inputs: { icon: "icon", title: "title", figure: "figure", unit: "unit", color: "color" }, ngImport: i0, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <mat-icon\n class=\"material-symbols-outlined {{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] p-[0.6em] w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n >\n {{ icon }}\n </mat-icon>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31312
31546
|
}
|
|
31313
31547
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FigureComponent, decorators: [{
|
|
31314
31548
|
type: Component,
|
|
31315
|
-
args: [{ selector: 'gn-ui-figure', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n
|
|
31549
|
+
args: [{ selector: 'gn-ui-figure', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <mat-icon\n class=\"material-symbols-outlined {{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] p-[0.6em] w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n >\n {{ icon }}\n </mat-icon>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"] }]
|
|
31316
31550
|
}], propDecorators: { icon: [{
|
|
31317
31551
|
type: Input
|
|
31318
31552
|
}], title: [{
|
|
@@ -32891,9 +33125,7 @@ class MdViewFacade {
|
|
|
32891
33125
|
this.downloadLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DOWNLOAD))));
|
|
32892
33126
|
this.dataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DATA))));
|
|
32893
33127
|
this.geoDataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.GEODATA))));
|
|
32894
|
-
this.geoDataLinksWithGeometry$ = this.allLinks$.pipe(
|
|
32895
|
-
return from(links);
|
|
32896
|
-
}), mergeMap((link) => {
|
|
33128
|
+
this.geoDataLinksWithGeometry$ = this.allLinks$.pipe(switchMap$1((links) => from(links).pipe(mergeMap((link) => {
|
|
32897
33129
|
if (this.linkClassifier.hasUsage(link, LinkUsage.GEODATA)) {
|
|
32898
33130
|
if (link.type === 'service' &&
|
|
32899
33131
|
link.accessServiceProtocol === 'ogcFeatures') {
|
|
@@ -32901,7 +33133,10 @@ class MdViewFacade {
|
|
|
32901
33133
|
return collectionRecords && collectionRecords.geometry
|
|
32902
33134
|
? link
|
|
32903
33135
|
: null;
|
|
32904
|
-
}), defaultIfEmpty(null))
|
|
33136
|
+
}), defaultIfEmpty(null), catchError((e) => {
|
|
33137
|
+
console.error(e);
|
|
33138
|
+
return of(null);
|
|
33139
|
+
}));
|
|
32905
33140
|
}
|
|
32906
33141
|
else {
|
|
32907
33142
|
return of(link);
|
|
@@ -32910,12 +33145,7 @@ class MdViewFacade {
|
|
|
32910
33145
|
else {
|
|
32911
33146
|
return of(null);
|
|
32912
33147
|
}
|
|
32913
|
-
}),
|
|
32914
|
-
if (val !== null && !acc.includes(val)) {
|
|
32915
|
-
acc.push(val);
|
|
32916
|
-
}
|
|
32917
|
-
return acc;
|
|
32918
|
-
}, []));
|
|
33148
|
+
}), toArray(), map$1((links) => links.filter((link) => link !== null)))));
|
|
32919
33149
|
this.landingPageLinks$ = this.metadata$.pipe(map$1((record) => ('landingPage' in record ? [record.landingPage] : [])));
|
|
32920
33150
|
this.otherLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.UNKNOWN))));
|
|
32921
33151
|
this.userFeedbacks$ = this.store.pipe(select(getUserFeedbacks));
|
|
@@ -33267,15 +33497,15 @@ class OrganisationPreviewComponent {
|
|
|
33267
33497
|
}
|
|
33268
33498
|
clickOrganisation(event) {
|
|
33269
33499
|
event.preventDefault();
|
|
33270
|
-
this.clickedOrganisation.emit(this.
|
|
33500
|
+
this.clickedOrganisation.emit(this.organization);
|
|
33271
33501
|
}
|
|
33272
33502
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33273
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: {
|
|
33503
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: { organization: "organization", organisationUrl: "organisationUrl" }, outputs: { clickedOrganisation: "clickedOrganisation" }, ngImport: i0, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organization.name\"\n >\n <div\n class=\"shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organization.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col grow overflow-hidden\">\n <span\n class=\"shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organization.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 grow shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organization.description }}\n </p>\n <div class=\"shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organization.recordCount\n }}</span>\n <span translate [translateParams]=\"{ count: organization.recordCount }\"\n >record.metadata.publications</span\n >\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33274
33504
|
}
|
|
33275
33505
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationPreviewComponent, decorators: [{
|
|
33276
33506
|
type: Component,
|
|
33277
|
-
args: [{ selector: 'gn-ui-organisation-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"
|
|
33278
|
-
}], propDecorators: {
|
|
33507
|
+
args: [{ selector: 'gn-ui-organisation-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organization.name\"\n >\n <div\n class=\"shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organization.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col grow overflow-hidden\">\n <span\n class=\"shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organization.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 grow shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organization.description }}\n </p>\n <div class=\"shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organization.recordCount\n }}</span>\n <span translate [translateParams]=\"{ count: organization.recordCount }\"\n >record.metadata.publications</span\n >\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"] }]
|
|
33508
|
+
}], propDecorators: { organization: [{
|
|
33279
33509
|
type: Input
|
|
33280
33510
|
}], organisationUrl: [{
|
|
33281
33511
|
type: Input
|
|
@@ -33387,7 +33617,8 @@ class UiCatalogModule {
|
|
|
33387
33617
|
LanguageSwitcherComponent,
|
|
33388
33618
|
OrganisationsResultComponent], imports: [CommonModule, i1$1.TranslateModule, UiElementsModule,
|
|
33389
33619
|
UiInputsModule,
|
|
33390
|
-
MatIconModule
|
|
33620
|
+
MatIconModule,
|
|
33621
|
+
RouterLink], exports: [CatalogTitleComponent,
|
|
33391
33622
|
OrganisationPreviewComponent,
|
|
33392
33623
|
OrganisationsFilterComponent,
|
|
33393
33624
|
LanguageSwitcherComponent,
|
|
@@ -33414,6 +33645,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33414
33645
|
UiElementsModule,
|
|
33415
33646
|
UiInputsModule,
|
|
33416
33647
|
MatIconModule,
|
|
33648
|
+
RouterLink,
|
|
33417
33649
|
],
|
|
33418
33650
|
exports: [
|
|
33419
33651
|
CatalogTitleComponent,
|
|
@@ -33461,6 +33693,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33461
33693
|
type: Input
|
|
33462
33694
|
}] } });
|
|
33463
33695
|
|
|
33696
|
+
// expects the replacement key ${name}
|
|
33697
|
+
const ORGANIZATION_PAGE_URL_TOKEN = new InjectionToken('organization-page-url-token');
|
|
33698
|
+
|
|
33464
33699
|
class OrganisationsComponent {
|
|
33465
33700
|
constructor(organisationsService, urlTemplate) {
|
|
33466
33701
|
this.organisationsService = organisationsService;
|
|
@@ -33532,17 +33767,17 @@ class OrganisationsComponent {
|
|
|
33532
33767
|
return null;
|
|
33533
33768
|
return this.urlTemplate.replace('${name}', organisation.name);
|
|
33534
33769
|
}
|
|
33535
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationsComponent, deps: [{ token: OrganizationsServiceInterface }, { token:
|
|
33536
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationsComponent, selector: "gn-ui-organisations", inputs: { itemsOnPage: "itemsOnPage" }, outputs: { orgSelect: "orgSelect" }, ngImport: i0, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [
|
|
33770
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationsComponent, deps: [{ token: OrganizationsServiceInterface }, { token: ORGANIZATION_PAGE_URL_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33771
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationsComponent, selector: "gn-ui-organisations", inputs: { itemsOnPage: "itemsOnPage" }, outputs: { orgSelect: "orgSelect" }, ngImport: i0, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [organization]=\"organisation\"\n [organisationUrl]=\"getOrganisationUrl(organisation)\"\n (clickedOrganisation)=\"orgSelect.emit($event)\"\n ></gn-ui-organisation-preview>\n </gn-ui-content-ghost>\n</div>\n<div class=\"py-20\">\n <gn-ui-pagination\n [currentPage]=\"currentPage$ | async\"\n [nPages]=\"totalPages\"\n (newCurrentPageEvent)=\"setCurrentPage($event)\"\n ></gn-ui-pagination>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: ["organization", "organisationUrl"], outputs: ["clickedOrganisation"] }, { kind: "component", type: OrganisationsFilterComponent, selector: "gn-ui-organisations-filter", outputs: ["sortBy", "filterBy"] }, { kind: "component", type: OrganisationsResultComponent, selector: "gn-ui-organisations-result", inputs: ["hits", "total"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: PaginationComponent, selector: "gn-ui-pagination", inputs: ["currentPage", "nPages", "hideButton"], outputs: ["newCurrentPageEvent"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33537
33772
|
}
|
|
33538
33773
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationsComponent, decorators: [{
|
|
33539
33774
|
type: Component,
|
|
33540
|
-
args: [{ selector: 'gn-ui-organisations', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [
|
|
33775
|
+
args: [{ selector: 'gn-ui-organisations', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-organisations-filter\n (sortBy)=\"setSortBy($event)\"\n (filterBy)=\"setFilterBy($event)\"\n></gn-ui-organisations-filter>\n<div class=\"mt-6 rounded-lg text-gray-800 p-4 bg-slate-100\">\n <gn-ui-organisations-result\n *ngIf=\"organisationsTotal$ | async\"\n [hits]=\"organisationResults\"\n [total]=\"organisationsTotal$ | async\"\n ></gn-ui-organisations-result>\n</div>\n<div\n class=\"grid grid-cols-1 mt-6 gap-x-6 gap-y-8 sm:grid-cols-2 lg:grid-cols-3\"\n>\n <gn-ui-content-ghost\n class=\"h-[300px]\"\n ghostClass=\"h-full mb-36\"\n *ngFor=\"let organisation of organisations$ | async; trackBy: trackByIndex\"\n [showContent]=\"!!organisation.name\"\n >\n <gn-ui-organisation-preview\n [organization]=\"organisation\"\n [organisationUrl]=\"getOrganisationUrl(organisation)\"\n (clickedOrganisation)=\"orgSelect.emit($event)\"\n ></gn-ui-organisation-preview>\n </gn-ui-content-ghost>\n</div>\n<div class=\"py-20\">\n <gn-ui-pagination\n [currentPage]=\"currentPage$ | async\"\n [nPages]=\"totalPages\"\n (newCurrentPageEvent)=\"setCurrentPage($event)\"\n ></gn-ui-pagination>\n</div>\n" }]
|
|
33541
33776
|
}], ctorParameters: function () { return [{ type: OrganizationsServiceInterface }, { type: undefined, decorators: [{
|
|
33542
33777
|
type: Optional
|
|
33543
33778
|
}, {
|
|
33544
33779
|
type: Inject,
|
|
33545
|
-
args: [
|
|
33780
|
+
args: [ORGANIZATION_PAGE_URL_TOKEN]
|
|
33546
33781
|
}] }]; }, propDecorators: { itemsOnPage: [{
|
|
33547
33782
|
type: Input
|
|
33548
33783
|
}], orgSelect: [{
|
|
@@ -33621,9 +33856,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
33621
33856
|
class RecordsService {
|
|
33622
33857
|
constructor(recordsRepository) {
|
|
33623
33858
|
this.recordsRepository = recordsRepository;
|
|
33624
|
-
this.recordsCount$ = this.recordsRepository
|
|
33625
|
-
.getMatchesCount({})
|
|
33626
|
-
.pipe(shareReplay(1), catchError(() => of(0)));
|
|
33859
|
+
this.recordsCount$ = of(true).pipe(switchMap(() => this.recordsRepository.getMatchesCount({})), shareReplay(1));
|
|
33627
33860
|
}
|
|
33628
33861
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordsService, deps: [{ token: RecordsRepositoryInterface }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
33629
33862
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecordsService, providedIn: 'root' }); }
|
|
@@ -34522,7 +34755,9 @@ class FormFieldKeywordsComponent {
|
|
|
34522
34755
|
return `${item.title} (${item.value.thesaurus?.name})`;
|
|
34523
34756
|
};
|
|
34524
34757
|
this.autoCompleteAction = (query) => {
|
|
34525
|
-
return this.platformService
|
|
34758
|
+
return this.platformService
|
|
34759
|
+
.searchKeywords(query, ['temporal', 'theme', 'other'])
|
|
34760
|
+
.pipe(map$2((keywords) => keywords.map((keyword) => {
|
|
34526
34761
|
return { title: keyword.label, value: keyword };
|
|
34527
34762
|
})));
|
|
34528
34763
|
};
|
|
@@ -35098,6 +35333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35098
35333
|
const ROUTER_STATE_KEY = 'router';
|
|
35099
35334
|
const ROUTER_ROUTE_SEARCH = 'search';
|
|
35100
35335
|
const ROUTER_ROUTE_DATASET = 'dataset';
|
|
35336
|
+
const ROUTER_ROUTE_ORGANIZATION = 'organization';
|
|
35101
35337
|
var ROUTE_PARAMS;
|
|
35102
35338
|
(function (ROUTE_PARAMS) {
|
|
35103
35339
|
ROUTE_PARAMS["SORT"] = "_sort";
|
|
@@ -35129,11 +35365,18 @@ class RouterService {
|
|
|
35129
35365
|
path: `${ROUTER_ROUTE_DATASET}/:metadataUuid`,
|
|
35130
35366
|
component: this.routerConfig.recordRouteComponent,
|
|
35131
35367
|
},
|
|
35368
|
+
{
|
|
35369
|
+
path: `${ROUTER_ROUTE_ORGANIZATION}/:name`,
|
|
35370
|
+
component: this.routerConfig.organizationRouteComponent,
|
|
35371
|
+
},
|
|
35132
35372
|
];
|
|
35133
35373
|
}
|
|
35134
35374
|
getSearchRoute() {
|
|
35135
35375
|
return ROUTER_ROUTE_SEARCH;
|
|
35136
35376
|
}
|
|
35377
|
+
getOrganizationPageRoute() {
|
|
35378
|
+
return ROUTER_ROUTE_ORGANIZATION;
|
|
35379
|
+
}
|
|
35137
35380
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterService, deps: [{ token: ROUTER_CONFIG }, { token: i1$7.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35138
35381
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterService, providedIn: 'root' }); }
|
|
35139
35382
|
}
|
|
@@ -35180,6 +35423,13 @@ class RouterFacade {
|
|
|
35180
35423
|
this.store.dispatch(setIncompleteMetadata({ incomplete: metadata }));
|
|
35181
35424
|
});
|
|
35182
35425
|
}
|
|
35426
|
+
goToOrganization(organizationName) {
|
|
35427
|
+
const path = `${this.routerService.getOrganizationPageRoute()}/${organizationName}`;
|
|
35428
|
+
this.go({
|
|
35429
|
+
path,
|
|
35430
|
+
queryParamsHandling: '',
|
|
35431
|
+
});
|
|
35432
|
+
}
|
|
35183
35433
|
updateSearch(query) {
|
|
35184
35434
|
this.go({
|
|
35185
35435
|
path: this.routerService.getSearchRoute(),
|
|
@@ -35460,5 +35710,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35460
35710
|
* Generated bundle index. Do not edit.
|
|
35461
35711
|
*/
|
|
35462
35712
|
|
|
35463
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageOverlayPreviewComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MultilingualSearchField, MyOrgService, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WFS_MAX_FEATURES, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, findConverterForDocument, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, openRecord, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$2 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, saveRecord, saveRecordFailure, saveRecordSuccess, selectEditorState, selectFallback, selectFallbackFields, selectField, selectRecord, selectRecordAlreadySavedOnce, selectRecordChangedSinceSave, selectRecordFields, selectRecordFieldsConfig, selectRecordSaveError, selectRecordSaving, selectRecordSource, selectTranslatedField, selectTranslatedValue, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, totalPages, updateLayer, updateRecordField };
|
|
35713
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageOverlayPreviewComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MultilingualSearchField, MyOrgService, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WFS_MAX_FEATURES, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, findConverterForDocument, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, initSearch, initialEditorState, initialMapState, initialState, isBeginningOfResults, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, openRecord, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$2 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, saveRecord, saveRecordFailure, saveRecordSuccess, selectEditorState, selectFallback, selectFallbackFields, selectField, selectRecord, selectRecordAlreadySavedOnce, selectRecordChangedSinceSave, selectRecordFields, selectRecordFieldsConfig, selectRecordSaveError, selectRecordSaving, selectRecordSource, selectTranslatedField, selectTranslatedValue, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, totalPages, updateLayer, updateRecordField };
|
|
35464
35714
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|