geonetwork-ui 2.7.0-dev.0d8b7bca9 → 2.7.0-dev.1ac68f56b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +4 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +5 -1
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.mjs +80 -0
- package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +1 -3
- package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +4 -4
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +21 -43
- package/esm2022/libs/util/shared/src/index.mjs +2 -2
- package/esm2022/libs/util/shared/src/lib/record/index.mjs +3 -0
- package/esm2022/libs/util/shared/src/lib/record/quality-score.util.mjs +45 -0
- package/esm2022/libs/util/shared/src/lib/record/record.util.mjs +56 -0
- package/esm2022/translations/de.json +7 -0
- package/esm2022/translations/en.json +7 -0
- package/esm2022/translations/es.json +7 -0
- package/esm2022/translations/fr.json +8 -1
- package/esm2022/translations/it.json +7 -0
- package/esm2022/translations/nl.json +7 -0
- package/esm2022/translations/pt.json +7 -0
- package/esm2022/translations/sk.json +7 -0
- package/fesm2022/geonetwork-ui.mjs +209 -52
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts +19 -0
- package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +7 -6
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/util/shared/src/index.d.ts +1 -1
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/record/index.d.ts +3 -0
- package/libs/util/shared/src/lib/record/index.d.ts.map +1 -0
- package/libs/util/shared/src/lib/record/quality-score.util.d.ts +13 -0
- package/libs/util/shared/src/lib/record/quality-score.util.d.ts.map +1 -0
- package/libs/util/shared/src/lib/record/record.util.d.ts +3 -0
- package/libs/util/shared/src/lib/record/record.util.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -0
- package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +0 -3
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.html +37 -0
- package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.ts +93 -0
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +2 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +0 -2
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +1 -0
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +5 -1
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +1 -0
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +21 -54
- package/src/libs/util/shared/src/index.ts +1 -1
- package/src/libs/util/shared/src/lib/record/index.ts +2 -0
- package/src/libs/util/shared/src/lib/record/quality-score.util.ts +69 -0
- package/src/libs/util/shared/src/lib/{record.util.ts → record/record.util.ts} +1 -1
- package/translations/de.json +7 -0
- package/translations/en.json +7 -0
- package/translations/es.json +7 -0
- package/translations/fr.json +8 -1
- package/translations/it.json +7 -0
- package/translations/nl.json +7 -0
- package/translations/pt.json +7 -0
- package/translations/sk.json +7 -0
- package/esm2022/libs/util/shared/src/lib/record.util.mjs +0 -56
- package/libs/util/shared/src/lib/record.util.d.ts +0 -3
- package/libs/util/shared/src/lib/record.util.d.ts.map +0 -1
|
@@ -38,7 +38,7 @@ import * as TOML from '@ltd/j-toml';
|
|
|
38
38
|
import { Style, Fill, Stroke, Circle } from 'ol/style';
|
|
39
39
|
import CircleStyle from 'ol/style/Circle';
|
|
40
40
|
import EmblaCarousel from 'embla-carousel';
|
|
41
|
-
import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirSearch, iconoirLongArrowDownLeft, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirReduce, iconoirNavArrowDown, iconoirNavArrowUp, iconoirExpand, iconoirAppleWallet, iconoirDatabase, iconoirCode, iconoirAppWindow, iconoirBank, iconoirSettings, iconoirDownload, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirList, iconoirUser, iconoirLock, iconoirTranslate, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment, iconoirRefresh, iconoirCheckCircle, iconoirCircle } from '@ng-icons/iconoir';
|
|
41
|
+
import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirSearch, iconoirLongArrowDownLeft, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirReduce, iconoirNavArrowDown, iconoirNavArrowUp, iconoirExpand, iconoirAppleWallet, iconoirDatabase, iconoirCode, iconoirAppWindow, iconoirBank, iconoirSettings, iconoirDownload, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirList, iconoirUser, iconoirLock, iconoirTranslate, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment, iconoirRefresh, iconoirCheckCircle, iconoirCircle, iconoirSystemShut, iconoirBadgeCheck } from '@ng-icons/iconoir';
|
|
42
42
|
import { MatButtonModule } from '@angular/material/button';
|
|
43
43
|
import * as i1$8 from '@angular/cdk/overlay';
|
|
44
44
|
import { CdkConnectedOverlay, OverlayModule, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
@@ -795,8 +795,11 @@ function getStatusFromStatusCode(statusCode) {
|
|
|
795
795
|
case 'onGoing':
|
|
796
796
|
return 'ongoing';
|
|
797
797
|
case 'planned':
|
|
798
|
+
return 'planned';
|
|
798
799
|
case 'required':
|
|
800
|
+
return 'required';
|
|
799
801
|
case 'underDevelopment':
|
|
802
|
+
return 'under_development';
|
|
800
803
|
default:
|
|
801
804
|
return 'under_development';
|
|
802
805
|
}
|
|
@@ -893,12 +896,16 @@ marker('domain.record.status.ongoing');
|
|
|
893
896
|
marker('domain.record.status.under_development');
|
|
894
897
|
marker('domain.record.status.deprecated');
|
|
895
898
|
marker('domain.record.status.removed');
|
|
899
|
+
marker('domain.record.status.planned');
|
|
900
|
+
marker('domain.record.status.required');
|
|
896
901
|
const RecordStatusValues = [
|
|
897
902
|
'completed',
|
|
898
903
|
'ongoing',
|
|
899
904
|
'under_development',
|
|
900
905
|
'deprecated',
|
|
901
906
|
'removed',
|
|
907
|
+
'planned',
|
|
908
|
+
'required',
|
|
902
909
|
];
|
|
903
910
|
|
|
904
911
|
function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
|
|
@@ -1565,6 +1572,10 @@ function getProgressCode(status) {
|
|
|
1565
1572
|
return 'removed';
|
|
1566
1573
|
case 'under_development':
|
|
1567
1574
|
return 'underDevelopment';
|
|
1575
|
+
case 'planned':
|
|
1576
|
+
return 'planned';
|
|
1577
|
+
case 'required':
|
|
1578
|
+
return 'required';
|
|
1568
1579
|
default:
|
|
1569
1580
|
throw new Error(`Could not determine progress code from status: ${status}`);
|
|
1570
1581
|
}
|
|
@@ -18770,7 +18781,9 @@ var de = {
|
|
|
18770
18781
|
"domain.record.status.completed": "Abgeschlossen",
|
|
18771
18782
|
"domain.record.status.deprecated": "Veraltet",
|
|
18772
18783
|
"domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
|
|
18784
|
+
"domain.record.status.planned": "",
|
|
18773
18785
|
"domain.record.status.removed": "Entfernt",
|
|
18786
|
+
"domain.record.status.required": "",
|
|
18774
18787
|
"domain.record.status.under_development": "In Erstellung",
|
|
18775
18788
|
"domain.record.updateFrequency.annually": "Daten werden jedes Jahr aktualisiert",
|
|
18776
18789
|
"domain.record.updateFrequency.asNeeded": "Daten werden nach Bedarf aktualisiert",
|
|
@@ -18826,6 +18839,7 @@ var de = {
|
|
|
18826
18839
|
"editor.record.form.draft.updateAlert": "",
|
|
18827
18840
|
"editor.record.form.field.abstract": "Kurzbeschreibung",
|
|
18828
18841
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
18842
|
+
"editor.record.form.field.contacts": "Ansprechpartner - Email",
|
|
18829
18843
|
"editor.record.form.field.contacts.noContact": "",
|
|
18830
18844
|
"editor.record.form.field.contacts.placeholder": "",
|
|
18831
18845
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
@@ -18850,6 +18864,7 @@ var de = {
|
|
|
18850
18864
|
"editor.record.form.field.onlineResource.toggle.dataset": "",
|
|
18851
18865
|
"editor.record.form.field.onlineResource.toggle.service": "",
|
|
18852
18866
|
"editor.record.form.field.onlineResources": "",
|
|
18867
|
+
"editor.record.form.field.organisation": "Ansprechpartner - Organisation",
|
|
18853
18868
|
"editor.record.form.field.otherConstraints": "Allgemeine Einschränkung",
|
|
18854
18869
|
"editor.record.form.field.overviews": "",
|
|
18855
18870
|
"editor.record.form.field.recordUpdated": "Datensatz zuletzt aktualisiert",
|
|
@@ -18861,6 +18876,7 @@ var de = {
|
|
|
18861
18876
|
"editor.record.form.field.temporalExtents": "Zeitlicher Umfang",
|
|
18862
18877
|
"editor.record.form.field.title": "Metadaten-Titel",
|
|
18863
18878
|
"editor.record.form.field.title.placeholder": "Geben Sie einen Titel ein",
|
|
18879
|
+
"editor.record.form.field.topics": "Kategorien",
|
|
18864
18880
|
"editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
|
|
18865
18881
|
"editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
|
|
18866
18882
|
"editor.record.form.keywords.place.placeholder": "",
|
|
@@ -18875,6 +18891,8 @@ var de = {
|
|
|
18875
18891
|
"editor.record.form.license.odc-by": "",
|
|
18876
18892
|
"editor.record.form.license.pddl": "",
|
|
18877
18893
|
"editor.record.form.license.unknown": "",
|
|
18894
|
+
"editor.record.form.metadataQuality.open": "Öffnen Sie das Panel zur Metadatenqualität",
|
|
18895
|
+
"editor.record.form.metadataQuality.title": "Vollständigkeit",
|
|
18878
18896
|
"editor.record.form.multilingual.activate": "",
|
|
18879
18897
|
"editor.record.form.multilingual.default": "",
|
|
18880
18898
|
"editor.record.form.multilingual.enable": "",
|
|
@@ -19381,7 +19399,9 @@ var en = {
|
|
|
19381
19399
|
"domain.record.status.completed": "Completed",
|
|
19382
19400
|
"domain.record.status.deprecated": "Deprecated",
|
|
19383
19401
|
"domain.record.status.ongoing": "Ongoing",
|
|
19402
|
+
"domain.record.status.planned": "Planned",
|
|
19384
19403
|
"domain.record.status.removed": "Removed",
|
|
19404
|
+
"domain.record.status.required": "Required",
|
|
19385
19405
|
"domain.record.status.under_development": "Under development",
|
|
19386
19406
|
"domain.record.updateFrequency.annually": "Data is updated every year",
|
|
19387
19407
|
"domain.record.updateFrequency.asNeeded": "Data is updated as deemed necessary",
|
|
@@ -19437,6 +19457,7 @@ var en = {
|
|
|
19437
19457
|
"editor.record.form.draft.updateAlert": "Since you created this draft, the dataset has been updated on { date } by { user }. Publishing your draft might erase their edits. To avoid this, you need to either cancel your changes or knowingly publish your own version.",
|
|
19438
19458
|
"editor.record.form.field.abstract": "Abstract",
|
|
19439
19459
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
19460
|
+
"editor.record.form.field.contacts": "Point of contact - Email",
|
|
19440
19461
|
"editor.record.form.field.contacts.noContact": "Please provide at least one point of contact.",
|
|
19441
19462
|
"editor.record.form.field.contacts.placeholder": "Choose a contact",
|
|
19442
19463
|
"editor.record.form.field.contactsForResource.noContact": "Please provide at least one point of contact responsible for the data.",
|
|
@@ -19461,6 +19482,7 @@ var en = {
|
|
|
19461
19482
|
"editor.record.form.field.onlineResource.toggle.dataset": "Link to a file",
|
|
19462
19483
|
"editor.record.form.field.onlineResource.toggle.service": "Link to a service",
|
|
19463
19484
|
"editor.record.form.field.onlineResources": "Distribution",
|
|
19485
|
+
"editor.record.form.field.organisation": "Point of contact - Organization",
|
|
19464
19486
|
"editor.record.form.field.otherConstraints": "Other constraint",
|
|
19465
19487
|
"editor.record.form.field.overviews": "Overview",
|
|
19466
19488
|
"editor.record.form.field.recordUpdated": "Record updated",
|
|
@@ -19472,6 +19494,7 @@ var en = {
|
|
|
19472
19494
|
"editor.record.form.field.temporalExtents": "Temporal extents",
|
|
19473
19495
|
"editor.record.form.field.title": "Metadata title",
|
|
19474
19496
|
"editor.record.form.field.title.placeholder": "Enter a title",
|
|
19497
|
+
"editor.record.form.field.topics": "Categories",
|
|
19475
19498
|
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
19476
19499
|
"editor.record.form.field.updateFrequency": "Update frequency",
|
|
19477
19500
|
"editor.record.form.keywords.place.placeholder": "Search for place keywords",
|
|
@@ -19486,6 +19509,8 @@ var en = {
|
|
|
19486
19509
|
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
19487
19510
|
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
19488
19511
|
"editor.record.form.license.unknown": "Unknown or absent",
|
|
19512
|
+
"editor.record.form.metadataQuality.open": "Open the metadata quality panel",
|
|
19513
|
+
"editor.record.form.metadataQuality.title": "Completeness",
|
|
19489
19514
|
"editor.record.form.multilingual.activate": "Activate the languages",
|
|
19490
19515
|
"editor.record.form.multilingual.default": "Default",
|
|
19491
19516
|
"editor.record.form.multilingual.enable": "Multilingual Mode",
|
|
@@ -19992,7 +20017,9 @@ var es = {
|
|
|
19992
20017
|
"domain.record.status.completed": "",
|
|
19993
20018
|
"domain.record.status.deprecated": "",
|
|
19994
20019
|
"domain.record.status.ongoing": "",
|
|
20020
|
+
"domain.record.status.planned": "",
|
|
19995
20021
|
"domain.record.status.removed": "",
|
|
20022
|
+
"domain.record.status.required": "",
|
|
19996
20023
|
"domain.record.status.under_development": "",
|
|
19997
20024
|
"domain.record.updateFrequency.annually": "Los datos se actualizan cada año",
|
|
19998
20025
|
"domain.record.updateFrequency.asNeeded": "Los datos se actualizan según sea necesario",
|
|
@@ -20048,6 +20075,7 @@ var es = {
|
|
|
20048
20075
|
"editor.record.form.draft.updateAlert": "",
|
|
20049
20076
|
"editor.record.form.field.abstract": "",
|
|
20050
20077
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20078
|
+
"editor.record.form.field.contacts": "Punto de contacto - Correo ",
|
|
20051
20079
|
"editor.record.form.field.contacts.noContact": "",
|
|
20052
20080
|
"editor.record.form.field.contacts.placeholder": "",
|
|
20053
20081
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
@@ -20072,6 +20100,7 @@ var es = {
|
|
|
20072
20100
|
"editor.record.form.field.onlineResource.toggle.dataset": "",
|
|
20073
20101
|
"editor.record.form.field.onlineResource.toggle.service": "",
|
|
20074
20102
|
"editor.record.form.field.onlineResources": "",
|
|
20103
|
+
"editor.record.form.field.organisation": "Punto de contacto - Organización",
|
|
20075
20104
|
"editor.record.form.field.otherConstraints": "",
|
|
20076
20105
|
"editor.record.form.field.overviews": "",
|
|
20077
20106
|
"editor.record.form.field.recordUpdated": "",
|
|
@@ -20083,6 +20112,7 @@ var es = {
|
|
|
20083
20112
|
"editor.record.form.field.temporalExtents": "",
|
|
20084
20113
|
"editor.record.form.field.title": "",
|
|
20085
20114
|
"editor.record.form.field.title.placeholder": "Introduzca un título",
|
|
20115
|
+
"editor.record.form.field.topics": "Categorías",
|
|
20086
20116
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
20087
20117
|
"editor.record.form.field.updateFrequency": "",
|
|
20088
20118
|
"editor.record.form.keywords.place.placeholder": "",
|
|
@@ -20097,6 +20127,8 @@ var es = {
|
|
|
20097
20127
|
"editor.record.form.license.odc-by": "",
|
|
20098
20128
|
"editor.record.form.license.pddl": "",
|
|
20099
20129
|
"editor.record.form.license.unknown": "",
|
|
20130
|
+
"editor.record.form.metadataQuality.open": "Abrir el panel de calidad de los metadatos",
|
|
20131
|
+
"editor.record.form.metadataQuality.title": "Completitud",
|
|
20100
20132
|
"editor.record.form.multilingual.activate": "",
|
|
20101
20133
|
"editor.record.form.multilingual.default": "",
|
|
20102
20134
|
"editor.record.form.multilingual.enable": "",
|
|
@@ -20603,7 +20635,9 @@ var fr = {
|
|
|
20603
20635
|
"domain.record.status.completed": "Finalisé",
|
|
20604
20636
|
"domain.record.status.deprecated": "Obsolète",
|
|
20605
20637
|
"domain.record.status.ongoing": "Mise à jour continue",
|
|
20638
|
+
"domain.record.status.planned": "Planifié",
|
|
20606
20639
|
"domain.record.status.removed": "Supprimé",
|
|
20640
|
+
"domain.record.status.required": "Obligatoire",
|
|
20607
20641
|
"domain.record.status.under_development": "En cours de création",
|
|
20608
20642
|
"domain.record.updateFrequency.annually": "Les données sont mises à jour chaque année",
|
|
20609
20643
|
"domain.record.updateFrequency.asNeeded": "Les données sont mises à jour selon les besoins",
|
|
@@ -20616,7 +20650,7 @@ var fr = {
|
|
|
20616
20650
|
"domain.record.updateFrequency.irregular": "Les données sont mises à jour à intervalles irréguliers",
|
|
20617
20651
|
"domain.record.updateFrequency.month": "{count, plural, =0{0 fois} one{Une fois} other{{count} fois}} par mois",
|
|
20618
20652
|
"domain.record.updateFrequency.monthly": "Les données sont mises à jour chaque mois",
|
|
20619
|
-
"domain.record.updateFrequency.notPlanned": "
|
|
20653
|
+
"domain.record.updateFrequency.notPlanned": "La mise à jour des données n’est pas planifiée",
|
|
20620
20654
|
"domain.record.updateFrequency.periodic": "Les données sont mises à jour à intervalles réguliers",
|
|
20621
20655
|
"domain.record.updateFrequency.quarterly": "Les données sont mises à jour tous les trois mois",
|
|
20622
20656
|
"domain.record.updateFrequency.semimonthly": "Les données sont mises à jour deux fois par mois",
|
|
@@ -20659,6 +20693,7 @@ var fr = {
|
|
|
20659
20693
|
"editor.record.form.draft.updateAlert": "Depuis la création de ce brouillon, ce jeu de données a été modifié le { date } par { user }. Publier votre version peut supprimer ses modifications. Pour éviter cela, vous pouvez annuler vos changements, ou publier votre version en connaissance de cause.",
|
|
20660
20694
|
"editor.record.form.field.abstract": "Description",
|
|
20661
20695
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20696
|
+
"editor.record.form.field.contacts": "Point de contact - Email",
|
|
20662
20697
|
"editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
|
|
20663
20698
|
"editor.record.form.field.contacts.placeholder": "Choisissez un contact",
|
|
20664
20699
|
"editor.record.form.field.contactsForResource.noContact": "Veuillez renseigner au moins un point de contact responsable de la donnée.",
|
|
@@ -20683,6 +20718,7 @@ var fr = {
|
|
|
20683
20718
|
"editor.record.form.field.onlineResource.toggle.dataset": "Lier un fichier",
|
|
20684
20719
|
"editor.record.form.field.onlineResource.toggle.service": "Lier un service",
|
|
20685
20720
|
"editor.record.form.field.onlineResources": "Distribution",
|
|
20721
|
+
"editor.record.form.field.organisation": "Point de contact - Organisation",
|
|
20686
20722
|
"editor.record.form.field.otherConstraints": "Contrainte générale",
|
|
20687
20723
|
"editor.record.form.field.overviews": "Aperçu",
|
|
20688
20724
|
"editor.record.form.field.recordUpdated": "Date de mise à jour",
|
|
@@ -20694,6 +20730,7 @@ var fr = {
|
|
|
20694
20730
|
"editor.record.form.field.temporalExtents": "Étendue temporelle",
|
|
20695
20731
|
"editor.record.form.field.title": "Titre",
|
|
20696
20732
|
"editor.record.form.field.title.placeholder": "Saisir un titre",
|
|
20733
|
+
"editor.record.form.field.topics": "Thèmes",
|
|
20697
20734
|
"editor.record.form.field.uniqueIdentifier": "Identifiant unique",
|
|
20698
20735
|
"editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
|
|
20699
20736
|
"editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
|
|
@@ -20708,6 +20745,8 @@ var fr = {
|
|
|
20708
20745
|
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
20709
20746
|
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
20710
20747
|
"editor.record.form.license.unknown": "Inconnue ou absente",
|
|
20748
|
+
"editor.record.form.metadataQuality.open": "Ouvrir le menu de qualité des métadonnées",
|
|
20749
|
+
"editor.record.form.metadataQuality.title": "Complétion",
|
|
20711
20750
|
"editor.record.form.multilingual.activate": "Activez les langues",
|
|
20712
20751
|
"editor.record.form.multilingual.default": "Par défaut",
|
|
20713
20752
|
"editor.record.form.multilingual.enable": "Mode Multilingue",
|
|
@@ -21214,7 +21253,9 @@ var it = {
|
|
|
21214
21253
|
"domain.record.status.completed": "Completato",
|
|
21215
21254
|
"domain.record.status.deprecated": "Deprecato",
|
|
21216
21255
|
"domain.record.status.ongoing": "Aggiornamento continuo",
|
|
21256
|
+
"domain.record.status.planned": "",
|
|
21217
21257
|
"domain.record.status.removed": "Rimosso",
|
|
21258
|
+
"domain.record.status.required": "",
|
|
21218
21259
|
"domain.record.status.under_development": "In fase di creazione",
|
|
21219
21260
|
"domain.record.updateFrequency.annually": "I dati vengono aggiornati ogni anno",
|
|
21220
21261
|
"domain.record.updateFrequency.asNeeded": "I dati vengono aggiornati secondo necessità",
|
|
@@ -21270,6 +21311,7 @@ var it = {
|
|
|
21270
21311
|
"editor.record.form.draft.updateAlert": "Da quando è stata creata questa bozza, questo dataset è stato modificato il { date } da { user }. La pubblicazione della sua versione potrebbe rimuovere le loro modifiche. Per evitarlo, puoi annullare le sue modifiche o pubblicare la sua versione consapevolmente.",
|
|
21271
21312
|
"editor.record.form.field.abstract": "Riassunto",
|
|
21272
21313
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
21314
|
+
"editor.record.form.field.contacts": "",
|
|
21273
21315
|
"editor.record.form.field.contacts.noContact": "Inserisci almeno un punto di contatto.",
|
|
21274
21316
|
"editor.record.form.field.contacts.placeholder": "Scegli un contatto",
|
|
21275
21317
|
"editor.record.form.field.contactsForResource.noContact": "Inserisci almeno un punto di contatto responsabile dei dati.",
|
|
@@ -21294,6 +21336,7 @@ var it = {
|
|
|
21294
21336
|
"editor.record.form.field.onlineResource.toggle.dataset": "Collega un file",
|
|
21295
21337
|
"editor.record.form.field.onlineResource.toggle.service": "Collega un servizio",
|
|
21296
21338
|
"editor.record.form.field.onlineResources": "Distribuzione",
|
|
21339
|
+
"editor.record.form.field.organisation": "",
|
|
21297
21340
|
"editor.record.form.field.otherConstraints": "Vincolo generale",
|
|
21298
21341
|
"editor.record.form.field.overviews": "Panoramica",
|
|
21299
21342
|
"editor.record.form.field.recordUpdated": "Data di aggiornamento",
|
|
@@ -21305,6 +21348,7 @@ var it = {
|
|
|
21305
21348
|
"editor.record.form.field.temporalExtents": "Estensioni temporali",
|
|
21306
21349
|
"editor.record.form.field.title": "Titolo",
|
|
21307
21350
|
"editor.record.form.field.title.placeholder": "Inserisci un titolo",
|
|
21351
|
+
"editor.record.form.field.topics": "",
|
|
21308
21352
|
"editor.record.form.field.uniqueIdentifier": "Identificatore univoco",
|
|
21309
21353
|
"editor.record.form.field.updateFrequency": "Frequenza di aggiornamento",
|
|
21310
21354
|
"editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
|
|
@@ -21319,6 +21363,8 @@ var it = {
|
|
|
21319
21363
|
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
21320
21364
|
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
21321
21365
|
"editor.record.form.license.unknown": "Sconosciuto o assente",
|
|
21366
|
+
"editor.record.form.metadataQuality.open": "",
|
|
21367
|
+
"editor.record.form.metadataQuality.title": "",
|
|
21322
21368
|
"editor.record.form.multilingual.activate": "",
|
|
21323
21369
|
"editor.record.form.multilingual.default": "",
|
|
21324
21370
|
"editor.record.form.multilingual.enable": "Aprire il pannello multilingue",
|
|
@@ -21825,7 +21871,9 @@ var nl = {
|
|
|
21825
21871
|
"domain.record.status.completed": "",
|
|
21826
21872
|
"domain.record.status.deprecated": "",
|
|
21827
21873
|
"domain.record.status.ongoing": "",
|
|
21874
|
+
"domain.record.status.planned": "",
|
|
21828
21875
|
"domain.record.status.removed": "",
|
|
21876
|
+
"domain.record.status.required": "",
|
|
21829
21877
|
"domain.record.status.under_development": "",
|
|
21830
21878
|
"domain.record.updateFrequency.annually": "Gegevens worden elk jaar bijgewerkt",
|
|
21831
21879
|
"domain.record.updateFrequency.asNeeded": "Gegevens worden bijgewerkt naar behoefte",
|
|
@@ -21881,6 +21929,7 @@ var nl = {
|
|
|
21881
21929
|
"editor.record.form.draft.updateAlert": "",
|
|
21882
21930
|
"editor.record.form.field.abstract": "",
|
|
21883
21931
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
21932
|
+
"editor.record.form.field.contacts": "",
|
|
21884
21933
|
"editor.record.form.field.contacts.noContact": "",
|
|
21885
21934
|
"editor.record.form.field.contacts.placeholder": "",
|
|
21886
21935
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
@@ -21905,6 +21954,7 @@ var nl = {
|
|
|
21905
21954
|
"editor.record.form.field.onlineResource.toggle.dataset": "",
|
|
21906
21955
|
"editor.record.form.field.onlineResource.toggle.service": "",
|
|
21907
21956
|
"editor.record.form.field.onlineResources": "",
|
|
21957
|
+
"editor.record.form.field.organisation": "",
|
|
21908
21958
|
"editor.record.form.field.otherConstraints": "",
|
|
21909
21959
|
"editor.record.form.field.overviews": "",
|
|
21910
21960
|
"editor.record.form.field.recordUpdated": "",
|
|
@@ -21916,6 +21966,7 @@ var nl = {
|
|
|
21916
21966
|
"editor.record.form.field.temporalExtents": "",
|
|
21917
21967
|
"editor.record.form.field.title": "",
|
|
21918
21968
|
"editor.record.form.field.title.placeholder": "Voer een titel in",
|
|
21969
|
+
"editor.record.form.field.topics": "",
|
|
21919
21970
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
21920
21971
|
"editor.record.form.field.updateFrequency": "",
|
|
21921
21972
|
"editor.record.form.keywords.place.placeholder": "",
|
|
@@ -21930,6 +21981,8 @@ var nl = {
|
|
|
21930
21981
|
"editor.record.form.license.odc-by": "",
|
|
21931
21982
|
"editor.record.form.license.pddl": "",
|
|
21932
21983
|
"editor.record.form.license.unknown": "",
|
|
21984
|
+
"editor.record.form.metadataQuality.open": "",
|
|
21985
|
+
"editor.record.form.metadataQuality.title": "",
|
|
21933
21986
|
"editor.record.form.multilingual.activate": "",
|
|
21934
21987
|
"editor.record.form.multilingual.default": "",
|
|
21935
21988
|
"editor.record.form.multilingual.enable": "",
|
|
@@ -22436,7 +22489,9 @@ var pt = {
|
|
|
22436
22489
|
"domain.record.status.completed": "",
|
|
22437
22490
|
"domain.record.status.deprecated": "",
|
|
22438
22491
|
"domain.record.status.ongoing": "",
|
|
22492
|
+
"domain.record.status.planned": "",
|
|
22439
22493
|
"domain.record.status.removed": "",
|
|
22494
|
+
"domain.record.status.required": "",
|
|
22440
22495
|
"domain.record.status.under_development": "",
|
|
22441
22496
|
"domain.record.updateFrequency.annually": "Os dados são atualizados anualmente",
|
|
22442
22497
|
"domain.record.updateFrequency.asNeeded": "Os dados são atualizados conforme necessário",
|
|
@@ -22492,6 +22547,7 @@ var pt = {
|
|
|
22492
22547
|
"editor.record.form.draft.updateAlert": "",
|
|
22493
22548
|
"editor.record.form.field.abstract": "",
|
|
22494
22549
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
22550
|
+
"editor.record.form.field.contacts": "",
|
|
22495
22551
|
"editor.record.form.field.contacts.noContact": "",
|
|
22496
22552
|
"editor.record.form.field.contacts.placeholder": "",
|
|
22497
22553
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
@@ -22516,6 +22572,7 @@ var pt = {
|
|
|
22516
22572
|
"editor.record.form.field.onlineResource.toggle.dataset": "",
|
|
22517
22573
|
"editor.record.form.field.onlineResource.toggle.service": "",
|
|
22518
22574
|
"editor.record.form.field.onlineResources": "",
|
|
22575
|
+
"editor.record.form.field.organisation": "",
|
|
22519
22576
|
"editor.record.form.field.otherConstraints": "",
|
|
22520
22577
|
"editor.record.form.field.overviews": "",
|
|
22521
22578
|
"editor.record.form.field.recordUpdated": "",
|
|
@@ -22527,6 +22584,7 @@ var pt = {
|
|
|
22527
22584
|
"editor.record.form.field.temporalExtents": "",
|
|
22528
22585
|
"editor.record.form.field.title": "",
|
|
22529
22586
|
"editor.record.form.field.title.placeholder": "Insira um título",
|
|
22587
|
+
"editor.record.form.field.topics": "",
|
|
22530
22588
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
22531
22589
|
"editor.record.form.field.updateFrequency": "",
|
|
22532
22590
|
"editor.record.form.keywords.place.placeholder": "",
|
|
@@ -22541,6 +22599,8 @@ var pt = {
|
|
|
22541
22599
|
"editor.record.form.license.odc-by": "",
|
|
22542
22600
|
"editor.record.form.license.pddl": "",
|
|
22543
22601
|
"editor.record.form.license.unknown": "",
|
|
22602
|
+
"editor.record.form.metadataQuality.open": "",
|
|
22603
|
+
"editor.record.form.metadataQuality.title": "",
|
|
22544
22604
|
"editor.record.form.multilingual.activate": "",
|
|
22545
22605
|
"editor.record.form.multilingual.default": "",
|
|
22546
22606
|
"editor.record.form.multilingual.enable": "",
|
|
@@ -23047,7 +23107,9 @@ var sk = {
|
|
|
23047
23107
|
"domain.record.status.completed": "Dokončené",
|
|
23048
23108
|
"domain.record.status.deprecated": "Zastarané",
|
|
23049
23109
|
"domain.record.status.ongoing": "Prebiehajúce",
|
|
23110
|
+
"domain.record.status.planned": "",
|
|
23050
23111
|
"domain.record.status.removed": "Odstránené",
|
|
23112
|
+
"domain.record.status.required": "",
|
|
23051
23113
|
"domain.record.status.under_development": "Vo vývoji",
|
|
23052
23114
|
"domain.record.updateFrequency.annually": "Údaje sa aktualizujú každý rok",
|
|
23053
23115
|
"domain.record.updateFrequency.asNeeded": "Údaje sa aktualizujú podľa potreby",
|
|
@@ -23103,6 +23165,7 @@ var sk = {
|
|
|
23103
23165
|
"editor.record.form.draft.updateAlert": "",
|
|
23104
23166
|
"editor.record.form.field.abstract": "",
|
|
23105
23167
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
23168
|
+
"editor.record.form.field.contacts": "",
|
|
23106
23169
|
"editor.record.form.field.contacts.noContact": "",
|
|
23107
23170
|
"editor.record.form.field.contacts.placeholder": "",
|
|
23108
23171
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
@@ -23127,6 +23190,7 @@ var sk = {
|
|
|
23127
23190
|
"editor.record.form.field.onlineResource.toggle.dataset": "",
|
|
23128
23191
|
"editor.record.form.field.onlineResource.toggle.service": "",
|
|
23129
23192
|
"editor.record.form.field.onlineResources": "",
|
|
23193
|
+
"editor.record.form.field.organisation": "",
|
|
23130
23194
|
"editor.record.form.field.otherConstraints": "",
|
|
23131
23195
|
"editor.record.form.field.overviews": "",
|
|
23132
23196
|
"editor.record.form.field.recordUpdated": "",
|
|
@@ -23138,6 +23202,7 @@ var sk = {
|
|
|
23138
23202
|
"editor.record.form.field.temporalExtents": "",
|
|
23139
23203
|
"editor.record.form.field.title": "",
|
|
23140
23204
|
"editor.record.form.field.title.placeholder": "Zadajte názov",
|
|
23205
|
+
"editor.record.form.field.topics": "",
|
|
23141
23206
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
23142
23207
|
"editor.record.form.field.updateFrequency": "",
|
|
23143
23208
|
"editor.record.form.keywords.place.placeholder": "",
|
|
@@ -23152,6 +23217,8 @@ var sk = {
|
|
|
23152
23217
|
"editor.record.form.license.odc-by": "",
|
|
23153
23218
|
"editor.record.form.license.pddl": "",
|
|
23154
23219
|
"editor.record.form.license.unknown": "",
|
|
23220
|
+
"editor.record.form.metadataQuality.open": "",
|
|
23221
|
+
"editor.record.form.metadataQuality.title": "",
|
|
23155
23222
|
"editor.record.form.multilingual.activate": "",
|
|
23156
23223
|
"editor.record.form.multilingual.default": "",
|
|
23157
23224
|
"editor.record.form.multilingual.enable": "",
|
|
@@ -26342,7 +26409,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26342
26409
|
}] } });
|
|
26343
26410
|
|
|
26344
26411
|
var name = "geonetwork-ui";
|
|
26345
|
-
var version = "2.7.0-dev.
|
|
26412
|
+
var version = "2.7.0-dev.1ac68f56b";
|
|
26346
26413
|
var engines = {
|
|
26347
26414
|
node: ">=20"
|
|
26348
26415
|
};
|
|
@@ -26441,6 +26508,51 @@ const GEONETWORK_UI_TAG_NAME = GEONETWORK_UI_VERSION.split('-')[1] === 'dev'
|
|
|
26441
26508
|
? 'main'
|
|
26442
26509
|
: `v${packageJson.version}`;
|
|
26443
26510
|
|
|
26511
|
+
const ValidatorMapper = {
|
|
26512
|
+
title: (record) => !!record?.title,
|
|
26513
|
+
abstract: (record) => !!record?.abstract,
|
|
26514
|
+
keywords: (record) => (record?.keywords?.length ?? 0) > 0,
|
|
26515
|
+
legalConstraints: (record) => (record?.legalConstraints?.length ?? 0) > 0,
|
|
26516
|
+
contacts: (record) => !!record?.contacts?.[0]?.email,
|
|
26517
|
+
updateFrequency: (record) => !!record?.updateFrequency,
|
|
26518
|
+
topics: (record) => (record?.topics?.length ?? 0) > 0,
|
|
26519
|
+
organisation: (record) => !!record?.contacts?.[0]?.organization?.name,
|
|
26520
|
+
capabilities: (record) => record?.onlineResources?.some((resource) => resource?.url?.href.toLowerCase().includes('capabilities')),
|
|
26521
|
+
source: (record) => !!record?.extras?.sourcesIdentifiers,
|
|
26522
|
+
};
|
|
26523
|
+
function getAllKeysValidator() {
|
|
26524
|
+
return Object.keys(ValidatorMapper);
|
|
26525
|
+
}
|
|
26526
|
+
function getMappersFromKind(kind) {
|
|
26527
|
+
let kindKeys = [];
|
|
26528
|
+
const commonsKeys = [
|
|
26529
|
+
'title',
|
|
26530
|
+
'abstract',
|
|
26531
|
+
'keywords',
|
|
26532
|
+
'legalConstraints',
|
|
26533
|
+
'contacts',
|
|
26534
|
+
];
|
|
26535
|
+
switch (kind) {
|
|
26536
|
+
case 'service':
|
|
26537
|
+
kindKeys = ['capabilities'];
|
|
26538
|
+
break;
|
|
26539
|
+
case 'reuse':
|
|
26540
|
+
kindKeys = ['topics', 'organisation', 'source'];
|
|
26541
|
+
break;
|
|
26542
|
+
case 'dataset':
|
|
26543
|
+
default:
|
|
26544
|
+
kindKeys = ['updateFrequency', 'topics', 'organisation'];
|
|
26545
|
+
}
|
|
26546
|
+
return [...commonsKeys, ...kindKeys];
|
|
26547
|
+
}
|
|
26548
|
+
function getQualityValidators(record, propsToValidate) {
|
|
26549
|
+
const filteredProps = propsToValidate.filter((prop) => getMappersFromKind(record.kind).includes(prop));
|
|
26550
|
+
return filteredProps.map((name) => ({
|
|
26551
|
+
name,
|
|
26552
|
+
validator: () => ValidatorMapper[name](record),
|
|
26553
|
+
}));
|
|
26554
|
+
}
|
|
26555
|
+
|
|
26444
26556
|
function updateLanguages(record, defaultLanguage, otherLanguages) {
|
|
26445
26557
|
function updateFieldTranslations(target, fieldName) {
|
|
26446
26558
|
const fieldTranslations = {};
|
|
@@ -31921,58 +32033,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
31921
32033
|
class MetadataQualityComponent {
|
|
31922
32034
|
constructor() {
|
|
31923
32035
|
this.smaller = false;
|
|
32036
|
+
this.popoverDisplay = true;
|
|
32037
|
+
this.forceComputeScore = false; // Instead of returning es' quality score
|
|
31924
32038
|
this.items = [];
|
|
31925
|
-
this.COMMON_CHECKS = {
|
|
31926
|
-
title: (metadata) => !!metadata?.title,
|
|
31927
|
-
description: (metadata) => !!metadata?.abstract,
|
|
31928
|
-
keywords: (metadata) => (metadata?.keywords?.length ?? 0) > 0,
|
|
31929
|
-
legalConstraints: (metadata) => (metadata?.legalConstraints?.length ?? 0) > 0,
|
|
31930
|
-
contact: (metadata) => !!metadata?.contacts?.[0]?.email,
|
|
31931
|
-
};
|
|
31932
|
-
this.SPECIFIC_CHECKS = {
|
|
31933
|
-
dataset: {
|
|
31934
|
-
updateFrequency: (metadata) => !!metadata?.updateFrequency,
|
|
31935
|
-
topic: (metadata) => (metadata?.topics?.length ?? 0) > 0,
|
|
31936
|
-
organisation: (metadata) => !!metadata?.contacts?.[0]?.organization?.name,
|
|
31937
|
-
},
|
|
31938
|
-
service: {
|
|
31939
|
-
capabilities: (metadata) => (metadata?.onlineResources ?? []).some((resource) => this.hasGetCapabilities(resource?.url?.href ?? '')),
|
|
31940
|
-
},
|
|
31941
|
-
reuse: {
|
|
31942
|
-
topic: (metadata) => (metadata?.topics?.length ?? 0) > 0,
|
|
31943
|
-
organisation: (metadata) => !!metadata?.contacts?.[0]?.organization?.name,
|
|
31944
|
-
source: (metadata) => !!metadata?.extras?.sourcesIdentifiers,
|
|
31945
|
-
},
|
|
31946
|
-
};
|
|
31947
32039
|
}
|
|
31948
32040
|
get qualityScore() {
|
|
31949
|
-
const qualityScore = this.
|
|
32041
|
+
const qualityScore = !this.forceComputeScore
|
|
32042
|
+
? this.metadata?.extras?.qualityScore
|
|
32043
|
+
: this.computedQualityScore;
|
|
31950
32044
|
return typeof qualityScore === 'number'
|
|
31951
32045
|
? qualityScore
|
|
31952
|
-
: this.
|
|
32046
|
+
: this.computedQualityScore;
|
|
31953
32047
|
}
|
|
31954
|
-
get
|
|
32048
|
+
get computedQualityScore() {
|
|
31955
32049
|
return Math.round((this.items.filter(({ value }) => value).length * 100) / this.items.length);
|
|
31956
32050
|
}
|
|
31957
|
-
add(name, value) {
|
|
31958
|
-
if (this.metadataQualityDisplay?.[name] !== false) {
|
|
31959
|
-
this.items.push({ name, value });
|
|
31960
|
-
}
|
|
31961
|
-
}
|
|
31962
32051
|
hasGetCapabilities(url) {
|
|
31963
32052
|
return url.toLowerCase().includes('capabilities');
|
|
31964
32053
|
}
|
|
31965
32054
|
initialize() {
|
|
31966
|
-
this.
|
|
31967
|
-
|
|
31968
|
-
this.add(name, check(this.metadata));
|
|
31969
|
-
});
|
|
31970
|
-
const datasetType = this.metadata?.kind;
|
|
31971
|
-
if (datasetType && this.SPECIFIC_CHECKS[datasetType]) {
|
|
31972
|
-
Object.entries(this.SPECIFIC_CHECKS[datasetType]).forEach(([name, check]) => {
|
|
31973
|
-
this.add(name, check(this.metadata));
|
|
31974
|
-
});
|
|
32055
|
+
if (!this.propsToValidate) {
|
|
32056
|
+
this.propsToValidate = getAllKeysValidator();
|
|
31975
32057
|
}
|
|
32058
|
+
this.items = getQualityValidators(this.metadata, this.propsToValidate).map(({ name, validator }) => ({ name, value: validator() }));
|
|
31976
32059
|
}
|
|
31977
32060
|
ngOnChanges(changes) {
|
|
31978
32061
|
if (changes['metadata'] || changes['metadataQualityDisplay']) {
|
|
@@ -31980,7 +32063,7 @@ class MetadataQualityComponent {
|
|
|
31980
32063
|
}
|
|
31981
32064
|
}
|
|
31982
32065
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31983
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay" }, providers: [
|
|
32066
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay", popoverDisplay: "popoverDisplay", propsToValidate: "propsToValidate", forceComputeScore: "forceComputeScore" }, providers: [
|
|
31984
32067
|
provideIcons({
|
|
31985
32068
|
matInfoOutline,
|
|
31986
32069
|
}),
|
|
@@ -31988,7 +32071,7 @@ class MetadataQualityComponent {
|
|
|
31988
32071
|
size: '1.2em',
|
|
31989
32072
|
strokeWidth: '1.5px',
|
|
31990
32073
|
}),
|
|
31991
|
-
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32074
|
+
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n *ngIf=\"popoverDisplay\"\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31992
32075
|
}
|
|
31993
32076
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, decorators: [{
|
|
31994
32077
|
type: Component,
|
|
@@ -32007,13 +32090,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
32007
32090
|
size: '1.2em',
|
|
32008
32091
|
strokeWidth: '1.5px',
|
|
32009
32092
|
}),
|
|
32010
|
-
], template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
|
|
32093
|
+
], template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n *ngIf=\"popoverDisplay\"\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
|
|
32011
32094
|
}], propDecorators: { metadata: [{
|
|
32012
32095
|
type: Input
|
|
32013
32096
|
}], smaller: [{
|
|
32014
32097
|
type: Input
|
|
32015
32098
|
}], metadataQualityDisplay: [{
|
|
32016
32099
|
type: Input
|
|
32100
|
+
}], popoverDisplay: [{
|
|
32101
|
+
type: Input
|
|
32102
|
+
}], propsToValidate: [{
|
|
32103
|
+
type: Input
|
|
32104
|
+
}], forceComputeScore: [{
|
|
32105
|
+
type: Input
|
|
32017
32106
|
}] } });
|
|
32018
32107
|
|
|
32019
32108
|
class InternalLinkCardComponent {
|
|
@@ -32055,7 +32144,7 @@ class InternalLinkCardComponent {
|
|
|
32055
32144
|
provideNgIconsConfig({
|
|
32056
32145
|
size: '1.2em',
|
|
32057
32146
|
}),
|
|
32058
|
-
], ngImport: i0, template: "<a\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n class=\"record-card\"\n [ngClass]=\"cardClass\"\n>\n <div *ngIf=\"shouldShowThumbnail\" class=\"record-card__thumbnail\">\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow pt-1\" [ngClass]=\"shouldShowThumbnail ? 'sm:w-0' : ''\">\n <div class=\"flex flex-col gap-2 h-full\">\n <h4\n class=\"record-card__title\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n <div class=\"grow\">\n <gn-ui-markdown-parser\n data-cy=\"recordAbstract\"\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n class=\"record-card__abstract\"\n [title]=\"abstract\"\n ></gn-ui-markdown-parser>\n </div>\n <div class=\"record-card__footer\">\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"record.ownerOrganization?.name\"\n class=\"grow flex flex-row gap-1 items-center text-primary-lighter\"\n [ngClass]=\"displayContactIconOnly ? 'justify-center' : ''\"\n >\n <ng-icon\n name=\"iconoirBank\"\n class=\"text-primary -translate-y-[0.5px] shrink-0\"\n [title]=\"record.ownerOrganization.name\"\n ></ng-icon>\n <span\n *ngIf=\"!displayContactIconOnly\"\n data-cy=\"recordOrgName\"\n class=\"line-clamp-1\"\n [title]=\"record.ownerOrganization.name\"\n >{{ record.ownerOrganization.name }}</span\n >\n </div>\n <div class=\"record-card__footer__other\">\n <div\n class=\"xs:border-r last:border-r-0 flex grow gap-4 px-4 last:pr-0\"\n >\n <gn-ui-kind-badge\n [extraClass]=\"'text-[1.2em]'\"\n [styling]=\"'gray'\"\n [kind]=\"record?.kind\"\n [contentTemplate]=\"customTemplate\"\n class=\"pt-1\"\n >\n <ng-template #customTemplate></ng-template\n ></gn-ui-kind-badge>\n <gn-ui-metadata-quality\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center min-w-[113px]\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"flex justify-center\"\n data-cy=\"recordFav\"\n [ngClass]=\"displayContactIconOnly ? 'px-1' : 'px-4'\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [".record-card{@apply rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden items-stretch flex flex-row md:gap-0 justify-between py-3 pl-3 pr-5;}.record-card.size-L{@apply w-full md:h-[208px] gap-5;}.record-card.size-M{@apply max-w-[940px] md:h-[231px] gap-4;}.record-card.size-S{@apply max-w-[572px] md:h-[315px] gap-4;}.record-card.size-XS{@apply max-w-[280px] md:h-[315px] gap-4;}.record-card:hover .record-card__title{@apply text-primary;}.record-card__thumbnail{@apply border rounded-lg overflow-hidden shrink-0;}.size-L .record-card__thumbnail{@apply w-full w-[190px] h-[184px];}.size-M .record-card__thumbnail{@apply w-full w-[138px] h-[207px];}.record-card__title{@apply text-xl font-medium text-title leading-6;}.size-L .record-card__title{@apply line-clamp-2;}.size-M .record-card__title{@apply line-clamp-2 ml-2;}.size-S .record-card__title,.size-XS .record-card__title{@apply line-clamp-3 ml-2;}.record-card__abstract{@apply text-gray-900 overflow-hidden;}.size-L .record-card__abstract{@apply line-clamp-3;}.size-M .record-card__abstract{@apply line-clamp-3 ml-2;}.size-S .record-card__abstract,.size-XS .record-card__abstract{@apply line-clamp-4 ml-2;}.record-card__footer{@apply flex sm:flex-row flex-col flex-nowrap gap-3 justify-end items-center w-full border-t pt-1 overflow-hidden;}@media (max-width: 450px){.size-S .record-card__footer{@apply flex-col items-stretch;}}.size-XS .record-card__footer{@apply flex-col items-stretch gap-2;}.record-card__footer__other{@apply flex flex-col xs:flex-row flex-nowrap gap-3 xs:border-l first:border-l-0;}.record-card__footer__other>div{@apply py-1;}@media (max-width: 450px){.size-S .record-card__footer__other,.size-S .record-card__footer__other>div{@apply border-0 px-0 py-0;}}.size-XS .record-card__footer__other,.size-XS .record-card__footer__other>div{@apply border-0;}.size-XS .record-card__footer__other>div{@apply px-0 py-0;}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind", "extraClass"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }] }); }
|
|
32147
|
+
], ngImport: i0, template: "<a\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n class=\"record-card\"\n [ngClass]=\"cardClass\"\n>\n <div *ngIf=\"shouldShowThumbnail\" class=\"record-card__thumbnail\">\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow pt-1\" [ngClass]=\"shouldShowThumbnail ? 'sm:w-0' : ''\">\n <div class=\"flex flex-col gap-2 h-full\">\n <h4\n class=\"record-card__title\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n <div class=\"grow\">\n <gn-ui-markdown-parser\n data-cy=\"recordAbstract\"\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n class=\"record-card__abstract\"\n [title]=\"abstract\"\n ></gn-ui-markdown-parser>\n </div>\n <div class=\"record-card__footer\">\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"record.ownerOrganization?.name\"\n class=\"grow flex flex-row gap-1 items-center text-primary-lighter\"\n [ngClass]=\"displayContactIconOnly ? 'justify-center' : ''\"\n >\n <ng-icon\n name=\"iconoirBank\"\n class=\"text-primary -translate-y-[0.5px] shrink-0\"\n [title]=\"record.ownerOrganization.name\"\n ></ng-icon>\n <span\n *ngIf=\"!displayContactIconOnly\"\n data-cy=\"recordOrgName\"\n class=\"line-clamp-1\"\n [title]=\"record.ownerOrganization.name\"\n >{{ record.ownerOrganization.name }}</span\n >\n </div>\n <div class=\"record-card__footer__other\">\n <div\n class=\"xs:border-r last:border-r-0 flex grow gap-4 px-4 last:pr-0\"\n >\n <gn-ui-kind-badge\n [extraClass]=\"'text-[1.2em]'\"\n [styling]=\"'gray'\"\n [kind]=\"record?.kind\"\n [contentTemplate]=\"customTemplate\"\n class=\"pt-1\"\n >\n <ng-template #customTemplate></ng-template\n ></gn-ui-kind-badge>\n <gn-ui-metadata-quality\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center min-w-[113px]\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n [popoverDisplay]=\"true\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"flex justify-center\"\n data-cy=\"recordFav\"\n [ngClass]=\"displayContactIconOnly ? 'px-1' : 'px-4'\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [".record-card{@apply rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden items-stretch flex flex-row md:gap-0 justify-between py-3 pl-3 pr-5;}.record-card.size-L{@apply w-full md:h-[208px] gap-5;}.record-card.size-M{@apply max-w-[940px] md:h-[231px] gap-4;}.record-card.size-S{@apply max-w-[572px] md:h-[315px] gap-4;}.record-card.size-XS{@apply max-w-[280px] md:h-[315px] gap-4;}.record-card:hover .record-card__title{@apply text-primary;}.record-card__thumbnail{@apply border rounded-lg overflow-hidden shrink-0;}.size-L .record-card__thumbnail{@apply w-full w-[190px] h-[184px];}.size-M .record-card__thumbnail{@apply w-full w-[138px] h-[207px];}.record-card__title{@apply text-xl font-medium text-title leading-6;}.size-L .record-card__title{@apply line-clamp-2;}.size-M .record-card__title{@apply line-clamp-2 ml-2;}.size-S .record-card__title,.size-XS .record-card__title{@apply line-clamp-3 ml-2;}.record-card__abstract{@apply text-gray-900 overflow-hidden;}.size-L .record-card__abstract{@apply line-clamp-3;}.size-M .record-card__abstract{@apply line-clamp-3 ml-2;}.size-S .record-card__abstract,.size-XS .record-card__abstract{@apply line-clamp-4 ml-2;}.record-card__footer{@apply flex sm:flex-row flex-col flex-nowrap gap-3 justify-end items-center w-full border-t pt-1 overflow-hidden;}@media (max-width: 450px){.size-S .record-card__footer{@apply flex-col items-stretch;}}.size-XS .record-card__footer{@apply flex-col items-stretch gap-2;}.record-card__footer__other{@apply flex flex-col xs:flex-row flex-nowrap gap-3 xs:border-l first:border-l-0;}.record-card__footer__other>div{@apply py-1;}@media (max-width: 450px){.size-S .record-card__footer__other,.size-S .record-card__footer__other>div{@apply border-0 px-0 py-0;}}.size-XS .record-card__footer__other,.size-XS .record-card__footer__other>div{@apply border-0;}.size-XS .record-card__footer__other>div{@apply px-0 py-0;}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay", "popoverDisplay", "propsToValidate", "forceComputeScore"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind", "extraClass"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }] }); }
|
|
32059
32148
|
}
|
|
32060
32149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, decorators: [{
|
|
32061
32150
|
type: Component,
|
|
@@ -32076,7 +32165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
32076
32165
|
provideNgIconsConfig({
|
|
32077
32166
|
size: '1.2em',
|
|
32078
32167
|
}),
|
|
32079
|
-
], template: "<a\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n class=\"record-card\"\n [ngClass]=\"cardClass\"\n>\n <div *ngIf=\"shouldShowThumbnail\" class=\"record-card__thumbnail\">\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow pt-1\" [ngClass]=\"shouldShowThumbnail ? 'sm:w-0' : ''\">\n <div class=\"flex flex-col gap-2 h-full\">\n <h4\n class=\"record-card__title\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n <div class=\"grow\">\n <gn-ui-markdown-parser\n data-cy=\"recordAbstract\"\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n class=\"record-card__abstract\"\n [title]=\"abstract\"\n ></gn-ui-markdown-parser>\n </div>\n <div class=\"record-card__footer\">\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"record.ownerOrganization?.name\"\n class=\"grow flex flex-row gap-1 items-center text-primary-lighter\"\n [ngClass]=\"displayContactIconOnly ? 'justify-center' : ''\"\n >\n <ng-icon\n name=\"iconoirBank\"\n class=\"text-primary -translate-y-[0.5px] shrink-0\"\n [title]=\"record.ownerOrganization.name\"\n ></ng-icon>\n <span\n *ngIf=\"!displayContactIconOnly\"\n data-cy=\"recordOrgName\"\n class=\"line-clamp-1\"\n [title]=\"record.ownerOrganization.name\"\n >{{ record.ownerOrganization.name }}</span\n >\n </div>\n <div class=\"record-card__footer__other\">\n <div\n class=\"xs:border-r last:border-r-0 flex grow gap-4 px-4 last:pr-0\"\n >\n <gn-ui-kind-badge\n [extraClass]=\"'text-[1.2em]'\"\n [styling]=\"'gray'\"\n [kind]=\"record?.kind\"\n [contentTemplate]=\"customTemplate\"\n class=\"pt-1\"\n >\n <ng-template #customTemplate></ng-template\n ></gn-ui-kind-badge>\n <gn-ui-metadata-quality\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center min-w-[113px]\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"flex justify-center\"\n data-cy=\"recordFav\"\n [ngClass]=\"displayContactIconOnly ? 'px-1' : 'px-4'\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [".record-card{@apply rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden items-stretch flex flex-row md:gap-0 justify-between py-3 pl-3 pr-5;}.record-card.size-L{@apply w-full md:h-[208px] gap-5;}.record-card.size-M{@apply max-w-[940px] md:h-[231px] gap-4;}.record-card.size-S{@apply max-w-[572px] md:h-[315px] gap-4;}.record-card.size-XS{@apply max-w-[280px] md:h-[315px] gap-4;}.record-card:hover .record-card__title{@apply text-primary;}.record-card__thumbnail{@apply border rounded-lg overflow-hidden shrink-0;}.size-L .record-card__thumbnail{@apply w-full w-[190px] h-[184px];}.size-M .record-card__thumbnail{@apply w-full w-[138px] h-[207px];}.record-card__title{@apply text-xl font-medium text-title leading-6;}.size-L .record-card__title{@apply line-clamp-2;}.size-M .record-card__title{@apply line-clamp-2 ml-2;}.size-S .record-card__title,.size-XS .record-card__title{@apply line-clamp-3 ml-2;}.record-card__abstract{@apply text-gray-900 overflow-hidden;}.size-L .record-card__abstract{@apply line-clamp-3;}.size-M .record-card__abstract{@apply line-clamp-3 ml-2;}.size-S .record-card__abstract,.size-XS .record-card__abstract{@apply line-clamp-4 ml-2;}.record-card__footer{@apply flex sm:flex-row flex-col flex-nowrap gap-3 justify-end items-center w-full border-t pt-1 overflow-hidden;}@media (max-width: 450px){.size-S .record-card__footer{@apply flex-col items-stretch;}}.size-XS .record-card__footer{@apply flex-col items-stretch gap-2;}.record-card__footer__other{@apply flex flex-col xs:flex-row flex-nowrap gap-3 xs:border-l first:border-l-0;}.record-card__footer__other>div{@apply py-1;}@media (max-width: 450px){.size-S .record-card__footer__other,.size-S .record-card__footer__other>div{@apply border-0 px-0 py-0;}}.size-XS .record-card__footer__other,.size-XS .record-card__footer__other>div{@apply border-0;}.size-XS .record-card__footer__other>div{@apply px-0 py-0;}\n"] }]
|
|
32168
|
+
], template: "<a\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n class=\"record-card\"\n [ngClass]=\"cardClass\"\n>\n <div *ngIf=\"shouldShowThumbnail\" class=\"record-card__thumbnail\">\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grow pt-1\" [ngClass]=\"shouldShowThumbnail ? 'sm:w-0' : ''\">\n <div class=\"flex flex-col gap-2 h-full\">\n <h4\n class=\"record-card__title\"\n data-cy=\"recordTitle\"\n [title]=\"record.title\"\n >\n {{ record.title }}\n </h4>\n <div class=\"grow\">\n <gn-ui-markdown-parser\n data-cy=\"recordAbstract\"\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n class=\"record-card__abstract\"\n [title]=\"abstract\"\n ></gn-ui-markdown-parser>\n </div>\n <div class=\"record-card__footer\">\n <div\n data-cy=\"recordOrg\"\n *ngIf=\"record.ownerOrganization?.name\"\n class=\"grow flex flex-row gap-1 items-center text-primary-lighter\"\n [ngClass]=\"displayContactIconOnly ? 'justify-center' : ''\"\n >\n <ng-icon\n name=\"iconoirBank\"\n class=\"text-primary -translate-y-[0.5px] shrink-0\"\n [title]=\"record.ownerOrganization.name\"\n ></ng-icon>\n <span\n *ngIf=\"!displayContactIconOnly\"\n data-cy=\"recordOrgName\"\n class=\"line-clamp-1\"\n [title]=\"record.ownerOrganization.name\"\n >{{ record.ownerOrganization.name }}</span\n >\n </div>\n <div class=\"record-card__footer__other\">\n <div\n class=\"xs:border-r last:border-r-0 flex grow gap-4 px-4 last:pr-0\"\n >\n <gn-ui-kind-badge\n [extraClass]=\"'text-[1.2em]'\"\n [styling]=\"'gray'\"\n [kind]=\"record?.kind\"\n [contentTemplate]=\"customTemplate\"\n class=\"pt-1\"\n >\n <ng-template #customTemplate></ng-template\n ></gn-ui-kind-badge>\n <gn-ui-metadata-quality\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center min-w-[113px]\"\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n [popoverDisplay]=\"true\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"flex justify-center\"\n data-cy=\"recordFav\"\n [ngClass]=\"displayContactIconOnly ? 'px-1' : 'px-4'\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n</a>\n", styles: [".record-card{@apply rounded-md bg-white hover:cursor-pointer hover:bg-slate-50 overflow-hidden items-stretch flex flex-row md:gap-0 justify-between py-3 pl-3 pr-5;}.record-card.size-L{@apply w-full md:h-[208px] gap-5;}.record-card.size-M{@apply max-w-[940px] md:h-[231px] gap-4;}.record-card.size-S{@apply max-w-[572px] md:h-[315px] gap-4;}.record-card.size-XS{@apply max-w-[280px] md:h-[315px] gap-4;}.record-card:hover .record-card__title{@apply text-primary;}.record-card__thumbnail{@apply border rounded-lg overflow-hidden shrink-0;}.size-L .record-card__thumbnail{@apply w-full w-[190px] h-[184px];}.size-M .record-card__thumbnail{@apply w-full w-[138px] h-[207px];}.record-card__title{@apply text-xl font-medium text-title leading-6;}.size-L .record-card__title{@apply line-clamp-2;}.size-M .record-card__title{@apply line-clamp-2 ml-2;}.size-S .record-card__title,.size-XS .record-card__title{@apply line-clamp-3 ml-2;}.record-card__abstract{@apply text-gray-900 overflow-hidden;}.size-L .record-card__abstract{@apply line-clamp-3;}.size-M .record-card__abstract{@apply line-clamp-3 ml-2;}.size-S .record-card__abstract,.size-XS .record-card__abstract{@apply line-clamp-4 ml-2;}.record-card__footer{@apply flex sm:flex-row flex-col flex-nowrap gap-3 justify-end items-center w-full border-t pt-1 overflow-hidden;}@media (max-width: 450px){.size-S .record-card__footer{@apply flex-col items-stretch;}}.size-XS .record-card__footer{@apply flex-col items-stretch gap-2;}.record-card__footer__other{@apply flex flex-col xs:flex-row flex-nowrap gap-3 xs:border-l first:border-l-0;}.record-card__footer__other>div{@apply py-1;}@media (max-width: 450px){.size-S .record-card__footer__other,.size-S .record-card__footer__other>div{@apply border-0 px-0 py-0;}}.size-XS .record-card__footer__other,.size-XS .record-card__footer__other>div{@apply border-0;}.size-XS .record-card__footer__other>div{@apply px-0 py-0;}\n"] }]
|
|
32080
32169
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { record: [{
|
|
32081
32170
|
type: Input
|
|
32082
32171
|
}], linkTarget: [{
|
|
@@ -40833,8 +40922,6 @@ const RECORD_KEYWORDS_FIELD = {
|
|
|
40833
40922
|
model: 'keywords',
|
|
40834
40923
|
formFieldConfig: {},
|
|
40835
40924
|
};
|
|
40836
|
-
// keeping track of the label to not lose existing translation
|
|
40837
|
-
marker('editor.record.form.field.keywords');
|
|
40838
40925
|
const RECORD_RESOURCE_CREATED_FIELD = {
|
|
40839
40926
|
model: 'resourceCreated',
|
|
40840
40927
|
formFieldConfig: {
|
|
@@ -43542,7 +43629,7 @@ class MultilingualPanelComponent {
|
|
|
43542
43629
|
provideNgIconsConfig({
|
|
43543
43630
|
size: '1.25em',
|
|
43544
43631
|
}),
|
|
43545
|
-
], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"flex flex-col h-full w-[302px]
|
|
43632
|
+
], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"flex flex-col h-full w-[302px] border-l border-gray-300 py-8 px-3 gap-6 overflow-auto\"\n style=\"background-color: #fafaf9\"\n>\n <div class=\"flex flex-row px-2 justify-between\">\n <span class=\"text-3xl font-title text-black/80\" translate\n >editor.record.form.multilingual.title</span\n >\n <button\n [title]=\"'editor.record.form.multilingual.open' | translate\"\n (click)=\"toggleLanguageSelection()\"\n *ngIf=\"isMultilingual\"\n data-test=\"activateSelection\"\n >\n <ng-icon class=\"mt-1\" name=\"iconoirSettings\"></ng-icon>\n </button>\n </div>\n <div class=\"flex flex-col gap-2\" *ngIf=\"editTranslations || !isMultilingual\">\n <gn-ui-check-toggle\n class=\"p-2\"\n [label]=\"'editor.record.form.multilingual.enable' | translate\"\n [color]=\"'primary'\"\n [(value)]=\"isMultilingual\"\n (toggled)=\"switchMultilingual($event)\"\n ></gn-ui-check-toggle>\n <div *ngIf=\"isMultilingual\" class=\"flex flex-col gap-2\">\n <div class=\"flex flex-row justify-between border-t border-gray-300 p-3\">\n <span class=\"mt-2 text-sm text-gray-600\" translate\n >editor.record.form.multilingual.activate</span\n >\n <gn-ui-button\n extraClass=\"w-16 h-8 font-bold\"\n type=\"gray\"\n (buttonClick)=\"validateTranslations()\"\n data-test=\"validateSelection\"\n >{{ 'editor.record.form.multilingual.validate' | translate }}\n </gn-ui-button>\n </div>\n <ng-container *ngIf=\"supportedLanguages$ | async as languages\">\n <div\n class=\"flex flex-col gap-2 w-full px-2\"\n data-test=\"langAvailable\"\n *ngFor=\"let lang of languages\"\n >\n <gn-ui-button\n [extraClass]=\"getExtraClass(lang)\"\n type=\"gray\"\n (buttonClick)=\"toggleLanguage(lang)\"\n [disabled]=\"lang === _record.defaultLanguage\"\n [title]=\"getToggleTitle(lang)\"\n >\n <span [class]=\"getIconClass(lang)\"></span>\n <span class=\"ml-2\">{{ 'language.' + lang | translate }}</span>\n </gn-ui-button>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"!editTranslations && isMultilingual\" class=\"flex flex-col gap-2\">\n <gn-ui-button\n *ngFor=\"let recordLang of sortLanguages(recordLanguages); let i = index\"\n extraClass=\"flex flex-row justify-between bg-white border border-white rounded mb-1 h-[34px] w-full\"\n [ngClass]=\"{\n 'mt-8': isFirstUnsupported(i),\n '': true,\n }\"\n (buttonClick)=\"switchFormLang(recordLang)\"\n type=\"outline\"\n data-test=\"langSwitch\"\n >\n <div class=\"flex flex-row gap-2 items-center\">\n <ng-icon\n *ngIf=\"recordLang === formLanguage\"\n class=\"text-primary mt-1\"\n name=\"iconoirCheckCircle\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"recordLang !== formLanguage\"\n class=\"text-gray-800 mt-1\"\n name=\"iconoirCircle\"\n ></ng-icon>\n <span\n *ngIf=\"recordLang.length === 2\"\n [class]=\"getIconClass(recordLang) + 'mt-1'\"\n ></span>\n <span [ngClass]=\"recordLang === formLanguage ? 'text-black' : ''\">{{\n isLangSupported(recordLang)\n ? ('language.' + recordLang | translate)\n : recordLang.toUpperCase()\n }}</span>\n </div>\n <div class=\"flex flex-row gap-2 items-center\">\n <span\n *ngIf=\"recordLang === formLanguage\"\n class=\"text-xs text-base\"\n translate\n >editor.record.form.multilingual.default</span\n >\n <button\n (click)=\"\n openActionMenu(recordLang, template); $event.stopPropagation()\n \"\n cdkOverlayOrigin\n #actionMenuButton\n >\n <ng-icon class=\"pb-5\" name=\"matMoreHorizOutline\"></ng-icon>\n </button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDelete]=\"recordLang !== _record.defaultLanguage\"\n page=\"record\"\n (delete)=\"confirmDeleteAction(recordLang)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (switch)=\"switchDefaultLang(recordLang)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </div>\n </gn-ui-button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: CheckToggleComponent, selector: "gn-ui-check-toggle", inputs: ["title", "label", "value", "color"], outputs: ["toggled"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "isDuplicating", "canDelete", "page"], outputs: ["duplicate", "delete", "closeActionMenu", "rollback", "switch"] }] }); }
|
|
43546
43633
|
}
|
|
43547
43634
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultilingualPanelComponent, decorators: [{
|
|
43548
43635
|
type: Component,
|
|
@@ -43564,7 +43651,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43564
43651
|
provideNgIconsConfig({
|
|
43565
43652
|
size: '1.25em',
|
|
43566
43653
|
}),
|
|
43567
|
-
], template: "<div\n class=\"flex flex-col h-full w-[302px]
|
|
43654
|
+
], template: "<div\n class=\"flex flex-col h-full w-[302px] border-l border-gray-300 py-8 px-3 gap-6 overflow-auto\"\n style=\"background-color: #fafaf9\"\n>\n <div class=\"flex flex-row px-2 justify-between\">\n <span class=\"text-3xl font-title text-black/80\" translate\n >editor.record.form.multilingual.title</span\n >\n <button\n [title]=\"'editor.record.form.multilingual.open' | translate\"\n (click)=\"toggleLanguageSelection()\"\n *ngIf=\"isMultilingual\"\n data-test=\"activateSelection\"\n >\n <ng-icon class=\"mt-1\" name=\"iconoirSettings\"></ng-icon>\n </button>\n </div>\n <div class=\"flex flex-col gap-2\" *ngIf=\"editTranslations || !isMultilingual\">\n <gn-ui-check-toggle\n class=\"p-2\"\n [label]=\"'editor.record.form.multilingual.enable' | translate\"\n [color]=\"'primary'\"\n [(value)]=\"isMultilingual\"\n (toggled)=\"switchMultilingual($event)\"\n ></gn-ui-check-toggle>\n <div *ngIf=\"isMultilingual\" class=\"flex flex-col gap-2\">\n <div class=\"flex flex-row justify-between border-t border-gray-300 p-3\">\n <span class=\"mt-2 text-sm text-gray-600\" translate\n >editor.record.form.multilingual.activate</span\n >\n <gn-ui-button\n extraClass=\"w-16 h-8 font-bold\"\n type=\"gray\"\n (buttonClick)=\"validateTranslations()\"\n data-test=\"validateSelection\"\n >{{ 'editor.record.form.multilingual.validate' | translate }}\n </gn-ui-button>\n </div>\n <ng-container *ngIf=\"supportedLanguages$ | async as languages\">\n <div\n class=\"flex flex-col gap-2 w-full px-2\"\n data-test=\"langAvailable\"\n *ngFor=\"let lang of languages\"\n >\n <gn-ui-button\n [extraClass]=\"getExtraClass(lang)\"\n type=\"gray\"\n (buttonClick)=\"toggleLanguage(lang)\"\n [disabled]=\"lang === _record.defaultLanguage\"\n [title]=\"getToggleTitle(lang)\"\n >\n <span [class]=\"getIconClass(lang)\"></span>\n <span class=\"ml-2\">{{ 'language.' + lang | translate }}</span>\n </gn-ui-button>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"!editTranslations && isMultilingual\" class=\"flex flex-col gap-2\">\n <gn-ui-button\n *ngFor=\"let recordLang of sortLanguages(recordLanguages); let i = index\"\n extraClass=\"flex flex-row justify-between bg-white border border-white rounded mb-1 h-[34px] w-full\"\n [ngClass]=\"{\n 'mt-8': isFirstUnsupported(i),\n '': true,\n }\"\n (buttonClick)=\"switchFormLang(recordLang)\"\n type=\"outline\"\n data-test=\"langSwitch\"\n >\n <div class=\"flex flex-row gap-2 items-center\">\n <ng-icon\n *ngIf=\"recordLang === formLanguage\"\n class=\"text-primary mt-1\"\n name=\"iconoirCheckCircle\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"recordLang !== formLanguage\"\n class=\"text-gray-800 mt-1\"\n name=\"iconoirCircle\"\n ></ng-icon>\n <span\n *ngIf=\"recordLang.length === 2\"\n [class]=\"getIconClass(recordLang) + 'mt-1'\"\n ></span>\n <span [ngClass]=\"recordLang === formLanguage ? 'text-black' : ''\">{{\n isLangSupported(recordLang)\n ? ('language.' + recordLang | translate)\n : recordLang.toUpperCase()\n }}</span>\n </div>\n <div class=\"flex flex-row gap-2 items-center\">\n <span\n *ngIf=\"recordLang === formLanguage\"\n class=\"text-xs text-base\"\n translate\n >editor.record.form.multilingual.default</span\n >\n <button\n (click)=\"\n openActionMenu(recordLang, template); $event.stopPropagation()\n \"\n cdkOverlayOrigin\n #actionMenuButton\n >\n <ng-icon class=\"pb-5\" name=\"matMoreHorizOutline\"></ng-icon>\n </button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDelete]=\"recordLang !== _record.defaultLanguage\"\n page=\"record\"\n (delete)=\"confirmDeleteAction(recordLang)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (switch)=\"switchDefaultLang(recordLang)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </div>\n </gn-ui-button>\n </div>\n</div>\n" }]
|
|
43568
43655
|
}], ctorParameters: () => [{ type: EditorFacade }, { type: i1$b.MatDialog }, { type: i1$1.TranslateService }, { type: RecordsRepositoryInterface }, { type: i1$8.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], propDecorators: { record: [{
|
|
43569
43656
|
type: Input
|
|
43570
43657
|
}], actionMenuButtons: [{
|
|
@@ -43572,6 +43659,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43572
43659
|
args: ['actionMenuButton', { read: ElementRef }]
|
|
43573
43660
|
}] } });
|
|
43574
43661
|
|
|
43662
|
+
//forced translations that are not available in fields.config.ts
|
|
43663
|
+
marker('editor.record.form.field.keywords');
|
|
43664
|
+
marker('editor.record.form.field.topics');
|
|
43665
|
+
marker('editor.record.form.field.contacts');
|
|
43666
|
+
marker('editor.record.form.field.organisation');
|
|
43667
|
+
class MetadataQualityPanelComponent {
|
|
43668
|
+
constructor() {
|
|
43669
|
+
this.propsToValidate = getAllKeysValidator();
|
|
43670
|
+
this.propertiesByPage = [];
|
|
43671
|
+
}
|
|
43672
|
+
ngOnChanges() {
|
|
43673
|
+
if (this.editorConfig && this.record) {
|
|
43674
|
+
const fieldsByPage = this.editorConfig.pages.map((page) => page.sections.flatMap((section) => section.fields
|
|
43675
|
+
.filter((field) => this.propsToValidate.includes(field.model) && !field.hidden)
|
|
43676
|
+
.map((field) => field.model)));
|
|
43677
|
+
// FIXME: temporarily add topics and organisation to the first and third page
|
|
43678
|
+
// as long as they are not handled by the editor
|
|
43679
|
+
if (fieldsByPage.length > 0) {
|
|
43680
|
+
fieldsByPage[0].includes('topics') || fieldsByPage[0].push('topics');
|
|
43681
|
+
fieldsByPage[2].includes('organisation') ||
|
|
43682
|
+
fieldsByPage[2].push('organisation');
|
|
43683
|
+
}
|
|
43684
|
+
this.propertiesByPage = fieldsByPage
|
|
43685
|
+
.map((fields) => getQualityValidators(this.record, fields).map(({ name, validator }) => ({
|
|
43686
|
+
label: `editor.record.form.field.${name}`, // use same translations as in fields.config.ts
|
|
43687
|
+
value: validator(),
|
|
43688
|
+
})))
|
|
43689
|
+
.filter((arr) => arr.length > 0);
|
|
43690
|
+
}
|
|
43691
|
+
}
|
|
43692
|
+
getExtraClass(checked) {
|
|
43693
|
+
const baseClasses = 'flex flex-row justify-between rounded mb-1 h-[34px] w-full focus:ring-0 hover:border-none border-none hover:text-black text-black cursor-default';
|
|
43694
|
+
return checked
|
|
43695
|
+
? `${baseClasses} bg-neutral-100 hover:bg-neutral-100`
|
|
43696
|
+
: `${baseClasses} bg-transparent hover:bg-transparent`;
|
|
43697
|
+
}
|
|
43698
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43699
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityPanelComponent, isStandalone: true, selector: "gn-ui-metadata-quality-panel", inputs: { editorConfig: "editorConfig", record: "record" }, providers: [
|
|
43700
|
+
provideIcons({
|
|
43701
|
+
iconoirSystemShut,
|
|
43702
|
+
iconoirBadgeCheck,
|
|
43703
|
+
}),
|
|
43704
|
+
provideNgIconsConfig({
|
|
43705
|
+
size: '1.25em',
|
|
43706
|
+
}),
|
|
43707
|
+
], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"flex flex-col h-full w-[302px] border-l border-gray-300 py-8 px-3 gap-3 overflow-auto\"\n style=\"background-color: #fafaf9\"\n>\n <div class=\"flex flex-row px-2 justify-between\">\n <span class=\"text-3xl font-title text-black/80\" translate\n >editor.record.form.metadataQuality.title</span\n >\n </div>\n <div\n *ngFor=\"let properties of propertiesByPage; let i = index\"\n class=\"flex flex-col gap-2\"\n >\n <gn-ui-button\n *ngFor=\"let property of properties\"\n [extraClass]=\"getExtraClass(property.value)\"\n type=\"outline\"\n attr.data-cy=\"md-quality-btn-{{ property.label }}\"\n >\n <span>{{ property.label | translate }}</span>\n <div class=\"flex flex-row gap-2 items-center\">\n <ng-icon\n *ngIf=\"property.value; else notChecked\"\n class=\"text-primary\"\n name=\"iconoirBadgeCheck\"\n ></ng-icon>\n <ng-template #notChecked>\n <ng-icon class=\"text-neutral-300\" name=\"iconoirSystemShut\"></ng-icon>\n </ng-template>\n </div>\n </gn-ui-button>\n <hr\n *ngIf=\"i !== propertiesByPage.length - 1\"\n class=\"border-gray-300 w-11/12 mx-auto\"\n />\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }] }); }
|
|
43708
|
+
}
|
|
43709
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityPanelComponent, decorators: [{
|
|
43710
|
+
type: Component,
|
|
43711
|
+
args: [{ selector: 'gn-ui-metadata-quality-panel', standalone: true, imports: [
|
|
43712
|
+
CommonModule,
|
|
43713
|
+
TranslateDirective,
|
|
43714
|
+
TranslatePipe,
|
|
43715
|
+
ButtonComponent,
|
|
43716
|
+
NgIconComponent,
|
|
43717
|
+
], providers: [
|
|
43718
|
+
provideIcons({
|
|
43719
|
+
iconoirSystemShut,
|
|
43720
|
+
iconoirBadgeCheck,
|
|
43721
|
+
}),
|
|
43722
|
+
provideNgIconsConfig({
|
|
43723
|
+
size: '1.25em',
|
|
43724
|
+
}),
|
|
43725
|
+
], template: "<div\n class=\"flex flex-col h-full w-[302px] border-l border-gray-300 py-8 px-3 gap-3 overflow-auto\"\n style=\"background-color: #fafaf9\"\n>\n <div class=\"flex flex-row px-2 justify-between\">\n <span class=\"text-3xl font-title text-black/80\" translate\n >editor.record.form.metadataQuality.title</span\n >\n </div>\n <div\n *ngFor=\"let properties of propertiesByPage; let i = index\"\n class=\"flex flex-col gap-2\"\n >\n <gn-ui-button\n *ngFor=\"let property of properties\"\n [extraClass]=\"getExtraClass(property.value)\"\n type=\"outline\"\n attr.data-cy=\"md-quality-btn-{{ property.label }}\"\n >\n <span>{{ property.label | translate }}</span>\n <div class=\"flex flex-row gap-2 items-center\">\n <ng-icon\n *ngIf=\"property.value; else notChecked\"\n class=\"text-primary\"\n name=\"iconoirBadgeCheck\"\n ></ng-icon>\n <ng-template #notChecked>\n <ng-icon class=\"text-neutral-300\" name=\"iconoirSystemShut\"></ng-icon>\n </ng-template>\n </div>\n </gn-ui-button>\n <hr\n *ngIf=\"i !== propertiesByPage.length - 1\"\n class=\"border-gray-300 w-11/12 mx-auto\"\n />\n </div>\n</div>\n" }]
|
|
43726
|
+
}], propDecorators: { editorConfig: [{
|
|
43727
|
+
type: Input
|
|
43728
|
+
}], record: [{
|
|
43729
|
+
type: Input
|
|
43730
|
+
}] } });
|
|
43731
|
+
|
|
43575
43732
|
const ROUTER_STATE_KEY = 'router';
|
|
43576
43733
|
const ROUTER_ROUTE_SEARCH = 'search';
|
|
43577
43734
|
const ROUTER_ROUTE_DATASET = 'dataset';
|
|
@@ -44016,5 +44173,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44016
44173
|
* Generated bundle index. Do not edit.
|
|
44017
44174
|
*/
|
|
44018
44175
|
|
|
44019
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogListComponent, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, 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, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_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_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, 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, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, FacetsModule$1 as UiFacetsModule, UiSearchModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLang2FromLang3, getLang3FromLang2, getLayers, getLinkId, getLinkLabel, getLinkPriority, getLocalizedIndexKey, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
44176
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogListComponent, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, 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, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_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_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, 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, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, FacetsModule$1 as UiFacetsModule, UiSearchModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getAllKeysValidator, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLang2FromLang3, getLang3FromLang2, getLayers, getLinkId, getLinkLabel, getLinkPriority, getLocalizedIndexKey, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
44020
44177
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|