geonetwork-ui 2.4.0-dev.f5019723 → 2.4.0-dev.fdf8f64b

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 (56) hide show
  1. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +2 -2
  2. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +72 -0
  3. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +6 -4
  4. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +191 -0
  5. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +8 -6
  6. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +10 -2
  7. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +3 -3
  8. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +2 -2
  9. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +5 -3
  10. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +20 -4
  11. package/esm2022/translations/de.json +7 -0
  12. package/esm2022/translations/en.json +7 -0
  13. package/esm2022/translations/es.json +7 -0
  14. package/esm2022/translations/fr.json +8 -1
  15. package/esm2022/translations/it.json +7 -0
  16. package/esm2022/translations/nl.json +7 -0
  17. package/esm2022/translations/pt.json +7 -0
  18. package/fesm2022/geonetwork-ui.mjs +644 -336
  19. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  20. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +16 -0
  21. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -0
  22. 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
  23. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +44 -0
  24. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -0
  25. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  26. package/libs/feature/editor/src/lib/fields.config.d.ts +1 -0
  27. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  28. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts +1 -0
  29. package/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.d.ts.map +1 -1
  30. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +6 -3
  31. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.css +0 -0
  34. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +31 -0
  35. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +82 -0
  36. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +20 -11
  37. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +3 -0
  38. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.css +0 -0
  39. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +71 -0
  40. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +241 -0
  41. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +8 -0
  42. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +5 -3
  43. package/src/libs/feature/editor/src/lib/fields.config.ts +10 -1
  44. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.html +8 -8
  45. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.html +1 -1
  46. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +3 -1
  47. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +5 -1
  48. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +25 -2
  49. package/translations/de.json +7 -0
  50. package/translations/en.json +7 -0
  51. package/translations/es.json +7 -0
  52. package/translations/fr.json +8 -1
  53. package/translations/it.json +7 -0
  54. package/translations/nl.json +7 -0
  55. package/translations/pt.json +7 -0
  56. package/translations/sk.json +7 -0
@@ -0,0 +1,16 @@
1
+ import { OnChanges } from '@angular/core';
2
+ import { DatasetServiceDistribution, ServiceProtocol } from '../../../../../../../libs/common/domain/src/lib/model/record';
3
+ import * as i0 from "@angular/core";
4
+ export declare class OnlineServiceResourceInputComponent implements OnChanges {
5
+ service: Omit<DatasetServiceDistribution, 'url'>;
6
+ protocolHint?: string;
7
+ selectedProtocol: ServiceProtocol;
8
+ protocolOptions: {
9
+ label: string;
10
+ value: ServiceProtocol;
11
+ }[];
12
+ ngOnChanges(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnlineServiceResourceInputComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnlineServiceResourceInputComponent, "gn-ui-online-service-resource-input", never, { "service": { "alias": "service"; "required": false; }; "protocolHint": { "alias": "protocolHint"; "required": false; }; }, {}, never, never, true, never>;
15
+ }
16
+ //# sourceMappingURL=online-service-resource-input.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"online-service-resource-input.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,EACV,MAAM,eAAe,CAAA;AAMtB,OAAO,EACL,0BAA0B,EAC1B,eAAe,EAChB,MAAM,8DAA8D,CAAA;;AAIrE,qBAgBa,mCAAoC,YAAW,SAAS;IAC1D,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;IAChD,YAAY,CAAC,EAAE,MAAM,CAAA;IAE9B,gBAAgB,EAAE,eAAe,CAAA;IAEjC,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,eAAe,CAAA;KACvB,EAAE,CA6BF;IAED,WAAW;yCAxCA,mCAAmC;2CAAnC,mCAAmC;CA8C/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-online-link-resources.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,YAAY,EAGZ,WAAW,EAEZ,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,oEAAoE,CAAA;AAY3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAA;AAChG,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kFAAkF,CAAA;AAC3H,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;;AAGpD,qBAgBa,qCAAqC;IAqB9C,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IAxBP,YAAY,EAAE,MAAM,CAAA;IAC7B,IAAa,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,EAKxD;IACS,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CACtC;IAES,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IAExE,OAAO,CAAC,YAAY,CAAuB;IAC3C,aAAa,EAAE,kBAAkB,EAAE,CAAK;IACxC,cAAc,MAAY;IAC1B,kBAAkB,EAAE,YAAY,CAAO;IAEvC,SAAS,CAAC,kBAAkB,SAAqB;gBAGvC,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,wBAAwB,EACzC,EAAE,EAAE,iBAAiB,EACrB,MAAM,EAAE,SAAS;IAG3B,gBAAgB,CAAC,IAAI,EAAE,IAAI;IAwB3B,kBAAkB;IAOlB,eAAe,CAAC,GAAG,EAAE,MAAM;IAc3B,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE;IAStC,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM;IAIhE,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,cAAc;yCAtGX,qCAAqC;2CAArC,qCAAqC;CAqIjD"}
1
+ {"version":3,"file":"form-field-online-link-resources.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,YAAY,EAGZ,WAAW,EAEZ,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,oEAAoE,CAAA;AAa3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAA;AAChG,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kFAAkF,CAAA;AAC3H,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;;AAGpD,qBAiBa,qCAAqC;IAqB9C,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IAxBP,YAAY,EAAE,MAAM,CAAA;IAC7B,IAAa,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,EAKxD;IACS,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CACtC;IAES,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IAExE,OAAO,CAAC,YAAY,CAAuB;IAC3C,aAAa,EAAE,kBAAkB,EAAE,CAAK;IACxC,cAAc,MAAY;IAC1B,kBAAkB,EAAE,YAAY,CAAO;IAEvC,SAAS,CAAC,kBAAkB,SAAqB;gBAGvC,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,wBAAwB,EACzC,EAAE,EAAE,iBAAiB,EACrB,MAAM,EAAE,SAAS;IAG3B,gBAAgB,CAAC,IAAI,EAAE,IAAI;IAwB3B,kBAAkB;IAOlB,eAAe,CAAC,GAAG,EAAE,MAAM;IAc3B,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE;IAStC,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM;IAIhE,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,cAAc;yCAtGX,qCAAqC;2CAArC,qCAAqC;CAsIjD"}
@@ -0,0 +1,44 @@
1
+ import { ChangeDetectorRef, EventEmitter, TemplateRef } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { DatasetDownloadDistribution, DatasetServiceDistribution, OnlineResource, ServiceEndpoint } from '../../../../../../../../../libs/common/domain/src/lib/model/record';
4
+ import { PlatformServiceInterface } from '../../../../../../../../../libs/common/domain/src/lib/platform.service.interface';
5
+ import { NotificationsService } from '../../../../../../../../../libs/feature/notifications/src';
6
+ import { SwitchToggleOption } from '../../../../../../../../../libs/ui/inputs/src';
7
+ import { TranslateService } from '@ngx-translate/core';
8
+ import { Subscription } from 'rxjs';
9
+ import * as i0 from "@angular/core";
10
+ type OnlineNotLinkResource = DatasetDownloadDistribution | DatasetServiceDistribution | ServiceEndpoint;
11
+ export declare class FormFieldOnlineResourcesComponent {
12
+ private notificationsService;
13
+ private translateService;
14
+ private platformService;
15
+ private cd;
16
+ private dialog;
17
+ metadataUuid: string;
18
+ set value(onlineResources: Array<OnlineResource>);
19
+ valueChange: EventEmitter<Array<OnlineResource>>;
20
+ dialogTemplate: TemplateRef<OnlineResource>;
21
+ typeOptions: SwitchToggleOption[];
22
+ selectedType: 'download' | 'service';
23
+ private allResources;
24
+ notLinkResources: OnlineNotLinkResource[];
25
+ uploadProgress: any;
26
+ uploadSubscription: Subscription;
27
+ newService: Omit<DatasetServiceDistribution, "url">;
28
+ protected MAX_UPLOAD_SIZE_MB: number;
29
+ constructor(notificationsService: NotificationsService, translateService: TranslateService, platformService: PlatformServiceInterface, cd: ChangeDetectorRef, dialog: MatDialog);
30
+ onSelectedTypeChange(selectedType: unknown): void;
31
+ handleFileChange(file: File): void;
32
+ handleUploadCancel(): void;
33
+ handleDownloadUrlChange(url: string): void;
34
+ handleServiceUrlChange(url: string): void;
35
+ handleServiceModify(oldService: DatasetServiceDistribution, newService: DatasetServiceDistribution): void;
36
+ handleResourcesChange(items: unknown[]): void;
37
+ handleResourceModify(resource: OnlineNotLinkResource, index: number): void;
38
+ private handleError;
39
+ private openEditDialog;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldOnlineResourcesComponent, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldOnlineResourcesComponent, "gn-ui-form-field-online-resources", never, { "metadataUuid": { "alias": "metadataUuid"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=form-field-online-resources.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-field-online-resources.component.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EAEjB,YAAY,EAGZ,WAAW,EAEZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,cAAc,EACd,eAAe,EAChB,MAAM,oEAAoE,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kFAAkF,CAAA;AAC3H,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAA;AAChG,OAAO,EAGL,kBAAkB,EAInB,MAAM,+CAA+C,CAAA;AAKtD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;;AAKnC,KAAK,qBAAqB,GACtB,2BAA2B,GAC3B,0BAA0B,GAC1B,eAAe,CAAA;AAEnB,qBAmBa,iCAAiC;IAwC1C,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IA3CP,YAAY,EAAE,MAAM,CAAA;IAC7B,IAAa,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,EAKxD;IACS,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CACtC;IAES,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IAExE,WAAW,EAAE,kBAAkB,EAAE,CAWhC;IACD,YAAY,EAAE,UAAU,GAAG,SAAS,CAAa;IAEjD,OAAO,CAAC,YAAY,CAAuB;IAC3C,gBAAgB,EAAE,qBAAqB,EAAE,CAAK;IAC9C,cAAc,MAAY;IAC1B,kBAAkB,EAAE,YAAY,CAAO;IACvC,UAAU,0CAIkC;IAE5C,SAAS,CAAC,kBAAkB,SAAqB;gBAGvC,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,wBAAwB,EACzC,EAAE,EAAE,iBAAiB,EACrB,MAAM,EAAE,SAAS;IAG3B,oBAAoB,CAAC,YAAY,EAAE,OAAO;IAI1C,gBAAgB,CAAC,IAAI,EAAE,IAAI;IAyB3B,kBAAkB;IAOlB,uBAAuB,CAAC,GAAG,EAAE,MAAM;IAcnC,sBAAsB,CAAC,GAAG,EAAE,MAAM;IAUlC,mBAAmB,CACjB,UAAU,EAAE,0BAA0B,EACtC,UAAU,EAAE,0BAA0B;IAOxC,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE;IAStC,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM;IAInE,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,cAAc;yCAjJX,iCAAiC;2CAAjC,iCAAiC;CAiL7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.component.d.ts","sourceRoot":"","sources":["../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,UAAU,EACV,YAAY,EAIb,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,OAAO,EACP,cAAc,EACd,eAAe,EAChB,MAAM,iEAAiE,CAAA;AASxE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;;AAetE,qBA+Ba,kBAAkB;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,iBAAiB,CAAA;IACxB,cAAc,EAAE,mBAAmB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IAEb,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAqB;IAExC,UAAU,EAAE,UAAU,CAAA;IAE/C,QAAQ,UAAQ;IAEhB,eAAe;IAIf,IAAI,cAAc,YAEjB;IAED,IAAI,aAAa,WAEhB;IACD,IAAI,WAAW,SAEd;IAED,IAAI,gBAAgB,sBAEnB;IACD,IAAI,sBAAsB,oBAEzB;IACD,IAAI,sBAAsB,4BAEzB;IACD,IAAI,eAAe,cAElB;IACD,IAAI,kBAAkB,iBAErB;IACD,IAAI,kBAAkB,iBAErB;IACD,IAAI,sBAAsB,qBAEzB;yCAhDU,kBAAkB;2CAAlB,kBAAkB;CAiD9B"}
1
+ {"version":3,"file":"form-field.component.d.ts","sourceRoot":"","sources":["../../../../../../../../src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,UAAU,EACV,YAAY,EAIb,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,OAAO,EACP,cAAc,EACd,eAAe,EAChB,MAAM,iEAAiE,CAAA;AASxE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;;AAgBtE,qBAgCa,kBAAkB;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,iBAAiB,CAAA;IACxB,cAAc,EAAE,mBAAmB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IAEb,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAqB;IAExC,UAAU,EAAE,UAAU,CAAA;IAE/C,QAAQ,UAAQ;IAEhB,eAAe;IAIf,IAAI,cAAc,YAEjB;IAED,IAAI,aAAa,WAEhB;IACD,IAAI,WAAW,SAEd;IAED,IAAI,gBAAgB,sBAEnB;IACD,IAAI,sBAAsB,oBAEzB;IACD,IAAI,sBAAsB,4BAEzB;IACD,IAAI,eAAe,cAElB;IACD,IAAI,kBAAkB,iBAErB;IACD,IAAI,kBAAkB,iBAErB;IACD,IAAI,sBAAsB,qBAEzB;yCAhDU,kBAAkB;2CAAlB,kBAAkB;CAiD9B"}
@@ -23,6 +23,7 @@ export declare const CONTACTS_FOR_RESOURCE_FIELD: EditorField;
23
23
  export declare const CONTACTS: EditorField;
24
24
  export declare const RECORD_GRAPHICAL_OVERVIEW_FIELD: EditorField;
25
25
  export declare const RECORD_SPATIAL_EXTENTS_FIELD: EditorField;
26
+ export declare const RECORD_ONLINE_RESOURCES: EditorField;
26
27
  export declare const RECORD_ONLINE_LINK_RESOURCES: EditorField;
27
28
  /************************************************************
28
29
  *************** SECTIONS *****************
@@ -1 +1 @@
1
- {"version":3,"file":"fields.config.d.ts","sourceRoot":"","sources":["../../../../../src/libs/feature/editor/src/lib/fields.config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAA;AAEhF;;;;;GAKG;AAEH;;;GAGG;AAEH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,WAM5C,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAM3C,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,WAQlC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAG3C,CAAA;AAID,eAAO,MAAM,6BAA6B,EAAE,WAK3C,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,WAKhC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,WAKzC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,WAKtB,CAAA;AAED,eAAO,MAAM,+BAA+B,EAAE,WAK7C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,WAK1C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,WAM1C,CAAA;AAED;;;GAGG;AAEH,eAAO,MAAM,aAAa,EAAE,aAO3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aAW3B,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,aAI3C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,aAO1C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,aAI7B,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,aAOpC,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,aAI/C,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,aAKnC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,aAO3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAoBnC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAMtC,CAAA;AAED,eAAO,MAAM,kBAAkB,KAAK,CAAA;AACpC;;;GAGG;AAEH,eAAO,MAAM,cAAc,EAAE,OAAO,EAanC,CAAA"}
1
+ {"version":3,"file":"fields.config.d.ts","sourceRoot":"","sources":["../../../../../src/libs/feature/editor/src/lib/fields.config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAA;AAEhF;;;;;GAKG;AAEH;;;GAGG;AAEH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,WAM5C,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAM3C,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,WAQlC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,WAG3C,CAAA;AAID,eAAO,MAAM,6BAA6B,EAAE,WAK3C,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,WAKhC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,WAKzC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,WAKtB,CAAA;AAED,eAAO,MAAM,+BAA+B,EAAE,WAK7C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,WAK1C,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,WAMrC,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,WAM1C,CAAA;AAED;;;GAGG;AAEH,eAAO,MAAM,aAAa,EAAE,aAO3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aAW3B,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,aAI3C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,aAO1C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,aAK7B,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,aAOpC,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,aAI/C,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,aAKnC,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,aAO3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAoBnC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAMtC,CAAA;AAED,eAAO,MAAM,kBAAkB,KAAK,CAAA;AACpC;;;GAGG;AAEH,eAAO,MAAM,cAAc,EAAE,OAAO,EAanC,CAAA"}
@@ -2,6 +2,7 @@ import { EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export type SwitchToggleOption = {
4
4
  label: string;
5
+ value?: unknown;
5
6
  checked: boolean;
6
7
  };
7
8
  export declare class SwitchToggleComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"switch-toggle.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;;AAGtB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,qBAQa,qBAAqB;IACvB,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,SAAS,CAAC,SAAK;IACf,YAAY,CAAC,SAAK;IACjB,aAAa,mCAAyC;IAEhE,QAAQ,CAAC,cAAc,EAAE,kBAAkB;yCANhC,qBAAqB;2CAArB,qBAAqB;CAajC"}
1
+ {"version":3,"file":"switch-toggle.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;;AAItB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,qBAQa,qBAAqB;IACvB,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,SAAS,CAAC,SAAK;IACf,YAAY,CAAC,SAAK;IACjB,aAAa,mCAAyC;IAEhE,QAAQ,CAAC,cAAc,EAAE,kBAAkB;yCANhC,qBAAqB;2CAArB,qBAAqB;CAajC"}
@@ -1,18 +1,21 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
- export declare class UrlInputComponent {
4
+ export declare class UrlInputComponent implements OnChanges {
5
5
  private cd;
6
6
  value: string;
7
7
  extraClass: string;
8
8
  placeholder: string;
9
9
  disabled: boolean;
10
+ urlCanParse?: boolean;
10
11
  rawChange: Subject<string>;
11
12
  valueChange: import("rxjs").Observable<string>;
12
13
  constructor(cd: ChangeDetectorRef);
14
+ ngOnChanges(changes: SimpleChanges): void;
13
15
  handleInput(): void;
14
16
  handleChange(element: HTMLInputElement): void;
17
+ URLcanParse(url: string): boolean;
15
18
  static ɵfac: i0.ɵɵFactoryDeclaration<UrlInputComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<UrlInputComponent, "gn-ui-url-input", never, { "value": { "alias": "value"; "required": false; }; "extraClass": { "alias": "extraClass"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<UrlInputComponent, "gn-ui-url-input", never, { "value": { "alias": "value"; "required": false; }; "extraClass": { "alias": "extraClass"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "urlCanParse": { "alias": "urlCanParse"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
17
20
  }
18
21
  //# sourceMappingURL=url-input.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-input.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/url-input/url-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA4B,MAAM,eAAe,CAAA;AAK3E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;;AAE9B,qBAOa,iBAAiB;IAQhB,OAAO,CAAC,EAAE;IAPb,KAAK,SAAK;IACV,UAAU,SAAK;IACf,WAAW,SAAa;IACxB,QAAQ,EAAE,OAAO,CAAA;IAC1B,SAAS,kBAAwB;IACvB,WAAW,oCAA0C;gBAE3C,EAAE,EAAE,iBAAiB;IAEzC,WAAW;IAIX,YAAY,CAAC,OAAO,EAAE,gBAAgB;yCAd3B,iBAAiB;2CAAjB,iBAAiB;CAkB7B"}
1
+ {"version":3,"file":"url-input.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/url-input/url-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGjB,SAAS,EAET,aAAa,EACd,MAAM,eAAe,CAAA;AAKtB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;;AAE9B,qBAOa,iBAAkB,YAAW,SAAS;IASrC,OAAO,CAAC,EAAE;IARb,KAAK,SAAK;IACV,UAAU,SAAK;IACf,WAAW,SAAa;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,SAAS,kBAAwB;IACvB,WAAW,oCAA0C;gBAE3C,EAAE,EAAE,iBAAiB;IAEzC,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAMzC,WAAW;IAIX,YAAY,CAAC,OAAO,EAAE,gBAAgB;IAKtC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;yCA1BtB,iBAAiB;2CAAjB,iBAAiB;CAkC7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.4.0-dev.f5019723",
3
+ "version": "2.4.0-dev.fdf8f64b",
4
4
  "engines": {
5
5
  "node": ">=14.17.0"
6
6
  },
@@ -0,0 +1,31 @@
1
+ <div class="flex flex-row justify-between">
2
+ <h3 class="text-[16px] font-bold text-main mb-[12px]" translate>
3
+ editor.record.form.field.onlineResource.edit.protocol
4
+ </h3>
5
+ <span
6
+ *ngIf="protocolHint"
7
+ class="material-symbols-outlined m-2 gn-ui-icon-small"
8
+ [matTooltip]="protocolHint"
9
+ matTooltipPosition="above"
10
+ >
11
+ help
12
+ </span>
13
+ </div>
14
+ <div class="flex flex-row items-center gap-[16px] h-[48px]">
15
+ <mat-radio-group
16
+ aria-labelledby="example-radio-group-label"
17
+ class="flex flex-row gap-[8px]"
18
+ [(ngModel)]="service.accessServiceProtocol"
19
+ >
20
+ <mat-radio-button
21
+ *ngFor="let protocolOption of protocolOptions"
22
+ [value]="protocolOption.value"
23
+ >
24
+ {{ protocolOption.label | translate }}
25
+ </mat-radio-button>
26
+ </mat-radio-group>
27
+ </div>
28
+ <gn-ui-text-input
29
+ [(value)]="service.identifierInService"
30
+ data-cy="identifier-in-service"
31
+ ></gn-ui-text-input>
@@ -0,0 +1,82 @@
1
+ import { CommonModule } from '@angular/common'
2
+ import {
3
+ ChangeDetectionStrategy,
4
+ Component,
5
+ Input,
6
+ OnChanges,
7
+ } from '@angular/core'
8
+ import { FormsModule } from '@angular/forms'
9
+ import { MatIconModule } from '@angular/material/icon'
10
+ import { MatRadioModule } from '@angular/material/radio'
11
+ import { MatTooltipModule } from '@angular/material/tooltip'
12
+ import { marker } from '@biesbjerg/ngx-translate-extract-marker'
13
+ import {
14
+ DatasetServiceDistribution,
15
+ ServiceProtocol,
16
+ } from '../../../../../../../libs/common/domain/src/lib/model/record'
17
+ import { TextInputComponent } from '../../../../../../../libs/ui/inputs/src'
18
+ import { TranslateModule } from '@ngx-translate/core'
19
+
20
+ @Component({
21
+ selector: 'gn-ui-online-service-resource-input',
22
+ templateUrl: './online-service-resource-input.component.html',
23
+ styleUrls: ['./online-service-resource-input.component.css'],
24
+ changeDetection: ChangeDetectionStrategy.OnPush,
25
+ standalone: true,
26
+ imports: [
27
+ CommonModule,
28
+ MatIconModule,
29
+ MatTooltipModule,
30
+ MatRadioModule,
31
+ FormsModule,
32
+ TextInputComponent,
33
+ TranslateModule,
34
+ ],
35
+ })
36
+ export class OnlineServiceResourceInputComponent implements OnChanges {
37
+ @Input() service: Omit<DatasetServiceDistribution, 'url'>
38
+ @Input() protocolHint?: string
39
+
40
+ selectedProtocol: ServiceProtocol
41
+
42
+ protocolOptions: {
43
+ label: string
44
+ value: ServiceProtocol
45
+ }[] = [
46
+ {
47
+ label: 'OGC API',
48
+ value: 'ogcFeatures',
49
+ },
50
+ {
51
+ label: 'WFS',
52
+ value: 'wfs',
53
+ },
54
+ {
55
+ label: 'WMS',
56
+ value: 'wms',
57
+ },
58
+ {
59
+ label: 'WMTS',
60
+ value: 'wmts',
61
+ },
62
+ {
63
+ label: 'WPS',
64
+ value: 'wps',
65
+ },
66
+ {
67
+ label: 'ESRI REST',
68
+ value: 'esriRest',
69
+ },
70
+ {
71
+ label: marker('editor.record.onlineResource.protocol.other'),
72
+ value: 'other',
73
+ },
74
+ ]
75
+
76
+ ngOnChanges() {
77
+ this.selectedProtocol =
78
+ this.protocolOptions.find(
79
+ (option) => option.value === this.service.accessServiceProtocol
80
+ )?.value ?? 'other'
81
+ }
82
+ }
@@ -20,15 +20,24 @@
20
20
  </ng-template>
21
21
 
22
22
  <ng-template #dialogTemplate let-onlineResource>
23
- <h3 class="text-[16px] font-bold text-main mb-[12px]" translate>
24
- editor.record.form.field.onlineResource.edit.title
25
- </h3>
26
- <gn-ui-text-input
27
- extraClass="mb-[16px]"
28
- [(value)]="onlineResource.name"
29
- ></gn-ui-text-input>
30
- <h3 class="text-[16px] font-bold text-main mb-[12px]" translate>
31
- editor.record.form.field.onlineResource.edit.description
32
- </h3>
33
- <gn-ui-text-area [(value)]="onlineResource.description"></gn-ui-text-area>
23
+ <div class="flex flex-col gap-[16px]">
24
+ <div>
25
+ <h3 class="text-[16px] font-bold text-main mb-[12px]" translate>
26
+ editor.record.form.field.onlineResource.edit.title
27
+ </h3>
28
+ <gn-ui-text-input [(value)]="onlineResource.name"></gn-ui-text-input>
29
+ </div>
30
+ <div>
31
+ <h3 class="text-[16px] font-bold text-main mb-[12px]" translate>
32
+ editor.record.form.field.onlineResource.edit.description
33
+ </h3>
34
+ <gn-ui-text-area [(value)]="onlineResource.description"></gn-ui-text-area>
35
+ </div>
36
+ <span class="w-full border-b border-gray-300"></span>
37
+ <gn-ui-url-input
38
+ class="w-full"
39
+ [disabled]="true"
40
+ [value]="onlineResource.url"
41
+ ></gn-ui-url-input>
42
+ </div>
34
43
  </ng-template>
@@ -16,6 +16,7 @@ import {
16
16
  FileInputComponent,
17
17
  TextAreaComponent,
18
18
  TextInputComponent,
19
+ UrlInputComponent,
19
20
  } from '../../../../../../../../../libs/ui/inputs/src'
20
21
  import { CommonModule } from '@angular/common'
21
22
  import { OnlineResourceCardComponent } from '../../../online-resource-card/online-resource-card.component'
@@ -43,6 +44,7 @@ import { MAX_UPLOAD_SIZE_MB } from '../../../../fields.config'
43
44
  OnlineResourceCardComponent,
44
45
  TextInputComponent,
45
46
  TextAreaComponent,
47
+ UrlInputComponent,
46
48
  TranslateModule,
47
49
  ],
48
50
  })
@@ -154,6 +156,7 @@ export class FormFieldOnlineLinkResourcesComponent {
154
156
  }
155
157
  this.dialog
156
158
  .open(ModalDialogComponent, {
159
+ width: '800px',
157
160
  data: {
158
161
  title: this.translateService.instant(
159
162
  'editor.record.form.field.onlineResource.dialogTitle'
@@ -0,0 +1,71 @@
1
+ <gn-ui-switch-toggle
2
+ [options]="typeOptions"
3
+ (selectedValue)="onSelectedTypeChange($event.value)"
4
+ extraClasses="grow"
5
+ data-cy="online-resources-type"
6
+ ></gn-ui-switch-toggle>
7
+ <div class="h-[8px]"></div>
8
+ <gn-ui-file-input
9
+ *ngIf="selectedType === 'download'"
10
+ [maxSizeMB]="MAX_UPLOAD_SIZE_MB"
11
+ (fileChange)="handleFileChange($event)"
12
+ (uploadCancel)="handleUploadCancel()"
13
+ [uploadProgress]="uploadProgress"
14
+ (urlChange)="handleDownloadUrlChange($event)"
15
+ ></gn-ui-file-input>
16
+ <div
17
+ *ngIf="selectedType === 'service'"
18
+ class="w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]"
19
+ >
20
+ <gn-ui-online-service-resource-input
21
+ [service]="newService"
22
+ ></gn-ui-online-service-resource-input>
23
+ <span class="w-full border-b border-gray-300"></span>
24
+ <gn-ui-url-input
25
+ class="w-full"
26
+ [urlCanParse]="true"
27
+ (valueChange)="handleServiceUrlChange($event)"
28
+ ></gn-ui-url-input>
29
+ </div>
30
+ <div class="h-[8px]"></div>
31
+ <gn-ui-sortable-list
32
+ [items]="notLinkResources"
33
+ (itemsOrderChange)="handleResourcesChange($event)"
34
+ [elementTemplate]="template"
35
+ >
36
+ </gn-ui-sortable-list>
37
+ <ng-template #template let-onlineResource let-index="index">
38
+ <gn-ui-online-resource-card
39
+ [onlineResource]="onlineResource"
40
+ (modifyClick)="handleResourceModify(onlineResource, index)"
41
+ ></gn-ui-online-resource-card>
42
+ </ng-template>
43
+
44
+ <ng-template #dialogTemplate let-onlineResource>
45
+ <div class="flex flex-col gap-[16px]">
46
+ <div>
47
+ <h3 class="text-[16px] font-bold text-main mb-[12px]" translate>
48
+ editor.record.form.field.onlineResource.edit.title
49
+ </h3>
50
+ <gn-ui-text-input [(value)]="onlineResource.name"></gn-ui-text-input>
51
+ </div>
52
+ <div>
53
+ <h3 class="text-[16px] font-bold text-main mb-[12px]" translate>
54
+ editor.record.form.field.onlineResource.edit.description
55
+ </h3>
56
+ <gn-ui-text-area [(value)]="onlineResource.description"></gn-ui-text-area>
57
+ </div>
58
+ <ng-container *ngIf="onlineResource.type === 'service'">
59
+ <span class="w-full border-b border-gray-300"></span>
60
+ <gn-ui-online-service-resource-input
61
+ [service]="onlineResource"
62
+ ></gn-ui-online-service-resource-input>
63
+ </ng-container>
64
+ <span class="w-full border-b border-gray-300"></span>
65
+ <gn-ui-url-input
66
+ class="w-full"
67
+ [disabled]="true"
68
+ [value]="onlineResource.url"
69
+ ></gn-ui-url-input>
70
+ </div>
71
+ </ng-template>