@gooddata/sdk-ui-catalog 11.31.0 → 11.32.0-alpha.0
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/esm/AnalyticsCatalogDetail.d.ts.map +1 -1
- package/esm/AnalyticsCatalogDetail.js +3 -1
- package/esm/AnalyticsCatalogDetail.js.map +1 -1
- package/esm/catalog/Catalog.d.ts.map +1 -1
- package/esm/catalog/Catalog.js +3 -2
- package/esm/catalog/Catalog.js.map +1 -1
- package/esm/catalogDetail/CatalogDetailActions.d.ts +19 -0
- package/esm/catalogDetail/CatalogDetailActions.d.ts.map +1 -0
- package/esm/catalogDetail/CatalogDetailActions.js +94 -0
- package/esm/catalogDetail/CatalogDetailActions.js.map +1 -0
- package/esm/catalogDetail/CatalogDetailContent.d.ts +10 -14
- package/esm/catalogDetail/CatalogDetailContent.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailContent.js +8 -19
- package/esm/catalogDetail/CatalogDetailContent.js.map +1 -1
- package/esm/catalogDetail/hooks/useCatalogItemUpdate.d.ts +4 -1
- package/esm/catalogDetail/hooks/useCatalogItemUpdate.d.ts.map +1 -1
- package/esm/catalogDetail/hooks/useCatalogItemUpdate.js +13 -1
- package/esm/catalogDetail/hooks/useCatalogItemUpdate.js.map +1 -1
- package/esm/header/CreateObjectButton.d.ts.map +1 -1
- package/esm/header/CreateObjectButton.js +6 -17
- package/esm/header/CreateObjectButton.js.map +1 -1
- package/esm/main/Main.d.ts.map +1 -1
- package/esm/main/Main.js +23 -11
- package/esm/main/Main.js.map +1 -1
- package/esm/parameter/ParameterCreateDialog.d.ts +4 -3
- package/esm/parameter/ParameterCreateDialog.d.ts.map +1 -1
- package/esm/parameter/ParameterCreateDialog.js +45 -4
- package/esm/parameter/ParameterCreateDialog.js.map +1 -1
- package/esm/parameter/ParameterDeleteDialog.d.ts +1 -4
- package/esm/parameter/ParameterDeleteDialog.d.ts.map +1 -1
- package/esm/parameter/ParameterDeleteDialog.js +5 -8
- package/esm/parameter/ParameterDeleteDialog.js.map +1 -1
- package/esm/parameter/ParameterEditDialog.d.ts +2 -5
- package/esm/parameter/ParameterEditDialog.d.ts.map +1 -1
- package/esm/parameter/ParameterEditDialog.js +6 -10
- package/esm/parameter/ParameterEditDialog.js.map +1 -1
- package/esm/parameter/ParameterMutationContext.d.ts +16 -0
- package/esm/parameter/ParameterMutationContext.d.ts.map +1 -0
- package/esm/parameter/ParameterMutationContext.js +33 -0
- package/esm/parameter/ParameterMutationContext.js.map +1 -0
- package/esm/parameter/parameterCopy.d.ts +1 -2
- package/esm/parameter/parameterCopy.d.ts.map +1 -1
- package/esm/parameter/parameterCopy.js +2 -15
- package/esm/parameter/parameterCopy.js.map +1 -1
- package/esm/parameter/parameterMutationPort.d.ts +16 -0
- package/esm/parameter/parameterMutationPort.d.ts.map +1 -0
- package/esm/parameter/parameterMutationPort.js +22 -0
- package/esm/parameter/parameterMutationPort.js.map +1 -0
- package/esm/parameter/tests/parameterMutationPort.test.utils.d.ts +7 -0
- package/esm/parameter/tests/parameterMutationPort.test.utils.d.ts.map +1 -0
- package/esm/parameter/tests/parameterMutationPort.test.utils.js +29 -0
- package/esm/parameter/tests/parameterMutationPort.test.utils.js.map +1 -0
- package/esm/sdk-ui-catalog.d.ts +8 -12
- package/package.json +13 -13
- package/esm/parameter/ParameterActions.d.ts +0 -20
- package/esm/parameter/ParameterActions.d.ts.map +0 -1
- package/esm/parameter/ParameterActions.js +0 -96
- package/esm/parameter/ParameterActions.js.map +0 -1
- package/esm/parameter/ParameterDuplicateDialog.d.ts +0 -12
- package/esm/parameter/ParameterDuplicateDialog.d.ts.map +0 -1
- package/esm/parameter/ParameterDuplicateDialog.js +0 -35
- package/esm/parameter/ParameterDuplicateDialog.js.map +0 -1
package/esm/main/Main.js
CHANGED
|
@@ -4,6 +4,7 @@ import {} from "react";
|
|
|
4
4
|
import { FormattedMessage, defineMessages, useIntl } from "react-intl";
|
|
5
5
|
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
import { CatalogDetail } from "../catalogDetail/CatalogDetail.js";
|
|
7
|
+
import { useCatalogFeedActions } from "../catalogItem/CatalogFeedContext.js";
|
|
7
8
|
import { CatalogItemFeed } from "../catalogItem/CatalogItemFeed.js";
|
|
8
9
|
import {} from "../catalogItem/types.js";
|
|
9
10
|
import { FilterCertificationMemo } from "../filter/FilterCertification.js";
|
|
@@ -16,7 +17,7 @@ import { FilterQualityMemo } from "../filter/FilterQuality.js";
|
|
|
16
17
|
import { FilterResetButtonMemo } from "../filter/FilterResetButton.js";
|
|
17
18
|
import { FilterTagsMemo } from "../filter/FilterTags.js";
|
|
18
19
|
import { FilterVisibilityMemo } from "../filter/FilterVisibility.js";
|
|
19
|
-
import {
|
|
20
|
+
import { ObjectTypes } from "../objectType/constants.js";
|
|
20
21
|
import { useIsCatalogQualityEnabled } from "../quality/gate.js";
|
|
21
22
|
import { Table } from "../table/Table.js";
|
|
22
23
|
const messages = defineMessages({
|
|
@@ -28,22 +29,33 @@ export function Main({ backend, workspace, open, openedItem, setItemOpened, onOp
|
|
|
28
29
|
const intl = useIntl();
|
|
29
30
|
const { addError } = useToastMessage();
|
|
30
31
|
const { toggleTag } = useFilterActions();
|
|
32
|
+
const { updateItem, removeItem, refetchObjectType } = useCatalogFeedActions();
|
|
31
33
|
const isQualityEnabled = useIsCatalogQualityEnabled();
|
|
32
34
|
return (_jsxs("section", { className: "gd-analytics-catalog__main", children: [
|
|
33
35
|
_jsxs("div", { className: "gd-analytics-catalog__main__filters", children: [
|
|
34
36
|
_jsx(FilterObjectTypeMemo, {}), _jsxs(FilterGroupLayout, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.filter.title" }), children: [
|
|
35
37
|
_jsx(FilterCreatedByMemo, { backend: backend, workspace: workspace }), _jsx(FilterTagsMemo, {}), _jsx(FilterOriginGuard, { backend: backend, workspace: workspace, children: _jsx(FilterOriginMemo, {}) }), isQualityEnabled ? _jsx(FilterQualityMemo, {}) : null, _jsx(FilterVisibilityMemo, {}), _jsx(FilterCertificationMemo, {}), _jsx(FilterResetButtonMemo, {})
|
|
36
38
|
] })
|
|
37
|
-
] }), _jsx(CatalogItemFeed, { children: ({ items, next, hasNext, totalCount, status }) => (_jsx(Table, { status: status, items: items, next: next, hasNext: hasNext, totalCount: totalCount, onItemClick: onOpenDetail, onTagClick: toggleTag })) }), _jsx(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
] }), _jsx(CatalogItemFeed, { children: ({ items, next, hasNext, totalCount, status }) => (_jsx(Table, { status: status, items: items, next: next, hasNext: hasNext, totalCount: totalCount, onItemClick: onOpenDetail, onTagClick: toggleTag })) }), _jsx(CatalogDetail, { open: open, objectDefinition: openedItem, onClose: onCloseDetail, onOpenClick: onOpenClick, onCatalogItemNavigation: (event, ref) => {
|
|
40
|
+
setItemOpened(ref);
|
|
41
|
+
onCatalogItemNavigation?.(event, ref);
|
|
42
|
+
}, onCatalogItemCreate: (item) => {
|
|
43
|
+
setItemOpened(item);
|
|
44
|
+
refetchObjectType(ObjectTypes.PARAMETER);
|
|
45
|
+
}, onCatalogItemUpdate: (item) => {
|
|
46
|
+
setItemOpened(item);
|
|
47
|
+
updateItem(item);
|
|
48
|
+
}, onCatalogItemDelete: (ref) => {
|
|
49
|
+
removeItem(ref);
|
|
50
|
+
refetchObjectType(ObjectTypes.PARAMETER);
|
|
51
|
+
onCloseDetail();
|
|
52
|
+
}, onCatalogItemUpdateError: (err) => {
|
|
53
|
+
addError(messages.updateFailed, {
|
|
54
|
+
showLess: intl.formatMessage(messages.showLess),
|
|
55
|
+
showMore: intl.formatMessage(messages.showMore),
|
|
56
|
+
errorDetail: `${err.name} ${err.message}`,
|
|
57
|
+
});
|
|
58
|
+
} })
|
|
47
59
|
] }));
|
|
48
60
|
}
|
|
49
61
|
//# sourceMappingURL=Main.js.map
|
package/esm/main/Main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../../src/main/Main.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAA2C,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../../src/main/Main.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ICatalogItemParameter } from "../catalogItem/types.js";
|
|
2
2
|
type Props = {
|
|
3
|
+
sourceItem?: ICatalogItemParameter;
|
|
3
4
|
onClose: () => void;
|
|
4
|
-
|
|
5
|
+
onCreated?: (item: ICatalogItemParameter) => void;
|
|
5
6
|
};
|
|
6
|
-
export declare function ParameterCreateDialog({ onClose,
|
|
7
|
+
export declare function ParameterCreateDialog({ sourceItem, onClose, onCreated }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export {};
|
|
8
9
|
//# sourceMappingURL=ParameterCreateDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterCreateDialog.d.ts","sourceRoot":"","sources":["../../src/parameter/ParameterCreateDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ParameterCreateDialog.d.ts","sourceRoot":"","sources":["../../src/parameter/ParameterCreateDialog.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAsBrE,KAAK,KAAK,GAAG;IACT,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,2CAkD9E"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2026 GoodData Corporation
|
|
3
|
-
import { Suspense, lazy } from "react";
|
|
3
|
+
import { Suspense, lazy, useCallback, useMemo } from "react";
|
|
4
|
+
import { defineMessages } from "react-intl";
|
|
5
|
+
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { createCopiedParameter, isDuplicateIdError } from "./parameterCopy.js";
|
|
7
|
+
import { useParameterMutation } from "./ParameterMutationContext.js";
|
|
4
8
|
const ParameterDialog = lazy(() => import("./ParameterDialog.js").then((m) => ({ default: m.ParameterDialog })));
|
|
5
|
-
const
|
|
9
|
+
const messages = defineMessages({
|
|
10
|
+
parameterCreateSuccess: { id: "analyticsCatalog.parameter.create.success" },
|
|
11
|
+
});
|
|
12
|
+
const defaultInitialParameter = {
|
|
6
13
|
title: "My Parameter",
|
|
7
14
|
description: "",
|
|
8
15
|
definition: {
|
|
@@ -10,7 +17,41 @@ const initialParameter = {
|
|
|
10
17
|
defaultValue: 0,
|
|
11
18
|
},
|
|
12
19
|
};
|
|
13
|
-
export function ParameterCreateDialog({ onClose,
|
|
14
|
-
|
|
20
|
+
export function ParameterCreateDialog({ sourceItem, onClose, onCreated }) {
|
|
21
|
+
const { addSuccess } = useToastMessage();
|
|
22
|
+
const mutation = useParameterMutation();
|
|
23
|
+
const initialParameter = useMemo(() => {
|
|
24
|
+
if (!sourceItem) {
|
|
25
|
+
return defaultInitialParameter;
|
|
26
|
+
}
|
|
27
|
+
return createCopiedParameter({
|
|
28
|
+
id: sourceItem.identifier,
|
|
29
|
+
type: "parameter",
|
|
30
|
+
title: sourceItem.title,
|
|
31
|
+
description: sourceItem.description,
|
|
32
|
+
tags: sourceItem.tags,
|
|
33
|
+
definition: sourceItem.definition,
|
|
34
|
+
});
|
|
35
|
+
}, [sourceItem]);
|
|
36
|
+
const copiedId = sourceItem ? initialParameter.id : undefined;
|
|
37
|
+
const handleSubmit = useCallback(async (parameter) => {
|
|
38
|
+
let createdParameter;
|
|
39
|
+
try {
|
|
40
|
+
createdParameter = await mutation.create(parameter);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (copiedId !== undefined && parameter.id === copiedId && isDuplicateIdError(error)) {
|
|
44
|
+
const { id: _id, ...parameterWithoutId } = parameter;
|
|
45
|
+
createdParameter = await mutation.create(parameterWithoutId);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
onCreated?.(createdParameter);
|
|
52
|
+
onClose();
|
|
53
|
+
addSuccess(messages.parameterCreateSuccess);
|
|
54
|
+
}, [addSuccess, copiedId, mutation, onClose, onCreated]);
|
|
55
|
+
return (_jsx(Suspense, { fallback: null, children: _jsx(ParameterDialog, { mode: "create", initialParameter: initialParameter, onClose: onClose, onSubmit: handleSubmit }) }));
|
|
15
56
|
}
|
|
16
57
|
//# sourceMappingURL=ParameterCreateDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterCreateDialog.js","sourceRoot":"","sources":["../../src/parameter/ParameterCreateDialog.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ParameterCreateDialog.js","sourceRoot":"","sources":["../../src/parameter/ParameterCreateDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
1
|
import { type ICatalogItemParameter } from "../catalogItem/types.js";
|
|
3
2
|
type Props = {
|
|
4
|
-
backend: IAnalyticalBackend;
|
|
5
|
-
workspace: string;
|
|
6
3
|
item: ICatalogItemParameter;
|
|
7
4
|
onClose: () => void;
|
|
8
5
|
onDeleted: () => void;
|
|
9
6
|
};
|
|
10
|
-
export declare function ParameterDeleteDialog({
|
|
7
|
+
export declare function ParameterDeleteDialog({ item, onClose, onDeleted }: Props): import("react/jsx-runtime").JSX.Element;
|
|
11
8
|
export {};
|
|
12
9
|
//# sourceMappingURL=ParameterDeleteDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterDeleteDialog.d.ts","sourceRoot":"","sources":["../../src/parameter/ParameterDeleteDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ParameterDeleteDialog.d.ts","sourceRoot":"","sources":["../../src/parameter/ParameterDeleteDialog.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAYrE,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,2CA4CxE"}
|
|
@@ -2,11 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
// (C) 2026 GoodData Corporation
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
4
|
import { FormattedMessage, defineMessages, useIntl } from "react-intl";
|
|
5
|
-
import { idRef } from "@gooddata/sdk-model";
|
|
6
5
|
import { ConfirmDialog, useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
7
|
-
import { useCatalogFeedActions } from "../catalogItem/CatalogFeedContext.js";
|
|
8
|
-
import { deleteParameterCatalogItem } from "../catalogItem/query.js";
|
|
9
6
|
import {} from "../catalogItem/types.js";
|
|
7
|
+
import { useParameterMutation } from "./ParameterMutationContext.js";
|
|
10
8
|
const messages = defineMessages({
|
|
11
9
|
title: { id: "analyticsCatalog.parameter.dialog.delete.title" },
|
|
12
10
|
body: { id: "analyticsCatalog.parameter.dialog.delete.body" },
|
|
@@ -15,26 +13,25 @@ const messages = defineMessages({
|
|
|
15
13
|
deleteSuccess: { id: "analyticsCatalog.parameter.delete.success" },
|
|
16
14
|
deleteError: { id: "analyticsCatalog.parameter.delete.error" },
|
|
17
15
|
});
|
|
18
|
-
export function ParameterDeleteDialog({
|
|
16
|
+
export function ParameterDeleteDialog({ item, onClose, onDeleted }) {
|
|
19
17
|
const intl = useIntl();
|
|
20
18
|
const { addSuccess, addError } = useToastMessage();
|
|
21
|
-
const
|
|
19
|
+
const mutation = useParameterMutation();
|
|
22
20
|
const [isDeleting, setIsDeleting] = useState(false);
|
|
23
21
|
const displayName = item.title || item.identifier;
|
|
24
22
|
const handleDelete = useCallback(async () => {
|
|
25
23
|
setIsDeleting(true);
|
|
26
24
|
try {
|
|
27
|
-
await
|
|
25
|
+
await mutation.delete(item);
|
|
28
26
|
onDeleted();
|
|
29
27
|
onClose();
|
|
30
28
|
addSuccess(messages.deleteSuccess);
|
|
31
|
-
await refetchObjectType("parameter");
|
|
32
29
|
}
|
|
33
30
|
catch {
|
|
34
31
|
addError(messages.deleteError);
|
|
35
32
|
setIsDeleting(false);
|
|
36
33
|
}
|
|
37
|
-
}, [addError, addSuccess,
|
|
34
|
+
}, [addError, addSuccess, item, mutation, onClose, onDeleted]);
|
|
38
35
|
return (_jsx(ConfirmDialog, { headline: intl.formatMessage(messages.title), cancelButtonText: intl.formatMessage(messages.cancel), submitButtonText: intl.formatMessage(messages.submit), isPositive: false, isSubmitDisabled: isDeleting, isCancelDisabled: isDeleting, showProgressIndicator: isDeleting, onCancel: onClose, onClose: onClose, onSubmit: handleDelete, displayCloseButton: !isDeleting, children: _jsx(FormattedMessage, { ...messages.body, values: {
|
|
39
36
|
name: displayName,
|
|
40
37
|
b: (chunks) => _jsx("b", { children: chunks }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterDeleteDialog.js","sourceRoot":"","sources":["../../src/parameter/ParameterDeleteDialog.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ParameterDeleteDialog.js","sourceRoot":"","sources":["../../src/parameter/ParameterDeleteDialog.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAA8B,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC5B,KAAK,EAAE,EAAE,EAAE,EAAE,gDAAgD,EAAE;IAC/D,IAAI,EAAE,EAAE,EAAE,EAAE,+CAA+C,EAAE;IAC7D,MAAM,EAAE,EAAE,EAAE,EAAE,iDAAiD,EAAE;IACjE,MAAM,EAAE,EAAE,EAAE,EAAE,0CAA0C,EAAE;IAC1D,aAAa,EAAE,EAAE,EAAE,EAAE,2CAA2C,EAAE;IAClE,WAAW,EAAE,EAAE,EAAE,EAAE,yCAAyC,EAAE;CACjE,CAAC,CAAC;AAQH,MAAM,UAAU,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAS,EAAE;IACvE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;IAElD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5B,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACL,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC/B,aAAa,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IAAA,CACJ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/D,OAAO,CACH,KAAC,aAAa,IACV,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC5C,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EACrD,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EACrD,UAAU,EAAE,KAAK,EACjB,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,qBAAqB,EAAE,UAAU,EACjC,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,EACtB,kBAAkB,EAAE,CAAC,UAAU,YAE/B,KAAC,gBAAgB,OACT,QAAQ,CAAC,IAAI,EACjB,MAAM,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAI,MAAM,GAAK;aACjC,GACH,GACU,CACnB,CAAC;AAAA,CACL"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
1
|
import type { IParameterMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
3
2
|
import { type ICatalogItemParameter } from "../catalogItem/types.js";
|
|
4
3
|
type Props = {
|
|
5
|
-
backend: IAnalyticalBackend;
|
|
6
|
-
workspace: string;
|
|
7
4
|
item: ICatalogItemParameter;
|
|
8
5
|
onClose: () => void;
|
|
9
6
|
onSaved: (item: ICatalogItemParameter) => void;
|
|
10
|
-
onDuplicate
|
|
7
|
+
onDuplicate?: (parameter: IParameterMetadataObjectDefinition) => void;
|
|
11
8
|
};
|
|
12
|
-
export declare function ParameterEditDialog({
|
|
9
|
+
export declare function ParameterEditDialog({ item, onClose, onSaved, onDuplicate }: Props): import("react/jsx-runtime").JSX.Element;
|
|
13
10
|
export {};
|
|
14
11
|
//# sourceMappingURL=ParameterEditDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterEditDialog.d.ts","sourceRoot":"","sources":["../../src/parameter/ParameterEditDialog.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ParameterEditDialog.d.ts","sourceRoot":"","sources":["../../src/parameter/ParameterEditDialog.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAG9E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAWrE,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC/C,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,kCAAkC,KAAK,IAAI,CAAC;CACzE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,2CAsCjF"}
|
|
@@ -3,19 +3,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { Suspense, lazy, useCallback } from "react";
|
|
4
4
|
import { defineMessages } from "react-intl";
|
|
5
5
|
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
6
|
-
import { useCatalogFeedActions } from "../catalogItem/CatalogFeedContext.js";
|
|
7
|
-
import { convertParameterToCatalogItem } from "../catalogItem/converter.js";
|
|
8
|
-
import { updateParameterCatalogItem } from "../catalogItem/query.js";
|
|
9
6
|
import {} from "../catalogItem/types.js";
|
|
7
|
+
import { useParameterMutation } from "./ParameterMutationContext.js";
|
|
10
8
|
const ParameterDialog = lazy(() => import("./ParameterDialog.js").then((m) => ({ default: m.ParameterDialog })));
|
|
11
9
|
const messages = defineMessages({
|
|
12
10
|
parameterUpdateSuccess: { id: "analyticsCatalog.parameter.update.success" },
|
|
13
11
|
});
|
|
14
|
-
export function ParameterEditDialog({
|
|
12
|
+
export function ParameterEditDialog({ item, onClose, onSaved, onDuplicate }) {
|
|
15
13
|
const { addSuccess } = useToastMessage();
|
|
16
|
-
const
|
|
14
|
+
const mutation = useParameterMutation();
|
|
17
15
|
const handleSubmit = useCallback(async (parameter) => {
|
|
18
|
-
const savedParameter = await
|
|
16
|
+
const savedParameter = await mutation.update({
|
|
19
17
|
...item,
|
|
20
18
|
title: parameter.title ?? item.title,
|
|
21
19
|
description: parameter.description ?? item.description,
|
|
@@ -23,12 +21,10 @@ export function ParameterEditDialog({ backend, workspace, item, onClose, onSaved
|
|
|
23
21
|
definition: parameter.definition,
|
|
24
22
|
updatedAt: new Date(),
|
|
25
23
|
});
|
|
26
|
-
|
|
27
|
-
onSaved(nextParameter);
|
|
24
|
+
onSaved(savedParameter);
|
|
28
25
|
onClose();
|
|
29
26
|
addSuccess(messages.parameterUpdateSuccess);
|
|
30
|
-
|
|
31
|
-
}, [addSuccess, backend, item, onClose, onSaved, refetchObjectType, workspace]);
|
|
27
|
+
}, [addSuccess, item, mutation, onClose, onSaved]);
|
|
32
28
|
return (_jsx(Suspense, { fallback: null, children: _jsx(ParameterDialog, { mode: "edit", initialParameter: {
|
|
33
29
|
id: item.identifier,
|
|
34
30
|
title: item.title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterEditDialog.js","sourceRoot":"","sources":["../../src/parameter/ParameterEditDialog.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ParameterEditDialog.js","sourceRoot":"","sources":["../../src/parameter/ParameterEditDialog.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAA8B,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAC9B,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAC/E,CAAC;AAEF,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC5B,sBAAsB,EAAE,EAAE,EAAE,EAAE,2CAA2C,EAAE;CAC9E,CAAC,CAAC;AASH,MAAM,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAS,EAAE;IAChF,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAExC,MAAM,YAAY,GAAG,WAAW,CAC5B,KAAK,EAAE,SAA6C,EAAE,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACzC,GAAG,IAAI;YACP,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;YACpC,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;YACtD,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;YACjC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,OAAO,CAAC,cAAc,CAAC,CAAC;QACxB,OAAO,EAAE,CAAC;QACV,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAAA,CAC/C,EACD,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CACjD,CAAC;IAEF,OAAO,CACH,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YACpB,KAAC,eAAe,IACZ,IAAI,EAAC,MAAM,EACX,gBAAgB,EAAE;gBACd,EAAE,EAAE,IAAI,CAAC,UAAU;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,EACD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,WAAW,GAC1B,GACK,CACd,CAAC;AAAA,CACL"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type PropsWithChildren } from "react";
|
|
2
|
+
import { type IParameterMutationPort } from "./parameterMutationPort.js";
|
|
3
|
+
type ProviderProps = PropsWithChildren<{
|
|
4
|
+
port?: IParameterMutationPort;
|
|
5
|
+
}>;
|
|
6
|
+
/**
|
|
7
|
+
* Must be placed inside `BackendProvider` and `WorkspaceProvider`.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare function ParameterMutationProvider({ children, port }: ProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function useParameterMutation(): IParameterMutationPort;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=ParameterMutationContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParameterMutationContext.d.ts","sourceRoot":"","sources":["../../src/parameter/ParameterMutationContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAsC,MAAM,OAAO,CAAC;AAInF,OAAO,EAAE,KAAK,sBAAsB,EAAkC,MAAM,4BAA4B,CAAC;AAIzG,KAAK,aAAa,GAAG,iBAAiB,CAAC;IACnC,IAAI,CAAC,EAAE,sBAAsB,CAAC;CACjC,CAAC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,aAAa,2CAK1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,sBAAsB,CAM7D"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { createContext, useContext, useMemo } from "react";
|
|
4
|
+
import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
5
|
+
import { createParameterMutationAdapter } from "./parameterMutationPort.js";
|
|
6
|
+
const ParameterMutationContext = createContext(null);
|
|
7
|
+
/**
|
|
8
|
+
* Must be placed inside `BackendProvider` and `WorkspaceProvider`.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export function ParameterMutationProvider({ children, port }) {
|
|
12
|
+
if (port) {
|
|
13
|
+
return _jsx(ParameterMutationContext.Provider, { value: port, children: children });
|
|
14
|
+
}
|
|
15
|
+
return _jsx(DefaultParameterMutationProvider, { children: children });
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export function useParameterMutation() {
|
|
21
|
+
const mutation = useContext(ParameterMutationContext);
|
|
22
|
+
if (!mutation) {
|
|
23
|
+
throw new Error("useParameterMutation must be used within ParameterMutationProvider");
|
|
24
|
+
}
|
|
25
|
+
return mutation;
|
|
26
|
+
}
|
|
27
|
+
function DefaultParameterMutationProvider({ children }) {
|
|
28
|
+
const backend = useBackendStrict();
|
|
29
|
+
const workspace = useWorkspaceStrict();
|
|
30
|
+
const mutation = useMemo(() => createParameterMutationAdapter(backend, workspace), [backend, workspace]);
|
|
31
|
+
return _jsx(ParameterMutationContext.Provider, { value: mutation, children: children });
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ParameterMutationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParameterMutationContext.js","sourceRoot":"","sources":["../../src/parameter/ParameterMutationContext.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAA0B,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAA+B,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEzG,MAAM,wBAAwB,GAAG,aAAa,CAAgC,IAAI,CAAC,CAAC;AAMpF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAiB,EAAE;IACzE,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,KAAC,wBAAwB,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YAAG,QAAQ,GAAqC,CAAC;IAC1G,CAAC;IACD,OAAO,KAAC,gCAAgC,cAAE,QAAQ,GAAoC,CAAC;AAAA,CAC1F;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,GAA2B;IAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,QAAQ,CAAC;AAAA,CACnB;AAED,SAAS,gCAAgC,CAAC,EAAE,QAAQ,EAAqB,EAAE;IACvE,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACzG,OAAO,KAAC,wBAAwB,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAAqC,CAAC;AAAA,CAC7G"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { type IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
1
|
import type { IParameterMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
3
|
-
export declare function createCopiedParameterCatalogItem(backend: IAnalyticalBackend, workspace: string, parameter: IParameterMetadataObjectDefinition, initialCopiedId: string | undefined): Promise<import("@gooddata/sdk-model").IParameterMetadataObject>;
|
|
4
2
|
export declare function createCopiedParameter(parameter: IParameterMetadataObjectDefinition): IParameterMetadataObjectDefinition;
|
|
3
|
+
export declare function isDuplicateIdError(error: unknown): boolean;
|
|
5
4
|
//# sourceMappingURL=parameterCopy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameterCopy.d.ts","sourceRoot":"","sources":["../../src/parameter/parameterCopy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parameterCopy.d.ts","sourceRoot":"","sources":["../../src/parameter/parameterCopy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAK9E,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,kCAAkC,GAC9C,kCAAkC,CASpC;AAqCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D"}
|
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
import { isUnexpectedResponseError } from "@gooddata/sdk-backend-spi";
|
|
3
|
-
import { createParameterCatalogItem } from "../catalogItem/query.js";
|
|
4
3
|
const canonicalUuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
5
4
|
const trailingCopySuffixRegex = /^(.*) \((\d+)\)$/;
|
|
6
|
-
export async function createCopiedParameterCatalogItem(backend, workspace, parameter, initialCopiedId) {
|
|
7
|
-
try {
|
|
8
|
-
return await createParameterCatalogItem(backend, workspace, parameter);
|
|
9
|
-
}
|
|
10
|
-
catch (error) {
|
|
11
|
-
if (!parameter.id || parameter.id !== initialCopiedId || !isDuplicateIdError(error)) {
|
|
12
|
-
throw error;
|
|
13
|
-
}
|
|
14
|
-
const { id: _id, ...parameterWithoutId } = parameter;
|
|
15
|
-
return createParameterCatalogItem(backend, workspace, parameterWithoutId);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
5
|
export function createCopiedParameter(parameter) {
|
|
19
6
|
const { id: _id, title: _title, ...parameterRest } = parameter;
|
|
20
7
|
const title = getCopiedTitle(parameter.title);
|
|
@@ -56,7 +43,7 @@ function getCopiedId(title) {
|
|
|
56
43
|
function isCanonicalUuid(value) {
|
|
57
44
|
return canonicalUuidRegex.test(value);
|
|
58
45
|
}
|
|
59
|
-
function isDuplicateIdError(error) {
|
|
60
|
-
return
|
|
46
|
+
export function isDuplicateIdError(error) {
|
|
47
|
+
return isUnexpectedResponseError(error) && error.httpStatus === 409;
|
|
61
48
|
}
|
|
62
49
|
//# sourceMappingURL=parameterCopy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameterCopy.js","sourceRoot":"","sources":["../../src/parameter/parameterCopy.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,
|
|
1
|
+
{"version":3,"file":"parameterCopy.js","sourceRoot":"","sources":["../../src/parameter/parameterCopy.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,MAAM,kBAAkB,GAAG,iEAAiE,CAAC;AAC7F,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CACjC,SAA6C,EACX;IAClC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,GAAG,SAAS,CAAC;IAC/D,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7E,OAAO;QACH,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;QACnC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,aAAa;KACnB,CAAC;AAAA,CACL;AAED,SAAS,cAAc,CAAC,KAAyB,EAAsB;IACnE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnD,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QACjC,OAAO,GAAG,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,KAAK,MAAM,CAAC;AAAA,CACzB;AAED,SAAS,kBAAkB,CAAC,EAAsB,EAAW;IACzD,OAAO,EAAE,KAAK,SAAS,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;AAAA,CAClD;AAED,SAAS,WAAW,CAAC,KAAyB,EAAsB;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,eAAe,GAAG,KAAK;SACxB,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,WAAW,EAAE,CAAC;IACnB,OAAO,eAAe,IAAI,SAAS,CAAC;AAAA,CACvC;AAED,SAAS,eAAe,CAAC,KAAa,EAAW;IAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAAA,CACzC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAW;IACxD,OAAO,yBAAyB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC;AAAA,CACvE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import type { IParameterMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
3
|
+
import type { ICatalogItemParameter, ICatalogItemRef } from "../catalogItem/types.js";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface IParameterMutationPort {
|
|
8
|
+
create(definition: IParameterMetadataObjectDefinition): Promise<ICatalogItemParameter>;
|
|
9
|
+
update(item: ICatalogItemParameter): Promise<ICatalogItemParameter>;
|
|
10
|
+
delete(ref: ICatalogItemRef): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare function createParameterMutationAdapter(backend: IAnalyticalBackend, workspace: string): IParameterMutationPort;
|
|
16
|
+
//# sourceMappingURL=parameterMutationPort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterMutationPort.d.ts","sourceRoot":"","sources":["../../src/parameter/parameterMutationPort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAQ9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,UAAU,EAAE,kCAAkC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvF,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAClB,sBAAsB,CAcxB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { convertParameterToCatalogItem } from "../catalogItem/converter.js";
|
|
3
|
+
import { createParameterCatalogItem, deleteParameterCatalogItem, updateParameterCatalogItem, } from "../catalogItem/query.js";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export function createParameterMutationAdapter(backend, workspace) {
|
|
8
|
+
return {
|
|
9
|
+
async create(definition) {
|
|
10
|
+
const savedParameter = await createParameterCatalogItem(backend, workspace, definition);
|
|
11
|
+
return convertParameterToCatalogItem(savedParameter);
|
|
12
|
+
},
|
|
13
|
+
async update(item) {
|
|
14
|
+
const savedParameter = await updateParameterCatalogItem(backend, workspace, item);
|
|
15
|
+
return convertParameterToCatalogItem(savedParameter);
|
|
16
|
+
},
|
|
17
|
+
async delete(ref) {
|
|
18
|
+
await deleteParameterCatalogItem(backend, workspace, ref);
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=parameterMutationPort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterMutationPort.js","sourceRoot":"","sources":["../../src/parameter/parameterMutationPort.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAKhC,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACH,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,GAC7B,MAAM,yBAAyB,CAAC;AAYjC;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC1C,OAA2B,EAC3B,SAAiB,EACK;IACtB,OAAO;QACH,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;YACrB,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACxF,OAAO,6BAA6B,CAAC,cAAc,CAAC,CAAC;QAAA,CACxD;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YACf,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAClF,OAAO,6BAA6B,CAAC,cAAc,CAAC,CAAC;QAAA,CACxD;QACD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;YACd,MAAM,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAAA,CAC7D;KACJ,CAAC;AAAA,CACL"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IParameterMutationPort } from "../parameterMutationPort.js";
|
|
2
|
+
/**
|
|
3
|
+
* Test utility. Returns a parameter mutation port with vi.fn() stubs.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare function createTestParameterMutationPort(overrides?: Partial<IParameterMutationPort>): IParameterMutationPort;
|
|
7
|
+
//# sourceMappingURL=parameterMutationPort.test.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterMutationPort.test.utils.d.ts","sourceRoot":"","sources":["../../../src/parameter/tests/parameterMutationPort.test.utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAiB1E;;;GAGG;AACH,wBAAgB,+BAA+B,CAC3C,SAAS,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAChD,sBAAsB,CAOxB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { vi } from "vitest";
|
|
3
|
+
const defaultSavedItem = {
|
|
4
|
+
identifier: "test-parameter",
|
|
5
|
+
type: "parameter",
|
|
6
|
+
title: "Test Parameter",
|
|
7
|
+
description: "",
|
|
8
|
+
tags: [],
|
|
9
|
+
createdBy: "test",
|
|
10
|
+
updatedBy: "test",
|
|
11
|
+
createdAt: null,
|
|
12
|
+
updatedAt: null,
|
|
13
|
+
isLocked: false,
|
|
14
|
+
isEditable: true,
|
|
15
|
+
definition: { type: "NUMBER", defaultValue: 0 },
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Test utility. Returns a parameter mutation port with vi.fn() stubs.
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export function createTestParameterMutationPort(overrides = {}) {
|
|
22
|
+
return {
|
|
23
|
+
create: vi.fn().mockResolvedValue(defaultSavedItem),
|
|
24
|
+
update: vi.fn().mockResolvedValue(defaultSavedItem),
|
|
25
|
+
delete: vi.fn().mockResolvedValue(undefined),
|
|
26
|
+
...overrides,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=parameterMutationPort.test.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterMutationPort.test.utils.js","sourceRoot":"","sources":["../../../src/parameter/tests/parameterMutationPort.test.utils.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAK5B,MAAM,gBAAgB,GAA0B;IAC5C,UAAU,EAAE,gBAAgB;IAC5B,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE;CAClD,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAC3C,SAAS,GAAoC,EAAE,EACzB;IACtB,OAAO;QACH,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QACnD,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QACnD,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC5C,GAAG,SAAS;KACf,CAAC;AAAA,CACL"}
|
package/esm/sdk-ui-catalog.d.ts
CHANGED
|
@@ -224,10 +224,6 @@ export declare interface ICatalogDetailContentProps {
|
|
|
224
224
|
* Handler for opening catalog items.
|
|
225
225
|
*/
|
|
226
226
|
onOpenClick?: (event: MouseEvent_2, linkClickEvent: OpenHandlerEvent) => void;
|
|
227
|
-
/**
|
|
228
|
-
* Handler for editing catalog items.
|
|
229
|
-
*/
|
|
230
|
-
onEditClick?: (event: MouseEvent_2, editClickEvent: EditHandlerEvent) => void;
|
|
231
227
|
/**
|
|
232
228
|
* Handler for tag click.
|
|
233
229
|
*/
|
|
@@ -237,21 +233,21 @@ export declare interface ICatalogDetailContentProps {
|
|
|
237
233
|
*/
|
|
238
234
|
onCatalogItemNavigation?: (event: MouseEvent_2, ref: ICatalogItemRef) => void;
|
|
239
235
|
/**
|
|
240
|
-
* Handler for catalog item
|
|
236
|
+
* Handler for catalog item create (e.g. duplicate).
|
|
241
237
|
*/
|
|
242
|
-
|
|
238
|
+
onCatalogItemCreate?: (item: ICatalogItem) => void;
|
|
243
239
|
/**
|
|
244
|
-
* Handler for catalog item update
|
|
240
|
+
* Handler for catalog item update.
|
|
245
241
|
*/
|
|
246
|
-
|
|
242
|
+
onCatalogItemUpdate?: (item: ICatalogItem) => void;
|
|
247
243
|
/**
|
|
248
|
-
*
|
|
244
|
+
* Handler for catalog item delete.
|
|
249
245
|
*/
|
|
250
|
-
|
|
246
|
+
onCatalogItemDelete?: (ref: ICatalogItemRef) => void;
|
|
251
247
|
/**
|
|
252
|
-
*
|
|
248
|
+
* Handler for catalog item update error.
|
|
253
249
|
*/
|
|
254
|
-
|
|
250
|
+
onCatalogItemUpdateError?: (error: Error) => void;
|
|
255
251
|
}
|
|
256
252
|
|
|
257
253
|
/**
|