geonetwork-ui 2.4.1-dev.a28bdabc1 → 2.4.1-dev.b217f2e40
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/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +42 -19
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +5 -3
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +7 -2
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +6 -3
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +4 -7
- package/esm2022/translations/de.json +1 -0
- package/esm2022/translations/en.json +1 -0
- package/esm2022/translations/es.json +1 -0
- package/esm2022/translations/fr.json +1 -0
- package/esm2022/translations/it.json +1 -0
- package/esm2022/translations/nl.json +1 -0
- package/esm2022/translations/pt.json +1 -0
- package/fesm2022/geonetwork-ui.mjs +65 -29
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +31 -3
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +2 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +3 -2
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +2 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +12 -11
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +56 -19
- 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 +1 -0
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +9 -1
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +5 -1
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +1 -1
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +1 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +3 -6
- package/translations/de.json +1 -0
- package/translations/en.json +1 -0
- package/translations/es.json +1 -0
- package/translations/fr.json +1 -0
- package/translations/it.json +1 -0
- package/translations/nl.json +1 -0
- package/translations/pt.json +1 -0
- package/translations/sk.json +1 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit } from '@angular/core';
|
|
2
2
|
import { DatasetServiceDistribution, ServiceProtocol } from '../../../../../../../libs/common/domain/src/lib/model/record';
|
|
3
|
-
import {
|
|
3
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class OnlineServiceResourceInputComponent implements OnChanges, OnInit {
|
|
6
6
|
private cdr;
|
|
@@ -16,7 +16,14 @@ export declare class OnlineServiceResourceInputComponent implements OnChanges, O
|
|
|
16
16
|
errorMessage: boolean;
|
|
17
17
|
selectedProtocol: ServiceProtocol;
|
|
18
18
|
url: string;
|
|
19
|
-
|
|
19
|
+
layersSubject: BehaviorSubject<{
|
|
20
|
+
name: string;
|
|
21
|
+
title: string;
|
|
22
|
+
}[]>;
|
|
23
|
+
layers$: Observable<{
|
|
24
|
+
name: string;
|
|
25
|
+
title: string;
|
|
26
|
+
}[]>;
|
|
20
27
|
protocolOptions: {
|
|
21
28
|
label: string;
|
|
22
29
|
value: ServiceProtocol;
|
|
@@ -27,10 +34,31 @@ export declare class OnlineServiceResourceInputComponent implements OnChanges, O
|
|
|
27
34
|
ngOnInit(): void;
|
|
28
35
|
handleUrlValueChange(url: string): void;
|
|
29
36
|
handleUploadClick(url: string): Promise<void>;
|
|
30
|
-
|
|
37
|
+
resetAllFormFields(): void;
|
|
31
38
|
resetLayersSuggestion(): void;
|
|
32
39
|
submitIdentifier(identifier: string): void;
|
|
33
40
|
getIdentifierPlaceholder(): string;
|
|
41
|
+
/**
|
|
42
|
+
* gn-ui-autocomplete
|
|
43
|
+
*/
|
|
44
|
+
displayWithFn(item: {
|
|
45
|
+
name: string;
|
|
46
|
+
title: string;
|
|
47
|
+
}): string;
|
|
48
|
+
/**
|
|
49
|
+
* gn-ui-autocomplete
|
|
50
|
+
*/
|
|
51
|
+
autoCompleteAction: (query: string) => Observable<{
|
|
52
|
+
name: string;
|
|
53
|
+
title: string;
|
|
54
|
+
}[]>;
|
|
55
|
+
/**
|
|
56
|
+
* gn-ui-autocomplete
|
|
57
|
+
*/
|
|
58
|
+
handleSelectValue(val: {
|
|
59
|
+
name: string;
|
|
60
|
+
title: string;
|
|
61
|
+
}): void;
|
|
34
62
|
static ɵfac: i0.ɵɵFactoryDeclaration<OnlineServiceResourceInputComponent, never>;
|
|
35
63
|
static ɵcmp: i0.ɵɵComponentDeclaration<OnlineServiceResourceInputComponent, "gn-ui-online-service-resource-input", never, { "service": { "alias": "service"; "required": false; }; "protocolHint": { "alias": "protocolHint"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "modifyMode": { "alias": "modifyMode"; "required": false; }; }, { "urlChange": "urlChange"; "identifierSubmit": "identifierSubmit"; }, never, ["*"], true, never>;
|
|
36
64
|
}
|
|
@@ -1 +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,EAEL,iBAAiB,EAEjB,YAAY,EAEZ,SAAS,EACT,MAAM,EAEP,MAAM,eAAe,CAAA;AAKtB,OAAO,EACL,0BAA0B,EAC1B,eAAe,EAChB,MAAM,8DAA8D,CAAA;
|
|
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,EAEL,iBAAiB,EAEjB,YAAY,EAEZ,SAAS,EACT,MAAM,EAEP,MAAM,eAAe,CAAA;AAKtB,OAAO,EACL,0BAA0B,EAC1B,eAAe,EAChB,MAAM,8DAA8D,CAAA;AAerE,OAAO,EACL,eAAe,EAIf,UAAU,EAEX,MAAM,MAAM,CAAA;;AAEb,qBAyBa,mCAAoC,YAAW,SAAS,EAAE,MAAM;IAoD/D,OAAO,CAAC,GAAG;IAnDd,OAAO,EAAE,0BAA0B,CAAA;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAQ;IACjB,UAAU,CAAC,UAAQ;IAClB,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,CAAqB;IACpD,gBAAgB,EAAE,YAAY,CAAC;QACvC,GAAG,EAAE,MAAM,CAAA;QACX,UAAU,EAAE,MAAM,CAAA;KACnB,CAAC,CAAqB;IAEvB,YAAY,UAAQ;IACpB,gBAAgB,EAAE,eAAe,CAAA;IACjC,GAAG,SAAK;IACR,aAAa;cAA+B,MAAM;eAAS,MAAM;SAAS;IAC1E,OAAO,EAAE,UAAU,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CACnB;IAEnC,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,eAAe,CAAA;KACvB,EAAE,CA6BF;gBAEmB,GAAG,EAAE,iBAAiB;IAE1C,IAAI,qBAAqB,YAIxB;IAED,WAAW;IAOX,QAAQ;IAMR,oBAAoB,CAAC,GAAG,EAAE,MAAM;IAO1B,iBAAiB,CAAC,GAAG,EAAE,MAAM;IAmBnC,kBAAkB;IAMlB,qBAAqB;IAMrB,gBAAgB,CAAC,UAAU,EAAE,MAAM;IAMnC,wBAAwB,IAAI,MAAM;IAQlC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAMnD;;OAEG;IACH,kBAAkB,UAAW,MAAM;cA1HP,MAAM;eAAS,MAAM;SAmIhD;IAED;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;yCAvJ3C,mCAAmC;2CAAnC,mCAAmC;CA0J/C"}
|
|
@@ -17,6 +17,7 @@ export declare class ResultsTableContainerComponent implements OnDestroy {
|
|
|
17
17
|
private translateService;
|
|
18
18
|
canDuplicate: (record: CatalogRecord) => boolean;
|
|
19
19
|
canDelete: (record: CatalogRecord) => boolean;
|
|
20
|
+
isDuplicating: false;
|
|
20
21
|
recordClick: EventEmitter<CatalogRecord>;
|
|
21
22
|
duplicateRecord: EventEmitter<CatalogRecord>;
|
|
22
23
|
subscription: Subscription;
|
|
@@ -31,6 +32,6 @@ export declare class ResultsTableContainerComponent implements OnDestroy {
|
|
|
31
32
|
handleRecordsSelectedChange(records: CatalogRecord[], selected: boolean): void;
|
|
32
33
|
ngOnDestroy(): void;
|
|
33
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResultsTableContainerComponent, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableContainerComponent, "gn-ui-results-table-container", never, { "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; }, { "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; }, never, never, true, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableContainerComponent, "gn-ui-results-table-container", never, { "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "isDuplicating": { "alias": "isDuplicating"; "required": false; }; }, { "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; }, never, never, true, never>;
|
|
35
36
|
}
|
|
36
37
|
//# sourceMappingURL=results-table-container.component.d.ts.map
|
package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results-table-container.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/search/src/lib/results-table/results-table-container.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAEZ,SAAS,EAEV,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;AAGjI,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAEtD,qBAOa,8BAA+B,YAAW,SAAS;
|
|
1
|
+
{"version":3,"file":"results-table-container.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/search/src/lib/results-table/results-table-container.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAEZ,SAAS,EAEV,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;AAGjI,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAEtD,qBAOa,8BAA+B,YAAW,SAAS;IAiB5D,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,gBAAgB;IArBjB,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAa;IAC7D,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAa;IAC1D,aAAa,EAAE,KAAK,CAAA;IAEnB,WAAW,8BAAoC;IAC/C,eAAe,8BAAoC;IAE7D,YAAY,eAAqB;IAEjC,gBAAgB,2CAAoD;IACpE,OAAO,qGAA4B;IAEnC,QAAQ,WAAY,aAAa,KAAG,OAAO,CACqB;gBAGpD,YAAY,EAAE,YAAY,EAC5B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,0BAA0B,EAC7C,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB;IAG5C,iBAAiB,CAAC,IAAI,EAAE,OAAO;IAI/B,qBAAqB,CAAC,IAAI,EAAE,OAAO;IAI7B,kBAAkB,CAAC,IAAI,EAAE,OAAO;IA0CtC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IAIrD,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO;IAQvE,WAAW;yCAvFA,8BAA8B;2CAA9B,8BAA8B;CA0F1C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ChangeDetectorRef, EventEmitter } from '@angular/core';
|
|
1
|
+
import { ChangeDetectorRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class UrlInputComponent {
|
|
3
|
+
export declare class UrlInputComponent implements OnChanges {
|
|
4
4
|
private cd;
|
|
5
5
|
set value(v: string);
|
|
6
6
|
extraClass: string;
|
|
@@ -14,6 +14,7 @@ export declare class UrlInputComponent {
|
|
|
14
14
|
uploadClick: EventEmitter<string>;
|
|
15
15
|
inputValue: string;
|
|
16
16
|
constructor(cd: ChangeDetectorRef);
|
|
17
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
17
18
|
handleInput(event: Event): void;
|
|
18
19
|
handleUpload(element: HTMLInputElement): void;
|
|
19
20
|
isValidUrl(url: string): boolean;
|
|
@@ -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,EAEL,iBAAiB,EAEjB,YAAY,
|
|
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,EAEL,iBAAiB,EAEjB,YAAY,EAEZ,SAAS,EAET,aAAa,EACd,MAAM,eAAe,CAAA;;AAUtB,qBAca,iBAAkB,YAAW,SAAS;IA0BrC,OAAO,CAAC,EAAE;IAzBtB,IAAa,KAAK,CAAC,CAAC,EAAE,MAAM,EAW3B;IACQ,UAAU,SAAK;IACf,WAAW,SAAa;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,kBAAkB,UAAO;IAElC;;OAEG;IACO,WAAW,uBAAoC;IAC/C,WAAW,uBAA6B;IAElD,UAAU,SAAK;gBAEK,EAAE,EAAE,iBAAiB;IAEzC,WAAW,CAAC,OAAO,EAAE,aAAa;IAMlC,WAAW,CAAC,KAAK,EAAE,KAAK;IAWxB,YAAY,CAAC,OAAO,EAAE,gBAAgB;IAMtC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;yCAnDrB,iBAAiB;2CAAjB,iBAAiB;CA2D7B"}
|
|
@@ -15,6 +15,7 @@ export declare class ResultsTableComponent {
|
|
|
15
15
|
canDuplicate: (record: CatalogRecord) => boolean;
|
|
16
16
|
canDelete: (record: CatalogRecord) => boolean;
|
|
17
17
|
isDraftPage: boolean;
|
|
18
|
+
isDuplicating: boolean;
|
|
18
19
|
sortByChange: EventEmitter<[string, "desc" | "asc"]>;
|
|
19
20
|
recordClick: EventEmitter<CatalogRecord>;
|
|
20
21
|
duplicateRecord: EventEmitter<CatalogRecord>;
|
|
@@ -38,6 +39,6 @@ export declare class ResultsTableComponent {
|
|
|
38
39
|
isChecked(record: CatalogRecord): boolean;
|
|
39
40
|
handleRecordSelectedChange(selected: boolean, record: CatalogRecord): void;
|
|
40
41
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResultsTableComponent, never>;
|
|
41
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableComponent, "gn-ui-results-table", never, { "records": { "alias": "records"; "required": false; }; "selectedRecordsIdentifiers": { "alias": "selectedRecordsIdentifiers"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "hasDraft": { "alias": "hasDraft"; "required": false; }; "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "isDraftPage": { "alias": "isDraftPage"; "required": false; }; }, { "sortByChange": "sortByChange"; "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; "deleteRecord": "deleteRecord"; "recordsSelectedChange": "recordsSelectedChange"; }, never, never, true, never>;
|
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableComponent, "gn-ui-results-table", never, { "records": { "alias": "records"; "required": false; }; "selectedRecordsIdentifiers": { "alias": "selectedRecordsIdentifiers"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "hasDraft": { "alias": "hasDraft"; "required": false; }; "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "isDraftPage": { "alias": "isDraftPage"; "required": false; }; "isDuplicating": { "alias": "isDuplicating"; "required": false; }; }, { "sortByChange": "sortByChange"; "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; "deleteRecord": "deleteRecord"; "recordsSelectedChange": "recordsSelectedChange"; }, never, never, true, never>;
|
|
42
43
|
}
|
|
43
44
|
//# sourceMappingURL=results-table.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results-table.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/search/src/lib/results-table/results-table.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAEjB,UAAU,EACV,YAAY,EAGZ,SAAS,EAET,gBAAgB,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAEL,WAAW,EACZ,MAAM,2DAA2D,CAAA;AAMlE,OAAO,EACL,UAAU,EAKX,MAAM,wCAAwC,CAAA;AAK/C,OAAO,EAGL,OAAO,EAER,MAAM,sBAAsB,CAAA;;AAI7B,qBAkBa,qBAAqB;
|
|
1
|
+
{"version":3,"file":"results-table.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/search/src/lib/results-table/results-table.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAEjB,UAAU,EACV,YAAY,EAGZ,SAAS,EAET,gBAAgB,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,2DAA2D,CAAA;AACzF,OAAO,EAEL,WAAW,EACZ,MAAM,2DAA2D,CAAA;AAMlE,OAAO,EACL,UAAU,EAKX,MAAM,wCAAwC,CAAA;AAK/C,OAAO,EAGL,OAAO,EAER,MAAM,sBAAsB,CAAA;;AAI7B,qBAkBa,qBAAqB;IA0B9B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IA3BJ,OAAO,EAAE,aAAa,EAAE,CAAK;IAC7B,0BAA0B,EAAE,MAAM,EAAE,CAAK;IACzC,SAAS,EAAE,WAAW,CAAO;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAc;IAC1D,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAa;IAC7D,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAa;IAC1D,WAAW,UAAQ;IACnB,aAAa,UAAQ;IAGpB,YAAY,yCAA+C;IAC3D,WAAW,8BAAoC;IAC/C,eAAe,8BAAoC;IACnD,YAAY,8BAAoC;IAChD,qBAAqB,2CAE5B;IAGH,iBAAiB,EAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,UAAU,CAAa;IAE/B,gBAAgB,UAAQ;gBAGd,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,iBAAiB;IAGhC,cAAc,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA;IAyC7B,eAAe;IAQf,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAShC,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,EAAE;IAerD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;IAIlD,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIzC,iBAAiB,CAAC,IAAI,EAAE,aAAa;IAKrC,eAAe,CAAC,IAAI,EAAE,OAAO;IAI7B,YAAY,CAAC,IAAI,EAAE,OAAO;IAK1B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM;IAI5C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAe9C,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIzC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;yCArJxD,qBAAqB;2CAArB,qBAAqB;CAwJjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,2DAA2D,CAAA;AAUlE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAEnE;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GACpB,UAAU,GAAG,IAAI,CAgBnB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,qBAAqB,GAAG,UAAU,CAcrE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,UAAU,GACjB,OAAO,CAMT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CA0BhE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"link-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/links/link-utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,2DAA2D,CAAA;AAUlE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHV,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAEnE;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GACpB,UAAU,GAAG,IAAI,CAgBnB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,qBAAqB,GAAG,UAAU,CAcrE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAQT;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO7D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,UAAU,GACjB,OAAO,CAMT;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CA0BhE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,kBAwB5E;AAcD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAEtE"}
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
class="flex flex-row gap-[8px]"
|
|
18
18
|
[(ngModel)]="service.accessServiceProtocol"
|
|
19
19
|
[disabled]="disabled"
|
|
20
|
-
(change)="
|
|
20
|
+
(change)="resetAllFormFields()"
|
|
21
21
|
>
|
|
22
22
|
<mat-radio-button
|
|
23
23
|
*ngFor="let protocolOption of protocolOptions"
|
|
@@ -55,29 +55,30 @@
|
|
|
55
55
|
*ngIf="
|
|
56
56
|
!activeLayerSuggestion ||
|
|
57
57
|
(url && errorMessage) ||
|
|
58
|
-
(modifyMode && layers ===
|
|
58
|
+
(modifyMode && (layers$ | async).length === 0)
|
|
59
59
|
"
|
|
60
60
|
></gn-ui-text-input>
|
|
61
|
-
<gn-ui-
|
|
61
|
+
<gn-ui-autocomplete
|
|
62
62
|
class="border-b border-gray-300 pb-4"
|
|
63
|
-
[
|
|
64
|
-
[title]="
|
|
63
|
+
[placeholder]="
|
|
65
64
|
'editor.record.form.field.onlineResource.edit.identifier.select.label'
|
|
66
65
|
| translate
|
|
67
66
|
"
|
|
68
|
-
[
|
|
69
|
-
|
|
70
|
-
[
|
|
71
|
-
|
|
67
|
+
[action]="autoCompleteAction"
|
|
68
|
+
(itemSelected)="handleSelectValue($event)"
|
|
69
|
+
[displayWithFn]="displayWithFn"
|
|
70
|
+
[minCharacterCount]="0"
|
|
71
|
+
[clearOnSelection]="false"
|
|
72
|
+
*ngIf="activeLayerSuggestion && (layers$ | async)?.length > 0"
|
|
72
73
|
>
|
|
73
|
-
</gn-ui-
|
|
74
|
+
</gn-ui-autocomplete>
|
|
74
75
|
<gn-ui-button
|
|
75
76
|
(buttonClick)="submitIdentifier(service.identifierInService)"
|
|
76
77
|
[disabled]="disabled || !service.identifierInService"
|
|
77
78
|
type="primary"
|
|
78
79
|
*ngIf="
|
|
79
80
|
!modifyMode &&
|
|
80
|
-
((activeLayerSuggestion && layers) ||
|
|
81
|
+
((activeLayerSuggestion && (layers$ | async)) ||
|
|
81
82
|
!activeLayerSuggestion ||
|
|
82
83
|
(url && errorMessage))
|
|
83
84
|
"
|
|
@@ -18,9 +18,8 @@ import {
|
|
|
18
18
|
ServiceProtocol,
|
|
19
19
|
} from '../../../../../../../libs/common/domain/src/lib/model/record'
|
|
20
20
|
import {
|
|
21
|
+
AutocompleteComponent,
|
|
21
22
|
ButtonComponent,
|
|
22
|
-
DropdownChoice,
|
|
23
|
-
DropdownSelectorComponent,
|
|
24
23
|
TextInputComponent,
|
|
25
24
|
UrlInputComponent,
|
|
26
25
|
} from '../../../../../../../libs/ui/inputs/src'
|
|
@@ -31,7 +30,15 @@ import {
|
|
|
31
30
|
provideNgIconsConfig,
|
|
32
31
|
} from '@ng-icons/core'
|
|
33
32
|
import { iconoirCloudUpload } from '@ng-icons/iconoir'
|
|
34
|
-
import { getLayers } from '../../../../../../../libs/util/shared/src'
|
|
33
|
+
import { createFuzzyFilter, getLayers } from '../../../../../../../libs/util/shared/src'
|
|
34
|
+
import {
|
|
35
|
+
BehaviorSubject,
|
|
36
|
+
debounceTime,
|
|
37
|
+
distinctUntilChanged,
|
|
38
|
+
map,
|
|
39
|
+
Observable,
|
|
40
|
+
switchMap,
|
|
41
|
+
} from 'rxjs'
|
|
35
42
|
|
|
36
43
|
@Component({
|
|
37
44
|
selector: 'gn-ui-online-service-resource-input',
|
|
@@ -40,7 +47,7 @@ import { getLayers } from '../../../../../../../libs/util/shared/src'
|
|
|
40
47
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
41
48
|
standalone: true,
|
|
42
49
|
imports: [
|
|
43
|
-
|
|
50
|
+
AutocompleteComponent,
|
|
44
51
|
ButtonComponent,
|
|
45
52
|
CommonModule,
|
|
46
53
|
FormsModule,
|
|
@@ -71,8 +78,10 @@ export class OnlineServiceResourceInputComponent implements OnChanges, OnInit {
|
|
|
71
78
|
|
|
72
79
|
errorMessage = false
|
|
73
80
|
selectedProtocol: ServiceProtocol
|
|
74
|
-
url
|
|
75
|
-
|
|
81
|
+
url = ''
|
|
82
|
+
layersSubject = new BehaviorSubject<{ name: string; title: string }[]>([])
|
|
83
|
+
layers$: Observable<{ name: string; title: string }[]> =
|
|
84
|
+
this.layersSubject.asObservable()
|
|
76
85
|
|
|
77
86
|
protocolOptions: {
|
|
78
87
|
label: string
|
|
@@ -131,7 +140,7 @@ export class OnlineServiceResourceInputComponent implements OnChanges, OnInit {
|
|
|
131
140
|
|
|
132
141
|
handleUrlValueChange(url: string) {
|
|
133
142
|
this.url = url
|
|
134
|
-
this.service.url = new URL(url)
|
|
143
|
+
this.service.url = url ? new URL(url) : undefined
|
|
135
144
|
this.resetLayersSuggestion()
|
|
136
145
|
this.urlChange.emit(this.url)
|
|
137
146
|
}
|
|
@@ -141,31 +150,29 @@ export class OnlineServiceResourceInputComponent implements OnChanges, OnInit {
|
|
|
141
150
|
|
|
142
151
|
try {
|
|
143
152
|
const layers = await getLayers(url, this.service.accessServiceProtocol)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
label: l.title ? `${l.title} ${l.name ? `(${l.name})` : ''}` : l.name,
|
|
147
|
-
value: l.name || l.title,
|
|
148
|
-
}
|
|
149
|
-
})
|
|
150
|
-
|
|
151
|
-
if (this.layers.length === 0) {
|
|
153
|
+
|
|
154
|
+
if (layers.length === 0) {
|
|
152
155
|
throw new Error('No layers found')
|
|
153
156
|
}
|
|
157
|
+
|
|
158
|
+
this.layersSubject.next([...layers])
|
|
154
159
|
} catch (e) {
|
|
155
160
|
this.errorMessage = true
|
|
156
|
-
this.
|
|
161
|
+
this.layersSubject.next([])
|
|
157
162
|
}
|
|
158
163
|
|
|
159
164
|
this.cdr.detectChanges()
|
|
160
165
|
}
|
|
161
166
|
|
|
162
|
-
|
|
163
|
-
this.
|
|
167
|
+
resetAllFormFields() {
|
|
168
|
+
this.url = ''
|
|
169
|
+
this.service.url = null
|
|
170
|
+
this.resetLayersSuggestion()
|
|
164
171
|
}
|
|
165
172
|
|
|
166
173
|
resetLayersSuggestion() {
|
|
167
174
|
this.errorMessage = false
|
|
168
|
-
this.
|
|
175
|
+
this.layersSubject.next([])
|
|
169
176
|
this.service.identifierInService = null
|
|
170
177
|
}
|
|
171
178
|
|
|
@@ -182,4 +189,34 @@ export class OnlineServiceResourceInputComponent implements OnChanges, OnInit {
|
|
|
182
189
|
? `${baseKey}.wps`
|
|
183
190
|
: baseKey
|
|
184
191
|
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* gn-ui-autocomplete
|
|
195
|
+
*/
|
|
196
|
+
displayWithFn(item: { name: string; title: string }) {
|
|
197
|
+
return item.title
|
|
198
|
+
? `${item.title} ${item.name ? `(${item.name})` : ''}`
|
|
199
|
+
: item.name
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* gn-ui-autocomplete
|
|
204
|
+
*/
|
|
205
|
+
autoCompleteAction = (query: string) => {
|
|
206
|
+
const fuzzyFilter = createFuzzyFilter(query)
|
|
207
|
+
return this.layers$.pipe(
|
|
208
|
+
switchMap((layers) => [
|
|
209
|
+
layers.filter((layer) => fuzzyFilter(layer.name)),
|
|
210
|
+
]),
|
|
211
|
+
debounceTime(100),
|
|
212
|
+
distinctUntilChanged()
|
|
213
|
+
)
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* gn-ui-autocomplete
|
|
218
|
+
*/
|
|
219
|
+
handleSelectValue(val: { name: string; title: string }) {
|
|
220
|
+
this.service.identifierInService = val.name
|
|
221
|
+
}
|
|
185
222
|
}
|
package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
[sortOrder]="sortBy$ | async"
|
|
7
7
|
[canDelete]="canDelete"
|
|
8
8
|
[canDuplicate]="canDuplicate"
|
|
9
|
+
[isDuplicating]="isDuplicating"
|
|
9
10
|
(recordClick)="handleRecordClick($event)"
|
|
10
11
|
(duplicateRecord)="handleDuplicateRecord($event)"
|
|
11
12
|
(deleteRecord)="handleDeleteRecord($event)"
|
|
@@ -26,6 +26,7 @@ import { TranslateService } from '@ngx-translate/core'
|
|
|
26
26
|
export class ResultsTableContainerComponent implements OnDestroy {
|
|
27
27
|
@Input() canDuplicate: (record: CatalogRecord) => boolean = () => true
|
|
28
28
|
@Input() canDelete: (record: CatalogRecord) => boolean = () => true
|
|
29
|
+
@Input() isDuplicating: false
|
|
29
30
|
|
|
30
31
|
@Output() recordClick = new EventEmitter<CatalogRecord>()
|
|
31
32
|
@Output() duplicateRecord = new EventEmitter<CatalogRecord>()
|
|
@@ -4,7 +4,9 @@ import {
|
|
|
4
4
|
Component,
|
|
5
5
|
EventEmitter,
|
|
6
6
|
Input,
|
|
7
|
+
OnChanges,
|
|
7
8
|
Output,
|
|
9
|
+
SimpleChanges,
|
|
8
10
|
} from '@angular/core'
|
|
9
11
|
import { CommonModule } from '@angular/common'
|
|
10
12
|
import { ButtonComponent } from '../button/button.component'
|
|
@@ -29,7 +31,7 @@ import { iconoirArrowUp, iconoirLink } from '@ng-icons/iconoir'
|
|
|
29
31
|
],
|
|
30
32
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
33
|
})
|
|
32
|
-
export class UrlInputComponent {
|
|
34
|
+
export class UrlInputComponent implements OnChanges {
|
|
33
35
|
@Input() set value(v: string) {
|
|
34
36
|
// we're making sure to only update the input if the URL representation of it has changed; otherwise we keep it identical
|
|
35
37
|
// to avoid glitches when starting to write a URL and having some characters added/replaced automatically
|
|
@@ -57,6 +59,12 @@ export class UrlInputComponent {
|
|
|
57
59
|
|
|
58
60
|
constructor(private cd: ChangeDetectorRef) {}
|
|
59
61
|
|
|
62
|
+
ngOnChanges(changes: SimpleChanges) {
|
|
63
|
+
if (changes['value']) {
|
|
64
|
+
this.inputValue = changes['value'].currentValue
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
60
68
|
handleInput(event: Event) {
|
|
61
69
|
const value = (event.target as HTMLInputElement).value
|
|
62
70
|
this.inputValue = value
|
|
@@ -11,7 +11,11 @@
|
|
|
11
11
|
(buttonClick)="duplicate.emit()"
|
|
12
12
|
[disabled]="!canDuplicate"
|
|
13
13
|
data-test="record-menu-duplicate-button"
|
|
14
|
-
|
|
14
|
+
>
|
|
15
|
+
<span *ngIf="canDuplicate" translate>record.action.duplicate</span>
|
|
16
|
+
<span *ngIf="!canDuplicate" translate
|
|
17
|
+
>record.action.duplicating</span
|
|
18
|
+
></gn-ui-button
|
|
15
19
|
>
|
|
16
20
|
<gn-ui-button
|
|
17
21
|
type="light"
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
</gn-ui-button>
|
|
161
161
|
<ng-template #template>
|
|
162
162
|
<gn-ui-action-menu
|
|
163
|
-
[canDuplicate]="canDuplicate(item)"
|
|
163
|
+
[canDuplicate]="canDuplicate(item) && !isDuplicating"
|
|
164
164
|
[canDelete]="canDelete(item)"
|
|
165
165
|
(duplicate)="handleDuplicate(item)"
|
|
166
166
|
(delete)="handleDelete(item)"
|
|
@@ -66,6 +66,7 @@ export class ResultsTableComponent {
|
|
|
66
66
|
@Input() canDuplicate: (record: CatalogRecord) => boolean = () => true
|
|
67
67
|
@Input() canDelete: (record: CatalogRecord) => boolean = () => true
|
|
68
68
|
@Input() isDraftPage = false
|
|
69
|
+
@Input() isDuplicating = false
|
|
69
70
|
|
|
70
71
|
// emits the column (field) as well as the order
|
|
71
72
|
@Output() sortByChange = new EventEmitter<[string, 'asc' | 'desc']>()
|
|
@@ -258,21 +258,18 @@ export async function getLayers(url: string, serviceProtocol: ServiceProtocol) {
|
|
|
258
258
|
return layers
|
|
259
259
|
}
|
|
260
260
|
case 'wfs': {
|
|
261
|
-
const endpointWfs = new WfsEndpoint(url)
|
|
262
|
-
await endpointWfs.isReady()
|
|
261
|
+
const endpointWfs = await new WfsEndpoint(url).isReady()
|
|
263
262
|
return endpointWfs.getFeatureTypes()
|
|
264
263
|
}
|
|
265
264
|
case 'wms': {
|
|
266
|
-
const endpointWms = new WmsEndpoint(url)
|
|
267
|
-
await endpointWms.isReady()
|
|
265
|
+
const endpointWms = await new WmsEndpoint(url).isReady()
|
|
268
266
|
return endpointWms
|
|
269
267
|
.getLayers()
|
|
270
268
|
.flatMap(wmsLayerFlatten)
|
|
271
269
|
.filter((l) => l.name)
|
|
272
270
|
}
|
|
273
271
|
case 'wmts': {
|
|
274
|
-
const endpointWmts = new WmtsEndpoint(url)
|
|
275
|
-
await endpointWmts.isReady()
|
|
272
|
+
const endpointWmts = await new WmtsEndpoint(url).isReady()
|
|
276
273
|
return endpointWmts.getLayers()
|
|
277
274
|
}
|
|
278
275
|
default:
|
package/translations/de.json
CHANGED
|
@@ -419,6 +419,7 @@
|
|
|
419
419
|
"record.action.delete": "Löschen",
|
|
420
420
|
"record.action.download": "Herunterladen",
|
|
421
421
|
"record.action.duplicate": "",
|
|
422
|
+
"record.action.duplicating": "",
|
|
422
423
|
"record.action.view": "Anzeigen",
|
|
423
424
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
424
425
|
"record.feature.limit": "Die Ressource enthält mehr als {count} Features und kann hier nicht angezeigt werden.",
|
package/translations/en.json
CHANGED
|
@@ -419,6 +419,7 @@
|
|
|
419
419
|
"record.action.delete": "Delete",
|
|
420
420
|
"record.action.download": "Download",
|
|
421
421
|
"record.action.duplicate": "Duplicate",
|
|
422
|
+
"record.action.duplicating": "Duplicating...",
|
|
422
423
|
"record.action.view": "View",
|
|
423
424
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
424
425
|
"record.feature.limit": "The resource contains more than {count} features and cannot be displayed here.",
|
package/translations/es.json
CHANGED
package/translations/fr.json
CHANGED
|
@@ -419,6 +419,7 @@
|
|
|
419
419
|
"record.action.delete": "Supprimer",
|
|
420
420
|
"record.action.download": "Télécharger",
|
|
421
421
|
"record.action.duplicate": "Dupliquer",
|
|
422
|
+
"record.action.duplicating": "Duplication...",
|
|
422
423
|
"record.action.view": "Voir",
|
|
423
424
|
"record.externalViewer.open": "Ouvrir dans le visualiseur externe",
|
|
424
425
|
"record.feature.limit": "La ressource contient plus de {count} entités et ne peut pas être affichée ici.",
|
package/translations/it.json
CHANGED
|
@@ -421,6 +421,7 @@
|
|
|
421
421
|
"record.action.delete": "Elimina",
|
|
422
422
|
"record.action.download": "Scarica",
|
|
423
423
|
"record.action.duplicate": "Duplicato",
|
|
424
|
+
"record.action.duplicating": "",
|
|
424
425
|
"record.action.view": "Visualizza",
|
|
425
426
|
"record.externalViewer.open": "Aprire nel visualizzatore esterno",
|
|
426
427
|
"record.feature.limit": "La risorsa contiene più di {count} funzionalità e non può essere visualizzata qui.",
|
package/translations/nl.json
CHANGED
package/translations/pt.json
CHANGED
package/translations/sk.json
CHANGED
|
@@ -419,6 +419,7 @@
|
|
|
419
419
|
"record.action.delete": "",
|
|
420
420
|
"record.action.download": "Stiahnuť",
|
|
421
421
|
"record.action.duplicate": "",
|
|
422
|
+
"record.action.duplicating": "",
|
|
422
423
|
"record.action.view": "Zobraziť",
|
|
423
424
|
"record.externalViewer.open": "Otvoriť v externom mapovom prehliadači",
|
|
424
425
|
"record.feature.limit": "",
|