geonetwork-ui 2.4.0-dev.49a5852a → 2.4.0-dev.4e4ab1af
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +12 -1
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +9 -5
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +2 -6
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +7 -2
- package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +7 -3
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +16 -6
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +4 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +1 -2
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +11 -7
- package/esm2022/libs/feature/editor/src/lib/expressions.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +143 -60
- package/esm2022/libs/feature/editor/src/lib/models/editor-config.model.mjs +2 -0
- package/esm2022/libs/feature/editor/src/lib/models/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +4 -3
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +42 -23
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +13 -5
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +49 -15
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +9 -3
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +7 -3
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +5 -4
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +7 -4
- package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +29 -0
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -7
- package/esm2022/translations/de.json +77 -39
- package/esm2022/translations/en.json +47 -12
- package/esm2022/translations/es.json +47 -9
- package/esm2022/translations/fr.json +46 -11
- package/esm2022/translations/it.json +47 -9
- package/esm2022/translations/nl.json +47 -9
- package/esm2022/translations/pt.json +47 -9
- package/fesm2022/geonetwork-ui.mjs +786 -303
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/index.d.ts +1 -0
- package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.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/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +2 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +9 -0
- 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.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +5 -0
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +4 -4
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts +8 -0
- package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +4 -3
- 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 +4 -8
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +0 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts +5 -7
- package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/expressions.d.ts +1 -1
- package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +38 -2
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts +36 -0
- package/libs/feature/editor/src/lib/models/editor-config.model.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/models/index.d.ts +1 -0
- package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +2 -2
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +3 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +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/search/src/lib/results-table/action-menu/action-menu.component.d.ts +11 -0
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +4 -2
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/index.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +20 -0
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +26 -15
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +5 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +12 -0
- package/src/libs/common/fixtures/src/index.ts +2 -0
- package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +156 -0
- package/src/libs/common/fixtures/src/lib/editor/index.ts +1 -0
- package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
- package/src/libs/data-access/gn4/src/spec.yaml +0 -8
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +5 -0
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +2 -2
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +9 -1
- package/src/libs/feature/editor/src/lib/+state/editor.models.ts +11 -0
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +11 -5
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +22 -8
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +8 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +9 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +2 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +51 -11
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +15 -8
- package/src/libs/feature/editor/src/lib/expressions.ts +1 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +175 -61
- package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +53 -0
- package/src/libs/feature/editor/src/lib/models/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +8 -4
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +5 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +16 -2
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +29 -29
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -1
- package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +31 -0
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
- package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +38 -0
- package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +17 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +22 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +26 -12
- package/tailwind.base.css +2 -1
- package/translations/de.json +77 -39
- package/translations/en.json +47 -12
- package/translations/es.json +47 -9
- package/translations/fr.json +46 -11
- package/translations/it.json +47 -9
- package/translations/nl.json +47 -9
- package/translations/pt.json +47 -9
- package/translations/sk.json +47 -9
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.mjs +0 -2
- package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +0 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts +0 -26
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.d.ts.map +0 -1
- package/libs/feature/editor/src/lib/models/fields.model.d.ts +0 -15
- package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.model.ts +0 -43
- package/src/libs/feature/editor/src/lib/models/fields.model.ts +0 -29
|
@@ -25,19 +25,21 @@ marker('search.filters.keyword')
|
|
|
25
25
|
marker('search.filters.isSpatial')
|
|
26
26
|
marker('search.filters.license')
|
|
27
27
|
marker('search.filters.publicationYear')
|
|
28
|
-
marker('search.filters.
|
|
28
|
+
marker('search.filters.organization')
|
|
29
29
|
marker('search.filters.representationType')
|
|
30
30
|
marker('search.filters.resourceType')
|
|
31
31
|
marker('search.filters.standard')
|
|
32
32
|
marker('search.filters.topic')
|
|
33
33
|
marker('search.filters.contact')
|
|
34
|
+
marker('search.filters.producerOrg')
|
|
35
|
+
marker('search.filters.publisherOrg')
|
|
34
36
|
|
|
35
37
|
@Injectable({
|
|
36
38
|
providedIn: 'root',
|
|
37
39
|
})
|
|
38
40
|
export class FieldsService {
|
|
39
41
|
protected fields = {
|
|
40
|
-
|
|
42
|
+
organization: new OrganizationSearchField(this.injector),
|
|
41
43
|
format: new SimpleSearchField('format', this.injector, 'asc'),
|
|
42
44
|
resourceType: new TranslatedSearchField(
|
|
43
45
|
'resourceType',
|
|
@@ -70,6 +72,18 @@ export class FieldsService {
|
|
|
70
72
|
q: new FullTextSearchField(),
|
|
71
73
|
license: new LicenseSearchField(this.injector),
|
|
72
74
|
owner: new OwnerSearchField(this.injector),
|
|
75
|
+
producerOrg: new MultilingualSearchField(
|
|
76
|
+
'originatorOrgForResourceObject',
|
|
77
|
+
this.injector,
|
|
78
|
+
'asc',
|
|
79
|
+
'key'
|
|
80
|
+
),
|
|
81
|
+
publisherOrg: new MultilingualSearchField(
|
|
82
|
+
'distributorOrgForResourceObject',
|
|
83
|
+
this.injector,
|
|
84
|
+
'asc',
|
|
85
|
+
'key'
|
|
86
|
+
),
|
|
73
87
|
} as Record<string, AbstractSearchField>
|
|
74
88
|
|
|
75
89
|
get supportedFields() {
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
<div
|
|
2
|
-
class="group flex flex-col justify-between h-40 pt-5 pb-6 px-7 rounded filter overflow-hidden"
|
|
3
|
-
[ngClass]="{ 'cursor-pointer': displayApiFormButton }"
|
|
4
|
-
(click)="openRecordApiFormPanel()"
|
|
2
|
+
class="group flex flex-col justify-between h-40 pt-5 pb-6 px-7 rounded filter overflow-hidden cursor-default"
|
|
5
3
|
>
|
|
6
4
|
<div
|
|
7
5
|
class="font-title font-medium text-21 text-black text-ellipsis overflow-hidden break-words pb-5 h-[4.5rem]"
|
|
@@ -17,35 +15,37 @@
|
|
|
17
15
|
}"
|
|
18
16
|
>{{ link.accessServiceProtocol }}</span
|
|
19
17
|
>
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
[ngClass]="{
|
|
30
|
-
'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':
|
|
31
|
-
displayText
|
|
32
|
-
}"
|
|
33
|
-
mat-raised-button
|
|
34
|
-
[matTooltip]="
|
|
35
|
-
!currentlyActive
|
|
36
|
-
? ('record.metadata.api.form.openForm' | translate)
|
|
37
|
-
: ('record.metadata.api.form.closeForm' | translate)
|
|
38
|
-
"
|
|
39
|
-
matTooltipPosition="above"
|
|
40
|
-
>
|
|
41
|
-
<mat-icon
|
|
42
|
-
class="material-symbols-outlined pointer-events-none align-middle card-icon"
|
|
18
|
+
<div class="flex flex-row gap-2 items-center">
|
|
19
|
+
<gn-ui-copy-text-button
|
|
20
|
+
[text]="link.url"
|
|
21
|
+
[tooltipText]="'tooltip.url.copy' | translate"
|
|
22
|
+
[displayText]="false"
|
|
23
|
+
></gn-ui-copy-text-button>
|
|
24
|
+
<button
|
|
25
|
+
*ngIf="displayApiFormButton"
|
|
26
|
+
type="button"
|
|
43
27
|
[ngClass]="{
|
|
44
|
-
'
|
|
28
|
+
'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':
|
|
29
|
+
displayText
|
|
45
30
|
}"
|
|
46
|
-
|
|
31
|
+
mat-raised-button
|
|
32
|
+
[matTooltip]="
|
|
33
|
+
!currentlyActive
|
|
34
|
+
? ('record.metadata.api.form.openForm' | translate)
|
|
35
|
+
: ('record.metadata.api.form.closeForm' | translate)
|
|
36
|
+
"
|
|
37
|
+
matTooltipPosition="above"
|
|
38
|
+
(click)="openRecordApiFormPanel()"
|
|
47
39
|
>
|
|
48
|
-
|
|
40
|
+
<mat-icon
|
|
41
|
+
class="material-symbols-outlined pointer-events-none align-middle card-icon"
|
|
42
|
+
[ngClass]="{
|
|
43
|
+
'text-secondary opacity-100': currentlyActive
|
|
44
|
+
}"
|
|
45
|
+
>more_horiz</mat-icon
|
|
46
|
+
>
|
|
47
|
+
</button>
|
|
48
|
+
</div>
|
|
49
49
|
</div>
|
|
50
50
|
</div>
|
|
51
51
|
</div>
|
|
@@ -10,7 +10,7 @@ import { DownloadItemComponent } from './download-item/download-item.component'
|
|
|
10
10
|
import { DownloadsListComponent } from './downloads-list/downloads-list.component'
|
|
11
11
|
import { ApiCardComponent } from './api-card/api-card.component'
|
|
12
12
|
import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src'
|
|
13
|
-
import { UiLayoutModule } from '../../../../../libs/ui/layout/src'
|
|
13
|
+
import { MaxLinesComponent, UiLayoutModule } from '../../../../../libs/ui/layout/src'
|
|
14
14
|
import { TranslateModule } from '@ngx-translate/core'
|
|
15
15
|
import { RelatedRecordCardComponent } from './related-record-card/related-record-card.component'
|
|
16
16
|
import { MetadataContactComponent } from './metadata-contact/metadata-contact.component'
|
|
@@ -49,6 +49,7 @@ import { TimeSincePipe } from './user-feedback-item/time-since.pipe'
|
|
|
49
49
|
ThumbnailComponent,
|
|
50
50
|
TimeSincePipe,
|
|
51
51
|
BadgeComponent,
|
|
52
|
+
MaxLinesComponent,
|
|
52
53
|
],
|
|
53
54
|
declarations: [
|
|
54
55
|
MetadataInfoComponent,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--mat-standard-button-toggle-height: 32px;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.mat-button-toggle-group-appearance-standard {
|
|
6
|
+
background-color: var(--color-gray-200);
|
|
7
|
+
padding: 4px;
|
|
8
|
+
display: flex;
|
|
9
|
+
gap: 4px;
|
|
10
|
+
border-radius: 8px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.mat-button-toggle-appearance-standard {
|
|
14
|
+
color: var(--color-main);
|
|
15
|
+
background-color: var(--color-gray-200);
|
|
16
|
+
border-radius: 4px;
|
|
17
|
+
border-left: none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-checked {
|
|
21
|
+
background-color: var(--color-main);
|
|
22
|
+
color: var(--color-primary-white);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content {
|
|
26
|
+
line-height: 32px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.mat-button-toggle-label-content {
|
|
30
|
+
line-height: 32px;
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<mat-button-toggle-group
|
|
2
|
+
#group="matButtonToggleGroup"
|
|
3
|
+
multiple="false"
|
|
4
|
+
class="flex w-full"
|
|
5
|
+
>
|
|
6
|
+
<mat-button-toggle
|
|
7
|
+
*ngFor="let option of options"
|
|
8
|
+
[aria-label]="option.label"
|
|
9
|
+
[value]="option.value"
|
|
10
|
+
[checked]="option.checked"
|
|
11
|
+
(change)="onChange(option)"
|
|
12
|
+
[class]="extraClasses"
|
|
13
|
+
>{{ option.label }}</mat-button-toggle
|
|
14
|
+
>
|
|
15
|
+
</mat-button-toggle-group>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common'
|
|
2
|
+
import {
|
|
3
|
+
ChangeDetectionStrategy,
|
|
4
|
+
Component,
|
|
5
|
+
EventEmitter,
|
|
6
|
+
Input,
|
|
7
|
+
Output,
|
|
8
|
+
} from '@angular/core'
|
|
9
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle'
|
|
10
|
+
|
|
11
|
+
export type SwitchToggleOption = {
|
|
12
|
+
label: string
|
|
13
|
+
value: string
|
|
14
|
+
checked: boolean
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@Component({
|
|
18
|
+
selector: 'gn-ui-switch-toggle',
|
|
19
|
+
templateUrl: './switch-toggle.component.html',
|
|
20
|
+
styleUrls: ['./switch-toggle.component.css'],
|
|
21
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
22
|
+
standalone: true,
|
|
23
|
+
imports: [MatButtonToggleModule, CommonModule],
|
|
24
|
+
})
|
|
25
|
+
export class SwitchToggleComponent {
|
|
26
|
+
@Input() options: SwitchToggleOption[]
|
|
27
|
+
@Input() ariaLabel? = ''
|
|
28
|
+
@Input() extraClasses? = ''
|
|
29
|
+
@Output() selectedValue = new EventEmitter<SwitchToggleOption>()
|
|
30
|
+
|
|
31
|
+
onChange(selectedOption: SwitchToggleOption) {
|
|
32
|
+
this.options.find(
|
|
33
|
+
(option) => option.value === selectedOption.value
|
|
34
|
+
).checked = true
|
|
35
|
+
|
|
36
|
+
this.selectedValue.emit(selectedOption)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<gn-ui-button
|
|
2
|
+
type="outline"
|
|
3
|
+
[matMenuTriggerFor]="menu"
|
|
4
|
+
(buttonClick)="openMenu()"
|
|
5
|
+
data-test="record-menu-button"
|
|
6
|
+
>
|
|
7
|
+
<mat-icon class="material-symbols-outlined">more_vert</mat-icon>
|
|
8
|
+
</gn-ui-button>
|
|
9
|
+
<mat-menu #menu="matMenu">
|
|
10
|
+
<button
|
|
11
|
+
mat-menu-item
|
|
12
|
+
(click)="duplicate.emit()"
|
|
13
|
+
data-test="record-menu-duplicate-button"
|
|
14
|
+
>
|
|
15
|
+
<span translate>record.action.duplicate</span>
|
|
16
|
+
</button>
|
|
17
|
+
</mat-menu>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output, ViewChild } from '@angular/core'
|
|
2
|
+
import { MatIconModule } from '@angular/material/icon'
|
|
3
|
+
import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu'
|
|
4
|
+
import { ButtonComponent } from '../../../../../../../libs/ui/inputs/src'
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core'
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
selector: 'gn-ui-action-menu',
|
|
9
|
+
templateUrl: './action-menu.component.html',
|
|
10
|
+
styleUrls: ['./action-menu.component.css'],
|
|
11
|
+
standalone: true,
|
|
12
|
+
imports: [MatIconModule, ButtonComponent, MatMenuModule, TranslateModule],
|
|
13
|
+
})
|
|
14
|
+
export class ActionMenuComponent {
|
|
15
|
+
@Output() duplicate = new EventEmitter<void>()
|
|
16
|
+
|
|
17
|
+
@ViewChild(MatMenuTrigger) trigger: MatMenuTrigger
|
|
18
|
+
|
|
19
|
+
openMenu() {
|
|
20
|
+
this.trigger.openMenu()
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -120,4 +120,13 @@
|
|
|
120
120
|
{{ dateToString(item.recordUpdated) }}
|
|
121
121
|
</ng-template>
|
|
122
122
|
</gn-ui-interactive-table-column>
|
|
123
|
+
|
|
124
|
+
<!-- ACTION MENU COLUMN -->
|
|
125
|
+
<gn-ui-interactive-table-column>
|
|
126
|
+
<ng-template #header> </ng-template>
|
|
127
|
+
<ng-template #cell let-item>
|
|
128
|
+
<gn-ui-action-menu (duplicate)="handleDuplicate(item)">
|
|
129
|
+
</gn-ui-action-menu>
|
|
130
|
+
</ng-template>
|
|
131
|
+
</gn-ui-interactive-table-column>
|
|
123
132
|
</gn-ui-interactive-table>
|
|
@@ -1,23 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CommonModule } from '@angular/common'
|
|
2
|
+
import {
|
|
3
|
+
Component,
|
|
4
|
+
EventEmitter,
|
|
5
|
+
Input,
|
|
6
|
+
Output,
|
|
7
|
+
ViewChild,
|
|
8
|
+
} from '@angular/core'
|
|
9
|
+
import { MatIconModule } from '@angular/material/icon'
|
|
10
|
+
import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu'
|
|
2
11
|
import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
3
12
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
getFormatPriority,
|
|
8
|
-
} from '../../../../../../libs/util/shared/src'
|
|
13
|
+
FieldSort,
|
|
14
|
+
SortByField,
|
|
15
|
+
} from '../../../../../../libs/common/domain/src/lib/model/search'
|
|
9
16
|
import { BadgeComponent, UiInputsModule } from '../../../../../../libs/ui/inputs/src'
|
|
10
17
|
import {
|
|
11
18
|
InteractiveTableColumnComponent,
|
|
12
19
|
InteractiveTableComponent,
|
|
13
20
|
} from '../../../../../../libs/ui/layout/src'
|
|
14
|
-
import { MatIconModule } from '@angular/material/icon'
|
|
15
|
-
import { TranslateModule } from '@ngx-translate/core'
|
|
16
|
-
import { CommonModule } from '@angular/common'
|
|
17
21
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
FileFormat,
|
|
23
|
+
getBadgeColor,
|
|
24
|
+
getFileFormat,
|
|
25
|
+
getFormatPriority,
|
|
26
|
+
} from '../../../../../../libs/util/shared/src'
|
|
27
|
+
import { TranslateModule } from '@ngx-translate/core'
|
|
28
|
+
import { ActionMenuComponent } from './action-menu/action-menu.component'
|
|
21
29
|
|
|
22
30
|
@Component({
|
|
23
31
|
selector: 'gn-ui-results-table',
|
|
@@ -32,6 +40,7 @@ import {
|
|
|
32
40
|
MatIconModule,
|
|
33
41
|
TranslateModule,
|
|
34
42
|
BadgeComponent,
|
|
43
|
+
ActionMenuComponent,
|
|
35
44
|
],
|
|
36
45
|
})
|
|
37
46
|
export class ResultsTableComponent {
|
|
@@ -43,6 +52,7 @@ export class ResultsTableComponent {
|
|
|
43
52
|
// emits the column (field) as well as the order
|
|
44
53
|
@Output() sortByChange = new EventEmitter<[string, 'asc' | 'desc']>()
|
|
45
54
|
@Output() recordClick = new EventEmitter<CatalogRecord>()
|
|
55
|
+
@Output() duplicateRecord = new EventEmitter<CatalogRecord>()
|
|
46
56
|
@Output() recordsSelectedChange = new EventEmitter<
|
|
47
57
|
[CatalogRecord[], boolean]
|
|
48
58
|
>()
|
|
@@ -89,6 +99,10 @@ export class ResultsTableComponent {
|
|
|
89
99
|
this.recordClick.emit(item as CatalogRecord)
|
|
90
100
|
}
|
|
91
101
|
|
|
102
|
+
handleDuplicate(item: unknown) {
|
|
103
|
+
this.duplicateRecord.emit(item as CatalogRecord)
|
|
104
|
+
}
|
|
105
|
+
|
|
92
106
|
setSortBy(col: string, order: 'asc' | 'desc') {
|
|
93
107
|
this.sortByChange.emit([col, order])
|
|
94
108
|
}
|
package/tailwind.base.css
CHANGED
|
@@ -115,7 +115,8 @@
|
|
|
115
115
|
--padding: var(--gn-ui-badge-padding, 0.375em 0.75em);
|
|
116
116
|
--text-color: var(--gn-ui-badge-text-color, var(--color-gray-50));
|
|
117
117
|
--background-color: var(--gn-ui-badge-background-color, black);
|
|
118
|
-
|
|
118
|
+
--opacity: var(--gn-ui-badge-opacity, 0.7);
|
|
119
|
+
@apply inline-block opacity-[--opacity] p-[--padding] rounded-[--rounded]
|
|
119
120
|
font-medium text-[length:0.875em] leading-none text-[color:--text-color] bg-[color:--background-color];
|
|
120
121
|
}
|
|
121
122
|
/* makes sure icons will not make the badges grow vertically; also make size proportional */
|
package/translations/de.json
CHANGED
|
@@ -49,6 +49,8 @@
|
|
|
49
49
|
"datafeeder.datasetValidation.submitButton": "OK, meine Daten sind korrekt",
|
|
50
50
|
"datafeeder.datasetValidation.title": "Stellen Sie sicher, dass Ihre Daten korrekt sind",
|
|
51
51
|
"datafeeder.datasetValidation.unknown": " - ",
|
|
52
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
53
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
52
54
|
"datafeeder.form.abstract": "Wie würden Sie Ihren Datensatz beschreiben?",
|
|
53
55
|
"datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
|
|
54
56
|
"datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
|
|
@@ -76,6 +78,7 @@
|
|
|
76
78
|
"datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
|
|
77
79
|
"datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
|
|
78
80
|
"datafeeder.publishSuccess.mapViewer": "Kartenviewer",
|
|
81
|
+
"datafeeder.publishSuccess.ogcFeature": "",
|
|
79
82
|
"datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
|
|
80
83
|
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
|
|
81
84
|
"datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
|
|
@@ -104,7 +107,6 @@
|
|
|
104
107
|
"datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
|
|
105
108
|
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
106
109
|
"datafeeder.upload.uploadButton": "Hochladen",
|
|
107
|
-
"datafeeder.validation.encoding": "Codierung",
|
|
108
110
|
"datafeeder.validation.csv.delimiter": "",
|
|
109
111
|
"datafeeder.validation.csv.delimiter.comma": "",
|
|
110
112
|
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
@@ -114,6 +116,7 @@
|
|
|
114
116
|
"datafeeder.validation.csv.quote.none": "",
|
|
115
117
|
"datafeeder.validation.csv.quote.simple": "",
|
|
116
118
|
"datafeeder.validation.csv.quoteChar": "",
|
|
119
|
+
"datafeeder.validation.encoding": "Codierung",
|
|
117
120
|
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
118
121
|
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
119
122
|
"datafeeder.validation.projection": "Raumbezugssystem:",
|
|
@@ -126,7 +129,7 @@
|
|
|
126
129
|
"datahub.header.lastRecords": "Die neuesten",
|
|
127
130
|
"datahub.header.myfavorites": "Meine Favoriten",
|
|
128
131
|
"datahub.header.news": "Startseite",
|
|
129
|
-
"datahub.header.
|
|
132
|
+
"datahub.header.organizations": "Organisationen",
|
|
130
133
|
"datahub.header.popularRecords": "Die beliebtesten",
|
|
131
134
|
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
|
|
132
135
|
"datahub.news.contact.contactus": "Kontaktieren Sie uns",
|
|
@@ -162,37 +165,71 @@
|
|
|
162
165
|
"downloads.format.unknown": "unbekannt",
|
|
163
166
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
164
167
|
"dropFile": "Datei ablegen",
|
|
168
|
+
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
169
|
+
"editor.record.form.bottomButtons.next": "",
|
|
170
|
+
"editor.record.form.bottomButtons.previous": "",
|
|
171
|
+
"editor.record.form.field.abstract": "",
|
|
172
|
+
"editor.record.form.field.keywords": "Schlagwörter",
|
|
173
|
+
"editor.record.form.field.license": "Lizenz",
|
|
174
|
+
"editor.record.form.field.recordUpdated": "",
|
|
175
|
+
"editor.record.form.field.resourceUpdated": "",
|
|
176
|
+
"editor.record.form.field.temporalExtents": "",
|
|
177
|
+
"editor.record.form.field.title": "",
|
|
178
|
+
"editor.record.form.field.uniqueIdentifier": "",
|
|
179
|
+
"editor.record.form.field.updateFrequency": "",
|
|
180
|
+
"editor.record.form.abstract": "Kurzbeschreibung",
|
|
181
|
+
"editor.record.form.keywords": "Schlüsselwörter",
|
|
165
182
|
"editor.record.form.license": "Lizenz",
|
|
166
|
-
"editor.record.form.license.cc-by": "",
|
|
167
|
-
"editor.record.form.license.cc-by-sa": "",
|
|
168
|
-
"editor.record.form.license.cc-zero": "",
|
|
169
|
-
"editor.record.form.license.etalab": "",
|
|
170
|
-
"editor.record.form.license.etalab-v2": "",
|
|
171
|
-
"editor.record.form.license.odbl": "",
|
|
172
|
-
"editor.record.form.license.odc-by": "",
|
|
173
|
-
"editor.record.form.license.pddl": "",
|
|
183
|
+
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
184
|
+
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
185
|
+
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
186
|
+
"editor.record.form.license.etalab": "Offene Lizenz (Etalab)",
|
|
187
|
+
"editor.record.form.license.etalab-v2": "Offene Lizenz v2.0 (Etalab)",
|
|
188
|
+
"editor.record.form.license.odbl": "Open Data Commons ODbL",
|
|
189
|
+
"editor.record.form.license.odc-by": "Open Data Commons ODC-By",
|
|
190
|
+
"editor.record.form.license.pddl": "Open Data Commons PDDL",
|
|
174
191
|
"editor.record.form.license.unknown": "Unbekannt oder nicht vorhanden",
|
|
175
|
-
"editor.record.form.
|
|
176
|
-
"editor.record.form.
|
|
177
|
-
"editor.record.form.
|
|
178
|
-
"editor.record.form.
|
|
179
|
-
"editor.record.form.
|
|
180
|
-
"editor.record.form.
|
|
181
|
-
"editor.record.form.
|
|
182
|
-
"editor.record.form.
|
|
183
|
-
"editor.record.
|
|
184
|
-
"editor.record.
|
|
185
|
-
"editor.record.
|
|
186
|
-
"editor.record.
|
|
187
|
-
"editor.record.
|
|
188
|
-
"editor.record.
|
|
189
|
-
"editor.record.
|
|
190
|
-
"editor.record.
|
|
191
|
-
"editor.record.
|
|
192
|
-
"editor.record.
|
|
193
|
-
"editor.record.
|
|
194
|
-
"editor.record.
|
|
195
|
-
"editor.record.
|
|
192
|
+
"editor.record.form.page.accessAndContact": "",
|
|
193
|
+
"editor.record.form.page.description": "",
|
|
194
|
+
"editor.record.form.page.ressources": "",
|
|
195
|
+
"editor.record.form.section.about.description": "",
|
|
196
|
+
"editor.record.form.section.about.label": "",
|
|
197
|
+
"editor.record.form.section.annexes.label": "",
|
|
198
|
+
"editor.record.form.section.associatedResources.description": "",
|
|
199
|
+
"editor.record.form.section.associatedResources.label": "",
|
|
200
|
+
"editor.record.form.section.classification.description": "",
|
|
201
|
+
"editor.record.form.section.classification.label": "",
|
|
202
|
+
"editor.record.form.section.dataManagers.description": "",
|
|
203
|
+
"editor.record.form.section.dataManagers.label": "",
|
|
204
|
+
"editor.record.form.section.dataPointOfContact.description": "",
|
|
205
|
+
"editor.record.form.section.dataPointOfContact.label": "",
|
|
206
|
+
"editor.record.form.section.geographicalCoverage.label": "",
|
|
207
|
+
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
208
|
+
"editor.record.form.metadata.title": "Metadaten-Titel",
|
|
209
|
+
"editor.record.form.record.updated": "Datensatz zuletzt aktualisiert",
|
|
210
|
+
"editor.record.form.resourceUpdated": "Letztes Aktualisierungsdatum",
|
|
211
|
+
"editor.record.form.temporalExtents": "Zeitlicher Umfang",
|
|
212
|
+
"editor.record.form.temporalExtents.addDate": "Zeitpunkt",
|
|
213
|
+
"editor.record.form.temporalExtents.addRange": "Zeitraum",
|
|
214
|
+
"editor.record.form.temporalExtents.date": "Datum",
|
|
215
|
+
"editor.record.form.temporalExtents.range": "Datumsbereich",
|
|
216
|
+
"editor.record.form.unique.identifier": "Eindeutige Kennung (ID)",
|
|
217
|
+
"editor.record.form.updateFrequency": "Aktualisierungshäufigkeit",
|
|
218
|
+
"editor.record.form.updateFrequency.planned": "Die Daten sollten regelmäßig aktualisiert werden.",
|
|
219
|
+
"editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
|
|
220
|
+
"editor.record.loadError.closeMessage": "Verstanden",
|
|
221
|
+
"editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
|
|
222
|
+
"editor.record.publish": "Diesen Datensatz veröffentlichen",
|
|
223
|
+
"editor.record.publishError.body": "Der Datensatz konnte nicht veröffentlicht werden:",
|
|
224
|
+
"editor.record.publishError.closeMessage": "Verstanden",
|
|
225
|
+
"editor.record.publishError.title": "Fehler beim Veröffentlichen des Datensatzes",
|
|
226
|
+
"editor.record.publishSuccess.body": "Der Datensatz wurde erfolgreich veröffentlicht!",
|
|
227
|
+
"editor.record.publishSuccess.title": "Veröffentlichung erfolgreich",
|
|
228
|
+
"editor.record.saveStatus.asDraftOnly": "Nur als Entwurf gespeichert - noch nicht veröffentlicht",
|
|
229
|
+
"editor.record.saveStatus.draftWithChangesPending": "Als Entwurf gespeichert - Änderungen stehen aus",
|
|
230
|
+
"editor.record.saveStatus.recordUpToDate": "Datensatz ist auf dem neuesten Stand",
|
|
231
|
+
"editor.record.upToDate": "Dieser Datensatz ist auf dem neuesten Stand",
|
|
232
|
+
"editor.sidebar.menu.editor": "",
|
|
196
233
|
"externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
|
|
197
234
|
"facets.block.title.OrgForResource": "Organisation",
|
|
198
235
|
"facets.block.title.availableInServices": "Verfügbar für",
|
|
@@ -261,17 +298,16 @@
|
|
|
261
298
|
"organisations.sortBy.nameDesc": "Name Z → A",
|
|
262
299
|
"organisations.sortBy.recordCountAsc": "Veröffentlichungen 0 → 9",
|
|
263
300
|
"organisations.sortBy.recordCountDesc": "Veröffentlichungen 9 → 0",
|
|
264
|
-
"organization.
|
|
265
|
-
"organization.details.
|
|
301
|
+
"organization.details.lastPublishedDatasets": "",
|
|
302
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
266
303
|
"organization.details.mailContact": "",
|
|
267
|
-
"organization.
|
|
268
|
-
"organization.lastPublishedDatasets": "",
|
|
269
|
-
"organization.lastPublishedDatasets.searchAllButton": "",
|
|
304
|
+
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
270
305
|
"pagination.nextPage": "Nächste Seite",
|
|
271
306
|
"pagination.page": "Seite",
|
|
272
307
|
"pagination.pageOf": "von",
|
|
273
308
|
"previous": "zurück",
|
|
274
309
|
"record.action.download": "Herunterladen",
|
|
310
|
+
"record.action.duplicate": "",
|
|
275
311
|
"record.action.view": "Anzeigen",
|
|
276
312
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
277
313
|
"record.metadata.about": "Beschreibung",
|
|
@@ -364,11 +400,11 @@
|
|
|
364
400
|
"results.sortBy.relevancy": "Relevanz",
|
|
365
401
|
"search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
|
|
366
402
|
"search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
|
|
403
|
+
"search.error.organizationHasNoDataset": "",
|
|
404
|
+
"search.error.organizationNotFound": "",
|
|
367
405
|
"search.error.receivedError": "Ein Fehler ist aufgetreten",
|
|
368
406
|
"search.error.recordHasnolink": "",
|
|
369
407
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
370
|
-
"search.error.organizationNotFound": "",
|
|
371
|
-
"search.error.organizationHasNoDataset": "",
|
|
372
408
|
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
373
409
|
"search.field.sortBy": "Sortieren nach:",
|
|
374
410
|
"search.filters.clear": "Zurücksetzen",
|
|
@@ -393,9 +429,11 @@
|
|
|
393
429
|
"search.filters.minimize": "Minimieren",
|
|
394
430
|
"search.filters.myRecords": "Nur meine Datensätze anzeigen",
|
|
395
431
|
"search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Datensätze angezeigt; Datensätze, die von anderen erstellt wurden, werden nicht angezeigt.",
|
|
432
|
+
"search.filters.organization": "",
|
|
396
433
|
"search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
|
|
434
|
+
"search.filters.producerOrg": "",
|
|
397
435
|
"search.filters.publicationYear": "Veröffentlichungsjahr",
|
|
398
|
-
"search.filters.
|
|
436
|
+
"search.filters.publisherOrg": "",
|
|
399
437
|
"search.filters.representationType": "Repräsentationstyp",
|
|
400
438
|
"search.filters.resourceType": "Ressourcentyp",
|
|
401
439
|
"search.filters.standard": "Standard",
|