geonetwork-ui 2.4.0-dev.e4dc8777 → 2.4.0-dev.e77c0f8c

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.
Files changed (43) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  3. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +5 -5
  4. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +42 -23
  5. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +13 -5
  6. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +49 -15
  7. package/esm2022/translations/de.json +34 -30
  8. package/esm2022/translations/en.json +6 -2
  9. package/esm2022/translations/es.json +4 -0
  10. package/esm2022/translations/fr.json +7 -3
  11. package/esm2022/translations/it.json +4 -0
  12. package/esm2022/translations/nl.json +4 -0
  13. package/esm2022/translations/pt.json +4 -0
  14. package/fesm2022/geonetwork-ui.mjs +164 -74
  15. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  16. package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
  17. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  18. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  19. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +4 -1
  20. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  21. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts +4 -1
  22. package/libs/feature/record/src/lib/data-view-share/data-view-share.component.d.ts.map +1 -1
  23. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +4 -1
  24. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  25. package/package.json +1 -1
  26. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +1 -0
  27. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  28. package/src/libs/feature/editor/src/lib/fields.config.ts +4 -4
  29. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +36 -19
  30. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +6 -2
  31. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +11 -0
  32. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +59 -12
  33. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.css +31 -0
  34. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +15 -0
  35. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +38 -0
  36. package/translations/de.json +34 -30
  37. package/translations/en.json +6 -2
  38. package/translations/es.json +4 -0
  39. package/translations/fr.json +7 -3
  40. package/translations/it.json +4 -0
  41. package/translations/nl.json +4 -0
  42. package/translations/pt.json +4 -0
  43. package/translations/sk.json +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"atomic-operations.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACb,MAAM,2DAA2D,CAAA;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,MAAM,MAAM,sBAAsB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE/D,eAAO,MAAM,WAAW,cACd,sBAAsB,aACnB,MAAM,MAEuD,CAAA;AAE1E,eAAO,MAAM,oBAAoB,cACvB,sBAAsB,iBACf,MAAM,EAAE,MAKtB,CAAA;AAEH,eAAO,MAAM,cAAc,wCACQ,CAAA;AAEnC,eAAO,MAAM,qBAAqB,cACxB,sBAAsB,SACvB,MAAM,MAE6D,CAAA;AAE5E,eAAO,MAAM,qBAAqB,cACxB,sBAAsB,aACnB,MAAM,SACV,MAAM,MAC4D,CAAA;AAE3E,eAAO,MAAM,MAAM,sBAA6B,CAAA;AAEhD,eAAO,MAAM,aAAa,qBACe,CAAA;AAEzC,eAAO,MAAM,YAAY,iCACiD,CAAA;AAE1E,eAAO,MAAM,UAAU,uBACuC,CAAA;AAE9D,eAAO,MAAM,QAAQ,0BAET,MAAM,QAWjB,CAAA;AAED,eAAO,MAAM,OAAO,WAAY,sBAAsB,QAGrD,CAAA;AAED,eAAO,MAAM,eAAe,kBACX,sBAAsB,SAC9B,MAAM,KACZ,YAWF,CAAA;AAED,eAAO,MAAM,UAAU,kBACN,sBAAsB,SAC9B,MAAM,KACZ,UAWF,CAAA;AAED,eAAO,MAAM,WAAW,aAAc,SAAS,EAAE,YAAY,MAAM,UAyBlE,CAAA"}
1
+ {"version":3,"file":"atomic-operations.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACb,MAAM,2DAA2D,CAAA;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,MAAM,MAAM,sBAAsB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE/D,eAAO,MAAM,WAAW,cACd,sBAAsB,aACnB,MAAM,MAEuD,CAAA;AAE1E,eAAO,MAAM,oBAAoB,cACvB,sBAAsB,iBACf,MAAM,EAAE,MAKtB,CAAA;AAEH,eAAO,MAAM,cAAc,wCACQ,CAAA;AAEnC,eAAO,MAAM,qBAAqB,cACxB,sBAAsB,SACvB,MAAM,MAE6D,CAAA;AAE5E,eAAO,MAAM,qBAAqB,cACxB,sBAAsB,aACnB,MAAM,SACV,MAAM,MAC4D,CAAA;AAE3E,eAAO,MAAM,MAAM,sBAA6B,CAAA;AAEhD,eAAO,MAAM,aAAa,qBACe,CAAA;AAEzC,eAAO,MAAM,YAAY,iCACiD,CAAA;AAE1E,eAAO,MAAM,UAAU,uBACuC,CAAA;AAE9D,eAAO,MAAM,QAAQ,0BAET,MAAM,QAWjB,CAAA;AAED,eAAO,MAAM,OAAO,WAAY,sBAAsB,QAGrD,CAAA;AAED,eAAO,MAAM,eAAe,kBACX,sBAAsB,SAC9B,MAAM,KACZ,YAWF,CAAA;AAED,eAAO,MAAM,UAAU,kBACN,sBAAsB,SAC9B,MAAM,KACZ,UAWF,CAAA;AAED,eAAO,MAAM,WAAW,aAAc,SAAS,EAAE,YAAY,MAAM,UA0BlE,CAAA"}
@@ -4,6 +4,7 @@ type MultilingualField = {
4
4
  [K in `lang${LangCode}`]: string;
5
5
  } & {
6
6
  default: string;
7
+ link?: string;
7
8
  };
8
9
  type BooleanString = 'true' | 'false';
9
10
  interface CodeListEntry extends MultilingualField {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  import { Configuration } from '../../../../../../libs/data-access/gn4/src';
3
+ import { BehaviorSubject } from 'rxjs';
3
4
  import { MdViewFacade } from '../state';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare const WEB_COMPONENT_EMBEDDER_URL: InjectionToken<string>;
@@ -8,9 +9,11 @@ export declare class DataViewPermalinkComponent {
8
9
  protected wcEmbedderBaseUrl: string;
9
10
  private version;
10
11
  private facade;
12
+ viewType$: BehaviorSubject<string>;
13
+ set viewType(value: string);
11
14
  permalinkUrl$: import("rxjs").Observable<string>;
12
15
  constructor(config: Configuration, wcEmbedderBaseUrl: string, version: string, facade: MdViewFacade);
13
16
  static ɵfac: i0.ɵɵFactoryDeclaration<DataViewPermalinkComponent, [null, { optional: true; }, null, null]>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<DataViewPermalinkComponent, "gn-ui-data-view-permalink", never, {}, {}, never, never, false, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataViewPermalinkComponent, "gn-ui-data-view-permalink", never, { "viewType": { "alias": "viewType"; "required": false; }; }, {}, never, never, false, never>;
15
18
  }
16
19
  //# sourceMappingURL=data-view-permalink.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-view-permalink.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAEf,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;;AAGvC,eAAO,MAAM,0BAA0B,wBAEtC,CAAA;AAED,qBAMa,0BAA0B;IA4BZ,OAAO,CAAC,MAAM;IAGrC,SAAS,CAAC,iBAAiB,EAAE,MAAM;IACZ,OAAO,CAAC,OAAO;IACtC,OAAO,CAAC,MAAM;IAhChB,aAAa,oCAwBZ;gBAGgC,MAAM,EAAE,aAAa,EAG1C,iBAAiB,EAAE,MAAM,EACJ,OAAO,EAAE,MAAM,EACtC,MAAM,EAAE,YAAY;yCAjCnB,0BAA0B;2CAA1B,0BAA0B;CAmCtC"}
1
+ {"version":3,"file":"data-view-permalink.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAGf,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAsB,MAAM,MAAM,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;;AAGvC,eAAO,MAAM,0BAA0B,wBAEtC,CAAA;AAED,qBAMa,0BAA0B;IA4CZ,OAAO,CAAC,MAAM;IAGrC,SAAS,CAAC,iBAAiB,EAAE,MAAM;IACZ,OAAO,CAAC,OAAO;IACtC,OAAO,CAAC,MAAM;IAhDhB,SAAS,0BAAqC;IAC9C,IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED,aAAa,oCAkCZ;gBAGgC,MAAM,EAAE,aAAa,EAG1C,iBAAiB,EAAE,MAAM,EACJ,OAAO,EAAE,MAAM,EACtC,MAAM,EAAE,YAAY;yCAjDnB,0BAA0B;2CAA1B,0BAA0B;CAmDtC"}
@@ -1,8 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class DataViewShareComponent {
3
3
  protected wcEmbedderBaseUrl: string;
4
+ private _viewType;
5
+ set viewType(value: string);
6
+ get viewType(): string;
4
7
  constructor(wcEmbedderBaseUrl: string);
5
8
  static ɵfac: i0.ɵɵFactoryDeclaration<DataViewShareComponent, [{ optional: true; }]>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<DataViewShareComponent, "gn-ui-data-view-share", never, {}, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataViewShareComponent, "gn-ui-data-view-share", never, { "viewType": { "alias": "viewType"; "required": false; }; }, {}, never, never, false, never>;
7
10
  }
8
11
  //# sourceMappingURL=data-view-share.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-view-share.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts"],"names":[],"mappings":";AAQA,qBAMa,sBAAsB;IAI/B,SAAS,CAAC,iBAAiB,EAAE,MAAM;gBAAzB,iBAAiB,EAAE,MAAM;yCAJ1B,sBAAsB;2CAAtB,sBAAsB;CAMlC"}
1
+ {"version":3,"file":"data-view-share.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts"],"names":[],"mappings":";AASA,qBAMa,sBAAsB;IAc/B,SAAS,CAAC,iBAAiB,EAAE,MAAM;IAbrC,OAAO,CAAC,SAAS,CAAQ;IAEzB,IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;gBAIW,iBAAiB,EAAE,MAAM;yCAd1B,sBAAsB;2CAAtB,sBAAsB;CAgBlC"}
@@ -1,13 +1,16 @@
1
1
  import { Configuration } from '../../../../../../libs/data-access/gn4/src';
2
2
  import { MdViewFacade } from '../state';
3
+ import { BehaviorSubject } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class DataViewWebComponentComponent {
5
6
  private config;
6
7
  private version;
7
8
  private facade;
9
+ viewType$: BehaviorSubject<string>;
10
+ set viewType(value: string);
8
11
  webComponentHtml$: import("rxjs").Observable<string>;
9
12
  constructor(config: Configuration, version: string, facade: MdViewFacade);
10
13
  static ɵfac: i0.ɵɵFactoryDeclaration<DataViewWebComponentComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<DataViewWebComponentComponent, "gn-ui-data-view-web-component", never, {}, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataViewWebComponentComponent, "gn-ui-data-view-web-component", never, { "viewType": { "alias": "viewType"; "required": false; }; }, {}, never, never, false, never>;
12
15
  }
13
16
  //# sourceMappingURL=data-view-web-component.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-view-web-component.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;;AAIvC,qBAMa,6BAA6B;IAkCf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACtC,OAAO,CAAC,MAAM;IAnChB,iBAAiB,oCA8BhB;gBAGgC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACtC,MAAM,EAAE,YAAY;yCApCnB,6BAA6B;2CAA7B,6BAA6B;CAsCzC"}
1
+ {"version":3,"file":"data-view-web-component.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,eAAe,EAAsB,MAAM,MAAM,CAAA;;AAG1D,qBAMa,6BAA6B;IA4Ef,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACtC,OAAO,CAAC,MAAM;IA7EhB,SAAS,0BAAqC;IAC9C,IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IACD,iBAAiB,oCAmEhB;gBAGgC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACtC,MAAM,EAAE,YAAY;yCA9EnB,6BAA6B;2CAA7B,6BAA6B;CAgFzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.4.0-dev.e4dc8777",
3
+ "version": "2.4.0-dev.e77c0f8c",
4
4
  "engines": {
5
5
  "node": ">=14.17.0"
6
6
  },
@@ -120,6 +120,7 @@ export const mapKeywords = (thesauri: Thesaurus[], language: string) => {
120
120
  keywords.push({
121
121
  label: selectTranslatedValue<string>(keyword, language),
122
122
  type: getKeywordTypeFromKeywordTypeCode(rawThesaurus.theme),
123
+ ...(keyword.link && { key: keyword.link }),
123
124
  ...(thesaurus && { thesaurus }),
124
125
  })
125
126
  }
@@ -5,6 +5,7 @@ type MultilingualField = {
5
5
  [K in `lang${LangCode}`]: string
6
6
  } & {
7
7
  default: string
8
+ link?: string
8
9
  }
9
10
 
10
11
  type BooleanString = 'true' | 'false'
@@ -5,21 +5,21 @@ export const DEFAULT_FIELDS: EditorFieldsConfig = [
5
5
  {
6
6
  model: 'title',
7
7
  formFieldConfig: {
8
- labelKey: 'Metadata title',
8
+ labelKey: marker('editor.record.form.metadata.title'),
9
9
  type: 'text',
10
10
  },
11
11
  },
12
12
  {
13
13
  model: 'abstract',
14
14
  formFieldConfig: {
15
- labelKey: 'Abstract',
15
+ labelKey: marker('editor.record.form.abstract'),
16
16
  type: 'rich',
17
17
  },
18
18
  },
19
19
  {
20
20
  model: 'uniqueIdentifier',
21
21
  formFieldConfig: {
22
- labelKey: 'Unique identifier',
22
+ labelKey: marker('editor.record.form.unique.identifier'),
23
23
  type: 'text',
24
24
  locked: true,
25
25
  },
@@ -27,7 +27,7 @@ export const DEFAULT_FIELDS: EditorFieldsConfig = [
27
27
  {
28
28
  model: 'recordUpdated',
29
29
  formFieldConfig: {
30
- labelKey: 'Record Updated',
30
+ labelKey: marker('editor.record.form.record.updated'),
31
31
  type: 'text',
32
32
  locked: true,
33
33
  },
@@ -3,10 +3,11 @@ import {
3
3
  Component,
4
4
  Inject,
5
5
  InjectionToken,
6
+ Input,
6
7
  Optional,
7
8
  } from '@angular/core'
8
9
  import { Configuration } from '../../../../../../libs/data-access/gn4/src'
9
- import { combineLatest, map } from 'rxjs'
10
+ import { BehaviorSubject, combineLatest, map } from 'rxjs'
10
11
  import { MdViewFacade } from '../state'
11
12
  import { GN_UI_VERSION } from '../gn-ui-version.token'
12
13
 
@@ -21,29 +22,45 @@ export const WEB_COMPONENT_EMBEDDER_URL = new InjectionToken<string>(
21
22
  changeDetection: ChangeDetectionStrategy.OnPush,
22
23
  })
23
24
  export class DataViewPermalinkComponent {
25
+ viewType$ = new BehaviorSubject<string>('map')
26
+ @Input()
27
+ set viewType(value: string) {
28
+ this.viewType$.next(value)
29
+ }
30
+
24
31
  permalinkUrl$ = combineLatest([
32
+ this.viewType$,
25
33
  this.facade.chartConfig$,
26
34
  this.facade.metadata$,
27
35
  ]).pipe(
28
- map(([config, metadata]) => {
29
- if (config) {
30
- const { aggregation, xProperty, yProperty, chartType } = config
31
- const url = new URL(`${this.wcEmbedderBaseUrl}`, window.location.origin)
32
- url.searchParams.set('v', `${this.version}`)
33
- url.searchParams.append('e', `gn-dataset-view-chart`)
34
- url.searchParams.append('a', `api-url=${this.config.basePath}`)
35
- url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`)
36
- url.searchParams.append('a', `primary-color=#0f4395`)
37
- url.searchParams.append('a', `secondary-color=#8bc832`)
38
- url.searchParams.append('a', `main-color=#555`)
39
- url.searchParams.append('a', `background-color=#fdfbff`)
40
- url.searchParams.append('a', `aggregation=${aggregation}`)
41
- url.searchParams.append('a', `x-property=${xProperty}`)
42
- url.searchParams.append('a', `y-property=${yProperty}`)
43
- url.searchParams.append('a', `chart-type=${chartType}`)
44
- return url.toString()
36
+ map(([viewType, config, metadata]) => {
37
+ const url = new URL(`${this.wcEmbedderBaseUrl}`, window.location.origin)
38
+ url.searchParams.set('v', `${this.version}`)
39
+ if (viewType === 'chart') {
40
+ if (config) {
41
+ const { aggregation, xProperty, yProperty, chartType } = config
42
+ url.searchParams.append('e', `gn-dataset-view-chart`)
43
+ url.searchParams.append('a', `aggregation=${aggregation}`)
44
+ url.searchParams.append('a', `x-property=${xProperty}`)
45
+ url.searchParams.append('a', `y-property=${yProperty}`)
46
+ url.searchParams.append('a', `chart-type=${chartType}`)
47
+ } else {
48
+ return ''
49
+ }
50
+ } else if (viewType === 'table') {
51
+ // table
52
+ url.searchParams.append('e', `gn-dataset-view-table`)
53
+ } else {
54
+ // map
55
+ url.searchParams.append('e', `gn-dataset-view-map`)
45
56
  }
46
- return ''
57
+ url.searchParams.append('a', `api-url=${this.config.basePath}`)
58
+ url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`)
59
+ url.searchParams.append('a', `primary-color=#0f4395`)
60
+ url.searchParams.append('a', `secondary-color=#8bc832`)
61
+ url.searchParams.append('a', `main-color=#555`)
62
+ url.searchParams.append('a', `background-color=#fdfbff`)
63
+ return url.toString()
47
64
  })
48
65
  )
49
66
 
@@ -10,7 +10,9 @@
10
10
  <ng-template mat-tab-label>
11
11
  <span class="tab-header-label-gray" translate>share.tab.permalink</span>
12
12
  </ng-template>
13
- <gn-ui-data-view-permalink></gn-ui-data-view-permalink>
13
+ <gn-ui-data-view-permalink
14
+ [viewType]="viewType"
15
+ ></gn-ui-data-view-permalink>
14
16
  </mat-tab>
15
17
  <mat-tab>
16
18
  <ng-template mat-tab-label>
@@ -24,7 +26,9 @@
24
26
  >share.tab.webComponent</span
25
27
  >
26
28
  </ng-template>
27
- <gn-ui-data-view-web-component></gn-ui-data-view-web-component>
29
+ <gn-ui-data-view-web-component
30
+ [viewType]="viewType"
31
+ ></gn-ui-data-view-web-component>
28
32
  </mat-tab>
29
33
  </mat-tab-group>
30
34
  </div>
@@ -2,6 +2,7 @@ import {
2
2
  ChangeDetectionStrategy,
3
3
  Component,
4
4
  Inject,
5
+ Input,
5
6
  Optional,
6
7
  } from '@angular/core'
7
8
  import { WEB_COMPONENT_EMBEDDER_URL } from '../data-view-permalink/data-view-permalink.component'
@@ -13,6 +14,16 @@ import { WEB_COMPONENT_EMBEDDER_URL } from '../data-view-permalink/data-view-per
13
14
  changeDetection: ChangeDetectionStrategy.OnPush,
14
15
  })
15
16
  export class DataViewShareComponent {
17
+ private _viewType: string
18
+
19
+ @Input()
20
+ set viewType(value: string) {
21
+ this._viewType = value
22
+ }
23
+
24
+ get viewType(): string {
25
+ return this._viewType
26
+ }
16
27
  constructor(
17
28
  @Optional()
18
29
  @Inject(WEB_COMPONENT_EMBEDDER_URL)
@@ -1,7 +1,12 @@
1
- import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'
1
+ import {
2
+ ChangeDetectionStrategy,
3
+ Component,
4
+ Inject,
5
+ Input,
6
+ } from '@angular/core'
2
7
  import { Configuration } from '../../../../../../libs/data-access/gn4/src'
3
8
  import { MdViewFacade } from '../state'
4
- import { combineLatest, map } from 'rxjs'
9
+ import { BehaviorSubject, combineLatest, map } from 'rxjs'
5
10
  import { GN_UI_VERSION } from '../gn-ui-version.token'
6
11
 
7
12
  @Component({
@@ -11,35 +16,77 @@ import { GN_UI_VERSION } from '../gn-ui-version.token'
11
16
  changeDetection: ChangeDetectionStrategy.OnPush,
12
17
  })
13
18
  export class DataViewWebComponentComponent {
19
+ viewType$ = new BehaviorSubject<string>('map')
20
+ @Input()
21
+ set viewType(value: string) {
22
+ this.viewType$.next(value)
23
+ }
14
24
  webComponentHtml$ = combineLatest(
25
+ this.viewType$,
15
26
  this.facade.chartConfig$,
16
27
  this.facade.metadata$
17
28
  ).pipe(
18
- map(([config, metadata]) => {
19
- if (config) {
20
- const { aggregation, xProperty, yProperty, chartType } = config
29
+ map(([viewType, config, metadata]) => {
30
+ if (viewType === 'chart') {
31
+ if (config) {
32
+ const { aggregation, xProperty, yProperty, chartType } = config
33
+ return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${
34
+ this.version
35
+ }/gn-wc.js"></script>
36
+ <gn-dataset-view-chart
37
+ api-url="${new URL(
38
+ this.config.basePath,
39
+ window.location.origin
40
+ ).toString()}"
41
+ dataset-id="${metadata.uniqueIdentifier}"
42
+ aggregation="${aggregation}"
43
+ x-property="${xProperty}"
44
+ y-property="${yProperty}"
45
+ chart-type="${chartType}"
46
+ primary-color="#0f4395"
47
+ secondary-color="#8bc832"
48
+ main-color="#555"
49
+ background-color="#fdfbff"
50
+ main-font="'Inter', sans-serif"
51
+ title-font="'DM Serif Display', serif"
52
+ ></gn-dataset-view-chart>`
53
+ }
54
+ return ''
55
+ } else if (viewType === 'table') {
21
56
  return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${
22
57
  this.version
23
58
  }/gn-wc.js"></script>
24
- <gn-dataset-view-chart
59
+ <gn-dataset-view-table
60
+ api-url="${new URL(
61
+ this.config.basePath,
62
+ window.location.origin
63
+ ).toString()}"
64
+ dataset-id="${metadata.uniqueIdentifier}"
65
+ primary-color="#0f4395"
66
+ secondary-color="#8bc832"
67
+ main-color="#555"
68
+ background-color="#fdfbff"
69
+ main-font="'Inter', sans-serif"
70
+ title-font="'DM Serif Display', serif"
71
+ ></gn-dataset-view-table>`
72
+ } else {
73
+ return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${
74
+ this.version
75
+ }/gn-wc.js"></script>
76
+ <gn-dataset-view-map
25
77
  api-url="${new URL(
26
78
  this.config.basePath,
27
79
  window.location.origin
28
80
  ).toString()}"
29
81
  dataset-id="${metadata.uniqueIdentifier}"
30
- aggregation="${aggregation}"
31
- x-property="${xProperty}"
32
- y-property="${yProperty}"
33
- chart-type="${chartType}"
34
82
  primary-color="#0f4395"
35
83
  secondary-color="#8bc832"
36
84
  main-color="#555"
37
85
  background-color="#fdfbff"
38
86
  main-font="'Inter', sans-serif"
39
87
  title-font="'DM Serif Display', serif"
40
- ></gn-dataset-view-chart>`
88
+ ></gn-dataset-view-map>`
41
89
  }
42
- return ''
43
90
  })
44
91
  )
45
92
 
@@ -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
+ }
@@ -165,38 +165,42 @@
165
165
  "downloads.format.unknown": "unbekannt",
166
166
  "downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
167
167
  "dropFile": "Datei ablegen",
168
- "editor.record.form.keywords": "Schlagwörter",
168
+ "editor.record.form.abstract": "Kurzbeschreibung",
169
+ "editor.record.form.keywords": "Schlüsselwörter",
169
170
  "editor.record.form.license": "Lizenz",
170
- "editor.record.form.license.cc-by": "",
171
- "editor.record.form.license.cc-by-sa": "",
172
- "editor.record.form.license.cc-zero": "",
173
- "editor.record.form.license.etalab": "",
174
- "editor.record.form.license.etalab-v2": "",
175
- "editor.record.form.license.odbl": "",
176
- "editor.record.form.license.odc-by": "",
177
- "editor.record.form.license.pddl": "",
171
+ "editor.record.form.license.cc-by": "Creative Commons CC-BY",
172
+ "editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
173
+ "editor.record.form.license.cc-zero": "Creative Commons CC-0",
174
+ "editor.record.form.license.etalab": "Offene Lizenz (Etalab)",
175
+ "editor.record.form.license.etalab-v2": "Offene Lizenz v2.0 (Etalab)",
176
+ "editor.record.form.license.odbl": "Open Data Commons ODbL",
177
+ "editor.record.form.license.odc-by": "Open Data Commons ODC-By",
178
+ "editor.record.form.license.pddl": "Open Data Commons PDDL",
178
179
  "editor.record.form.license.unknown": "Unbekannt oder nicht vorhanden",
179
- "editor.record.form.resourceUpdated": "",
180
- "editor.record.form.temporalExtents": "",
181
- "editor.record.form.temporalExtents.addDate": "",
182
- "editor.record.form.temporalExtents.addRange": "",
183
- "editor.record.form.temporalExtents.date": "",
184
- "editor.record.form.temporalExtents.range": "",
185
- "editor.record.form.updateFrequency": "",
186
- "editor.record.form.updateFrequency.planned": "",
187
- "editor.record.loadError.body": "",
188
- "editor.record.loadError.closeMessage": "",
189
- "editor.record.loadError.title": "",
190
- "editor.record.publish": "",
191
- "editor.record.publishError.body": "",
192
- "editor.record.publishError.closeMessage": "",
193
- "editor.record.publishError.title": "",
194
- "editor.record.publishSuccess.body": "",
195
- "editor.record.publishSuccess.title": "",
196
- "editor.record.saveStatus.asDraftOnly": "",
197
- "editor.record.saveStatus.draftWithChangesPending": "",
198
- "editor.record.saveStatus.recordUpToDate": "",
199
- "editor.record.upToDate": "",
180
+ "editor.record.form.metadata.title": "Metadaten-Titel",
181
+ "editor.record.form.record.updated": "Datensatz zuletzt aktualisiert",
182
+ "editor.record.form.resourceUpdated": "Letztes Aktualisierungsdatum",
183
+ "editor.record.form.temporalExtents": "Zeitlicher Umfang",
184
+ "editor.record.form.temporalExtents.addDate": "Zeitpunkt",
185
+ "editor.record.form.temporalExtents.addRange": "Zeitraum",
186
+ "editor.record.form.temporalExtents.date": "Datum",
187
+ "editor.record.form.temporalExtents.range": "Datumsbereich",
188
+ "editor.record.form.unique.identifier": "Eindeutige Kennung (ID)",
189
+ "editor.record.form.updateFrequency": "Aktualisierungshäufigkeit",
190
+ "editor.record.form.updateFrequency.planned": "Die Daten sollten regelmäßig aktualisiert werden.",
191
+ "editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
192
+ "editor.record.loadError.closeMessage": "Verstanden",
193
+ "editor.record.loadError.title": "Fehler beim Laden des Datensatzes",
194
+ "editor.record.publish": "Diesen Datensatz veröffentlichen",
195
+ "editor.record.publishError.body": "Der Datensatz konnte nicht veröffentlicht werden:",
196
+ "editor.record.publishError.closeMessage": "Verstanden",
197
+ "editor.record.publishError.title": "Fehler beim Veröffentlichen des Datensatzes",
198
+ "editor.record.publishSuccess.body": "Der Datensatz wurde erfolgreich veröffentlicht!",
199
+ "editor.record.publishSuccess.title": "Veröffentlichung erfolgreich",
200
+ "editor.record.saveStatus.asDraftOnly": "Nur als Entwurf gespeichert - noch nicht veröffentlicht",
201
+ "editor.record.saveStatus.draftWithChangesPending": "Als Entwurf gespeichert - Änderungen stehen aus",
202
+ "editor.record.saveStatus.recordUpToDate": "Datensatz ist auf dem neuesten Stand",
203
+ "editor.record.upToDate": "Dieser Datensatz ist auf dem neuesten Stand",
200
204
  "externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
201
205
  "facets.block.title.OrgForResource": "Organisation",
202
206
  "facets.block.title.availableInServices": "Verfügbar für",
@@ -165,6 +165,7 @@
165
165
  "downloads.format.unknown": "unknown",
166
166
  "downloads.wfs.featuretype.not.found": "The layer was not found",
167
167
  "dropFile": "drop file",
168
+ "editor.record.form.abstract": "Abstract",
168
169
  "editor.record.form.keywords": "Keywords",
169
170
  "editor.record.form.license": "License",
170
171
  "editor.record.form.license.cc-by": "Creative Commons CC-BY",
@@ -176,12 +177,15 @@
176
177
  "editor.record.form.license.odc-by": "Open Data Commons ODC-By",
177
178
  "editor.record.form.license.pddl": "Open Data Commons PDDL",
178
179
  "editor.record.form.license.unknown": "Unknown or absent",
180
+ "editor.record.form.metadata.title": "Metadata title",
181
+ "editor.record.form.record.updated": "Record updated",
179
182
  "editor.record.form.resourceUpdated": "Last update date",
180
183
  "editor.record.form.temporalExtents": "Temporal extent",
181
184
  "editor.record.form.temporalExtents.addDate": "Time instant",
182
185
  "editor.record.form.temporalExtents.addRange": "Time period",
183
186
  "editor.record.form.temporalExtents.date": "Date",
184
187
  "editor.record.form.temporalExtents.range": "Date range",
188
+ "editor.record.form.unique.identifier": "Unique identifier",
185
189
  "editor.record.form.updateFrequency": "Update frequency",
186
190
  "editor.record.form.updateFrequency.planned": "The data should be updated regularly.",
187
191
  "editor.record.loadError.body": "The record could not be loaded:",
@@ -265,8 +269,8 @@
265
269
  "organisations.sortBy.nameDesc": "Name Z → A",
266
270
  "organisations.sortBy.recordCountAsc": "Publications 0 → 9",
267
271
  "organisations.sortBy.recordCountDesc": "Publications 9 → 0",
268
- "organization.details.lastPublishedDatasets": "Last published datasets",
269
- "organization.details.lastPublishedDatasets.searchAllButton": "Search all",
272
+ "organization.details.lastPublishedDatasets": "",
273
+ "organization.details.lastPublishedDatasets.searchAllButton": "",
270
274
  "organization.details.mailContact": "Contact by email",
271
275
  "organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}",
272
276
  "pagination.nextPage": "Next page",
@@ -165,6 +165,7 @@
165
165
  "downloads.format.unknown": "",
166
166
  "downloads.wfs.featuretype.not.found": "",
167
167
  "dropFile": "",
168
+ "editor.record.form.abstract": "",
168
169
  "editor.record.form.keywords": "",
169
170
  "editor.record.form.license": "",
170
171
  "editor.record.form.license.cc-by": "",
@@ -176,12 +177,15 @@
176
177
  "editor.record.form.license.odc-by": "",
177
178
  "editor.record.form.license.pddl": "",
178
179
  "editor.record.form.license.unknown": "",
180
+ "editor.record.form.metadata.title": "",
181
+ "editor.record.form.record.updated": "",
179
182
  "editor.record.form.resourceUpdated": "",
180
183
  "editor.record.form.temporalExtents": "",
181
184
  "editor.record.form.temporalExtents.addDate": "",
182
185
  "editor.record.form.temporalExtents.addRange": "",
183
186
  "editor.record.form.temporalExtents.date": "",
184
187
  "editor.record.form.temporalExtents.range": "",
188
+ "editor.record.form.unique.identifier": "",
185
189
  "editor.record.form.updateFrequency": "",
186
190
  "editor.record.form.updateFrequency.planned": "",
187
191
  "editor.record.loadError.body": "",