@gooddata/sdk-ui-ext 9.5.0-alpha.11 → 9.5.0-alpha.13
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/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/internal/assets/icons/attribute-hierarchy.svg +1 -0
- package/esm/internal/assets/icons/attribute.svg +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailBubble.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailBubble.js.map +1 -0
- package/esm/internal/components/{attributeHierarchy → attributeHierarchies/attributeHierarchyDetail}/AttributeHierarchyDetailPanel.d.ts +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailPanel.d.ts.map +1 -0
- package/esm/internal/components/{attributeHierarchy → attributeHierarchies/attributeHierarchyDetail}/AttributeHierarchyDetailPanel.js +8 -4
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailPanel.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddActionMenu.d.ts +9 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddActionMenu.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddActionMenu.js +32 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddActionMenu.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddAttributeAction.d.ts +4 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddAttributeAction.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddAttributeAction.js +18 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddAttributeAction.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdown.d.ts +7 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdown.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdown.js +28 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdown.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdownBody.d.ts +11 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdownBody.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdownBody.js +40 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdownBody.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.d.ts +17 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.js +12 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogContent.d.ts +4 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogContent.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogContent.js +24 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogContent.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogCore.d.ts +4 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogCore.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogCore.js +17 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogCore.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.d.ts +4 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.js +39 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.d.ts +4 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.js +17 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.d.ts +33 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.js +89 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.d.ts +9 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.js +15 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.d.ts +7 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.js +26 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.d.ts +4 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.js +22 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/types.d.ts +27 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/types.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/types.js +6 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/types.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.d.ts +19 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.js +121 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.d.ts +8 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.js +46 -0
- package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.js.map +1 -0
- package/esm/internal/components/attributeHierarchies/index.d.ts +4 -0
- package/esm/internal/components/attributeHierarchies/index.d.ts.map +1 -0
- package/esm/internal/components/attributeHierarchies/index.js +5 -0
- package/esm/internal/components/attributeHierarchies/index.js.map +1 -0
- package/esm/internal/translations/en-US.json +4 -4
- package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.d.ts.map +1 -1
- package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.js +4 -2
- package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.js.map +1 -1
- package/esm/sdk-ui-ext.d.ts +18 -0
- package/package.json +18 -18
- package/styles/css/main.css +213 -0
- package/styles/css/main.css.map +1 -1
- package/styles/internal/css/attribute_hierarchies.css +260 -0
- package/styles/internal/css/attribute_hierarchies.css.map +1 -0
- package/styles/internal/scss/attribute_hierarchies.scss +309 -0
- package/styles/scss/main.scss +1 -1
- package/esm/internal/components/attributeHierarchy/AttributeHierarchyDetailBubble.d.ts.map +0 -1
- package/esm/internal/components/attributeHierarchy/AttributeHierarchyDetailBubble.js.map +0 -1
- package/esm/internal/components/attributeHierarchy/AttributeHierarchyDetailPanel.d.ts.map +0 -1
- package/esm/internal/components/attributeHierarchy/AttributeHierarchyDetailPanel.js.map +0 -1
- package/esm/internal/components/attributeHierarchy/index.d.ts +0 -3
- package/esm/internal/components/attributeHierarchy/index.d.ts.map +0 -1
- package/esm/internal/components/attributeHierarchy/index.js +0 -4
- package/esm/internal/components/attributeHierarchy/index.js.map +0 -1
- package/styles/internal/css/attribute_hierarchy_detail.css +0 -47
- package/styles/internal/css/attribute_hierarchy_detail.css.map +0 -1
- package/styles/internal/scss/attribute_hierarchy_detail.scss +0 -54
- /package/esm/internal/components/{attributeHierarchy → attributeHierarchies/attributeHierarchyDetail}/AttributeHierarchyDetailBubble.d.ts +0 -0
- /package/esm/internal/components/{attributeHierarchy → attributeHierarchies/attributeHierarchyDetail}/AttributeHierarchyDetailBubble.js +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import React, { createContext, useContext, useEffect, useState } from "react";
|
|
3
|
+
import noop from "lodash/noop.js";
|
|
4
|
+
import isEmpty from "lodash/isEmpty.js";
|
|
5
|
+
import { useBackendProvider } from "./useBackendProvider.js";
|
|
6
|
+
import { appendEmptyAttribute, convertToCatalogAttributeDataByRefs, findCatalogAttributeByRef, } from "./utils.js";
|
|
7
|
+
export const AttributeHierarchyDialogProviderContext = createContext({
|
|
8
|
+
isEditing: false,
|
|
9
|
+
attributes: [],
|
|
10
|
+
title: "",
|
|
11
|
+
isLoading: true,
|
|
12
|
+
setLoading: noop,
|
|
13
|
+
shouldDisplayDeleteConfirmation: false,
|
|
14
|
+
setDisplayDeleteConfirmation: noop,
|
|
15
|
+
onClose: noop,
|
|
16
|
+
onUpdateTitle: noop,
|
|
17
|
+
onAddEmptyAttribute: noop,
|
|
18
|
+
onCompleteAttribute: noop,
|
|
19
|
+
onDeleteAttribute: noop,
|
|
20
|
+
onSaveAttributeHierarchy: noop,
|
|
21
|
+
onDeleteAttributeHierarchy: noop,
|
|
22
|
+
getValidAttributes: () => Promise.resolve([]),
|
|
23
|
+
});
|
|
24
|
+
export const useAttributeHierarchyDialog = () => useContext(AttributeHierarchyDialogProviderContext);
|
|
25
|
+
export const AttributeHierarchyDialogProvider = ({ initialAttributeRef, editingAttributeHierarchy, children, onClose, onSaveOrUpdateSuccess, onDeleteSuccess, }) => {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
const [isLoading, setLoading] = useState(true);
|
|
28
|
+
const [title, setTitle] = useState((_b = (_a = editingAttributeHierarchy === null || editingAttributeHierarchy === void 0 ? void 0 : editingAttributeHierarchy.attributeHierarchy) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : "");
|
|
29
|
+
const [attributes, setAttributes] = useState([]);
|
|
30
|
+
const [shouldDisplayDeleteConfirmation, setDisplayDeleteConfirmation] = useState();
|
|
31
|
+
const isEditing = !!editingAttributeHierarchy;
|
|
32
|
+
const { catalogAttributesMap, onSaveAttributeHierarchy, onDeleteAttributeHierarchy, getValidAttributes } = useBackendProvider({
|
|
33
|
+
setLoading,
|
|
34
|
+
title,
|
|
35
|
+
attributes,
|
|
36
|
+
editingAttributeHierarchy,
|
|
37
|
+
onClose,
|
|
38
|
+
onSaveOrUpdateSuccess,
|
|
39
|
+
onDeleteSuccess,
|
|
40
|
+
});
|
|
41
|
+
const handleAddEmptyAttribute = (baseRowIndex) => {
|
|
42
|
+
setAttributes(appendEmptyAttribute(attributes, baseRowIndex));
|
|
43
|
+
};
|
|
44
|
+
const handleCompeteAttribute = (selectedAttribute, rowIndex) => {
|
|
45
|
+
const attribute = Object.assign(Object.assign({}, selectedAttribute), { completed: true });
|
|
46
|
+
const newAttributes = [...attributes];
|
|
47
|
+
newAttributes[rowIndex] = attribute;
|
|
48
|
+
setAttributes(newAttributes);
|
|
49
|
+
};
|
|
50
|
+
const handleDeleteAttribute = (rowIndex) => {
|
|
51
|
+
const newAttributes = [...attributes];
|
|
52
|
+
newAttributes.splice(rowIndex, 1);
|
|
53
|
+
setAttributes(newAttributes);
|
|
54
|
+
};
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (editingAttributeHierarchy && !isEmpty(catalogAttributesMap)) {
|
|
57
|
+
const refs = editingAttributeHierarchy.attributeHierarchy.attributes;
|
|
58
|
+
const initAttributes = convertToCatalogAttributeDataByRefs(catalogAttributesMap, refs).map((attribute) => (Object.assign(Object.assign({}, attribute), { completed: true })));
|
|
59
|
+
setAttributes(initAttributes);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (initialAttributeRef && !isEmpty(catalogAttributesMap)) {
|
|
63
|
+
const initialAttribute = findCatalogAttributeByRef(catalogAttributesMap, initialAttributeRef);
|
|
64
|
+
if (initialAttribute) {
|
|
65
|
+
setAttributes([
|
|
66
|
+
Object.assign(Object.assign({}, initialAttribute), { completed: true }),
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}, [initialAttributeRef, editingAttributeHierarchy, catalogAttributesMap]);
|
|
71
|
+
return (React.createElement(AttributeHierarchyDialogProviderContext.Provider, { value: {
|
|
72
|
+
isEditing,
|
|
73
|
+
attributes,
|
|
74
|
+
title,
|
|
75
|
+
isLoading,
|
|
76
|
+
setLoading,
|
|
77
|
+
shouldDisplayDeleteConfirmation,
|
|
78
|
+
setDisplayDeleteConfirmation,
|
|
79
|
+
onClose,
|
|
80
|
+
onUpdateTitle: setTitle,
|
|
81
|
+
onAddEmptyAttribute: handleAddEmptyAttribute,
|
|
82
|
+
onCompleteAttribute: handleCompeteAttribute,
|
|
83
|
+
getValidAttributes,
|
|
84
|
+
onDeleteAttribute: handleDeleteAttribute,
|
|
85
|
+
onSaveAttributeHierarchy,
|
|
86
|
+
onDeleteAttributeHierarchy,
|
|
87
|
+
} }, children));
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=AttributeHierarchyDialogProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeHierarchyDialogProvider.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.tsx"],"names":[],"mappings":"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"}
|
package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IAttributeData } from "./types.js";
|
|
3
|
+
interface IAttributeItemCellProps {
|
|
4
|
+
rowIndex: number;
|
|
5
|
+
attribute: IAttributeData;
|
|
6
|
+
}
|
|
7
|
+
declare const AttributeItem: React.FC<IAttributeItemCellProps>;
|
|
8
|
+
export default AttributeItem;
|
|
9
|
+
//# sourceMappingURL=AttributeItem.d.ts.map
|
package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeItem.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;CAC7B;AAED,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmBpD,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import AttributeDropdown from "./AttributeDropdown.js";
|
|
4
|
+
import AttributeItemActions from "./AttributeItemActions.js";
|
|
5
|
+
const AttributeItem = ({ rowIndex, attribute }) => {
|
|
6
|
+
const { title, completed, icon } = attribute;
|
|
7
|
+
return (React.createElement("div", { className: "gd-list-item" },
|
|
8
|
+
React.createElement("div", { className: "attribute-item-content s-attribute-item-content" }, completed ? (React.createElement("div", { className: "attribute-item-title s-attribute-item-title" },
|
|
9
|
+
React.createElement("i", { className: icon }),
|
|
10
|
+
title,
|
|
11
|
+
React.createElement("i", { className: "gd-icon-navigatedown" }))) : (React.createElement(AttributeDropdown, { rowIndex: rowIndex }))),
|
|
12
|
+
completed ? React.createElement(AttributeItemActions, { rowIndex: rowIndex }) : null));
|
|
13
|
+
};
|
|
14
|
+
export default AttributeItem;
|
|
15
|
+
//# sourceMappingURL=AttributeItem.js.map
|
package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeItem.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAQ7D,MAAM,aAAa,GAAsC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;IACjF,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAE7C,OAAO,CACH,6BAAK,SAAS,EAAC,cAAc;QACzB,6BAAK,SAAS,EAAC,iDAAiD,IAC3D,SAAS,CAAC,CAAC,CAAC,CACT,6BAAK,SAAS,EAAC,6CAA6C;YACxD,2BAAG,SAAS,EAAE,IAAI,GAAI;YACrB,KAAK;YACN,2BAAG,SAAS,EAAC,sBAAsB,GAAG,CACpC,CACT,CAAC,CAAC,CAAC,CACA,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAC5C,CACC;QACL,SAAS,CAAC,CAAC,CAAC,oBAAC,oBAAoB,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,CAC9D,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeItemActions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAMhD,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsC3D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import React, { useRef, useState } from "react";
|
|
3
|
+
import { Button } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
import { useAttributeHierarchyDialog } from "./AttributeHierarchyDialogProvider.js";
|
|
5
|
+
import AddActionMenu from "./AddActionMenu.js";
|
|
6
|
+
const AttributeItemActions = ({ rowIndex }) => {
|
|
7
|
+
const [shouldDisplayAddActions, setDisplayAddActions] = useState(false);
|
|
8
|
+
const { onDeleteAttribute } = useAttributeHierarchyDialog();
|
|
9
|
+
const addAttributeRef = useRef();
|
|
10
|
+
const handleAddAttribute = () => {
|
|
11
|
+
setDisplayAddActions(true);
|
|
12
|
+
};
|
|
13
|
+
const handleDeleteAttribute = () => {
|
|
14
|
+
onDeleteAttribute(rowIndex);
|
|
15
|
+
};
|
|
16
|
+
const handleCloseAddActionMenu = () => {
|
|
17
|
+
setDisplayAddActions(false);
|
|
18
|
+
};
|
|
19
|
+
return (React.createElement("div", { className: "attribute-item-actions s-attribute-item-actions" },
|
|
20
|
+
React.createElement("div", { ref: addAttributeRef },
|
|
21
|
+
React.createElement(Button, { className: "gd-button-link gd-button-icon-only gd-icon-plus attribute-item-add-action s-attribute-item-add-action", onClick: handleAddAttribute })),
|
|
22
|
+
React.createElement(Button, { className: "gd-button-link gd-button-icon-only gd-icon-trash attribute-item-delete-action s-attribute-item-delete-action", onClick: handleDeleteAttribute }),
|
|
23
|
+
shouldDisplayAddActions ? (React.createElement(AddActionMenu, { rowIndex: rowIndex, alignTo: addAttributeRef.current, onClose: handleCloseAddActionMenu })) : null));
|
|
24
|
+
};
|
|
25
|
+
export default AttributeItemActions;
|
|
26
|
+
//# sourceMappingURL=AttributeItemActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeItemActions.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAM/C,MAAM,oBAAoB,GAAsC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7E,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjF,MAAM,EAAE,iBAAiB,EAAE,GAAG,2BAA2B,EAAE,CAAC;IAC5D,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC;IAEjC,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAC/B,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE;QAClC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,iDAAiD;QAC5D,6BAAK,GAAG,EAAE,eAAe;YACrB,oBAAC,MAAM,IACH,SAAS,EAAC,uGAAuG,EACjH,OAAO,EAAE,kBAAkB,GAC7B,CACA;QACN,oBAAC,MAAM,IACH,SAAS,EAAC,8GAA8G,EACxH,OAAO,EAAE,qBAAqB,GAChC;QACD,uBAAuB,CAAC,CAAC,CAAC,CACvB,oBAAC,aAAa,IACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,CAAC,OAAO,EAChC,OAAO,EAAE,wBAAwB,GACnC,CACL,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteAttributeHieraryConfirmation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,QAAA,MAAM,oCAAoC,EAAE,KAAK,CAAC,EAgCjD,CAAC;AAEF,eAAe,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ConfirmDialog, LoadingMask } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
import { FormattedMessage, useIntl } from "react-intl";
|
|
5
|
+
import { messages } from "@gooddata/sdk-ui";
|
|
6
|
+
import { useAttributeHierarchyDialog } from "./AttributeHierarchyDialogProvider.js";
|
|
7
|
+
const DeleteAttributeHierarchyConfirmation = () => {
|
|
8
|
+
const { formatMessage } = useIntl();
|
|
9
|
+
const { isLoading, setLoading, setDisplayDeleteConfirmation, onDeleteAttributeHierarchy } = useAttributeHierarchyDialog();
|
|
10
|
+
const handleClose = () => {
|
|
11
|
+
setLoading(false);
|
|
12
|
+
setDisplayDeleteConfirmation(false);
|
|
13
|
+
};
|
|
14
|
+
const cancelText = formatMessage(messages.hierarchyCancelButton);
|
|
15
|
+
const deleteText = formatMessage(messages.hierarchyDeleteButton);
|
|
16
|
+
const headlineText = formatMessage(messages.hierarchyDeleteConfirmTitle);
|
|
17
|
+
return (React.createElement(ConfirmDialog, { className: "attribute-hierarchy-delete-confirmation s-attribute-hierarchy-delete-confirmation", cancelButtonText: cancelText, submitButtonText: deleteText, isCancelDisabled: isLoading, isSubmitDisabled: isLoading, headline: headlineText, displayCloseButton: true, onCancel: handleClose, onSubmit: onDeleteAttributeHierarchy },
|
|
18
|
+
React.createElement(FormattedMessage, { id: messages.hierarchyDeleteConfirmMessage.id, tagName: "div" }),
|
|
19
|
+
isLoading ? (React.createElement(LoadingMask, { className: "attribute-hierarchy-content-loading-mask s-attribute-hierarchy-content-loading-mask" })) : null));
|
|
20
|
+
};
|
|
21
|
+
export default DeleteAttributeHierarchyConfirmation;
|
|
22
|
+
//# sourceMappingURL=DeleteAttributeHieraryConfirmation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteAttributeHieraryConfirmation.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,oCAAoC,GAAa,GAAG,EAAE;IACxD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,GACrF,2BAA2B,EAAE,CAAC;IAElC,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAEzE,OAAO,CACH,oBAAC,aAAa,IACV,SAAS,EAAC,mFAAmF,EAC7F,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,UAAU,EAC5B,gBAAgB,EAAE,SAAS,EAC3B,gBAAgB,EAAE,SAAS,EAC3B,QAAQ,EAAE,YAAY,EACtB,kBAAkB,EAAE,IAAI,EACxB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,0BAA0B;QAEpC,oBAAC,gBAAgB,IAAC,EAAE,EAAE,QAAQ,CAAC,6BAA6B,CAAC,EAAE,EAAE,OAAO,EAAC,KAAK,GAAG;QAChF,SAAS,CAAC,CAAC,CAAC,CACT,oBAAC,WAAW,IAAC,SAAS,EAAC,qFAAqF,GAAG,CAClH,CAAC,CAAC,CAAC,IAAI,CACI,CACnB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ICatalogAttributeHierarchy, ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
export type EmptyParamCallback = () => void;
|
|
3
|
+
export type SaveOrUpdateCallback = (attributeHierarchy: ICatalogAttributeHierarchy) => void;
|
|
4
|
+
export type SetLoadingCallback = (isLoading: boolean) => void;
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export interface IAttributeHierarchyDialogProps {
|
|
9
|
+
initialAttributeRef?: ObjRef;
|
|
10
|
+
editingAttributeHierarchy?: ICatalogAttributeHierarchy;
|
|
11
|
+
onClose?: EmptyParamCallback;
|
|
12
|
+
onSaveOrUpdate?: SaveOrUpdateCallback;
|
|
13
|
+
}
|
|
14
|
+
export declare enum CatalogAttributeDataType {
|
|
15
|
+
ATTRIBUTE = "attribute",
|
|
16
|
+
DATE_ATTRIBUTE = "dateAttribute"
|
|
17
|
+
}
|
|
18
|
+
export interface ICatalogAttributeData {
|
|
19
|
+
type?: CatalogAttributeDataType;
|
|
20
|
+
ref?: ObjRef;
|
|
21
|
+
title?: string;
|
|
22
|
+
icon?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface IAttributeData extends ICatalogAttributeData {
|
|
25
|
+
completed?: boolean;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAC5C,MAAM,MAAM,oBAAoB,GAAG,CAAC,kBAAkB,EAAE,0BAA0B,KAAK,IAAI,CAAC;AAC5F,MAAM,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,0BAA0B,CAAC;IACvD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,oBAAY,wBAAwB;IAChC,SAAS,cAAc;IACvB,cAAc,kBAAkB;CACnC;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var CatalogAttributeDataType;
|
|
2
|
+
(function (CatalogAttributeDataType) {
|
|
3
|
+
CatalogAttributeDataType["ATTRIBUTE"] = "attribute";
|
|
4
|
+
CatalogAttributeDataType["DATE_ATTRIBUTE"] = "dateAttribute";
|
|
5
|
+
})(CatalogAttributeDataType = CatalogAttributeDataType || (CatalogAttributeDataType = {}));
|
|
6
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/types.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAN,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAChC,mDAAuB,CAAA;IACvB,4DAAgC,CAAA;AACpC,CAAC,EAHW,wBAAwB,GAAxB,wBAAwB,KAAxB,wBAAwB,QAGnC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ICatalogAttributeHierarchy } from "@gooddata/sdk-model";
|
|
2
|
+
import { EmptyParamCallback, IAttributeData, ICatalogAttributeData, SaveOrUpdateCallback, SetLoadingCallback } from "./types.js";
|
|
3
|
+
interface IUseBackendProvideDataProps {
|
|
4
|
+
title: string;
|
|
5
|
+
attributes: IAttributeData[];
|
|
6
|
+
editingAttributeHierarchy: ICatalogAttributeHierarchy;
|
|
7
|
+
setLoading: SetLoadingCallback;
|
|
8
|
+
onSaveOrUpdateSuccess?: SaveOrUpdateCallback;
|
|
9
|
+
onDeleteSuccess?: EmptyParamCallback;
|
|
10
|
+
onClose: EmptyParamCallback;
|
|
11
|
+
}
|
|
12
|
+
export declare const useBackendProvider: (params: IUseBackendProvideDataProps) => {
|
|
13
|
+
catalogAttributesMap: Map<string, ICatalogAttributeData>;
|
|
14
|
+
onSaveAttributeHierarchy: () => void;
|
|
15
|
+
onDeleteAttributeHierarchy: () => void;
|
|
16
|
+
getValidAttributes: (rowIndex: number) => Promise<ICatalogAttributeData[]>;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=useBackendProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBackendProvider.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,0BAA0B,EAAU,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EACH,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AAGpB,UAAU,2BAA2B;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,yBAAyB,EAAE,0BAA0B,CAAC;IACtD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,qBAAqB,CAAC,EAAE,oBAAoB,CAAC;IAC7C,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAED,eAAO,MAAM,kBAAkB,WAAY,2BAA2B;;;;mCAoB7C,MAAM;CA2H9B,CAAC"}
|
package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import { useCallback, useEffect, useState } from "react";
|
|
3
|
+
import { useIntl } from "react-intl";
|
|
4
|
+
import isEmpty from "lodash/isEmpty.js";
|
|
5
|
+
import { messages, useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
6
|
+
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
7
|
+
import { convertToCatalogAttributeData, convertToCatalogAttributeDataByRefs } from "./utils.js";
|
|
8
|
+
export const useBackendProvider = (params) => {
|
|
9
|
+
const { title, attributes, editingAttributeHierarchy, setLoading, onSaveOrUpdateSuccess, onClose, onDeleteSuccess, } = params;
|
|
10
|
+
const { formatMessage } = useIntl();
|
|
11
|
+
const backend = useBackendStrict();
|
|
12
|
+
const workspace = useWorkspaceStrict();
|
|
13
|
+
const { addSuccess, addError } = useToastMessage();
|
|
14
|
+
const [catalogAttributesMap, setCatalogAttributesMap] = useState(new Map());
|
|
15
|
+
const getValidAttributes = useCallback(async (rowIndex) => {
|
|
16
|
+
var _a;
|
|
17
|
+
const attribute = (_a = attributes[rowIndex - 1]) !== null && _a !== void 0 ? _a : attributes[rowIndex + 1];
|
|
18
|
+
if (attribute) {
|
|
19
|
+
return backend
|
|
20
|
+
.workspace(workspace)
|
|
21
|
+
.attributeHierarchies()
|
|
22
|
+
.getValidDescendants([attribute.ref])
|
|
23
|
+
.then((refs) => {
|
|
24
|
+
const validAttributes = convertToCatalogAttributeDataByRefs(catalogAttributesMap, refs);
|
|
25
|
+
return Promise.resolve(validAttributes);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return Array.from(catalogAttributesMap.values());
|
|
30
|
+
}
|
|
31
|
+
}, [attributes, backend, catalogAttributesMap, workspace]);
|
|
32
|
+
const handleCreateAttributeHierarchy = (savingTitle, attributeRefs) => {
|
|
33
|
+
backend
|
|
34
|
+
.workspace(workspace)
|
|
35
|
+
.attributeHierarchies()
|
|
36
|
+
.createAttributeHierarchy(savingTitle, attributeRefs)
|
|
37
|
+
.then((attributeHierarchy) => {
|
|
38
|
+
if (onSaveOrUpdateSuccess) {
|
|
39
|
+
onSaveOrUpdateSuccess(attributeHierarchy);
|
|
40
|
+
}
|
|
41
|
+
setLoading(false);
|
|
42
|
+
addSuccess(messages.hierarchyCreateSuccessMessage);
|
|
43
|
+
onClose();
|
|
44
|
+
})
|
|
45
|
+
.catch(() => {
|
|
46
|
+
addError(messages.hierarchyCreateFailedMessage);
|
|
47
|
+
setLoading(false);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
const handleUpdateAttributeHierarchy = (savingTitle, attributeRefs) => {
|
|
51
|
+
backend
|
|
52
|
+
.workspace(workspace)
|
|
53
|
+
.attributeHierarchies()
|
|
54
|
+
.updateAttributeHierarchy(Object.assign(Object.assign({}, editingAttributeHierarchy), { attributeHierarchy: Object.assign(Object.assign({}, editingAttributeHierarchy.attributeHierarchy), { title: savingTitle, attributes: attributeRefs }) }))
|
|
55
|
+
.then((attributeHierarchy) => {
|
|
56
|
+
if (onSaveOrUpdateSuccess) {
|
|
57
|
+
onSaveOrUpdateSuccess(attributeHierarchy);
|
|
58
|
+
}
|
|
59
|
+
setLoading(false);
|
|
60
|
+
addSuccess(messages.hierarchyUpdateSuccessMessage);
|
|
61
|
+
onClose();
|
|
62
|
+
})
|
|
63
|
+
.catch(() => {
|
|
64
|
+
addError(messages.hierarchyUpdateFailedMessage);
|
|
65
|
+
setLoading(false);
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
const onSaveAttributeHierarchy = () => {
|
|
69
|
+
setLoading(true);
|
|
70
|
+
const savingTitle = title || formatMessage(messages.hierarchyUntitled);
|
|
71
|
+
// There maybe some attributes that are not completed, so we need to filter them out
|
|
72
|
+
const attributeRefs = attributes
|
|
73
|
+
.filter((attribute) => attribute.completed)
|
|
74
|
+
.map((attribute) => attribute.ref);
|
|
75
|
+
if (editingAttributeHierarchy) {
|
|
76
|
+
handleUpdateAttributeHierarchy(savingTitle, attributeRefs);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
handleCreateAttributeHierarchy(savingTitle, attributeRefs);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const onDeleteAttributeHierarchy = () => {
|
|
83
|
+
setLoading(true);
|
|
84
|
+
backend
|
|
85
|
+
.workspace(workspace)
|
|
86
|
+
.attributeHierarchies()
|
|
87
|
+
.deleteAttributeHierarchy(editingAttributeHierarchy.attributeHierarchy.id)
|
|
88
|
+
.then(() => {
|
|
89
|
+
if (onDeleteSuccess) {
|
|
90
|
+
onDeleteSuccess();
|
|
91
|
+
}
|
|
92
|
+
addSuccess(messages.hierarchyDeleteSuccessMessage);
|
|
93
|
+
onClose();
|
|
94
|
+
})
|
|
95
|
+
.catch(() => {
|
|
96
|
+
addError(messages.hierarchyDeleteFailedMessage);
|
|
97
|
+
setLoading(false);
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
// Prepare all catalog attributes
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
if (isEmpty(catalogAttributesMap)) {
|
|
103
|
+
backend
|
|
104
|
+
.workspace(workspace)
|
|
105
|
+
.catalog()
|
|
106
|
+
.forTypes(["attribute", "dateDataset"])
|
|
107
|
+
.load()
|
|
108
|
+
.then((catalog) => {
|
|
109
|
+
setCatalogAttributesMap(convertToCatalogAttributeData(catalog.attributes(), catalog.dateDatasets()));
|
|
110
|
+
setLoading(false);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}, [workspace, backend, catalogAttributesMap, setLoading]);
|
|
114
|
+
return {
|
|
115
|
+
catalogAttributesMap,
|
|
116
|
+
onSaveAttributeHierarchy,
|
|
117
|
+
onDeleteAttributeHierarchy,
|
|
118
|
+
getValidAttributes,
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=useBackendProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBackendProvider.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ICatalogAttribute, ICatalogDateDataset, ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
import { IAttributeData, ICatalogAttributeData } from "./types.js";
|
|
3
|
+
export declare const findCatalogAttributeByRef: (catalogAttributesMap: Map<string, ICatalogAttributeData>, ref: ObjRef) => ICatalogAttributeData;
|
|
4
|
+
export declare const convertToCatalogAttributeData: (attributes: ICatalogAttribute[], dates: ICatalogDateDataset[]) => Map<string, ICatalogAttributeData>;
|
|
5
|
+
export declare const convertToCatalogAttributeDataByRefs: (catalogAttributesMap: Map<string, ICatalogAttributeData>, refs: ObjRef[]) => ICatalogAttributeData[];
|
|
6
|
+
export declare const appendEmptyAttribute: (attributes: IAttributeData[], baseRowIndex: number) => IAttributeData[];
|
|
7
|
+
export declare const searchAttributes: (attributes: ICatalogAttributeData[], selectedTab: string, searchString: string) => ICatalogAttributeData[];
|
|
8
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAEtG,OAAO,EAA4B,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE7F,eAAO,MAAM,yBAAyB,yBACZ,IAAI,MAAM,EAAE,qBAAqB,CAAC,OACnD,MAAM,KACZ,qBAEF,CAAC;AAEF,eAAO,MAAM,6BAA6B,eAC1B,iBAAiB,EAAE,SACxB,mBAAmB,EAAE,KAC7B,IAAI,MAAM,EAAE,qBAAqB,CAsBnC,CAAC;AAEF,eAAO,MAAM,mCAAmC,yBACtB,IAAI,MAAM,EAAE,qBAAqB,CAAC,QAClD,MAAM,EAAE,KACf,qBAAqB,EAEvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,eAAgB,cAAc,EAAE,gBAAgB,MAAM,qBAStF,CAAC;AAEF,eAAO,MAAM,gBAAgB,eACb,qBAAqB,EAAE,eACtB,MAAM,gBACL,MAAM,4BAKvB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import flatMap from "lodash/flatMap.js";
|
|
3
|
+
import compact from "lodash/compact.js";
|
|
4
|
+
import { serializeObjRef } from "@gooddata/sdk-model";
|
|
5
|
+
import { CatalogAttributeDataType } from "./types.js";
|
|
6
|
+
export const findCatalogAttributeByRef = (catalogAttributesMap, ref) => {
|
|
7
|
+
return catalogAttributesMap.get(getCatalogKey(ref));
|
|
8
|
+
};
|
|
9
|
+
export const convertToCatalogAttributeData = (attributes, dates) => {
|
|
10
|
+
const attrs = (attributes !== null && attributes !== void 0 ? attributes : []).map((it) => ({
|
|
11
|
+
type: CatalogAttributeDataType.ATTRIBUTE,
|
|
12
|
+
ref: it.attribute.ref,
|
|
13
|
+
title: it.attribute.title,
|
|
14
|
+
icon: "gd-icon-attribute",
|
|
15
|
+
}));
|
|
16
|
+
const dateAttributes = flatMap(flatMap(dates !== null && dates !== void 0 ? dates : [], (it) => it.dateAttributes), (it) => ({
|
|
17
|
+
type: CatalogAttributeDataType.DATE_ATTRIBUTE,
|
|
18
|
+
ref: it.attribute.ref,
|
|
19
|
+
title: it.attribute.title,
|
|
20
|
+
icon: "gd-icon-date",
|
|
21
|
+
}));
|
|
22
|
+
return [...attrs, ...dateAttributes].reduce((map, attribute) => {
|
|
23
|
+
map.set(getCatalogKey(attribute.ref), attribute);
|
|
24
|
+
return map;
|
|
25
|
+
}, new Map());
|
|
26
|
+
};
|
|
27
|
+
export const convertToCatalogAttributeDataByRefs = (catalogAttributesMap, refs) => {
|
|
28
|
+
return compact(refs.map((ref) => findCatalogAttributeByRef(catalogAttributesMap, ref)));
|
|
29
|
+
};
|
|
30
|
+
export const appendEmptyAttribute = (attributes, baseRowIndex) => {
|
|
31
|
+
const uncompletedItemIndex = attributes.findIndex((attribute) => !attribute.completed);
|
|
32
|
+
const newAttributes = [...attributes].filter((attribute) => attribute.completed);
|
|
33
|
+
// if uncompleted item is above baseRowIndex, we need to insert new empty item at baseRowIndex
|
|
34
|
+
const rowIndex = uncompletedItemIndex > -1 && uncompletedItemIndex < baseRowIndex ? baseRowIndex : baseRowIndex + 1;
|
|
35
|
+
newAttributes.splice(rowIndex, 0, {});
|
|
36
|
+
return newAttributes;
|
|
37
|
+
};
|
|
38
|
+
export const searchAttributes = (attributes, selectedTab, searchString) => {
|
|
39
|
+
return attributes
|
|
40
|
+
.filter((item) => item.type === selectedTab)
|
|
41
|
+
.filter((item) => item.title.toLowerCase().includes(searchString.toLowerCase()));
|
|
42
|
+
};
|
|
43
|
+
const getCatalogKey = (ref) => {
|
|
44
|
+
return serializeObjRef(ref);
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "../attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailBubble.js";
|
|
2
|
+
export * from "../attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailPanel.js";
|
|
3
|
+
export * from "../attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/components/attributeHierarchies/index.ts"],"names":[],"mappings":"AAEA,cAAc,oFAAoF,CAAC;AACnG,cAAc,mFAAmF,CAAC;AAClG,cAAc,8EAA8E,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
export * from "../attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailBubble.js";
|
|
3
|
+
export * from "../attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailPanel.js";
|
|
4
|
+
export * from "../attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/components/attributeHierarchies/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,cAAc,oFAAoF,CAAC;AACnG,cAAc,mFAAmF,CAAC;AAClG,cAAc,8EAA8E,CAAC"}
|
|
@@ -577,13 +577,13 @@
|
|
|
577
577
|
"translate": false
|
|
578
578
|
},
|
|
579
579
|
"dashboard.bucket.category_columns_warning._measure": {
|
|
580
|
-
"value": "
|
|
581
|
-
"comment": "Do not translate {oldLimit}.",
|
|
580
|
+
"value": "Cannot add columns: limit is {oldLimit} measures and {oldRowsLimit} rows. Follow the limits to add more",
|
|
581
|
+
"comment": "Do not translate {oldLimit} and {oldRowsLimit}.",
|
|
582
582
|
"limit": 0
|
|
583
583
|
},
|
|
584
584
|
"dashboard.bucket.category_columns_warning._metric": {
|
|
585
|
-
"value": "
|
|
586
|
-
"comment": "Do not translate {oldLimit}.",
|
|
585
|
+
"value": "Cannot add columns: limit is {oldLimit} metrics and {oldRowsLimit} rows. Follow the limits to add more",
|
|
586
|
+
"comment": "Do not translate {oldLimit} and {oldRowsLimit}.",
|
|
587
587
|
"limit": 0
|
|
588
588
|
},
|
|
589
589
|
"dashboard.bucket.category_measures_rows_warning": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotTableUiConfigHelper.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"pivotTableUiConfigHelper.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AA4ErG,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,YAOtF;AAED,wBAAgB,qBAAqB,CACjC,cAAc,EAAE,uBAAuB,EACvC,IAAI,EAAE,SAAS,EACf,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,SAAS,GACpB,IAAI,CA8CN;AAED,wBAAgB,4BAA4B,CAAC,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAmCrF"}
|
|
@@ -18,6 +18,7 @@ const tableColumnsIcon = "local:table/bucket-title-columns.svg";
|
|
|
18
18
|
function setPivotTableBucketWarningMessages(referencePoint, intl) {
|
|
19
19
|
const buckets = referencePoint === null || referencePoint === void 0 ? void 0 : referencePoint.buckets;
|
|
20
20
|
const updatedUiConfig = cloneDeep(referencePoint === null || referencePoint === void 0 ? void 0 : referencePoint.uiConfig);
|
|
21
|
+
const hasColumns = !hasNoColumns(buckets);
|
|
21
22
|
forEach(buckets, (bucket) => {
|
|
22
23
|
var _a, _b;
|
|
23
24
|
const localIdentifier = (_a = bucket === null || bucket === void 0 ? void 0 : bucket.localIdentifier) !== null && _a !== void 0 ? _a : "";
|
|
@@ -28,10 +29,11 @@ function setPivotTableBucketWarningMessages(referencePoint, intl) {
|
|
|
28
29
|
if (bucket.localIdentifier === BucketNames.COLUMNS) {
|
|
29
30
|
warningMessageId = messages.columns.id;
|
|
30
31
|
warningMessageValues = {
|
|
31
|
-
oldLimit:
|
|
32
|
+
oldLimit: MAX_METRICS_COUNT,
|
|
33
|
+
oldRowsLimit: MAX_TABLE_CATEGORIES_COUNT,
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
|
-
else {
|
|
36
|
+
else if (hasColumns) {
|
|
35
37
|
warningMessageId = messages.measuresAttributes.id;
|
|
36
38
|
if (bucket.localIdentifier === BucketNames.MEASURES) {
|
|
37
39
|
warningMessageValues = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotTableUiConfigHelper.js","sourceRoot":"","sources":["../../../../src/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAIxC,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGxE,OAAO,EACH,QAAQ,EACR,0BAA0B,EAC1B,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,6BAA6B,EAC7B,0BAA0B,EAC1B,sCAAsC,EACtC,yCAAyC,GAC5C,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EACH,YAAY,EACZ,gCAAgC,EAChC,qCAAqC,EACrC,uCAAuC,GAC1C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,kCAAkC;AAClC,kDAAkD;AAClD,yGAAyG;AACzG,MAAM,iBAAiB,GAAG,uCAAuC,CAAC;AAClE,MAAM,aAAa,GAAG,mCAAmC,CAAC;AAC1D,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAEhE,SAAS,kCAAkC,CAAC,cAAuC,EAAE,IAAgB;IACjG,MAAM,OAAO,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC;IACxC,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,CAAC;IAE5D,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;;QACxB,MAAM,eAAe,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,mCAAI,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,0CAAG,eAAe,CAAC,CAAC;QAEnE,IAAI,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,CAAA,EAAE;YAC9B,IAAI,gBAAgB,CAAC;YACrB,IAAI,oBAAoB,GAAG,EAAE,CAAC;YAE9B,IAAI,MAAM,CAAC,eAAe,KAAK,WAAW,CAAC,OAAO,EAAE;gBAChD,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,oBAAoB,GAAG;oBACnB,QAAQ,EAAE,0BAA0B;
|
|
1
|
+
{"version":3,"file":"pivotTableUiConfigHelper.js","sourceRoot":"","sources":["../../../../src/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.ts"],"names":[],"mappings":"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"}
|