@gooddata/sdk-ui-dashboard 10.14.0-alpha.1 → 10.14.0-alpha.11

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 (231) hide show
  1. package/NOTICE +1919 -3
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.d.ts.map +1 -1
  4. package/esm/__version.js +1 -1
  5. package/esm/__version.js.map +1 -1
  6. package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
  7. package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +12 -4
  8. package/esm/model/commandHandlers/dashboard/common/stateInitializers.js.map +1 -1
  9. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.d.ts.map +1 -1
  10. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +3 -2
  11. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js.map +1 -1
  12. package/esm/model/store/config/configSelectors.d.ts +5 -1
  13. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  14. package/esm/model/store/config/configSelectors.js +7 -1
  15. package/esm/model/store/config/configSelectors.js.map +1 -1
  16. package/esm/model/store/executionResults/executionResultsSelectors.d.ts +1 -1
  17. package/esm/model/store/executionResults/executionResultsSelectors.d.ts.map +1 -1
  18. package/esm/model/store/executionResults/executionResultsSelectors.js +4 -1
  19. package/esm/model/store/executionResults/executionResultsSelectors.js.map +1 -1
  20. package/esm/model/store/index.d.ts +1 -1
  21. package/esm/model/store/index.d.ts.map +1 -1
  22. package/esm/model/store/index.js +1 -1
  23. package/esm/model/store/index.js.map +1 -1
  24. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  25. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +5 -5
  26. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js.map +1 -1
  27. package/esm/presentation/constants/classes.d.ts +2 -0
  28. package/esm/presentation/constants/classes.d.ts.map +1 -0
  29. package/esm/presentation/constants/classes.js +3 -0
  30. package/esm/presentation/constants/classes.js.map +1 -0
  31. package/esm/presentation/constants/index.d.ts +1 -0
  32. package/esm/presentation/constants/index.d.ts.map +1 -1
  33. package/esm/presentation/constants/index.js +1 -0
  34. package/esm/presentation/constants/index.js.map +1 -1
  35. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.d.ts +11 -0
  36. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.d.ts.map +1 -0
  37. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.js +53 -0
  38. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.js.map +1 -0
  39. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.d.ts +8 -0
  40. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.d.ts.map +1 -0
  41. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.js +17 -0
  42. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.js.map +1 -0
  43. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.d.ts +8 -0
  44. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.d.ts.map +1 -0
  45. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.js +199 -0
  46. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.js.map +1 -0
  47. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.d.ts +9 -0
  48. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.d.ts.map +1 -0
  49. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.js +57 -0
  50. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.js.map +1 -0
  51. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.d.ts +4 -0
  52. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.d.ts.map +1 -0
  53. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.js +20 -0
  54. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.js.map +1 -0
  55. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.d.ts +21 -0
  56. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.d.ts.map +1 -0
  57. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.js +18 -0
  58. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.js.map +1 -0
  59. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.d.ts +7 -0
  60. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.d.ts.map +1 -0
  61. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.js +41 -0
  62. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.js.map +1 -0
  63. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.d.ts +15 -0
  64. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.d.ts.map +1 -0
  65. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.js +19 -0
  66. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.js.map +1 -0
  67. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.d.ts +6 -0
  68. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.d.ts.map +1 -0
  69. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.js +33 -0
  70. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.js.map +1 -0
  71. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.d.ts +3 -0
  72. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.d.ts.map +1 -0
  73. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.js +39 -0
  74. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.js.map +1 -0
  75. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.d.ts +24 -0
  76. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.d.ts.map +1 -0
  77. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js +50 -0
  78. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js.map +1 -0
  79. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.d.ts +24 -0
  80. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.d.ts.map +1 -0
  81. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.js +15 -0
  82. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.js.map +1 -0
  83. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts +9 -0
  84. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts.map +1 -0
  85. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js +12 -0
  86. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js.map +1 -0
  87. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderRenderer.d.ts +4 -0
  88. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderRenderer.d.ts.map +1 -0
  89. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderRenderer.js +12 -0
  90. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderRenderer.js.map +1 -0
  91. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionRenderer.d.ts +3 -0
  92. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionRenderer.d.ts.map +1 -0
  93. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionRenderer.js +13 -0
  94. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionRenderer.js.map +1 -0
  95. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.d.ts +4 -0
  96. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.d.ts.map +1 -0
  97. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.js +32 -0
  98. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.js.map +1 -0
  99. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableDashboardLayoutSectionRenderer.d.ts +3 -0
  100. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableDashboardLayoutSectionRenderer.d.ts.map +1 -0
  101. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableDashboardLayoutSectionRenderer.js +26 -0
  102. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableDashboardLayoutSectionRenderer.js.map +1 -0
  103. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/EditableLabelWithBubble.d.ts +16 -0
  104. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/EditableLabelWithBubble.d.ts.map +1 -0
  105. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/EditableLabelWithBubble.js +38 -0
  106. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/EditableLabelWithBubble.js.map +1 -0
  107. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts +8 -0
  108. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts.map +1 -0
  109. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js +66 -0
  110. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js.map +1 -0
  111. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/sectionHeaderHelper.d.ts +7 -0
  112. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/sectionHeaderHelper.d.ts.map +1 -0
  113. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/sectionHeaderHelper.js +18 -0
  114. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/sectionHeaderHelper.js.map +1 -0
  115. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.d.ts +8 -0
  116. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.d.ts.map +1 -0
  117. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.js +14 -0
  118. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.js.map +1 -0
  119. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.d.ts +8 -0
  120. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.d.ts.map +1 -0
  121. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.js +14 -0
  122. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.js.map +1 -0
  123. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/index.d.ts +19 -0
  124. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/index.d.ts.map +1 -0
  125. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/index.js +14 -0
  126. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/index.js.map +1 -0
  127. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/interfaces.d.ts +337 -0
  128. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/interfaces.d.ts.map +1 -0
  129. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/interfaces.js +2 -0
  130. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/interfaces.js.map +1 -0
  131. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/emptyFacade.d.ts +3 -0
  132. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/emptyFacade.d.ts.map +1 -0
  133. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/emptyFacade.js +31 -0
  134. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/emptyFacade.js.map +1 -0
  135. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/legacy.d.ts +7 -0
  136. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/legacy.d.ts.map +1 -0
  137. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/legacy.js +33 -0
  138. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/legacy.js.map +1 -0
  139. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.d.ts +43 -0
  140. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.d.ts.map +1 -0
  141. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.js +346 -0
  142. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.js.map +1 -0
  143. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutUtils.d.ts +22 -0
  144. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutUtils.d.ts.map +1 -0
  145. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutUtils.js +96 -0
  146. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutUtils.js.map +1 -0
  147. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.d.ts +7 -0
  148. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.d.ts.map +1 -0
  149. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.js +101 -0
  150. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.js.map +1 -0
  151. package/esm/presentation/flexibleLayout/EmptyDashboardError.d.ts +3 -0
  152. package/esm/presentation/flexibleLayout/EmptyDashboardError.d.ts.map +1 -0
  153. package/esm/presentation/flexibleLayout/EmptyDashboardError.js +10 -0
  154. package/esm/presentation/flexibleLayout/EmptyDashboardError.js.map +1 -0
  155. package/esm/presentation/flexibleLayout/EmptyDashboardLayout.d.ts +3 -0
  156. package/esm/presentation/flexibleLayout/EmptyDashboardLayout.d.ts.map +1 -0
  157. package/esm/presentation/flexibleLayout/EmptyDashboardLayout.js +9 -0
  158. package/esm/presentation/flexibleLayout/EmptyDashboardLayout.js.map +1 -0
  159. package/esm/presentation/flexibleLayout/constants.d.ts +4 -0
  160. package/esm/presentation/flexibleLayout/constants.d.ts.map +1 -0
  161. package/esm/presentation/flexibleLayout/constants.js +14 -0
  162. package/esm/presentation/flexibleLayout/constants.js.map +1 -0
  163. package/esm/presentation/flexibleLayout/index.d.ts +3 -0
  164. package/esm/presentation/flexibleLayout/index.d.ts.map +1 -0
  165. package/esm/presentation/flexibleLayout/index.js +4 -0
  166. package/esm/presentation/flexibleLayout/index.js.map +1 -0
  167. package/esm/presentation/flexibleLayout/refs.d.ts +5 -0
  168. package/esm/presentation/flexibleLayout/refs.d.ts.map +1 -0
  169. package/esm/presentation/flexibleLayout/refs.js +7 -0
  170. package/esm/presentation/flexibleLayout/refs.js.map +1 -0
  171. package/esm/presentation/flexibleLayout/types.d.ts +22 -0
  172. package/esm/presentation/flexibleLayout/types.d.ts.map +1 -0
  173. package/esm/presentation/flexibleLayout/types.js +2 -0
  174. package/esm/presentation/flexibleLayout/types.js.map +1 -0
  175. package/esm/presentation/layout/DefaultDashboardLayout.d.ts.map +1 -1
  176. package/esm/presentation/layout/DefaultDashboardLayout.js +16 -8
  177. package/esm/presentation/layout/DefaultDashboardLayout.js.map +1 -1
  178. package/esm/presentation/localization/bundles/en-US.json +10 -0
  179. package/esm/presentation/widget/common/configuration/ConfigurationBubble.d.ts.map +1 -1
  180. package/esm/presentation/widget/common/configuration/ConfigurationBubble.js +2 -1
  181. package/esm/presentation/widget/common/configuration/ConfigurationBubble.js.map +1 -1
  182. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.d.ts +14 -0
  183. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.d.ts.map +1 -0
  184. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.js +125 -0
  185. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.js.map +1 -0
  186. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +7 -2
  187. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +1 -1
  188. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js +2 -2
  189. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js.map +1 -1
  190. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +7 -2
  191. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
  192. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +12 -4
  193. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js.map +1 -1
  194. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.d.ts +12 -0
  195. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.d.ts.map +1 -0
  196. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.js +86 -0
  197. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.js.map +1 -0
  198. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +6 -3
  199. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +1 -1
  200. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +6 -2
  201. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js.map +1 -1
  202. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts +4 -0
  203. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts.map +1 -1
  204. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js +19 -4
  205. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js.map +1 -1
  206. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts +19 -2
  207. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts.map +1 -1
  208. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js +204 -2
  209. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js.map +1 -1
  210. package/esm/presentation/widget/insight/configuration/InsightAlerts.d.ts.map +1 -1
  211. package/esm/presentation/widget/insight/configuration/InsightAlerts.js +3 -3
  212. package/esm/presentation/widget/insight/configuration/InsightAlerts.js.map +1 -1
  213. package/esm/presentation/widget/insight/types.d.ts +7 -1
  214. package/esm/presentation/widget/insight/types.d.ts.map +1 -1
  215. package/esm/presentation/widget/insight/types.js.map +1 -1
  216. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.d.ts.map +1 -1
  217. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js +2 -1
  218. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js.map +1 -1
  219. package/esm/sdk-ui-dashboard.d.ts +13 -8
  220. package/package.json +15 -15
  221. package/styles/css/alerting.css +59 -5
  222. package/styles/css/alerting.css.map +1 -1
  223. package/styles/css/dashboard.css +324 -0
  224. package/styles/css/dashboard.css.map +1 -1
  225. package/styles/css/flexibleLayout.css +425 -0
  226. package/styles/css/flexibleLayout.css.map +1 -0
  227. package/styles/css/main.css +383 -5
  228. package/styles/css/main.css.map +1 -1
  229. package/styles/scss/alerting.scss +69 -5
  230. package/styles/scss/dashboard.scss +1 -0
  231. package/styles/scss/flexibleLayout.scss +410 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardItemOverlay.js","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { IDashboardLayoutSectionFacade } from "../../../_staging/dashboard/fluidLayout/index.js";
3
+ interface IDashboardLayoutSectionOverlayControllerProps {
4
+ section: IDashboardLayoutSectionFacade<unknown>;
5
+ }
6
+ export declare const DashboardLayoutSectionOverlayController: React.FC<IDashboardLayoutSectionOverlayControllerProps>;
7
+ export {};
8
+ //# sourceMappingURL=DashboardItemOverlayController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardItemOverlayController.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AAIjG,UAAU,6CAA6C;IACnD,OAAO,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,uCAAuC,EAAE,KAAK,CAAC,EAAE,CAC1D,6CAA6C,CAuBhD,CAAC"}
@@ -0,0 +1,17 @@
1
+ // (C) 2022-2024 GoodData Corporation
2
+ import React from "react";
3
+ import { useDashboardSelector, useDashboardDispatch, selectWidgetsOverlayState, selectSectionModification, uiActions, } from "../../../model/index.js";
4
+ import { getRefsForSection } from "../refs.js";
5
+ import { DashboardItemOverlay } from "./DashboardItemOverlay.js";
6
+ export const DashboardLayoutSectionOverlayController = (props) => {
7
+ const { section } = props;
8
+ const dispatch = useDashboardDispatch();
9
+ const refs = getRefsForSection(section);
10
+ const overlayShow = useDashboardSelector(selectWidgetsOverlayState(refs));
11
+ const sectionModifications = useDashboardSelector(selectSectionModification(refs));
12
+ return (React.createElement(DashboardItemOverlay, { type: "column", onHide: () => dispatch(uiActions.toggleWidgetsOverlay({
13
+ refs: section.items().map((item) => item.ref()),
14
+ visible: false,
15
+ })), render: overlayShow, modifications: sectionModifications }));
16
+ };
17
+ //# sourceMappingURL=DashboardItemOverlayController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardItemOverlayController.js","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,SAAS,GACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAMjE,MAAM,CAAC,MAAM,uCAAuC,GAEhD,CAAC,KAAK,EAAE,EAAE;IACV,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAExC,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,oBAAoB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,OAAO,CACH,oBAAC,oBAAoB,IACjB,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,GAAG,EAAE,CACT,QAAQ,CACJ,SAAS,CAAC,oBAAoB,CAAC;YAC3B,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/C,OAAO,EAAE,KAAK;SACjB,CAAC,CACL,EAEL,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,oBAAoB,GACrC,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ExtendedDashboardWidget } from "../../model/index.js";
2
+ import { IDashboardWidgetProps } from "../widget/index.js";
3
+ import { IDashboardLayoutWidgetRenderer } from "./DefaultDashboardLayoutRenderer/index.js";
4
+ /**
5
+ * @internal
6
+ */
7
+ export declare const DashboardLayoutWidget: IDashboardLayoutWidgetRenderer<ExtendedDashboardWidget, Pick<IDashboardWidgetProps, "onError" | "onDrill" | "onFiltersChange">>;
8
+ //# sourceMappingURL=DashboardLayoutWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutWidget.d.ts","sourceRoot":"","sources":["../../../src/presentation/flexibleLayout/DashboardLayoutWidget.tsx"],"names":[],"mappings":"AAaA,OAAO,EACH,uBAAuB,EAc1B,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,EAAmB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAGH,8BAA8B,EACjC,MAAM,2CAA2C,CAAC;AAgCnD;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,8BAA8B,CAC9D,uBAAuB,EACvB,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC,CAqKzE,CAAC"}
@@ -0,0 +1,199 @@
1
+ // (C) 2020-2024 GoodData Corporation
2
+ import { isInsightWidget, isKpiWidget, isRichTextWidget, isVisualizationSwitcherWidget, } from "@gooddata/sdk-model";
3
+ import { WIDGET_DROPZONE_SIZE_INFO_DEFAULT } from "@gooddata/sdk-ui-ext";
4
+ import React, { useRef } from "react";
5
+ import cx from "classnames";
6
+ import { isCustomWidget, selectEnableWidgetCustomHeight, selectInsightsMap, selectIsInEditMode, selectSettings, uiActions, useDashboardDispatch, useDashboardSelector, selectWidgetsOverlayState, selectWidgetsModification, selectSectionModification, selectIsExport, useWidgetSelection, } from "../../model/index.js";
7
+ import { isAnyPlaceholderWidget, isPlaceholderWidget } from "../../widgets/index.js";
8
+ import { getSizeInfo, calculateWidgetMinHeight } from "../../_staging/layout/sizing.js";
9
+ import { getLayoutCoordinates } from "../../_staging/layout/coordinates.js";
10
+ import { useDashboardComponentsContext } from "../dashboardContexts/index.js";
11
+ import { Hotspot, ResizeOverlay, useDashboardDrag, useResizeItemStatus, useWidgetDragEndHandler, WidthResizerHotspot, } from "../dragAndDrop/index.js";
12
+ import { DashboardWidget } from "../widget/index.js";
13
+ import { DEFAULT_COLUMN_CLIENT_WIDTH, DEFAULT_WIDTH_RESIZER_HEIGHT } from "./constants.js";
14
+ import { getDashboardLayoutItemHeightForRatioAndScreen, } from "./DefaultDashboardLayoutRenderer/index.js";
15
+ import { DashboardItemOverlay } from "./DashboardItemOverlay/DashboardItemOverlay.js";
16
+ import { getRefsForSection, getRefsForItem } from "./refs.js";
17
+ /**
18
+ * Tests in KD require widget index for css selectors.
19
+ * Widget index equals to the widget order in the layout.
20
+ * Also placeholders are ignored for this.
21
+ */
22
+ function getWidgetIndex(item) {
23
+ const sectionIndex = item.section().index();
24
+ const isIgnoredForIndexes = (widget) => {
25
+ return !widget || isAnyPlaceholderWidget(widget);
26
+ };
27
+ let itemsInSectionsBefore = 0;
28
+ for (let i = 0; i < sectionIndex; i += 1) {
29
+ itemsInSectionsBefore +=
30
+ item
31
+ .section()
32
+ .layout()
33
+ .section(i)
34
+ ?.items()
35
+ .filter((i) => !isIgnoredForIndexes(i.widget())).length ?? 0;
36
+ }
37
+ const ignoredWidgetsBeforeItemCount = item
38
+ .section()
39
+ .items()
40
+ .filter((i) => i.index() < item.index() && isIgnoredForIndexes(i.widget())).length;
41
+ return itemsInSectionsBefore + item.index() - ignoredWidgetsBeforeItemCount;
42
+ }
43
+ /**
44
+ * @internal
45
+ */
46
+ export const DashboardLayoutWidget = (props) => {
47
+ const { item, screen, DefaultWidgetRenderer, onDrill, onFiltersChange, onError, getLayoutDimensions } = props;
48
+ const dispatch = useDashboardDispatch();
49
+ const insights = useDashboardSelector(selectInsightsMap);
50
+ const settings = useDashboardSelector(selectSettings);
51
+ const isInEditMode = useDashboardSelector(selectIsInEditMode);
52
+ const isExport = useDashboardSelector(selectIsExport);
53
+ const enableWidgetCustomHeight = useDashboardSelector(selectEnableWidgetCustomHeight);
54
+ const handleDragEnd = useWidgetDragEndHandler();
55
+ // TODO: we should probably do something more meaningful when item has no widget; should that even
56
+ // be allowed? undefined widget will make things explode down the line away so..
57
+ const widget = item.widget();
58
+ const isCustom = isCustomWidget(widget);
59
+ const isDraggableWidgetType = !(isPlaceholderWidget(widget) || isCustom);
60
+ const { isSelected } = useWidgetSelection(widget.ref);
61
+ const isRichText = isRichTextWidget(widget);
62
+ const isRichTextWidgetInEditState = isSelected && isRichText;
63
+ const [{ isDragging }, dragRef] = useDashboardDrag({
64
+ dragItem: () => {
65
+ return createDraggableItem(item, insights, settings);
66
+ },
67
+ canDrag: isInEditMode && isDraggableWidgetType && !isRichTextWidgetInEditState,
68
+ dragStart: (item) => {
69
+ dispatch(uiActions.setDraggingWidgetSource(item));
70
+ },
71
+ dragEnd: handleDragEnd,
72
+ }, [item, insights, isInEditMode, isDraggableWidgetType, isRichTextWidgetInEditState]);
73
+ const { ErrorComponent, LoadingComponent } = useDashboardComponentsContext();
74
+ const currentSize = item.size()[screen];
75
+ const minHeight = calculateWidgetMinHeight(widget, currentSize, insights, settings);
76
+ const height = currentSize.heightAsRatio && !currentSize.gridHeight
77
+ ? getDashboardLayoutItemHeightForRatioAndScreen(currentSize, screen)
78
+ : undefined;
79
+ const allowOverflow = !!currentSize.heightAsRatio;
80
+ const className = enableWidgetCustomHeight ? "custom-height" : undefined;
81
+ const index = getWidgetIndex(item);
82
+ const refs = getRefsForItem(item);
83
+ const sectionModifications = useDashboardSelector(selectSectionModification(getRefsForSection(item.section())));
84
+ const itemModifications = useDashboardSelector(selectWidgetsModification(refs));
85
+ const overlayShow = useDashboardSelector(selectWidgetsOverlayState(refs));
86
+ const { isActive, isResizingColumnOrRow, heightLimitReached, widthLimitReached } = useResizeItemStatus(widget.identifier);
87
+ const contentRef = useRef(null);
88
+ function getWidthInPx() {
89
+ return contentRef?.current
90
+ ? contentRef.current.getBoundingClientRect().width
91
+ : DEFAULT_COLUMN_CLIENT_WIDTH;
92
+ }
93
+ function getHeightInPx() {
94
+ return contentRef?.current
95
+ ? contentRef.current.getBoundingClientRect().height
96
+ : DEFAULT_WIDTH_RESIZER_HEIGHT;
97
+ }
98
+ function getGridColumnWidth() {
99
+ const columnWidthInGC = item.sizeForScreen(screen)?.gridWidth;
100
+ const columnWidthInPx = getWidthInPx();
101
+ return columnWidthInPx / columnWidthInGC;
102
+ }
103
+ const canShowHotspot = isInEditMode && !isDragging;
104
+ return (React.createElement(DefaultWidgetRenderer, { DefaultWidgetRenderer: DefaultWidgetRenderer, item: item, screen: screen, allowOverflow: allowOverflow, height: height, minHeight: minHeight, className: className, contentRef: contentRef, getLayoutDimensions: getLayoutDimensions },
105
+ React.createElement("div", { ref: dragRef, className: cx([
106
+ "dashboard-widget-draggable-wrapper",
107
+ { "gd-custom-widget-export": isCustom && isExport },
108
+ ]) },
109
+ React.createElement(DashboardWidget
110
+ // @ts-expect-error Don't expose index prop on public interface (we need it only for css class for KD tests)
111
+ , {
112
+ // @ts-expect-error Don't expose index prop on public interface (we need it only for css class for KD tests)
113
+ index: index, screen: screen, onDrill: onDrill, onError: onError, onFiltersChange: onFiltersChange, widget: widget, ErrorComponent: ErrorComponent, LoadingComponent: LoadingComponent })),
114
+ canShowHotspot && !isAnyPlaceholderWidget(widget) ? (React.createElement(React.Fragment, null,
115
+ React.createElement(ResizeOverlay, { isActive: isActive, isResizingColumnOrRow: isResizingColumnOrRow, reachedWidthLimit: widthLimitReached, reachedHeightLimit: heightLimitReached }),
116
+ !isCustomWidget(widget) ? (React.createElement(React.Fragment, null,
117
+ React.createElement(Hotspot, { dropZoneType: "prev", itemIndex: item.index(), sectionIndex: item.section().index(), isLastInSection: false }),
118
+ React.createElement(Hotspot, { dropZoneType: "next", itemIndex: item.index(), sectionIndex: item.section().index(), isLastInSection: item.isLast() }),
119
+ React.createElement(WidthResizerHotspot, { item: item, screen: screen, getGridColumnHeightInPx: getHeightInPx, getGridColumnWidth: getGridColumnWidth, getLayoutDimensions: getLayoutDimensions }))) : null)) : null,
120
+ React.createElement(DashboardItemOverlay, { type: "column", onHide: () => dispatch(uiActions.toggleWidgetsOverlay({
121
+ refs: [item.ref()],
122
+ visible: false,
123
+ })), render: Boolean(isInEditMode && overlayShow) && !sectionModifications.includes("insertedByPlugin"), modifications: itemModifications })));
124
+ };
125
+ function getFilledSize(itemSize, sizeInfo) {
126
+ return {
127
+ gridWidth: itemSize.xl?.gridWidth ||
128
+ sizeInfo?.width.default ||
129
+ WIDGET_DROPZONE_SIZE_INFO_DEFAULT.width.default,
130
+ gridHeight: itemSize.xl?.gridHeight ||
131
+ sizeInfo?.height.default ||
132
+ WIDGET_DROPZONE_SIZE_INFO_DEFAULT.height.default,
133
+ };
134
+ }
135
+ function createDraggableItem(item, insights, settings) {
136
+ const widget = item.widget();
137
+ const { sectionIndex, itemIndex } = getLayoutCoordinates(item);
138
+ const size = item.size();
139
+ const isOnlyItemInSection = item.section().items().count() === 1;
140
+ if (isKpiWidget(widget)) {
141
+ const sizeInfo = getSizeInfo(settings, "kpi", widget.kpi);
142
+ return {
143
+ type: "kpi",
144
+ kpi: widget.kpi,
145
+ title: widget.title,
146
+ sectionIndex,
147
+ itemIndex,
148
+ isOnlyItemInSection,
149
+ size: getFilledSize(size, sizeInfo),
150
+ };
151
+ }
152
+ else if (isInsightWidget(widget)) {
153
+ const insight = insights.get(widget.insight);
154
+ const sizeInfo = getSizeInfo(settings, "kpi", insight);
155
+ return {
156
+ type: "insight",
157
+ insight,
158
+ sectionIndex,
159
+ itemIndex,
160
+ title: widget.title,
161
+ isOnlyItemInSection,
162
+ size: getFilledSize(size, sizeInfo),
163
+ };
164
+ }
165
+ else if (isRichTextWidget(widget)) {
166
+ const sizeInfo = getSizeInfo(settings, "richText");
167
+ return {
168
+ type: "richText",
169
+ sectionIndex,
170
+ itemIndex,
171
+ title: widget.title,
172
+ isOnlyItemInSection,
173
+ size: getFilledSize(size, sizeInfo),
174
+ };
175
+ }
176
+ else if (isVisualizationSwitcherWidget(widget)) {
177
+ const sizeInfo = getSizeInfo(settings, "visualizationSwitcher");
178
+ return {
179
+ type: "visualizationSwitcher",
180
+ sectionIndex,
181
+ itemIndex,
182
+ title: widget.title,
183
+ isOnlyItemInSection,
184
+ size: getFilledSize(size, sizeInfo),
185
+ };
186
+ }
187
+ else {
188
+ return {
189
+ type: widget.type,
190
+ widget,
191
+ sectionIndex,
192
+ itemIndex,
193
+ title: "",
194
+ isOnlyItemInSection,
195
+ size: getFilledSize(size),
196
+ };
197
+ }
198
+ }
199
+ //# sourceMappingURL=DashboardLayoutWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutWidget.js","sourceRoot":"","sources":["../../../src/presentation/flexibleLayout/DashboardLayoutWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { IDashboardLayoutRenderProps } from "./interfaces.js";
3
+ /**
4
+ * DashboardLayout is customizable component for rendering {@link IDashboardLayout}.
5
+ *
6
+ * @alpha
7
+ */
8
+ export declare function DashboardLayout<TWidget>(props: IDashboardLayoutRenderProps<TWidget>): JSX.Element;
9
+ //# sourceMappingURL=DashboardLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayout.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.tsx"],"names":[],"mappings":";AAgBA,OAAO,EACH,2BAA2B,EAI9B,MAAM,iBAAiB,CAAC;AAoBzB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAwGjG"}
@@ -0,0 +1,57 @@
1
+ import cx from "classnames";
2
+ import isEqual from "lodash/isEqual.js";
3
+ import React, { useCallback, useMemo } from "react";
4
+ import { Container, ScreenClassProvider, ScreenClassRender, setConfiguration, } from "react-grid-system";
5
+ import { DashboardLayoutFacade } from "../../../_staging/dashboard/fluidLayout/facade/layout.js";
6
+ import { DASHBOARD_LAYOUT_GRID_CONFIGURATION } from "../../constants/index.js";
7
+ import { emptyDOMRect } from "../constants.js";
8
+ import { DashboardLayoutSection } from "./DashboardLayoutSection.js";
9
+ import { getLayoutWithoutGridHeights, getResizedItemPositions, unifyDashboardLayoutItemHeights, } from "./utils/sizing.js";
10
+ setConfiguration(DASHBOARD_LAYOUT_GRID_CONFIGURATION);
11
+ const removeHeights = (layout, enableCustomHeight) => {
12
+ if (enableCustomHeight) {
13
+ return layout;
14
+ }
15
+ return getLayoutWithoutGridHeights(layout);
16
+ };
17
+ const defaultSectionKeyGetter = ({ section }) => section.index().toString();
18
+ /**
19
+ * DashboardLayout is customizable component for rendering {@link IDashboardLayout}.
20
+ *
21
+ * @alpha
22
+ */
23
+ export function DashboardLayout(props) {
24
+ const { layout, sectionKeyGetter = defaultSectionKeyGetter, sectionRenderer, sectionHeaderRenderer, itemKeyGetter, itemRenderer, widgetRenderer, gridRowRenderer, className, debug, onMouseLeave, enableCustomHeight, renderMode = "view", } = props;
25
+ const layoutRef = React.useRef(null);
26
+ const { layoutFacade, resizedItemPositions } = useMemo(() => {
27
+ const updatedLayout = removeHeights(layout, !!enableCustomHeight);
28
+ const layoutFacade = DashboardLayoutFacade.for(unifyDashboardLayoutItemHeights(updatedLayout));
29
+ const resizedItemPositions = getResizedItemPositions(layout, layoutFacade.raw());
30
+ return { layoutFacade, resizedItemPositions };
31
+ }, [layout, enableCustomHeight]);
32
+ const sectionRendererWrapped = useCallback((renderProps) => sectionRenderer ? (sectionRenderer({
33
+ ...renderProps,
34
+ debug,
35
+ })) : (React.createElement(renderProps.DefaultSectionRenderer, { ...renderProps, debug: debug })), [debug, sectionRenderer]);
36
+ const getLayoutDimensions = useCallback(function () {
37
+ return layoutRef?.current ? layoutRef.current.getBoundingClientRect() : emptyDOMRect;
38
+ }, []);
39
+ const widgetRendererWrapped = useCallback((renderProps) => {
40
+ const isResizedByLayoutSizingStrategy = resizedItemPositions.some((position) => isEqual(position, [renderProps.item.section().index(), renderProps.item.index()]));
41
+ return widgetRenderer ? (widgetRenderer({
42
+ ...renderProps,
43
+ isResizedByLayoutSizingStrategy,
44
+ debug,
45
+ getLayoutDimensions: getLayoutDimensions,
46
+ })) : (React.createElement(renderProps.DefaultWidgetRenderer, { ...renderProps, debug: debug, isResizedByLayoutSizingStrategy: isResizedByLayoutSizingStrategy, getLayoutDimensions: getLayoutDimensions }));
47
+ }, [debug, resizedItemPositions, widgetRenderer]);
48
+ return (React.createElement("div", { className: cx("gd-fluidlayout-container", "s-fluid-layout-container", "gd-dashboards", className), onMouseLeave: onMouseLeave, ref: layoutRef },
49
+ React.createElement(ScreenClassProvider, { useOwnWidth: false },
50
+ React.createElement(ScreenClassRender, { render: (screenClass) => {
51
+ const screen = screenClass;
52
+ return screen ? (React.createElement(Container, { fluid: true, className: "gd-fluidlayout-layout s-fluid-layout" }, layoutFacade.sections().map((section) => {
53
+ return (React.createElement(DashboardLayoutSection, { key: sectionKeyGetter({ section, screen }), section: section, sectionRenderer: sectionRendererWrapped, sectionHeaderRenderer: sectionHeaderRenderer, itemKeyGetter: itemKeyGetter, itemRenderer: itemRenderer, gridRowRenderer: gridRowRenderer, widgetRenderer: widgetRendererWrapped, screen: screen, renderMode: renderMode, getLayoutDimensions: getLayoutDimensions }));
54
+ }))) : null;
55
+ } }))));
56
+ }
57
+ //# sourceMappingURL=DashboardLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayout.js","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { IDashboardLayoutSectionHeaderRenderProps } from "./interfaces.js";
3
+ export declare function DashboardLayoutEditSectionHeaderRenderer(props: IDashboardLayoutSectionHeaderRenderProps<any>): JSX.Element | null;
4
+ //# sourceMappingURL=DashboardLayoutEditSectionHeaderRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutEditSectionHeaderRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,wCAAwC,EAAE,MAAM,iBAAiB,CAAC;AAS3E,wBAAgB,wCAAwC,CACpD,KAAK,EAAE,wCAAwC,CAAC,GAAG,CAAC,GACrD,GAAG,CAAC,OAAO,GAAG,IAAI,CAkCpB"}
@@ -0,0 +1,20 @@
1
+ // (C) 2019-2024 GoodData Corporation
2
+ import * as React from "react";
3
+ import { DashboardLayoutSectionHeader } from "./DashboardLayoutSectionHeader.js";
4
+ import { SectionHeaderEditable } from "./EditableHeader/SectionHeaderEditable.js";
5
+ import { emptyItemFacadeWithFullSize } from "./utils/emptyFacade.js";
6
+ import { SectionHotspot } from "../../dragAndDrop/index.js";
7
+ import { isInitialPlaceholderWidget } from "../../../widgets/index.js";
8
+ import { DashboardLayoutItemViewRenderer } from "./DashboardLayoutItemViewRenderer.js";
9
+ import { getRefsForSection } from "../refs.js";
10
+ import { selectIsSectionInsertedByPlugin, useDashboardSelector } from "../../../model/index.js";
11
+ export function DashboardLayoutEditSectionHeaderRenderer(props) {
12
+ const { section, screen } = props;
13
+ const sectionHeader = section.header();
14
+ const isInitialDropzone = section.index() === 0 && section.items().every((i) => isInitialPlaceholderWidget(i.widget()));
15
+ const refs = getRefsForSection(section);
16
+ const isEditingDisabled = useDashboardSelector(selectIsSectionInsertedByPlugin(refs));
17
+ return (React.createElement(DashboardLayoutItemViewRenderer, { DefaultItemRenderer: DashboardLayoutItemViewRenderer, item: emptyItemFacadeWithFullSize, screen: screen },
18
+ React.createElement(DashboardLayoutSectionHeader, { title: sectionHeader?.title, description: sectionHeader?.description, renderBeforeHeader: !isInitialDropzone && React.createElement(SectionHotspot, { index: section.index(), targetPosition: "above" }), renderHeader: !isInitialDropzone && !isEditingDisabled ? (React.createElement(SectionHeaderEditable, { title: sectionHeader?.title || "", description: sectionHeader?.description || "", index: section.index() })) : undefined })));
19
+ }
20
+ //# sourceMappingURL=DashboardLayoutEditSectionHeaderRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutEditSectionHeaderRenderer.js","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEhG,MAAM,UAAU,wCAAwC,CACpD,KAAoD;IAEpD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEvC,MAAM,iBAAiB,GACnB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAElG,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtF,OAAO,CACH,oBAAC,+BAA+B,IAC5B,mBAAmB,EAAE,+BAA+B,EACpD,IAAI,EAAE,2BAA2B,EACjC,MAAM,EAAE,MAAM;QAEd,oBAAC,4BAA4B,IACzB,KAAK,EAAE,aAAa,EAAE,KAAK,EAC3B,WAAW,EAAE,aAAa,EAAE,WAAW,EACvC,kBAAkB,EACd,CAAC,iBAAiB,IAAI,oBAAC,cAAc,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,cAAc,EAAC,OAAO,GAAG,EAE3F,YAAY,EACR,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACvC,oBAAC,qBAAqB,IAClB,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,EACjC,WAAW,EAAE,aAAa,EAAE,WAAW,IAAI,EAAE,EAC7C,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GACxB,CACL,CAAC,CAAC,CAAC,SAAS,GAEnB,CAC4B,CACrC,CAAC;AACN,CAAC"}
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { ScreenSize } from "@gooddata/sdk-model";
3
+ import { RenderMode } from "../../../types.js";
4
+ import { IDashboardLayoutItemFacade, IDashboardLayoutSectionFacade } from "../../../_staging/dashboard/fluidLayout/facade/interfaces.js";
5
+ import { IDashboardLayoutGridRowRenderer, IDashboardLayoutItemKeyGetter, IDashboardLayoutItemRenderer, IDashboardLayoutWidgetRenderer } from "./interfaces.js";
6
+ /**
7
+ * @alpha
8
+ */
9
+ export interface DashboardLayoutGridRowProps<TWidget> {
10
+ screen: ScreenSize;
11
+ section: IDashboardLayoutSectionFacade<TWidget>;
12
+ itemKeyGetter?: IDashboardLayoutItemKeyGetter<TWidget>;
13
+ itemRenderer?: IDashboardLayoutItemRenderer<TWidget>;
14
+ widgetRenderer: IDashboardLayoutWidgetRenderer<TWidget>;
15
+ gridRowRenderer?: IDashboardLayoutGridRowRenderer<TWidget>;
16
+ getLayoutDimensions: () => DOMRect;
17
+ items: IDashboardLayoutItemFacade<TWidget>[];
18
+ renderMode: RenderMode;
19
+ }
20
+ export declare function DashboardLayoutGridRow<TWidget>(props: DashboardLayoutGridRowProps<TWidget>): JSX.Element;
21
+ //# sourceMappingURL=DashboardLayoutGridRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutGridRow.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAChC,MAAM,8DAA8D,CAAC;AAEtE,OAAO,EACH,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EACjC,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,2BAA2B,CAAC,OAAO;IAChD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACrD,cAAc,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAC3D,mBAAmB,EAAE,MAAM,OAAO,CAAC;IACnC,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,UAAU,EAAE,UAAU,CAAC;CAC1B;AAID,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAmCxG"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { Row } from "react-grid-system";
3
+ import { DashboardLayoutItem } from "./DashboardLayoutItem.js";
4
+ const defaultItemKeyGetter = ({ item }) => item.index().toString();
5
+ export function DashboardLayoutGridRow(props) {
6
+ const { section, itemKeyGetter = defaultItemKeyGetter, gridRowRenderer, itemRenderer, widgetRenderer, screen, items, renderMode, } = props;
7
+ const rowItems = items.map((item) => (React.createElement(DashboardLayoutItem, { key: itemKeyGetter({ item, screen }), item: item, itemRenderer: itemRenderer, widgetRenderer: widgetRenderer, screen: screen })));
8
+ return (React.createElement(Row, { className: "gd-fluidlayout-row s-gd-fluid-layout-row" }, gridRowRenderer
9
+ ? gridRowRenderer({
10
+ children: rowItems,
11
+ screen,
12
+ section,
13
+ items,
14
+ renderMode,
15
+ })
16
+ : rowItems));
17
+ }
18
+ //# sourceMappingURL=DashboardLayoutGridRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutGridRow.js","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAMxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAuB/D,MAAM,oBAAoB,GAA2C,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE3G,MAAM,UAAU,sBAAsB,CAAU,KAA2C;IACvF,MAAM,EACF,OAAO,EACP,aAAa,GAAG,oBAAoB,EACpC,eAAe,EACf,YAAY,EACZ,cAAc,EACd,MAAM,EACN,KAAK,EACL,UAAU,GACb,GAAG,KAAK,CAAC;IAEV,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACjC,oBAAC,mBAAmB,IAChB,GAAG,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACpC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,GAChB,CACL,CAAC,CAAC;IAEH,OAAO,CACH,oBAAC,GAAG,IAAC,SAAS,EAAC,0CAA0C,IACpD,eAAe;QACZ,CAAC,CAAC,eAAe,CAAC;YACZ,QAAQ,EAAE,QAAQ;YAClB,MAAM;YACN,OAAO;YACP,KAAK;YACL,UAAU;SACb,CAAC;QACJ,CAAC,CAAC,QAAQ,CACZ,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { DashboardLayoutGridRowProps } from "./DashboardLayoutGridRow.js";
3
+ import { IDashboardLayoutItemFacade } from "../../../_staging/dashboard/fluidLayout/facade/interfaces.js";
4
+ export declare function DashboardLayoutGridRowEdit<TWidget>(props: DashboardLayoutGridRowProps<TWidget> & {
5
+ itemsInRowsByIndex: [number, IDashboardLayoutItemFacade<TWidget>[]][];
6
+ }): JSX.Element;
7
+ //# sourceMappingURL=DashboardLayoutGridRowEdit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutGridRowEdit.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAG1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AAI1G,wBAAgB,0BAA0B,CAAC,OAAO,EAC9C,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAAG;IAC1C,kBAAkB,EAAE,CAAC,MAAM,EAAE,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;CACzE,GACF,GAAG,CAAC,OAAO,CAiEb"}
@@ -0,0 +1,41 @@
1
+ // (C) 2007-2024 GoodData Corporation
2
+ import React, { useMemo } from "react";
3
+ import { Col, Row } from "react-grid-system";
4
+ import reverse from "lodash/fp/reverse.js";
5
+ import { HeightResizerHotspot, useIsDraggingWidget } from "../../dragAndDrop/index.js";
6
+ import { DashboardLayoutItem } from "./DashboardLayoutItem.js";
7
+ const defaultItemKeyGetter = ({ item }) => item.index().toString();
8
+ export function DashboardLayoutGridRowEdit(props) {
9
+ const { section, itemKeyGetter = defaultItemKeyGetter, gridRowRenderer, itemRenderer, widgetRenderer, getLayoutDimensions, screen, items, renderMode, itemsInRowsByIndex, } = props;
10
+ const isDraggingWidget = useIsDraggingWidget();
11
+ const rowItems = useMemo(() => items.map((item) => (React.createElement(DashboardLayoutItem, { key: itemKeyGetter({ item, screen }), item: item, itemRenderer: itemRenderer, widgetRenderer: widgetRenderer, screen: screen }))), [itemKeyGetter, itemRenderer, items, screen, widgetRenderer]);
12
+ const extendedRows = useMemo(() => isDraggingWidget
13
+ ? rowItems
14
+ : reverse(itemsInRowsByIndex).reduce((acc, [index, itemsInRow]) => {
15
+ return splice(acc, index + 1, 0, React.createElement(Col, { xl: 12, key: `HeightResizerHotspot-${index}`, style: { minHeight: 0 } },
16
+ React.createElement(HeightResizerHotspot, { key: `HeightResizerHotspot-${index}`, screen: screen, getLayoutDimensions: getLayoutDimensions, section: section, items: itemsInRow })));
17
+ }, rowItems), [isDraggingWidget, rowItems, itemsInRowsByIndex, screen, getLayoutDimensions, section]);
18
+ return (React.createElement(Row, { className: "gd-fluidlayout-row s-gd-fluid-layout-row" }, gridRowRenderer
19
+ ? gridRowRenderer({
20
+ children: extendedRows,
21
+ screen,
22
+ section,
23
+ items,
24
+ renderMode,
25
+ })
26
+ : extendedRows));
27
+ }
28
+ function splice(arr, start, deleteCount, ...addItem) {
29
+ const result = [];
30
+ if (start > 0) {
31
+ result.push(...arr.slice(0, start));
32
+ }
33
+ result.push(...addItem);
34
+ const len = result.length - addItem.length;
35
+ const count = deleteCount <= 0 ? len : len + deleteCount;
36
+ if (arr[count]) {
37
+ result.push(...arr.slice(count));
38
+ }
39
+ return result;
40
+ }
41
+ //# sourceMappingURL=DashboardLayoutGridRowEdit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutGridRowEdit.js","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { ScreenSize } from "@gooddata/sdk-model";
3
+ import { IDashboardLayoutItemRenderer, IDashboardLayoutWidgetRenderer } from "./interfaces.js";
4
+ import { IDashboardLayoutItemFacade } from "../../../_staging/dashboard/fluidLayout/facade/interfaces.js";
5
+ /**
6
+ * @alpha
7
+ */
8
+ export interface IDashboardLayoutItemProps<TWidget> {
9
+ item: IDashboardLayoutItemFacade<TWidget>;
10
+ screen: ScreenSize;
11
+ itemRenderer?: IDashboardLayoutItemRenderer<TWidget>;
12
+ widgetRenderer: IDashboardLayoutWidgetRenderer<TWidget>;
13
+ }
14
+ export declare function DashboardLayoutItem<TWidget>(props: IDashboardLayoutItemProps<TWidget>): JSX.Element;
15
+ //# sourceMappingURL=DashboardLayoutItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutItem.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EAEjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AAI1G;;GAEG;AACH,MAAM,WAAW,yBAAyB,CAAC,OAAO;IAC9C,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACrD,cAAc,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAC;CAC3D;AAMD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAcnG"}
@@ -0,0 +1,19 @@
1
+ // (C) 2007-2024 GoodData Corporation
2
+ import React from "react";
3
+ import { DashboardLayoutItemRenderer } from "./DashboardLayoutItemRenderer.js";
4
+ import { DashboardLayoutWidgetRenderer } from "./DashboardLayoutWidgetRenderer.js";
5
+ const defaultItemRenderer = (props) => (React.createElement(DashboardLayoutItemRenderer, { ...props }));
6
+ export function DashboardLayoutItem(props) {
7
+ const { item, itemRenderer = defaultItemRenderer, widgetRenderer, screen } = props;
8
+ const renderProps = {
9
+ item,
10
+ screen,
11
+ DefaultWidgetRenderer: DashboardLayoutWidgetRenderer,
12
+ };
13
+ return itemRenderer({
14
+ ...props,
15
+ DefaultItemRenderer: DashboardLayoutItemRenderer,
16
+ children: widgetRenderer(renderProps),
17
+ });
18
+ }
19
+ //# sourceMappingURL=DashboardLayoutItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutItem.js","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAYnF,MAAM,mBAAmB,GAA0C,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1E,oBAAC,2BAA2B,OAAK,KAAK,GAAI,CAC7C,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAU,KAAyC;IAClF,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEnF,MAAM,WAAW,GAAG;QAChB,IAAI;QACJ,MAAM;QACN,qBAAqB,EAAE,6BAA6B;KACT,CAAC;IAEhD,OAAO,YAAY,CAAC;QAChB,GAAG,KAAK;QACR,mBAAmB,EAAE,2BAA2B;QAChD,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC;KACxC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { IDashboardLayoutItemRenderer } from "./interfaces.js";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const DashboardLayoutItemRenderer: IDashboardLayoutItemRenderer<unknown>;
6
+ //# sourceMappingURL=DashboardLayoutItemRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutItemRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAsC/D;;GAEG;AACH,eAAO,MAAM,2BAA2B,uCAGG,CAAC"}
@@ -0,0 +1,33 @@
1
+ // (C) 2007-2024 GoodData Corporation
2
+ import cx from "classnames";
3
+ import React from "react";
4
+ import { RowEndHotspot, WidgetDropZoneColumn, useIsDraggingCurrentItem } from "../../dragAndDrop/index.js";
5
+ import { DashboardLayoutItemViewRenderer } from "./DashboardLayoutItemViewRenderer.js";
6
+ import { renderModeAware } from "../../componentDefinition/index.js";
7
+ import { isCustomWidgetBase } from "../../../model/index.js";
8
+ function getLayoutCoordinates(item) {
9
+ return {
10
+ sectionIndex: item.section()?.index(),
11
+ itemIndex: item.index(),
12
+ };
13
+ }
14
+ const DashboardLayoutItemEditRenderer = (props) => {
15
+ const { item, screen, children } = props;
16
+ const { sectionIndex, itemIndex } = getLayoutCoordinates(item);
17
+ const isDraggingCurrentItem = useIsDraggingCurrentItem(sectionIndex, itemIndex);
18
+ const isCustomWidget = isCustomWidgetBase(item.widget());
19
+ return (React.createElement(React.Fragment, null,
20
+ isCustomWidget ? null : (React.createElement(WidgetDropZoneColumn, { screen: screen, sectionIndex: sectionIndex, itemIndex: itemIndex })),
21
+ React.createElement(DashboardLayoutItemViewRenderer, { ...props, className: cx({
22
+ "current-dragging-item": isDraggingCurrentItem,
23
+ }) }, children),
24
+ isCustomWidget ? null : React.createElement(RowEndHotspot, { item: item, screen: screen })));
25
+ };
26
+ /**
27
+ * @internal
28
+ */
29
+ export const DashboardLayoutItemRenderer = renderModeAware({
30
+ view: DashboardLayoutItemViewRenderer,
31
+ edit: DashboardLayoutItemEditRenderer,
32
+ });
33
+ //# sourceMappingURL=DashboardLayoutItemRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardLayoutItemRenderer.js","sourceRoot":"","sources":["../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3G,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,SAAS,oBAAoB,CAAC,IAAyC;IACnE,OAAO;QACH,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE;QACrC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE;KAC1B,CAAC;AACN,CAAC;AAED,MAAM,+BAA+B,GAA0C,CAAC,KAAK,EAAE,EAAE;IACrF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEzC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE/D,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAEhF,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzD,OAAO,CACH;QACK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrB,oBAAC,oBAAoB,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAI,CAC7F;QACD,oBAAC,+BAA+B,OACxB,KAAK,EACT,SAAS,EAAE,EAAE,CAAC;gBACV,uBAAuB,EAAE,qBAAqB;aACjD,CAAC,IAED,QAAQ,CACqB;QACjC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAI,CACvE,CACN,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAwC;IAC9F,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,+BAA+B;CACxC,CAA0C,CAAC"}