@gooddata/sdk-ui-ext 9.5.0-alpha.9 → 9.5.0-beta.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.
Files changed (294) hide show
  1. package/esm/index.d.ts +1 -1
  2. package/esm/index.d.ts.map +1 -1
  3. package/esm/index.js +1 -1
  4. package/esm/index.js.map +1 -1
  5. package/esm/internal/assets/icons/attribute-hierarchy.svg +1 -0
  6. package/esm/internal/assets/icons/attribute.svg +1 -0
  7. package/esm/internal/components/BaseVisualization.d.ts +2 -1
  8. package/esm/internal/components/BaseVisualization.d.ts.map +1 -1
  9. package/esm/internal/components/BaseVisualization.js +1 -0
  10. package/esm/internal/components/BaseVisualization.js.map +1 -1
  11. package/esm/internal/components/attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailBubble.d.ts.map +1 -0
  12. package/esm/internal/components/{attributeHierarchy → attributeHierarchies/attributeHierarchyDetail}/AttributeHierarchyDetailBubble.js +7 -3
  13. package/esm/internal/components/attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailBubble.js.map +1 -0
  14. package/esm/internal/components/{attributeHierarchy → attributeHierarchies/attributeHierarchyDetail}/AttributeHierarchyDetailPanel.d.ts +1 -0
  15. package/esm/internal/components/attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailPanel.d.ts.map +1 -0
  16. package/esm/internal/components/{attributeHierarchy → attributeHierarchies/attributeHierarchyDetail}/AttributeHierarchyDetailPanel.js +9 -5
  17. package/esm/internal/components/attributeHierarchies/attributeHierarchyDetail/AttributeHierarchyDetailPanel.js.map +1 -0
  18. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddActionMenu.d.ts +9 -0
  19. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddActionMenu.d.ts.map +1 -0
  20. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddActionMenu.js +32 -0
  21. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddActionMenu.js.map +1 -0
  22. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddAttributeAction.d.ts +4 -0
  23. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddAttributeAction.d.ts.map +1 -0
  24. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddAttributeAction.js +18 -0
  25. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AddAttributeAction.js.map +1 -0
  26. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdown.d.ts +7 -0
  27. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdown.d.ts.map +1 -0
  28. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdown.js +28 -0
  29. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdown.js.map +1 -0
  30. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdownBody.d.ts +11 -0
  31. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdownBody.d.ts.map +1 -0
  32. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdownBody.js +40 -0
  33. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeDropdownBody.js.map +1 -0
  34. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.d.ts +17 -0
  35. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.d.ts.map +1 -0
  36. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.js +12 -0
  37. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialog.js.map +1 -0
  38. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogContent.d.ts +4 -0
  39. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogContent.d.ts.map +1 -0
  40. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogContent.js +24 -0
  41. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogContent.js.map +1 -0
  42. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogCore.d.ts +4 -0
  43. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogCore.d.ts.map +1 -0
  44. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogCore.js +17 -0
  45. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogCore.js.map +1 -0
  46. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.d.ts +4 -0
  47. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.d.ts.map +1 -0
  48. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.js +37 -0
  49. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.js.map +1 -0
  50. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.d.ts +4 -0
  51. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.d.ts.map +1 -0
  52. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.js +17 -0
  53. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.js.map +1 -0
  54. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.d.ts +34 -0
  55. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.d.ts.map +1 -0
  56. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.js +100 -0
  57. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.js.map +1 -0
  58. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.d.ts +9 -0
  59. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.d.ts.map +1 -0
  60. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.js +15 -0
  61. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItem.js.map +1 -0
  62. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.d.ts +7 -0
  63. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.d.ts.map +1 -0
  64. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.js +26 -0
  65. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeItemActions.js.map +1 -0
  66. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.d.ts +4 -0
  67. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.d.ts.map +1 -0
  68. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.js +22 -0
  69. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/DeleteAttributeHieraryConfirmation.js.map +1 -0
  70. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/types.d.ts +18 -0
  71. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/types.d.ts.map +1 -0
  72. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/types.js +6 -0
  73. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/types.js.map +1 -0
  74. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.d.ts +19 -0
  75. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.d.ts.map +1 -0
  76. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.js +121 -0
  77. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/useBackendProvider.js.map +1 -0
  78. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.d.ts +8 -0
  79. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.d.ts.map +1 -0
  80. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.js +46 -0
  81. package/esm/internal/components/attributeHierarchies/attributeHierarchyDialog/utils.js.map +1 -0
  82. package/esm/internal/components/attributeHierarchies/index.d.ts +4 -0
  83. package/esm/internal/components/attributeHierarchies/index.d.ts.map +1 -0
  84. package/esm/internal/components/attributeHierarchies/index.js +5 -0
  85. package/esm/internal/components/attributeHierarchies/index.js.map +1 -0
  86. package/esm/internal/components/configurationControls/interactions/InteractionsSection.d.ts +1 -0
  87. package/esm/internal/components/configurationControls/interactions/InteractionsSection.d.ts.map +1 -1
  88. package/esm/internal/components/configurationControls/interactions/InteractionsSection.js +4 -3
  89. package/esm/internal/components/configurationControls/interactions/InteractionsSection.js.map +1 -1
  90. package/esm/internal/components/configurationPanels/ConfigurationPanelContent.d.ts +2 -1
  91. package/esm/internal/components/configurationPanels/ConfigurationPanelContent.d.ts.map +1 -1
  92. package/esm/internal/components/configurationPanels/ConfigurationPanelContent.js +2 -2
  93. package/esm/internal/components/configurationPanels/ConfigurationPanelContent.js.map +1 -1
  94. package/esm/internal/components/configurationPanels/PivotTableConfigurationPanel.d.ts.map +1 -1
  95. package/esm/internal/components/configurationPanels/PivotTableConfigurationPanel.js +1 -1
  96. package/esm/internal/components/configurationPanels/PivotTableConfigurationPanel.js.map +1 -1
  97. package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.d.ts +1 -0
  98. package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.d.ts.map +1 -1
  99. package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.js +2 -2
  100. package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.js.map +1 -1
  101. package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.d.ts.map +1 -1
  102. package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.js +6 -3
  103. package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.js.map +1 -1
  104. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.d.ts.map +1 -1
  105. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.js +2 -2
  106. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.js.map +1 -1
  107. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.d.ts.map +1 -1
  108. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.js +2 -2
  109. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.js.map +1 -1
  110. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.d.ts.map +1 -1
  111. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.js +20 -15
  112. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.js.map +1 -1
  113. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.d.ts.map +1 -1
  114. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.js +20 -15
  115. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.js.map +1 -1
  116. package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.js +1 -1
  117. package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.js.map +1 -1
  118. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.d.ts.map +1 -1
  119. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.js +2 -2
  120. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.js.map +1 -1
  121. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.d.ts.map +1 -1
  122. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.js +2 -2
  123. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.js.map +1 -1
  124. package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.d.ts +2 -0
  125. package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.d.ts.map +1 -1
  126. package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.js +10 -2
  127. package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.js.map +1 -1
  128. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts.map +1 -1
  129. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js +3 -3
  130. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js.map +1 -1
  131. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts.map +1 -1
  132. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js +2 -2
  133. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js.map +1 -1
  134. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.d.ts.map +1 -1
  135. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.js +2 -2
  136. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.js.map +1 -1
  137. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.d.ts.map +1 -1
  138. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.js +3 -1
  139. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.js.map +1 -1
  140. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.d.ts +1 -0
  141. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.d.ts.map +1 -1
  142. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.js +7 -5
  143. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.js.map +1 -1
  144. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.d.ts +2 -0
  145. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.d.ts.map +1 -1
  146. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.js +3 -2
  147. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.js.map +1 -1
  148. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.d.ts +1 -0
  149. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.d.ts.map +1 -1
  150. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.js +7 -2
  151. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.js.map +1 -1
  152. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.d.ts.map +1 -1
  153. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.js +2 -2
  154. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.js.map +1 -1
  155. package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.d.ts +1 -0
  156. package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.d.ts.map +1 -1
  157. package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.js +7 -2
  158. package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.js.map +1 -1
  159. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts.map +1 -1
  160. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js +2 -2
  161. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js.map +1 -1
  162. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.js +1 -1
  163. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.js.map +1 -1
  164. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.js +1 -1
  165. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.js.map +1 -1
  166. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.d.ts +2 -1
  167. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.d.ts.map +1 -1
  168. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.js +7 -2
  169. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.js.map +1 -1
  170. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.d.ts +2 -1
  171. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.d.ts.map +1 -1
  172. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.js +27 -6
  173. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.js.map +1 -1
  174. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.d.ts +9 -3
  175. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.d.ts.map +1 -1
  176. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.js +58 -33
  177. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.js.map +1 -1
  178. package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts +7 -1
  179. package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts.map +1 -1
  180. package/esm/internal/components/dialogs/userManagementDialogs/locales.js +3 -1
  181. package/esm/internal/components/dialogs/userManagementDialogs/locales.js.map +1 -1
  182. package/esm/internal/components/pluggableVisualizations/areaChart/PluggableAreaChart.d.ts +1 -1
  183. package/esm/internal/components/pluggableVisualizations/areaChart/PluggableAreaChart.d.ts.map +1 -1
  184. package/esm/internal/components/pluggableVisualizations/areaChart/PluggableAreaChart.js +3 -2
  185. package/esm/internal/components/pluggableVisualizations/areaChart/PluggableAreaChart.js.map +1 -1
  186. package/esm/internal/components/pluggableVisualizations/barChart/PluggableBarChart.d.ts +2 -2
  187. package/esm/internal/components/pluggableVisualizations/barChart/PluggableBarChart.d.ts.map +1 -1
  188. package/esm/internal/components/pluggableVisualizations/barChart/PluggableBarChart.js +3 -2
  189. package/esm/internal/components/pluggableVisualizations/barChart/PluggableBarChart.js.map +1 -1
  190. package/esm/internal/components/pluggableVisualizations/baseChart/PluggableBaseChart.d.ts +1 -1
  191. package/esm/internal/components/pluggableVisualizations/baseChart/PluggableBaseChart.d.ts.map +1 -1
  192. package/esm/internal/components/pluggableVisualizations/baseChart/PluggableBaseChart.js +4 -3
  193. package/esm/internal/components/pluggableVisualizations/baseChart/PluggableBaseChart.js.map +1 -1
  194. package/esm/internal/components/pluggableVisualizations/bubbleChart/PluggableBubbleChart.d.ts +2 -2
  195. package/esm/internal/components/pluggableVisualizations/bubbleChart/PluggableBubbleChart.d.ts.map +1 -1
  196. package/esm/internal/components/pluggableVisualizations/bubbleChart/PluggableBubbleChart.js +3 -2
  197. package/esm/internal/components/pluggableVisualizations/bubbleChart/PluggableBubbleChart.js.map +1 -1
  198. package/esm/internal/components/pluggableVisualizations/bulletChart/PluggableBulletChart.d.ts +2 -2
  199. package/esm/internal/components/pluggableVisualizations/bulletChart/PluggableBulletChart.d.ts.map +1 -1
  200. package/esm/internal/components/pluggableVisualizations/bulletChart/PluggableBulletChart.js +3 -2
  201. package/esm/internal/components/pluggableVisualizations/bulletChart/PluggableBulletChart.js.map +1 -1
  202. package/esm/internal/components/pluggableVisualizations/comboChart/PluggableComboChart.d.ts +1 -1
  203. package/esm/internal/components/pluggableVisualizations/comboChart/PluggableComboChart.d.ts.map +1 -1
  204. package/esm/internal/components/pluggableVisualizations/comboChart/PluggableComboChart.js +3 -2
  205. package/esm/internal/components/pluggableVisualizations/comboChart/PluggableComboChart.js.map +1 -1
  206. package/esm/internal/components/pluggableVisualizations/funnelChart/PluggableFunnelChart.d.ts +2 -2
  207. package/esm/internal/components/pluggableVisualizations/funnelChart/PluggableFunnelChart.d.ts.map +1 -1
  208. package/esm/internal/components/pluggableVisualizations/funnelChart/PluggableFunnelChart.js +3 -2
  209. package/esm/internal/components/pluggableVisualizations/funnelChart/PluggableFunnelChart.js.map +1 -1
  210. package/esm/internal/components/pluggableVisualizations/geoChart/PluggableGeoPushpinChart.d.ts +1 -1
  211. package/esm/internal/components/pluggableVisualizations/geoChart/PluggableGeoPushpinChart.d.ts.map +1 -1
  212. package/esm/internal/components/pluggableVisualizations/geoChart/PluggableGeoPushpinChart.js +3 -2
  213. package/esm/internal/components/pluggableVisualizations/geoChart/PluggableGeoPushpinChart.js.map +1 -1
  214. package/esm/internal/components/pluggableVisualizations/headline/PluggableHeadline.d.ts.map +1 -1
  215. package/esm/internal/components/pluggableVisualizations/headline/PluggableHeadline.js +2 -2
  216. package/esm/internal/components/pluggableVisualizations/headline/PluggableHeadline.js.map +1 -1
  217. package/esm/internal/components/pluggableVisualizations/heatMap/PluggableHeatmap.d.ts +2 -2
  218. package/esm/internal/components/pluggableVisualizations/heatMap/PluggableHeatmap.d.ts.map +1 -1
  219. package/esm/internal/components/pluggableVisualizations/heatMap/PluggableHeatmap.js +3 -2
  220. package/esm/internal/components/pluggableVisualizations/heatMap/PluggableHeatmap.js.map +1 -1
  221. package/esm/internal/components/pluggableVisualizations/lineChart/PluggableLineChart.d.ts +2 -2
  222. package/esm/internal/components/pluggableVisualizations/lineChart/PluggableLineChart.d.ts.map +1 -1
  223. package/esm/internal/components/pluggableVisualizations/lineChart/PluggableLineChart.js +3 -2
  224. package/esm/internal/components/pluggableVisualizations/lineChart/PluggableLineChart.js.map +1 -1
  225. package/esm/internal/components/pluggableVisualizations/pieChart/PluggablePieChart.d.ts +1 -1
  226. package/esm/internal/components/pluggableVisualizations/pieChart/PluggablePieChart.d.ts.map +1 -1
  227. package/esm/internal/components/pluggableVisualizations/pieChart/PluggablePieChart.js +3 -2
  228. package/esm/internal/components/pluggableVisualizations/pieChart/PluggablePieChart.js.map +1 -1
  229. package/esm/internal/components/pluggableVisualizations/pivotTable/PluggablePivotTable.d.ts +1 -1
  230. package/esm/internal/components/pluggableVisualizations/pivotTable/PluggablePivotTable.d.ts.map +1 -1
  231. package/esm/internal/components/pluggableVisualizations/pivotTable/PluggablePivotTable.js +3 -3
  232. package/esm/internal/components/pluggableVisualizations/pivotTable/PluggablePivotTable.js.map +1 -1
  233. package/esm/internal/components/pluggableVisualizations/pyramidChart/PluggablePyramidChart.d.ts +2 -2
  234. package/esm/internal/components/pluggableVisualizations/pyramidChart/PluggablePyramidChart.d.ts.map +1 -1
  235. package/esm/internal/components/pluggableVisualizations/pyramidChart/PluggablePyramidChart.js +3 -2
  236. package/esm/internal/components/pluggableVisualizations/pyramidChart/PluggablePyramidChart.js.map +1 -1
  237. package/esm/internal/components/pluggableVisualizations/sankeyChart/PluggableSankeyChart.d.ts +2 -2
  238. package/esm/internal/components/pluggableVisualizations/sankeyChart/PluggableSankeyChart.d.ts.map +1 -1
  239. package/esm/internal/components/pluggableVisualizations/sankeyChart/PluggableSankeyChart.js +3 -2
  240. package/esm/internal/components/pluggableVisualizations/sankeyChart/PluggableSankeyChart.js.map +1 -1
  241. package/esm/internal/components/pluggableVisualizations/scatterPlot/PluggableScatterPlot.d.ts +2 -2
  242. package/esm/internal/components/pluggableVisualizations/scatterPlot/PluggableScatterPlot.d.ts.map +1 -1
  243. package/esm/internal/components/pluggableVisualizations/scatterPlot/PluggableScatterPlot.js +3 -2
  244. package/esm/internal/components/pluggableVisualizations/scatterPlot/PluggableScatterPlot.js.map +1 -1
  245. package/esm/internal/components/pluggableVisualizations/treeMap/PluggableTreemap.d.ts +2 -2
  246. package/esm/internal/components/pluggableVisualizations/treeMap/PluggableTreemap.d.ts.map +1 -1
  247. package/esm/internal/components/pluggableVisualizations/treeMap/PluggableTreemap.js +3 -2
  248. package/esm/internal/components/pluggableVisualizations/treeMap/PluggableTreemap.js.map +1 -1
  249. package/esm/internal/components/pluggableVisualizations/waterfallChart/PluggableWaterfallChart.d.ts +2 -2
  250. package/esm/internal/components/pluggableVisualizations/waterfallChart/PluggableWaterfallChart.d.ts.map +1 -1
  251. package/esm/internal/components/pluggableVisualizations/waterfallChart/PluggableWaterfallChart.js +3 -2
  252. package/esm/internal/components/pluggableVisualizations/waterfallChart/PluggableWaterfallChart.js.map +1 -1
  253. package/esm/internal/index.d.ts +1 -1
  254. package/esm/internal/index.d.ts.map +1 -1
  255. package/esm/internal/index.js.map +1 -1
  256. package/esm/internal/interfaces/Visualization.d.ts +11 -0
  257. package/esm/internal/interfaces/Visualization.d.ts.map +1 -1
  258. package/esm/internal/interfaces/Visualization.js +0 -1
  259. package/esm/internal/interfaces/Visualization.js.map +1 -1
  260. package/esm/internal/translations/de-DE.json +7 -5
  261. package/esm/internal/translations/en-US.json +4 -4
  262. package/esm/internal/translations/es-ES.json +4 -2
  263. package/esm/internal/translations/fr-FR.json +4 -2
  264. package/esm/internal/translations/ja-JP.json +4 -2
  265. package/esm/internal/translations/nl-NL.json +4 -2
  266. package/esm/internal/translations/pt-BR.json +4 -2
  267. package/esm/internal/translations/pt-PT.json +4 -2
  268. package/esm/internal/translations/zh-Hans.json +4 -2
  269. package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.d.ts.map +1 -1
  270. package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.js +4 -2
  271. package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.js.map +1 -1
  272. package/esm/sdk-ui-ext.d.ts +18 -0
  273. package/package.json +20 -20
  274. package/styles/css/main.css +236 -0
  275. package/styles/css/main.css.map +1 -1
  276. package/styles/internal/css/attribute_hierarchies.css +277 -0
  277. package/styles/internal/css/attribute_hierarchies.css.map +1 -0
  278. package/styles/internal/css/user_management_dialogs.css +6 -0
  279. package/styles/internal/css/user_management_dialogs.css.map +1 -1
  280. package/styles/internal/scss/attribute_hierarchies.scss +328 -0
  281. package/styles/internal/scss/user_management_dialogs.scss +6 -0
  282. package/styles/scss/main.scss +1 -1
  283. package/esm/internal/components/attributeHierarchy/AttributeHierarchyDetailBubble.d.ts.map +0 -1
  284. package/esm/internal/components/attributeHierarchy/AttributeHierarchyDetailBubble.js.map +0 -1
  285. package/esm/internal/components/attributeHierarchy/AttributeHierarchyDetailPanel.d.ts.map +0 -1
  286. package/esm/internal/components/attributeHierarchy/AttributeHierarchyDetailPanel.js.map +0 -1
  287. package/esm/internal/components/attributeHierarchy/index.d.ts +0 -3
  288. package/esm/internal/components/attributeHierarchy/index.d.ts.map +0 -1
  289. package/esm/internal/components/attributeHierarchy/index.js +0 -4
  290. package/esm/internal/components/attributeHierarchy/index.js.map +0 -1
  291. package/styles/internal/css/attribute_hierarchy_detail.css +0 -47
  292. package/styles/internal/css/attribute_hierarchy_detail.css.map +0 -1
  293. package/styles/internal/scss/attribute_hierarchy_detail.scss +0 -54
  294. /package/esm/internal/components/{attributeHierarchy → attributeHierarchies/attributeHierarchyDetail}/AttributeHierarchyDetailBubble.d.ts +0 -0
@@ -0,0 +1,37 @@
1
+ // (C) 2023 GoodData Corporation
2
+ import React from "react";
3
+ import { FormattedMessage, useIntl } from "react-intl";
4
+ import isEmpty from "lodash/isEmpty.js";
5
+ import { Button } from "@gooddata/sdk-ui-kit";
6
+ import { messages } from "@gooddata/sdk-ui";
7
+ import { useAttributeHierarchyDialog } from "./AttributeHierarchyDialogProvider.js";
8
+ const HOW_TO_WORK_DOCUMENTATION_LINK = "https://www.gooddata.com/docs/cloud/create-dashboards/drilling-in-dashboards/set-drill-down/";
9
+ const AttributeHierarchyDialogFooter = () => {
10
+ const { formatMessage } = useIntl();
11
+ const { isEditing, isDirty, isLoading, attributes, onSaveAttributeHierarchy, onClose, setDisplayDeleteConfirmation, } = useAttributeHierarchyDialog();
12
+ const isSaveDisabled = isEmpty(attributes) || !isDirty;
13
+ const onDelete = () => {
14
+ setDisplayDeleteConfirmation(true);
15
+ };
16
+ const deleteText = formatMessage(messages.hierarchyDeleteButton);
17
+ const cancelText = formatMessage(messages.hierarchyCancelButton);
18
+ const saveText = formatMessage(isEditing ? messages.hierarchySaveButton : messages.hierarchyCreateButton);
19
+ return (React.createElement("div", { className: "gd-dialog-footer" },
20
+ React.createElement("div", { className: "attribute-hierarchy-note-message s-attribute-hierarchy-note-message" },
21
+ React.createElement("div", { className: "gd-message progress" },
22
+ React.createElement(FormattedMessage, { id: messages.hierarchyAttributeNoteMessage.id, values: {
23
+ b: (chunks) => React.createElement("strong", null, chunks),
24
+ br: () => React.createElement("br", null),
25
+ }, tagName: "div" }))),
26
+ React.createElement("div", { className: "attribute-hierarchy-footer-actions-wrapper s-attribute-hierarchy-footer-actions-wrapper" },
27
+ React.createElement("div", { className: "gd-dialog-footer-tip" },
28
+ React.createElement("span", { className: "gd-icon-circle-question s-gd-icon-circle-question" }),
29
+ React.createElement("a", { href: HOW_TO_WORK_DOCUMENTATION_LINK, className: "gd-button-link-dimmed", target: "_blank", rel: "noreferrer" },
30
+ React.createElement(FormattedMessage, { id: messages.hierarchyAttributeHowToWork.id }))),
31
+ React.createElement("div", { className: "gd-dialog-footer-actions s-gd-dialog-footer-actions" },
32
+ isEditing ? (React.createElement(Button, { className: "gd-button-link-dimmed attribute-hierarchy-delete-button s-attribute-hierarchy-delete-button", value: deleteText, onClick: onDelete, disabled: isLoading })) : null,
33
+ React.createElement(Button, { className: "gd-button-secondary attribute-hierarchy-cancel-button s-attribute-hierarchy-cancel-button", value: cancelText, onClick: onClose, disabled: isLoading }),
34
+ React.createElement(Button, { className: "gd-button-action attribute-hierarchy-save-button s-attribute-hierarchy-save-button", value: saveText, disabled: isSaveDisabled || isLoading, onClick: onSaveAttributeHierarchy })))));
35
+ };
36
+ export default AttributeHierarchyDialogFooter;
37
+ //# sourceMappingURL=AttributeHierarchyDialogFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeHierarchyDialogFooter.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogFooter.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,8BAA8B,GAChC,8FAA8F,CAAC;AAEnG,MAAM,8BAA8B,GAAa,GAAG,EAAE;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EACF,SAAS,EACT,OAAO,EACP,SAAS,EACT,UAAU,EACV,wBAAwB,EACxB,OAAO,EACP,4BAA4B,GAC/B,GAAG,2BAA2B,EAAE,CAAC;IAElC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IAEvD,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACvC,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,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAE1G,OAAO,CACH,6BAAK,SAAS,EAAC,kBAAkB;QAC7B,6BAAK,SAAS,EAAC,qEAAqE;YAChF,6BAAK,SAAS,EAAC,qBAAqB;gBAChC,oBAAC,gBAAgB,IACb,EAAE,EAAE,QAAQ,CAAC,6BAA6B,CAAC,EAAE,EAC7C,MAAM,EAAE;wBACJ,CAAC,EAAE,CAAC,MAAiB,EAAE,EAAE,CAAC,oCAAS,MAAM,CAAU;wBACnD,EAAE,EAAE,GAAG,EAAE,CAAC,+BAAM;qBACnB,EACD,OAAO,EAAC,KAAK,GACf,CACA,CACJ;QACN,6BAAK,SAAS,EAAC,yFAAyF;YACpG,6BAAK,SAAS,EAAC,sBAAsB;gBACjC,8BAAM,SAAS,EAAC,mDAAmD,GAAG;gBACtE,2BACI,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAC,uBAAuB,EACjC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY;oBAEhB,oBAAC,gBAAgB,IAAC,EAAE,EAAE,QAAQ,CAAC,2BAA2B,CAAC,EAAE,GAAI,CACjE,CACF;YACN,6BAAK,SAAS,EAAC,qDAAqD;gBAC/D,SAAS,CAAC,CAAC,CAAC,CACT,oBAAC,MAAM,IACH,SAAS,EAAC,6FAA6F,EACvG,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,SAAS,GACrB,CACL,CAAC,CAAC,CAAC,IAAI;gBACR,oBAAC,MAAM,IACH,SAAS,EAAC,2FAA2F,EACrG,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,GACrB;gBACF,oBAAC,MAAM,IACH,SAAS,EAAC,oFAAoF,EAC9F,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,cAAc,IAAI,SAAS,EACrC,OAAO,EAAE,wBAAwB,GACnC,CACA,CACJ,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ declare const AttributeHierarchyDialogHeader: React.FC;
3
+ export default AttributeHierarchyDialogHeader;
4
+ //# sourceMappingURL=AttributeHierarchyDialogHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeHierarchyDialogHeader.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,QAAA,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAkB3C,CAAC;AAEF,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,17 @@
1
+ // (C) 2023 GoodData Corporation
2
+ import React from "react";
3
+ import { EditableLabel } from "@gooddata/sdk-ui-kit";
4
+ import { useIntl } from "react-intl";
5
+ import { messages } from "@gooddata/sdk-ui";
6
+ import { useAttributeHierarchyDialog } from "./AttributeHierarchyDialogProvider.js";
7
+ const ATTRIBUTE_HIERARCHY_TITLE_ROW = 1;
8
+ const AttributeHierarchyDialogHeader = () => {
9
+ const { formatMessage } = useIntl();
10
+ const { title, onUpdateTitle } = useAttributeHierarchyDialog();
11
+ const placeholder = formatMessage(messages.hierarchyUntitled);
12
+ return (React.createElement("div", { className: "gd-dialog-header" },
13
+ React.createElement("i", { className: "gd-attribute-hierarchy-icon s-gd-attribute-hierarchy-icon" }),
14
+ React.createElement(EditableLabel, { value: title, className: "attribute-hierarchy-title s-attribute-hierarchy-title", maxRows: ATTRIBUTE_HIERARCHY_TITLE_ROW, onSubmit: onUpdateTitle, placeholder: placeholder })));
15
+ };
16
+ export default AttributeHierarchyDialogHeader;
17
+ //# sourceMappingURL=AttributeHierarchyDialogHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeHierarchyDialogHeader.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogHeader.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAExC,MAAM,8BAA8B,GAAa,GAAG,EAAE;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,2BAA2B,EAAE,CAAC;IAE/D,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAE9D,OAAO,CACH,6BAAK,SAAS,EAAC,kBAAkB;QAC7B,2BAAG,SAAS,EAAC,2DAA2D,GAAG;QAC3E,oBAAC,aAAa,IACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,uDAAuD,EACjE,OAAO,EAAE,6BAA6B,EACtC,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,WAAW,GAC1B,CACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,34 @@
1
+ import React from "react";
2
+ import { ICatalogAttributeHierarchy, ObjRef } from "@gooddata/sdk-model";
3
+ import { EmptyParamCallback, IAttributeData, ICatalogAttributeData, SaveOrUpdateCallback, SetLoadingCallback } from "./types.js";
4
+ interface IAttributeHierarchyDialogProviderProps {
5
+ initialAttributeRef?: ObjRef;
6
+ editingAttributeHierarchy?: ICatalogAttributeHierarchy;
7
+ onClose?: EmptyParamCallback;
8
+ onSaveOrUpdateSuccess?: SaveOrUpdateCallback;
9
+ onDeleteSuccess?: EmptyParamCallback;
10
+ children: React.ReactNode;
11
+ }
12
+ export interface IAttributeHierarchyDialogProviderData {
13
+ isEditing: boolean;
14
+ isDirty: boolean;
15
+ attributes: IAttributeData[];
16
+ title: string;
17
+ isLoading: boolean;
18
+ setLoading: SetLoadingCallback;
19
+ shouldDisplayDeleteConfirmation: boolean;
20
+ setDisplayDeleteConfirmation: (isDisplay: boolean) => void;
21
+ onClose: EmptyParamCallback;
22
+ onUpdateTitle: (title: string) => void;
23
+ onAddEmptyAttribute: (baseRowIndex: number) => void;
24
+ onCompleteAttribute: (selectedItem: ICatalogAttributeData, rowIndex: number) => void;
25
+ getValidAttributes: (rowIndex: number) => Promise<ICatalogAttributeData[]>;
26
+ onDeleteAttribute: (rowIndex: number) => void;
27
+ onSaveAttributeHierarchy: EmptyParamCallback;
28
+ onDeleteAttributeHierarchy: (isDisplay: boolean) => void;
29
+ }
30
+ export declare const AttributeHierarchyDialogProviderContext: React.Context<IAttributeHierarchyDialogProviderData>;
31
+ export declare const useAttributeHierarchyDialog: () => IAttributeHierarchyDialogProviderData;
32
+ export declare const AttributeHierarchyDialogProvider: React.FC<IAttributeHierarchyDialogProviderProps>;
33
+ export {};
34
+ //# sourceMappingURL=AttributeHierarchyDialogProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeHierarchyDialogProvider.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkE,MAAM,OAAO,CAAC;AAGvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIzE,OAAO,EACH,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AAOpB,UAAU,sCAAsC;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,0BAA0B,CAAC;IACvD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,qBAAqB,CAAC,EAAE,oBAAoB,CAAC;IAC7C,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,qCAAqC;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,+BAA+B,EAAE,OAAO,CAAC;IACzC,4BAA4B,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,OAAO,EAAE,kBAAkB,CAAC;IAC5B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,mBAAmB,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrF,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC3E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,wBAAwB,EAAE,kBAAkB,CAAC;IAC7C,0BAA0B,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5D;AAED,eAAO,MAAM,uCAAuC,sDAiBlD,CAAC;AAEH,eAAO,MAAM,2BAA2B,6CACsD,CAAC;AAE/F,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAAC,sCAAsC,CAyG7F,CAAC"}
@@ -0,0 +1,100 @@
1
+ // (C) 2023 GoodData Corporation
2
+ import React, { createContext, useContext, useEffect, useState, useMemo } from "react";
3
+ import noop from "lodash/noop.js";
4
+ import isEmpty from "lodash/isEmpty.js";
5
+ import stableStringify from "json-stable-stringify";
6
+ import { useBackendProvider } from "./useBackendProvider.js";
7
+ import { appendEmptyAttribute, convertToCatalogAttributeDataByRefs, findCatalogAttributeByRef, } from "./utils.js";
8
+ export const AttributeHierarchyDialogProviderContext = createContext({
9
+ isEditing: false,
10
+ isDirty: false,
11
+ attributes: [],
12
+ title: "",
13
+ isLoading: true,
14
+ setLoading: noop,
15
+ shouldDisplayDeleteConfirmation: false,
16
+ setDisplayDeleteConfirmation: noop,
17
+ onClose: noop,
18
+ onUpdateTitle: noop,
19
+ onAddEmptyAttribute: noop,
20
+ onCompleteAttribute: noop,
21
+ onDeleteAttribute: noop,
22
+ onSaveAttributeHierarchy: noop,
23
+ onDeleteAttributeHierarchy: noop,
24
+ getValidAttributes: () => Promise.resolve([]),
25
+ });
26
+ export const useAttributeHierarchyDialog = () => useContext(AttributeHierarchyDialogProviderContext);
27
+ export const AttributeHierarchyDialogProvider = ({ initialAttributeRef, editingAttributeHierarchy, children, onClose, onSaveOrUpdateSuccess, onDeleteSuccess, }) => {
28
+ var _a, _b;
29
+ const initialTitle = (_b = (_a = editingAttributeHierarchy === null || editingAttributeHierarchy === void 0 ? void 0 : editingAttributeHierarchy.attributeHierarchy) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : "";
30
+ const [isLoading, setLoading] = useState(true);
31
+ const [title, setTitle] = useState(initialTitle);
32
+ const [initialAttributes, setInitialAttributes] = useState();
33
+ const [attributes, setAttributes] = useState([]);
34
+ const [shouldDisplayDeleteConfirmation, setDisplayDeleteConfirmation] = useState();
35
+ const isEditing = !!editingAttributeHierarchy;
36
+ const isDirty = useMemo(() => {
37
+ return initialTitle !== title || stableStringify(attributes) !== stableStringify(initialAttributes);
38
+ }, [initialTitle, title, attributes, initialAttributes]);
39
+ const { catalogAttributesMap, onSaveAttributeHierarchy, onDeleteAttributeHierarchy, getValidAttributes } = useBackendProvider({
40
+ setLoading,
41
+ title,
42
+ attributes,
43
+ editingAttributeHierarchy,
44
+ onClose,
45
+ onSaveOrUpdateSuccess,
46
+ onDeleteSuccess,
47
+ });
48
+ const handleAddEmptyAttribute = (baseRowIndex) => {
49
+ setAttributes(appendEmptyAttribute(attributes, baseRowIndex));
50
+ };
51
+ const handleCompeteAttribute = (selectedAttribute, rowIndex) => {
52
+ const attribute = Object.assign(Object.assign({}, selectedAttribute), { completed: true });
53
+ const newAttributes = [...attributes];
54
+ newAttributes[rowIndex] = attribute;
55
+ setAttributes(newAttributes);
56
+ };
57
+ const handleDeleteAttribute = (rowIndex) => {
58
+ const newAttributes = [...attributes];
59
+ newAttributes.splice(rowIndex, 1);
60
+ setAttributes(newAttributes);
61
+ };
62
+ useEffect(() => {
63
+ if (editingAttributeHierarchy && !isEmpty(catalogAttributesMap)) {
64
+ const refs = editingAttributeHierarchy.attributeHierarchy.attributes;
65
+ const initialAttributes = convertToCatalogAttributeDataByRefs(catalogAttributesMap, refs).map((attribute) => (Object.assign(Object.assign({}, attribute), { completed: true })));
66
+ setAttributes(initialAttributes);
67
+ setInitialAttributes(initialAttributes);
68
+ return;
69
+ }
70
+ if (initialAttributeRef && !isEmpty(catalogAttributesMap)) {
71
+ const initialAttribute = findCatalogAttributeByRef(catalogAttributesMap, initialAttributeRef);
72
+ if (initialAttribute) {
73
+ const initialAttributes = [
74
+ Object.assign(Object.assign({}, initialAttribute), { completed: true }),
75
+ ];
76
+ setAttributes(initialAttributes);
77
+ setInitialAttributes(initialAttributes);
78
+ }
79
+ }
80
+ }, [initialAttributeRef, editingAttributeHierarchy, catalogAttributesMap]);
81
+ return (React.createElement(AttributeHierarchyDialogProviderContext.Provider, { value: {
82
+ isEditing,
83
+ isDirty,
84
+ attributes,
85
+ title,
86
+ isLoading,
87
+ setLoading,
88
+ shouldDisplayDeleteConfirmation,
89
+ setDisplayDeleteConfirmation,
90
+ onClose,
91
+ onUpdateTitle: setTitle,
92
+ onAddEmptyAttribute: handleAddEmptyAttribute,
93
+ onCompleteAttribute: handleCompeteAttribute,
94
+ getValidAttributes,
95
+ onDeleteAttribute: handleDeleteAttribute,
96
+ onSaveAttributeHierarchy,
97
+ onDeleteAttributeHierarchy,
98
+ } }, children));
99
+ };
100
+ //# sourceMappingURL=AttributeHierarchyDialogProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeHierarchyDialogProvider.js","sourceRoot":"","sources":["../../../../../src/internal/components/attributeHierarchies/attributeHierarchyDialog/AttributeHierarchyDialogProvider.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvF,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAQ7D,OAAO,EACH,oBAAoB,EACpB,mCAAmC,EACnC,yBAAyB,GAC5B,MAAM,YAAY,CAAC;AA8BpB,MAAM,CAAC,MAAM,uCAAuC,GAAG,aAAa,CAAwC;IACxG,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,+BAA+B,EAAE,KAAK;IACtC,4BAA4B,EAAE,IAAI;IAClC,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI;IACvB,wBAAwB,EAAE,IAAI;IAC9B,0BAA0B,EAAE,IAAI;IAChC,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAC5C,UAAU,CAAwC,uCAAuC,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,gCAAgC,GAAqD,CAAC,EAC/F,mBAAmB,EACnB,yBAAyB,EACzB,QAAQ,EACR,OAAO,EACP,qBAAqB,EACrB,eAAe,GAClB,EAAE,EAAE;;IACD,MAAM,YAAY,GAAG,MAAA,MAAA,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAE,kBAAkB,0CAAE,KAAK,mCAAI,EAAE,CAAC;IAChF,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAU,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,EAAoB,CAAC;IAC/E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,+BAA+B,EAAE,4BAA4B,CAAC,GAAG,QAAQ,EAAW,CAAC;IAC5F,MAAM,SAAS,GAAG,CAAC,CAAC,yBAAyB,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,OAAO,YAAY,KAAK,KAAK,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACxG,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEzD,MAAM,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,GACpG,kBAAkB,CAAC;QACf,UAAU;QACV,KAAK;QACL,UAAU;QACV,yBAAyB;QACzB,OAAO;QACP,qBAAqB;QACrB,eAAe;KAClB,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,CAAC,YAAoB,EAAE,EAAE;QACrD,aAAa,CAAC,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,iBAAwC,EAAE,QAAgB,EAAE,EAAE;QAC1F,MAAM,SAAS,mCACR,iBAAiB,KACpB,SAAS,EAAE,IAAI,GAClB,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QACtC,aAAa,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;QAEpC,aAAa,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC/C,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QACtC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClC,aAAa,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,yBAAyB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;YAC7D,MAAM,IAAI,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,UAAU,CAAC;YACrE,MAAM,iBAAiB,GAAG,mCAAmC,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,GAAG,CACzF,CAAC,SAAS,EAAE,EAAE,CAAC,iCACR,SAAS,KACZ,SAAS,EAAE,IAAI,IACjB,CACL,CAAC;YACF,aAAa,CAAC,iBAAiB,CAAC,CAAC;YACjC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;YACxC,OAAO;SACV;QAED,IAAI,mBAAmB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;YACvD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;YAC9F,IAAI,gBAAgB,EAAE;gBAClB,MAAM,iBAAiB,GAAG;oDAEf,gBAAgB,KACnB,SAAS,EAAE,IAAI;iBAEtB,CAAC;gBACF,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACjC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;aAC3C;SACJ;IACL,CAAC,EAAE,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE3E,OAAO,CACH,oBAAC,uCAAuC,CAAC,QAAQ,IAC7C,KAAK,EAAE;YACH,SAAS;YACT,OAAO;YACP,UAAU;YACV,KAAK;YACL,SAAS;YACT,UAAU;YACV,+BAA+B;YAC/B,4BAA4B;YAC5B,OAAO;YACP,aAAa,EAAE,QAAQ;YACvB,mBAAmB,EAAE,uBAAuB;YAC5C,mBAAmB,EAAE,sBAAsB;YAC3C,kBAAkB;YAClB,iBAAiB,EAAE,qBAAqB;YACxC,wBAAwB;YACxB,0BAA0B;SAC7B,IAEA,QAAQ,CACsC,CACtD,CAAC;AACN,CAAC,CAAC"}
@@ -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
@@ -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"}
@@ -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
@@ -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,7 @@
1
+ import React from "react";
2
+ interface IAttributeItemCellProps {
3
+ rowIndex: number;
4
+ }
5
+ declare const AttributeItemActions: React.FC<IAttributeItemCellProps>;
6
+ export default AttributeItemActions;
7
+ //# sourceMappingURL=AttributeItemActions.d.ts.map
@@ -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,4 @@
1
+ import React from "react";
2
+ declare const DeleteAttributeHierarchyConfirmation: React.FC;
3
+ export default DeleteAttributeHierarchyConfirmation;
4
+ //# sourceMappingURL=DeleteAttributeHieraryConfirmation.d.ts.map
@@ -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,18 @@
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
+ export declare enum CatalogAttributeDataType {
6
+ ATTRIBUTE = "attribute",
7
+ DATE_ATTRIBUTE = "dateAttribute"
8
+ }
9
+ export interface ICatalogAttributeData {
10
+ type?: CatalogAttributeDataType;
11
+ ref?: ObjRef;
12
+ title?: string;
13
+ icon?: string;
14
+ }
15
+ export interface IAttributeData extends ICatalogAttributeData {
16
+ completed?: boolean;
17
+ }
18
+ //# 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,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":"AAOA,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"}
@@ -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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"}