geonetwork-ui 2.4.0 → 2.4.1-dev.1d2ade24e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +4 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +5 -2
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +6 -62
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +19 -1
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +27 -16
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +27 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +7 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +3 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +18 -14
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +15 -5
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +10 -4
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +6 -5
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +118 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +36 -23
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +7 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +17 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +7 -13
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +36 -60
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +11 -15
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +3 -4
- package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/index.mjs +3 -2
- package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +213 -0
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +19 -13
- package/esm2022/libs/ui/inputs/src/index.mjs +5 -6
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +19 -25
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +11 -6
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +9 -4
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +10 -10
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +37 -1
- package/esm2022/translations/de.json +53 -17
- package/esm2022/translations/en.json +33 -16
- package/esm2022/translations/es.json +51 -15
- package/esm2022/translations/fr.json +37 -20
- package/esm2022/translations/it.json +266 -228
- package/esm2022/translations/nl.json +51 -15
- package/esm2022/translations/pt.json +51 -15
- package/fesm2022/geonetwork-ui.mjs +1805 -1420
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +4 -3
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +4 -3
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +3 -0
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +10 -2
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +6 -2
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +5 -2
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +2 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +2 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +52 -4
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts +4 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +1 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +6 -5
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +1 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +0 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -1
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +4 -5
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +6 -7
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +5 -4
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +2 -1
- package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -3
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +2 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +4 -3
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +8 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.ts +9 -62
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +18 -0
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +53 -27
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +29 -7
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +5 -4
- package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.fixtures.ts +2 -2
- package/src/libs/common/fixtures/src/lib/elasticsearch/search-responses.fixtures.ts +16 -16
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +163 -0
- package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +24 -4
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +10 -1
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +57 -31
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +15 -9
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +18 -12
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +13 -8
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +63 -6
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +145 -4
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.ts +31 -19
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +1 -10
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +1 -7
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +12 -25
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +15 -10
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +0 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +3 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +6 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +46 -74
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -3
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +3 -6
- package/src/libs/feature/editor/src/lib/fields.config.ts +10 -14
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +18 -16
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +0 -1
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +0 -3
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +1 -0
- package/src/libs/ui/elements/src/index.ts +2 -1
- package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.html +4 -19
- package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.ts +13 -9
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +13 -10
- package/src/libs/ui/inputs/src/index.ts +4 -5
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +1 -1
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +22 -25
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +5 -3
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +10 -2
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +12 -1
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +4 -6
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +23 -6
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +6 -6
- package/src/libs/util/shared/src/lib/links/link-utils.ts +48 -1
- package/tailwind.base.config.js +2 -0
- package/translations/de.json +53 -17
- package/translations/en.json +33 -16
- package/translations/es.json +51 -15
- package/translations/fr.json +37 -20
- package/translations/it.json +266 -228
- package/translations/nl.json +51 -15
- package/translations/pt.json +51 -15
- package/translations/sk.json +51 -15
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +0 -214
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +0 -1
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +0 -67
- /package/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.d.ts +0 -0
- /package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.css +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<span class="w-full inline-block relative">
|
|
2
2
|
<input
|
|
3
3
|
#input
|
|
4
|
-
class="gn-ui-text-input px-[var(--text-padding)]"
|
|
4
|
+
class="gn-ui-text-input gn-ui-url-input px-[var(--text-padding)]"
|
|
5
5
|
[ngClass]="extraClass"
|
|
6
6
|
type="url"
|
|
7
7
|
[value]="inputValue"
|
|
@@ -21,12 +21,14 @@
|
|
|
21
21
|
<ng-icon name="iconoirLink"></ng-icon>
|
|
22
22
|
</div>
|
|
23
23
|
<gn-ui-button
|
|
24
|
-
*ngIf="
|
|
24
|
+
*ngIf="showValidateButton"
|
|
25
25
|
extraClass="absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]"
|
|
26
26
|
type="primary"
|
|
27
27
|
[disabled]="disabled || input.value === '' || !isValidUrl(input.value)"
|
|
28
28
|
(buttonClick)="handleUpload(input)"
|
|
29
29
|
>
|
|
30
|
-
<ng-
|
|
30
|
+
<ng-content>
|
|
31
|
+
<ng-icon name="iconoirArrowUp"></ng-icon>
|
|
32
|
+
</ng-content>
|
|
31
33
|
</gn-ui-button>
|
|
32
34
|
</span>
|
|
@@ -4,7 +4,9 @@ import {
|
|
|
4
4
|
Component,
|
|
5
5
|
EventEmitter,
|
|
6
6
|
Input,
|
|
7
|
+
OnChanges,
|
|
7
8
|
Output,
|
|
9
|
+
SimpleChanges,
|
|
8
10
|
} from '@angular/core'
|
|
9
11
|
import { CommonModule } from '@angular/common'
|
|
10
12
|
import { ButtonComponent } from '../button/button.component'
|
|
@@ -29,7 +31,7 @@ import { iconoirArrowUp, iconoirLink } from '@ng-icons/iconoir'
|
|
|
29
31
|
],
|
|
30
32
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
33
|
})
|
|
32
|
-
export class UrlInputComponent {
|
|
34
|
+
export class UrlInputComponent implements OnChanges {
|
|
33
35
|
@Input() set value(v: string) {
|
|
34
36
|
// we're making sure to only update the input if the URL representation of it has changed; otherwise we keep it identical
|
|
35
37
|
// to avoid glitches when starting to write a URL and having some characters added/replaced automatically
|
|
@@ -45,7 +47,7 @@ export class UrlInputComponent {
|
|
|
45
47
|
@Input() extraClass = ''
|
|
46
48
|
@Input() placeholder = 'https://'
|
|
47
49
|
@Input() disabled: boolean
|
|
48
|
-
@Input()
|
|
50
|
+
@Input() showValidateButton = true
|
|
49
51
|
|
|
50
52
|
/**
|
|
51
53
|
* This will emit null if the field is emptied
|
|
@@ -57,6 +59,12 @@ export class UrlInputComponent {
|
|
|
57
59
|
|
|
58
60
|
constructor(private cd: ChangeDetectorRef) {}
|
|
59
61
|
|
|
62
|
+
ngOnChanges(changes: SimpleChanges) {
|
|
63
|
+
if (changes['value']) {
|
|
64
|
+
this.inputValue = changes['value'].currentValue
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
60
68
|
handleInput(event: Event) {
|
|
61
69
|
const value = (event.target as HTMLInputElement).value
|
|
62
70
|
this.inputValue = value
|
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
*ngFor="let item of items"
|
|
32
32
|
(click)="handleRowClick(item)"
|
|
33
33
|
data-cy="table-row"
|
|
34
|
+
[title]="
|
|
35
|
+
!item.extras?.edit && !isDraftPage
|
|
36
|
+
? ('editor.record.lock.reason' | translate)
|
|
37
|
+
: ''
|
|
38
|
+
"
|
|
34
39
|
>
|
|
35
40
|
<div
|
|
36
41
|
class="relative h-0"
|
|
@@ -44,7 +49,13 @@
|
|
|
44
49
|
</div>
|
|
45
50
|
<ng-container *ngFor="let column of columns">
|
|
46
51
|
<div
|
|
47
|
-
class="table-row-cell px-3 py-1.5 flex items-center bg-white transition-colors duration-75 truncate
|
|
52
|
+
class="table-row-cell px-3 py-1.5 flex items-center bg-white transition-colors duration-75 truncate border-b border-gray-200"
|
|
53
|
+
[ngClass]="{
|
|
54
|
+
'text-purple-light cursor-default':
|
|
55
|
+
!item.extras?.edit && !isDraftPage,
|
|
56
|
+
'group-hover:text-main group-hover:bg-gray-50':
|
|
57
|
+
item.extras?.edit || isDraftPage,
|
|
58
|
+
}"
|
|
48
59
|
>
|
|
49
60
|
<ng-container
|
|
50
61
|
*ngTemplateOutlet="column.cell; context: { $implicit: item }"
|
|
@@ -9,12 +9,9 @@ import {
|
|
|
9
9
|
} from '@angular/core'
|
|
10
10
|
import { InteractiveTableColumnComponent } from './interactive-table-column/interactive-table-column.component'
|
|
11
11
|
import { CommonModule } from '@angular/common'
|
|
12
|
-
import {
|
|
13
|
-
NgIconComponent,
|
|
14
|
-
provideIcons,
|
|
15
|
-
provideNgIconsConfig,
|
|
16
|
-
} from '@ng-icons/core'
|
|
12
|
+
import { NgIconComponent, provideIcons } from '@ng-icons/core'
|
|
17
13
|
import { iconoirNavArrowDown, iconoirNavArrowUp } from '@ng-icons/iconoir'
|
|
14
|
+
import { TranslateModule } from '@ngx-translate/core'
|
|
18
15
|
|
|
19
16
|
@Component({
|
|
20
17
|
selector: 'gn-ui-interactive-table',
|
|
@@ -22,7 +19,7 @@ import { iconoirNavArrowDown, iconoirNavArrowUp } from '@ng-icons/iconoir'
|
|
|
22
19
|
styleUrls: ['./interactive-table.component.css'],
|
|
23
20
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
24
21
|
standalone: true,
|
|
25
|
-
imports: [CommonModule,
|
|
22
|
+
imports: [CommonModule, NgIconComponent, TranslateModule],
|
|
26
23
|
providers: [provideIcons({ iconoirNavArrowDown, iconoirNavArrowUp })],
|
|
27
24
|
})
|
|
28
25
|
export class InteractiveTableComponent {
|
|
@@ -30,6 +27,7 @@ export class InteractiveTableComponent {
|
|
|
30
27
|
columns: QueryList<InteractiveTableColumnComponent>
|
|
31
28
|
|
|
32
29
|
@Input() items: unknown[] = []
|
|
30
|
+
@Input() isDraftPage = false
|
|
33
31
|
@Output() itemClick = new EventEmitter<unknown>()
|
|
34
32
|
|
|
35
33
|
get gridStyle() {
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
<gn-ui-interactive-table
|
|
2
2
|
[items]="records"
|
|
3
|
+
[isDraftPage]="isDraftPage"
|
|
3
4
|
(itemClick)="handleRecordClick($event)"
|
|
4
5
|
>
|
|
5
6
|
<!-- SELECTED COLUMN -->
|
|
6
7
|
<gn-ui-interactive-table-column [width]="'3rem'">
|
|
7
|
-
<ng-template #cell let-item>
|
|
8
|
+
<ng-template #cell let-item let-i="index">
|
|
9
|
+
<ng-icon
|
|
10
|
+
name="iconoirLock"
|
|
11
|
+
class="text-purple"
|
|
12
|
+
*ngIf="!item.extras?.edit && !isDraftPage"
|
|
13
|
+
></ng-icon>
|
|
8
14
|
<gn-ui-checkbox
|
|
15
|
+
*ngIf="item.extras?.edit || isDraftPage"
|
|
9
16
|
[checked]="isChecked(item)"
|
|
10
17
|
(changed)="handleRecordSelectedChange($event, item)"
|
|
11
18
|
class="-m-2"
|
|
@@ -102,9 +109,9 @@
|
|
|
102
109
|
<ng-template #cell let-item>
|
|
103
110
|
<span class="text-xs">
|
|
104
111
|
{{
|
|
105
|
-
(
|
|
106
|
-
? 'record.metadata.status.
|
|
107
|
-
: 'record.metadata.status.
|
|
112
|
+
(item.extras?.['isPublishedToAll']
|
|
113
|
+
? 'record.metadata.status.published'
|
|
114
|
+
: 'record.metadata.status.notPublished'
|
|
108
115
|
) | translate
|
|
109
116
|
}}</span
|
|
110
117
|
>
|
|
@@ -123,7 +130,11 @@
|
|
|
123
130
|
</ng-template>
|
|
124
131
|
<ng-template #cell let-item>
|
|
125
132
|
<div class="flex text-left w-full text-xs">
|
|
126
|
-
{{
|
|
133
|
+
{{
|
|
134
|
+
item.extras?.['isPublishedToAll']
|
|
135
|
+
? dateToString(item.recordUpdated)
|
|
136
|
+
: '-'
|
|
137
|
+
}}
|
|
127
138
|
</div>
|
|
128
139
|
</ng-template>
|
|
129
140
|
</gn-ui-interactive-table-column>
|
|
@@ -138,8 +149,14 @@
|
|
|
138
149
|
(buttonClick)="openActionMenu(item, template)"
|
|
139
150
|
type="light"
|
|
140
151
|
data-test="record-menu-button"
|
|
152
|
+
[disabled]="!item.extras?.edit && !isDraftPage"
|
|
141
153
|
>
|
|
142
|
-
<ng-icon
|
|
154
|
+
<ng-icon
|
|
155
|
+
[ngClass]="{
|
|
156
|
+
'text-purple-light': !item.extras?.edit && !isDraftPage,
|
|
157
|
+
}"
|
|
158
|
+
name="matMoreVert"
|
|
159
|
+
></ng-icon>
|
|
143
160
|
</gn-ui-button>
|
|
144
161
|
<ng-template #template>
|
|
145
162
|
<gn-ui-action-menu
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
import { TranslateModule } from '@ngx-translate/core'
|
|
31
31
|
import { ActionMenuComponent } from './action-menu/action-menu.component'
|
|
32
32
|
import { NgIconComponent, provideIcons } from '@ng-icons/core'
|
|
33
|
-
import { iconoirUser } from '@ng-icons/iconoir'
|
|
33
|
+
import { iconoirUser, iconoirLock } from '@ng-icons/iconoir'
|
|
34
34
|
import {
|
|
35
35
|
CdkConnectedOverlay,
|
|
36
36
|
CdkOverlayOrigin,
|
|
@@ -55,9 +55,8 @@ import { matMoreVert } from '@ng-icons/material-icons/baseline'
|
|
|
55
55
|
ActionMenuComponent,
|
|
56
56
|
NgIconComponent,
|
|
57
57
|
CdkOverlayOrigin,
|
|
58
|
-
CdkConnectedOverlay,
|
|
59
58
|
],
|
|
60
|
-
providers: [provideIcons({ iconoirUser, matMoreVert })],
|
|
59
|
+
providers: [provideIcons({ iconoirUser, iconoirLock, matMoreVert })],
|
|
61
60
|
})
|
|
62
61
|
export class ResultsTableComponent {
|
|
63
62
|
@Input() records: CatalogRecord[] = []
|
|
@@ -65,8 +64,8 @@ export class ResultsTableComponent {
|
|
|
65
64
|
@Input() sortOrder: SortByField = null
|
|
66
65
|
@Input() hasDraft: (record: CatalogRecord) => boolean = () => false
|
|
67
66
|
@Input() canDuplicate: (record: CatalogRecord) => boolean = () => true
|
|
68
|
-
@Input() isUnsavedDraft: (record: CatalogRecord) => boolean = () => true
|
|
69
67
|
@Input() canDelete: (record: CatalogRecord) => boolean = () => true
|
|
68
|
+
@Input() isDraftPage = false
|
|
70
69
|
|
|
71
70
|
// emits the column (field) as well as the order
|
|
72
71
|
@Output() sortByChange = new EventEmitter<[string, 'asc' | 'desc']>()
|
|
@@ -170,8 +169,9 @@ export class ResultsTableComponent {
|
|
|
170
169
|
return getBadgeColor(format)
|
|
171
170
|
}
|
|
172
171
|
|
|
173
|
-
handleRecordClick(item:
|
|
174
|
-
|
|
172
|
+
handleRecordClick(item: CatalogRecord) {
|
|
173
|
+
if (item?.extras?.edit || this.isDraftPage)
|
|
174
|
+
this.recordClick.emit(item as CatalogRecord)
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
handleDuplicate(item: unknown) {
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
DatasetOnlineResource,
|
|
4
|
+
ServiceProtocol,
|
|
5
|
+
} from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
6
|
+
import {
|
|
7
|
+
OgcApiEndpoint,
|
|
8
|
+
WfsEndpoint,
|
|
9
|
+
WmsEndpoint,
|
|
10
|
+
WmtsEndpoint,
|
|
11
|
+
} from '@camptocamp/ogc-client'
|
|
3
12
|
|
|
4
13
|
marker('downloads.wfs.featuretype.not.found')
|
|
5
14
|
|
|
@@ -242,6 +251,44 @@ export function getLinkLabel(link: DatasetOnlineResource): string {
|
|
|
242
251
|
return format ? `${label} (${format})` : label
|
|
243
252
|
}
|
|
244
253
|
|
|
254
|
+
export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
|
|
255
|
+
switch (serviceProtocol) {
|
|
256
|
+
case 'ogcFeatures': {
|
|
257
|
+
const layers = await new OgcApiEndpoint(url).allCollections
|
|
258
|
+
return layers
|
|
259
|
+
}
|
|
260
|
+
case 'wfs': {
|
|
261
|
+
const endpointWfs = await new WfsEndpoint(url).isReady()
|
|
262
|
+
return endpointWfs.getFeatureTypes()
|
|
263
|
+
}
|
|
264
|
+
case 'wms': {
|
|
265
|
+
const endpointWms = await new WmsEndpoint(url).isReady()
|
|
266
|
+
return endpointWms
|
|
267
|
+
.getLayers()
|
|
268
|
+
.flatMap(wmsLayerFlatten)
|
|
269
|
+
.filter((l) => l.name)
|
|
270
|
+
}
|
|
271
|
+
case 'wmts': {
|
|
272
|
+
const endpointWmts = await new WmtsEndpoint(url).isReady()
|
|
273
|
+
return endpointWmts.getLayers()
|
|
274
|
+
}
|
|
275
|
+
default:
|
|
276
|
+
return undefined
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
function wmsLayerFlatten(layerFull) {
|
|
281
|
+
const layer = {
|
|
282
|
+
title: layerFull.title,
|
|
283
|
+
name: layerFull.name,
|
|
284
|
+
abstract: layerFull.abstract,
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
return 'children' in layerFull && Array.isArray(layerFull.children)
|
|
288
|
+
? [layer, ...layerFull.children.flatMap(wmsLayerFlatten)]
|
|
289
|
+
: [layer]
|
|
290
|
+
}
|
|
291
|
+
|
|
245
292
|
export function getMimeTypeForFormat(format: FileFormat): string | null {
|
|
246
293
|
return format in FORMATS ? FORMATS[format.toLowerCase()].mimeTypes[0] : null
|
|
247
294
|
}
|
package/tailwind.base.config.js
CHANGED
|
@@ -44,6 +44,8 @@ module.exports = {
|
|
|
44
44
|
800: '#8a2c0d',
|
|
45
45
|
900: '#73230d',
|
|
46
46
|
},
|
|
47
|
+
purple: '#9747FF',
|
|
48
|
+
'purple-light': '#DDC3FF',
|
|
47
49
|
},
|
|
48
50
|
fontFamily: {
|
|
49
51
|
sans: 'var(--font-family-main, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji")',
|
package/translations/de.json
CHANGED
|
@@ -139,6 +139,7 @@
|
|
|
139
139
|
"datahub.search.back": "Zurück",
|
|
140
140
|
"datahub.search.filter.all": "Alle",
|
|
141
141
|
"datahub.search.filter.generatedByAPI": "Generiert durch eine API",
|
|
142
|
+
"datahub.search.filter.generatedByWfs": "",
|
|
142
143
|
"datahub.search.filter.others": "Andere",
|
|
143
144
|
"dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
|
|
144
145
|
"dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
|
|
@@ -171,16 +172,25 @@
|
|
|
171
172
|
"domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
|
|
172
173
|
"domain.record.status.removed": "Entfernt",
|
|
173
174
|
"domain.record.status.under_development": "In Erstellung",
|
|
174
|
-
"domain.record.updateFrequency.
|
|
175
|
-
"domain.record.updateFrequency.
|
|
176
|
-
"domain.record.updateFrequency.
|
|
177
|
-
"domain.record.updateFrequency.
|
|
178
|
-
"domain.record.updateFrequency.
|
|
179
|
-
"domain.record.updateFrequency.
|
|
180
|
-
"domain.record.updateFrequency.
|
|
181
|
-
"domain.record.updateFrequency.
|
|
182
|
-
"domain.record.updateFrequency.
|
|
183
|
-
"domain.record.updateFrequency.
|
|
175
|
+
"domain.record.updateFrequency.annually": "Daten werden jedes Jahr aktualisiert",
|
|
176
|
+
"domain.record.updateFrequency.asNeeded": "Daten werden nach Bedarf aktualisiert",
|
|
177
|
+
"domain.record.updateFrequency.biannually": "Daten werden zweimal im Jahr aktualisiert",
|
|
178
|
+
"domain.record.updateFrequency.biennially": "Daten werden alle 2 Jahre aktualisiert",
|
|
179
|
+
"domain.record.updateFrequency.continual": "Daten werden wiederholt und häufig aktualisiert",
|
|
180
|
+
"domain.record.updateFrequency.daily": "Daten werden täglich aktualisiert",
|
|
181
|
+
"domain.record.updateFrequency.day": "{count, plural, =0{0 Mal} one{Einmal} other{{count} Mal}} pro Tag",
|
|
182
|
+
"domain.record.updateFrequency.fortnightly": "Daten werden alle zwei Wochen aktualisiert",
|
|
183
|
+
"domain.record.updateFrequency.irregular": "Daten werden in unregelmäßigen Abständen aktualisiert",
|
|
184
|
+
"domain.record.updateFrequency.month": "{count, plural, =0{0 Mal} one{Einmal} other{{count} Mal}} pro Monat",
|
|
185
|
+
"domain.record.updateFrequency.monthly": "Daten werden monatlich aktualisiert",
|
|
186
|
+
"domain.record.updateFrequency.notPlanned": "Es gibt keine Pläne, die Daten zu aktualisieren",
|
|
187
|
+
"domain.record.updateFrequency.periodic": "Daten werden in regelmäßigen Abständen aktualisiert",
|
|
188
|
+
"domain.record.updateFrequency.quarterly": "Daten werden alle drei Monate aktualisiert",
|
|
189
|
+
"domain.record.updateFrequency.semimonthly": "Daten werden zweimal im Monat aktualisiert",
|
|
190
|
+
"domain.record.updateFrequency.unknown": "Die Häufigkeit der Datenaktualisierung ist unbekannt",
|
|
191
|
+
"domain.record.updateFrequency.week": "{count, plural, =0{0 Mal} one{Einmal} other{{count} Mal}} pro Woche",
|
|
192
|
+
"domain.record.updateFrequency.weekly": "Daten werden wöchentlich aktualisiert",
|
|
193
|
+
"domain.record.updateFrequency.year": "{count, plural, =0{0 Mal} one{Einmal} other{{count} Mal}} pro Jahr",
|
|
184
194
|
"downloads.format.unknown": "unbekannt",
|
|
185
195
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
186
196
|
"dropFile": "Datei ablegen",
|
|
@@ -195,6 +205,9 @@
|
|
|
195
205
|
"editor.record.deleteError.title": "Fehler beim Löschen des Datensatzes",
|
|
196
206
|
"editor.record.deleteSuccess.body": "",
|
|
197
207
|
"editor.record.deleteSuccess.title": "",
|
|
208
|
+
"editor.record.error.back": "",
|
|
209
|
+
"editor.record.error.explanation": "",
|
|
210
|
+
"editor.record.error.message": "",
|
|
198
211
|
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
199
212
|
"editor.record.form.bottomButtons.next": "",
|
|
200
213
|
"editor.record.form.bottomButtons.previous": "",
|
|
@@ -216,7 +229,6 @@
|
|
|
216
229
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
217
230
|
"editor.record.form.field.contacts.noContact": "",
|
|
218
231
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
219
|
-
"editor.record.form.field.draft.only.disabled": "Dieses Feld wird aktiviert, sobald die Daten veröffentlicht wurden.",
|
|
220
232
|
"editor.record.form.field.keywords": "Schlagwörter",
|
|
221
233
|
"editor.record.form.field.legalConstraints": "Rechtliche Einschränkung",
|
|
222
234
|
"editor.record.form.field.license": "Lizenz",
|
|
@@ -226,6 +238,11 @@
|
|
|
226
238
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
227
239
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
228
240
|
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
241
|
+
"editor.record.form.field.onlineResource.edit.identifier.error": "Schichten konnten nicht vom Protokoll abgerufen werden",
|
|
242
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Ebenenname",
|
|
243
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Prozessname",
|
|
244
|
+
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Wählen Sie eine Ebene",
|
|
245
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link zum Dienst",
|
|
229
246
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
230
247
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
231
248
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -242,6 +259,7 @@
|
|
|
242
259
|
"editor.record.form.field.spatialExtents": "",
|
|
243
260
|
"editor.record.form.field.temporalExtents": "Zeitlicher Umfang",
|
|
244
261
|
"editor.record.form.field.title": "Metadaten-Titel",
|
|
262
|
+
"editor.record.form.field.title.placeholder": "Geben Sie einen Titel ein",
|
|
245
263
|
"editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
|
|
246
264
|
"editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
|
|
247
265
|
"editor.record.form.license.cc-by": "",
|
|
@@ -274,7 +292,7 @@
|
|
|
274
292
|
"editor.record.form.temporalExtents.addRange": "Zeitraum",
|
|
275
293
|
"editor.record.form.temporalExtents.date": "Datum",
|
|
276
294
|
"editor.record.form.temporalExtents.range": "Datumsbereich",
|
|
277
|
-
"editor.record.form.updateFrequency.planned": "
|
|
295
|
+
"editor.record.form.updateFrequency.planned": "Dieses Dataset wird regelmäßig aktualisiert.",
|
|
278
296
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
279
297
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
280
298
|
"editor.record.importFromExternalFile.success.body": "",
|
|
@@ -282,6 +300,7 @@
|
|
|
282
300
|
"editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
|
|
283
301
|
"editor.record.loadError.closeMessage": "Verstanden",
|
|
284
302
|
"editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
|
|
303
|
+
"editor.record.lock.reason": "",
|
|
285
304
|
"editor.record.onlineResource.protocol.other": "",
|
|
286
305
|
"editor.record.onlineResourceError.body": "",
|
|
287
306
|
"editor.record.onlineResourceError.closeMessage": "",
|
|
@@ -302,9 +321,9 @@
|
|
|
302
321
|
"editor.record.resourceError.body": "",
|
|
303
322
|
"editor.record.resourceError.closeMessage": "",
|
|
304
323
|
"editor.record.resourceError.title": "",
|
|
305
|
-
"editor.record.saveStatus.
|
|
306
|
-
"editor.record.saveStatus.
|
|
307
|
-
"editor.record.saveStatus.recordUpToDate": "
|
|
324
|
+
"editor.record.saveStatus.draftWithChangesPending": "Gespeichert - nicht publizierte Unterschiede",
|
|
325
|
+
"editor.record.saveStatus.recordNotPublished": "",
|
|
326
|
+
"editor.record.saveStatus.recordUpToDate": "Gespeichert - auf dem neuesten Stand",
|
|
308
327
|
"editor.record.undo.confirmation.cancelText": "",
|
|
309
328
|
"editor.record.undo.confirmation.confirmText": "",
|
|
310
329
|
"editor.record.undo.confirmation.message": "",
|
|
@@ -408,14 +427,32 @@
|
|
|
408
427
|
"record.metadata.api.form.closeButton": "Schließen",
|
|
409
428
|
"record.metadata.api.form.closeForm": "Formular schließen",
|
|
410
429
|
"record.metadata.api.form.create": "Ihre Anfrage erstellen",
|
|
430
|
+
"record.metadata.api.form.crsTitle": "",
|
|
431
|
+
"record.metadata.api.form.crsTooltip": "",
|
|
411
432
|
"record.metadata.api.form.customUrl": "Benutzerdefinierte URL",
|
|
433
|
+
"record.metadata.api.form.filter": "",
|
|
434
|
+
"record.metadata.api.form.filterDescription": "",
|
|
435
|
+
"record.metadata.api.form.formatTitle": "",
|
|
436
|
+
"record.metadata.api.form.formatTooltip": "",
|
|
437
|
+
"record.metadata.api.form.items": "",
|
|
438
|
+
"record.metadata.api.form.itemsDescription": "",
|
|
439
|
+
"record.metadata.api.form.itemsTooltip": "",
|
|
412
440
|
"record.metadata.api.form.limit": "Anzahl der Datensätze",
|
|
413
441
|
"record.metadata.api.form.limit.all": "Alle",
|
|
442
|
+
"record.metadata.api.form.nextPage": "",
|
|
443
|
+
"record.metadata.api.form.nextPageTooltip": "",
|
|
414
444
|
"record.metadata.api.form.offset": "Anzahl des ersten Datensatzes",
|
|
415
445
|
"record.metadata.api.form.openForm": "Formular öffnen",
|
|
446
|
+
"record.metadata.api.form.paginationDescription": "",
|
|
447
|
+
"record.metadata.api.form.previousPage": "",
|
|
448
|
+
"record.metadata.api.form.previousPageTooltip": "",
|
|
449
|
+
"record.metadata.api.form.productTooltip": "",
|
|
416
450
|
"record.metadata.api.form.reset": "Zurücksetzen",
|
|
417
|
-
"record.metadata.api.form.
|
|
451
|
+
"record.metadata.api.form.resetTooltip": "",
|
|
418
452
|
"record.metadata.api.form.type": "Ausgabeformat",
|
|
453
|
+
"record.metadata.api.form.zoneTitle": "",
|
|
454
|
+
"record.metadata.api.form.zoneTooltip": "",
|
|
455
|
+
"record.metadata.api.gpfdl": "",
|
|
419
456
|
"record.metadata.catalog": "Katalog",
|
|
420
457
|
"record.metadata.contact": "Kontakt",
|
|
421
458
|
"record.metadata.creation": "Erstellungsdatum",
|
|
@@ -480,7 +517,6 @@
|
|
|
480
517
|
"record.tab.chart": "Diagramm",
|
|
481
518
|
"record.tab.data": "Tabelle",
|
|
482
519
|
"record.tab.map": "Karte",
|
|
483
|
-
"record.was.created.time": "erstellte diesen Datensatz {time}",
|
|
484
520
|
"records": "Datensätze",
|
|
485
521
|
"results.layout.selectOne": "Layout auswählen",
|
|
486
522
|
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
|
package/translations/en.json
CHANGED
|
@@ -139,6 +139,7 @@
|
|
|
139
139
|
"datahub.search.back": "Back",
|
|
140
140
|
"datahub.search.filter.all": "All",
|
|
141
141
|
"datahub.search.filter.generatedByAPI": "Generated by an API",
|
|
142
|
+
"datahub.search.filter.generatedByWfs": "",
|
|
142
143
|
"datahub.search.filter.others": "Others",
|
|
143
144
|
"dataset.error.http": "The data could not be loaded because of an HTTP error: \"{ info }\"",
|
|
144
145
|
"dataset.error.network": "The data could not be loaded because of a network error or CORS limitations: \"{ info }\"",
|
|
@@ -171,15 +172,24 @@
|
|
|
171
172
|
"domain.record.status.ongoing": "Ongoing",
|
|
172
173
|
"domain.record.status.removed": "Removed",
|
|
173
174
|
"domain.record.status.under_development": "Under development",
|
|
174
|
-
"domain.record.updateFrequency.
|
|
175
|
-
"domain.record.updateFrequency.
|
|
175
|
+
"domain.record.updateFrequency.annually": "Data is updated every year",
|
|
176
|
+
"domain.record.updateFrequency.asNeeded": "Data is updated as deemed necessary",
|
|
177
|
+
"domain.record.updateFrequency.biannually": "Data is updated twice each year",
|
|
178
|
+
"domain.record.updateFrequency.biennially": "Data is updated every 2 years",
|
|
179
|
+
"domain.record.updateFrequency.continual": "Data is repeatedly and frequently updated",
|
|
180
|
+
"domain.record.updateFrequency.daily": "Data is updated each day",
|
|
176
181
|
"domain.record.updateFrequency.day": "{count, plural, =0{0 times} one{Once} other{{count} times}} per day",
|
|
177
|
-
"domain.record.updateFrequency.
|
|
182
|
+
"domain.record.updateFrequency.fortnightly": "Data is updated every two weeks",
|
|
183
|
+
"domain.record.updateFrequency.irregular": "Data is updated in intervals that are uneven in duration",
|
|
178
184
|
"domain.record.updateFrequency.month": "{count, plural, =0{0 times} one{Once} other{{count} times}} per month",
|
|
179
|
-
"domain.record.updateFrequency.
|
|
180
|
-
"domain.record.updateFrequency.
|
|
181
|
-
"domain.record.updateFrequency.
|
|
185
|
+
"domain.record.updateFrequency.monthly": "Data is updated each month",
|
|
186
|
+
"domain.record.updateFrequency.notPlanned": "There are no plans to update the data",
|
|
187
|
+
"domain.record.updateFrequency.periodic": "Data is updated at regular intervals",
|
|
188
|
+
"domain.record.updateFrequency.quarterly": "Data is updated every three months",
|
|
189
|
+
"domain.record.updateFrequency.semimonthly": "Data is updated twice a month",
|
|
190
|
+
"domain.record.updateFrequency.unknown": "Frequency of maintenance for the data is not known",
|
|
182
191
|
"domain.record.updateFrequency.week": "{count, plural, =0{0 times} one{Once} other{{count} times}} per week",
|
|
192
|
+
"domain.record.updateFrequency.weekly": "Data is updated on a weekly basis",
|
|
183
193
|
"domain.record.updateFrequency.year": "{count, plural, =0{0 times} one{Once} other{{count} times}} per year",
|
|
184
194
|
"downloads.format.unknown": "Unknown",
|
|
185
195
|
"downloads.wfs.featuretype.not.found": "The layer was not found",
|
|
@@ -195,6 +205,9 @@
|
|
|
195
205
|
"editor.record.deleteError.title": "Error deleting dataset",
|
|
196
206
|
"editor.record.deleteSuccess.body": "The dataset was successfully deleted!",
|
|
197
207
|
"editor.record.deleteSuccess.title": "Delete success",
|
|
208
|
+
"editor.record.error.back": "Go back to the catalog",
|
|
209
|
+
"editor.record.error.explanation": "You might not have access to this record,<br> Or this link might not be valid.",
|
|
210
|
+
"editor.record.error.message": "Something went wrong",
|
|
198
211
|
"editor.record.form.bottomButtons.comeBackLater": "Come back later",
|
|
199
212
|
"editor.record.form.bottomButtons.next": "Next",
|
|
200
213
|
"editor.record.form.bottomButtons.previous": "Previous",
|
|
@@ -216,7 +229,6 @@
|
|
|
216
229
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
217
230
|
"editor.record.form.field.contacts.noContact": "Please provide at least one point of contact.",
|
|
218
231
|
"editor.record.form.field.contactsForResource.noContact": "Please provide at least one point of contact responsible for the data.",
|
|
219
|
-
"editor.record.form.field.draft.only.disabled": "This field will be enabled once the dataset has been published",
|
|
220
232
|
"editor.record.form.field.keywords": "Keywords",
|
|
221
233
|
"editor.record.form.field.legalConstraints": "Legal constraint",
|
|
222
234
|
"editor.record.form.field.license": "License",
|
|
@@ -226,6 +238,11 @@
|
|
|
226
238
|
"editor.record.form.field.onlineResource.dialogTitle": "Modify the dataset preview",
|
|
227
239
|
"editor.record.form.field.onlineResource.edit.description": "Description",
|
|
228
240
|
"editor.record.form.field.onlineResource.edit.protocol": "Protocol",
|
|
241
|
+
"editor.record.form.field.onlineResource.edit.identifier.error": "Unable to retrieve layers from protocol",
|
|
242
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Layer name",
|
|
243
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Process name",
|
|
244
|
+
"editor.record.form.field.onlineResource.edit.identifier.select.label": "Select a layer",
|
|
245
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link to the service",
|
|
229
246
|
"editor.record.form.field.onlineResource.edit.title": "Title",
|
|
230
247
|
"editor.record.form.field.onlineResource.fileSize": "{sizeMB}MB",
|
|
231
248
|
"editor.record.form.field.onlineResource.modify": "Modify",
|
|
@@ -242,6 +259,7 @@
|
|
|
242
259
|
"editor.record.form.field.spatialExtents": "Spatial extents",
|
|
243
260
|
"editor.record.form.field.temporalExtents": "Temporal extents",
|
|
244
261
|
"editor.record.form.field.title": "Metadata title",
|
|
262
|
+
"editor.record.form.field.title.placeholder": "Enter a title",
|
|
245
263
|
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
246
264
|
"editor.record.form.field.updateFrequency": "Update frequency",
|
|
247
265
|
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
@@ -274,7 +292,7 @@
|
|
|
274
292
|
"editor.record.form.temporalExtents.addRange": "Time period",
|
|
275
293
|
"editor.record.form.temporalExtents.date": "Date",
|
|
276
294
|
"editor.record.form.temporalExtents.range": "Date range",
|
|
277
|
-
"editor.record.form.updateFrequency.planned": "
|
|
295
|
+
"editor.record.form.updateFrequency.planned": "This dataset is updated regularly.",
|
|
278
296
|
"editor.record.importFromExternalFile.failure.body": "Failure",
|
|
279
297
|
"editor.record.importFromExternalFile.failure.title": "The dataset import failed: ",
|
|
280
298
|
"editor.record.importFromExternalFile.success.body": "Import successful",
|
|
@@ -282,6 +300,7 @@
|
|
|
282
300
|
"editor.record.loadError.body": "The dataset could not be loaded:",
|
|
283
301
|
"editor.record.loadError.closeMessage": "Understood",
|
|
284
302
|
"editor.record.loadError.title": "Error loading dataset",
|
|
303
|
+
"editor.record.lock.reason": "You are not an editor of the allowed groups",
|
|
285
304
|
"editor.record.onlineResource.protocol.other": "Other",
|
|
286
305
|
"editor.record.onlineResourceError.body": "An error happened while adding the resource:",
|
|
287
306
|
"editor.record.onlineResourceError.closeMessage": "Understood",
|
|
@@ -302,9 +321,9 @@
|
|
|
302
321
|
"editor.record.resourceError.body": "There was an issue with the dataset attachments:",
|
|
303
322
|
"editor.record.resourceError.closeMessage": "Understood",
|
|
304
323
|
"editor.record.resourceError.title": "Error with the dataset attachments",
|
|
305
|
-
"editor.record.saveStatus.
|
|
306
|
-
"editor.record.saveStatus.
|
|
307
|
-
"editor.record.saveStatus.recordUpToDate": "
|
|
324
|
+
"editor.record.saveStatus.draftWithChangesPending": "Saved - Unpublished differences",
|
|
325
|
+
"editor.record.saveStatus.recordNotPublished": "Saved - not published",
|
|
326
|
+
"editor.record.saveStatus.recordUpToDate": "Saved - Record up to date",
|
|
308
327
|
"editor.record.undo.confirmation.cancelText": "Keep the changes",
|
|
309
328
|
"editor.record.undo.confirmation.confirmText": "Discard the changes",
|
|
310
329
|
"editor.record.undo.confirmation.message": "Are you sure you want to cancel the pending changes on this dataset ?",
|
|
@@ -408,13 +427,13 @@
|
|
|
408
427
|
"record.metadata.api.form.closeButton": "Close",
|
|
409
428
|
"record.metadata.api.form.closeForm": "Close the form",
|
|
410
429
|
"record.metadata.api.form.create": "Create your request",
|
|
430
|
+
"record.metadata.api.form.crsTitle": "Coordinate System",
|
|
431
|
+
"record.metadata.api.form.crsTooltip": "Dropdown for selecting a coordinate reference system",
|
|
411
432
|
"record.metadata.api.form.customUrl": "Custom URL",
|
|
412
433
|
"record.metadata.api.form.filter": "Filters",
|
|
413
434
|
"record.metadata.api.form.filterDescription": "Section for refining displayed elements",
|
|
414
435
|
"record.metadata.api.form.formatTitle": "Format",
|
|
415
436
|
"record.metadata.api.form.formatTooltip": "Dropdown for selecting a element format",
|
|
416
|
-
"record.metadata.api.form.crsTitle": "Coordinate System",
|
|
417
|
-
"record.metadata.api.form.crsTooltip": "Dropdown for selecting a coordinate reference system",
|
|
418
437
|
"record.metadata.api.form.items": "Available Items",
|
|
419
438
|
"record.metadata.api.form.itemsDescription": "List of items",
|
|
420
439
|
"record.metadata.api.form.itemsTooltip": "Scroll to view all available items",
|
|
@@ -427,10 +446,9 @@
|
|
|
427
446
|
"record.metadata.api.form.paginationDescription": "Pagination of displayed items",
|
|
428
447
|
"record.metadata.api.form.previousPage": "Previous",
|
|
429
448
|
"record.metadata.api.form.previousPageTooltip": "Go to the previous page",
|
|
449
|
+
"record.metadata.api.form.productTooltip": "",
|
|
430
450
|
"record.metadata.api.form.reset": "Reset",
|
|
431
451
|
"record.metadata.api.form.resetTooltip": "Reset all filters",
|
|
432
|
-
"record.metadata.api.form.title": "Generate a custom URL",
|
|
433
|
-
"record.metadata.api.form.title.gpf": "Download data",
|
|
434
452
|
"record.metadata.api.form.type": "Output format",
|
|
435
453
|
"record.metadata.api.form.zoneTitle": "Zone",
|
|
436
454
|
"record.metadata.api.form.zoneTooltip": "Dropdown for selecting a geographic zone",
|
|
@@ -499,7 +517,6 @@
|
|
|
499
517
|
"record.tab.chart": "Chart",
|
|
500
518
|
"record.tab.data": "Table",
|
|
501
519
|
"record.tab.map": "Map",
|
|
502
|
-
"record.was.created.time": "created this dataset {time}",
|
|
503
520
|
"records": "datasets",
|
|
504
521
|
"results.layout.selectOne": "Results layout",
|
|
505
522
|
"results.records.hits.displayedOn": "{displayed, plural, =0{No dataset.} one{1 } other{{displayed} }} {hits, plural, other{displayed on {hits} total.}}",
|