@gooddata/sdk-ui-dashboard 10.14.0-alpha.2 → 10.14.0-alpha.20

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 (287) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.d.ts.map +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/__version.js.map +1 -1
  5. package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
  6. package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +12 -4
  7. package/esm/model/commandHandlers/dashboard/common/stateInitializers.js.map +1 -1
  8. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.d.ts.map +1 -1
  9. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +3 -2
  10. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js.map +1 -1
  11. package/esm/model/store/config/configSelectors.d.ts +5 -1
  12. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  13. package/esm/model/store/config/configSelectors.js +8 -2
  14. package/esm/model/store/config/configSelectors.js.map +1 -1
  15. package/esm/model/store/executionResults/executionResultsSelectors.d.ts +1 -1
  16. package/esm/model/store/executionResults/executionResultsSelectors.d.ts.map +1 -1
  17. package/esm/model/store/executionResults/executionResultsSelectors.js +4 -1
  18. package/esm/model/store/executionResults/executionResultsSelectors.js.map +1 -1
  19. package/esm/model/store/index.d.ts +1 -1
  20. package/esm/model/store/index.d.ts.map +1 -1
  21. package/esm/model/store/index.js +1 -1
  22. package/esm/model/store/index.js.map +1 -1
  23. package/esm/model/store/layout/layoutSelectors.d.ts.map +1 -1
  24. package/esm/model/store/layout/layoutSelectors.js +18 -6
  25. package/esm/model/store/layout/layoutSelectors.js.map +1 -1
  26. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  27. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +5 -5
  28. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js.map +1 -1
  29. package/esm/presentation/alerting/DefaultAlertingManagementDialog/components/Alert.d.ts.map +1 -1
  30. package/esm/presentation/alerting/DefaultAlertingManagementDialog/components/Alert.js +13 -6
  31. package/esm/presentation/alerting/DefaultAlertingManagementDialog/components/Alert.js.map +1 -1
  32. package/esm/presentation/constants/classes.d.ts +2 -0
  33. package/esm/presentation/constants/classes.d.ts.map +1 -0
  34. package/esm/presentation/constants/classes.js +3 -0
  35. package/esm/presentation/constants/classes.js.map +1 -0
  36. package/esm/presentation/constants/index.d.ts +1 -0
  37. package/esm/presentation/constants/index.d.ts.map +1 -1
  38. package/esm/presentation/constants/index.js +1 -0
  39. package/esm/presentation/constants/index.js.map +1 -1
  40. package/esm/presentation/constants/layout.d.ts +1 -0
  41. package/esm/presentation/constants/layout.d.ts.map +1 -1
  42. package/esm/presentation/constants/layout.js +1 -1
  43. package/esm/presentation/constants/layout.js.map +1 -1
  44. package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.d.ts.map +1 -1
  45. package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.js +7 -2
  46. package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.js.map +1 -1
  47. package/esm/presentation/dashboard/components/DashboardMainContent.d.ts.map +1 -1
  48. package/esm/presentation/dashboard/components/DashboardMainContent.js +7 -2
  49. package/esm/presentation/dashboard/components/DashboardMainContent.js.map +1 -1
  50. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.d.ts +11 -0
  51. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.d.ts.map +1 -0
  52. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.js +53 -0
  53. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlay.js.map +1 -0
  54. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.d.ts +8 -0
  55. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.d.ts.map +1 -0
  56. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.js +17 -0
  57. package/esm/presentation/flexibleLayout/DashboardItemOverlay/DashboardItemOverlayController.js.map +1 -0
  58. package/esm/presentation/flexibleLayout/DashboardLayout.d.ts +7 -0
  59. package/esm/presentation/flexibleLayout/DashboardLayout.d.ts.map +1 -0
  60. package/esm/presentation/flexibleLayout/DashboardLayout.js +11 -0
  61. package/esm/presentation/flexibleLayout/DashboardLayout.js.map +1 -0
  62. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.d.ts +8 -0
  63. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.d.ts.map +1 -0
  64. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.js +199 -0
  65. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.js.map +1 -0
  66. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.d.ts +9 -0
  67. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.d.ts.map +1 -0
  68. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.js +54 -0
  69. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayout.js.map +1 -0
  70. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.d.ts +4 -0
  71. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.d.ts.map +1 -0
  72. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.js +23 -0
  73. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeaderRenderer.js.map +1 -0
  74. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.d.ts +21 -0
  75. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.d.ts.map +1 -0
  76. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.js +17 -0
  77. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRow.js.map +1 -0
  78. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.d.ts +7 -0
  79. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.d.ts.map +1 -0
  80. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.js +39 -0
  81. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutGridRowEdit.js.map +1 -0
  82. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.d.ts +15 -0
  83. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.d.ts.map +1 -0
  84. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.js +19 -0
  85. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItem.js.map +1 -0
  86. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.d.ts +6 -0
  87. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.d.ts.map +1 -0
  88. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.js +33 -0
  89. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemRenderer.js.map +1 -0
  90. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.d.ts +3 -0
  91. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.d.ts.map +1 -0
  92. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.js +40 -0
  93. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.js.map +1 -0
  94. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.d.ts +25 -0
  95. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.d.ts.map +1 -0
  96. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js +51 -0
  97. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js.map +1 -0
  98. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.d.ts +24 -0
  99. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.d.ts.map +1 -0
  100. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.js +15 -0
  101. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeader.js.map +1 -0
  102. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts +9 -0
  103. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts.map +1 -0
  104. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js +12 -0
  105. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js.map +1 -0
  106. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderRenderer.d.ts +4 -0
  107. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderRenderer.d.ts.map +1 -0
  108. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderRenderer.js +17 -0
  109. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderRenderer.js.map +1 -0
  110. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionRenderer.d.ts +3 -0
  111. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionRenderer.d.ts.map +1 -0
  112. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionRenderer.js +11 -0
  113. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionRenderer.js.map +1 -0
  114. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.d.ts +4 -0
  115. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.d.ts.map +1 -0
  116. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.js +22 -0
  117. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutWidgetRenderer.js.map +1 -0
  118. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableDashboardLayoutSectionRenderer.d.ts +3 -0
  119. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableDashboardLayoutSectionRenderer.d.ts.map +1 -0
  120. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableDashboardLayoutSectionRenderer.js +24 -0
  121. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableDashboardLayoutSectionRenderer.js.map +1 -0
  122. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/EditableLabelWithBubble.d.ts +16 -0
  123. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/EditableLabelWithBubble.d.ts.map +1 -0
  124. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/EditableLabelWithBubble.js +38 -0
  125. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/EditableLabelWithBubble.js.map +1 -0
  126. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts +8 -0
  127. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts.map +1 -0
  128. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js +66 -0
  129. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js.map +1 -0
  130. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/sectionHeaderHelper.d.ts +7 -0
  131. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/sectionHeaderHelper.d.ts.map +1 -0
  132. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/sectionHeaderHelper.js +18 -0
  133. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/sectionHeaderHelper.js.map +1 -0
  134. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/GridLayoutElement.d.ts +39 -0
  135. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/GridLayoutElement.d.ts.map +1 -0
  136. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/GridLayoutElement.js +63 -0
  137. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/GridLayoutElement.js.map +1 -0
  138. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.d.ts +8 -0
  139. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.d.ts.map +1 -0
  140. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.js +14 -0
  141. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.js.map +1 -0
  142. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.d.ts +8 -0
  143. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.d.ts.map +1 -0
  144. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.js +14 -0
  145. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.js.map +1 -0
  146. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/constants.d.ts +2 -0
  147. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/constants.d.ts.map +1 -0
  148. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/constants.js +3 -0
  149. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/constants.js.map +1 -0
  150. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/index.d.ts +19 -0
  151. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/index.d.ts.map +1 -0
  152. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/index.js +14 -0
  153. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/index.js.map +1 -0
  154. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/interfaces.d.ts +343 -0
  155. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/interfaces.d.ts.map +1 -0
  156. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/interfaces.js +2 -0
  157. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/interfaces.js.map +1 -0
  158. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/useScreenSize.d.ts +4 -0
  159. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/useScreenSize.d.ts.map +1 -0
  160. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/useScreenSize.js +34 -0
  161. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/useScreenSize.js.map +1 -0
  162. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/emptyFacade.d.ts +3 -0
  163. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/emptyFacade.d.ts.map +1 -0
  164. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/emptyFacade.js +31 -0
  165. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/emptyFacade.js.map +1 -0
  166. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/legacy.d.ts +7 -0
  167. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/legacy.d.ts.map +1 -0
  168. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/legacy.js +33 -0
  169. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/legacy.js.map +1 -0
  170. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.d.ts +51 -0
  171. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.d.ts.map +1 -0
  172. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.js +360 -0
  173. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.js.map +1 -0
  174. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutUtils.d.ts +22 -0
  175. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutUtils.d.ts.map +1 -0
  176. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutUtils.js +96 -0
  177. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutUtils.js.map +1 -0
  178. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.d.ts +7 -0
  179. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.d.ts.map +1 -0
  180. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.js +101 -0
  181. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.js.map +1 -0
  182. package/esm/presentation/flexibleLayout/EmptyDashboardError.d.ts +3 -0
  183. package/esm/presentation/flexibleLayout/EmptyDashboardError.d.ts.map +1 -0
  184. package/esm/presentation/flexibleLayout/EmptyDashboardError.js +10 -0
  185. package/esm/presentation/flexibleLayout/EmptyDashboardError.js.map +1 -0
  186. package/esm/presentation/flexibleLayout/EmptyDashboardLayout.d.ts +3 -0
  187. package/esm/presentation/flexibleLayout/EmptyDashboardLayout.d.ts.map +1 -0
  188. package/esm/presentation/flexibleLayout/EmptyDashboardLayout.js +9 -0
  189. package/esm/presentation/flexibleLayout/EmptyDashboardLayout.js.map +1 -0
  190. package/esm/presentation/flexibleLayout/constants.d.ts +4 -0
  191. package/esm/presentation/flexibleLayout/constants.d.ts.map +1 -0
  192. package/esm/presentation/flexibleLayout/constants.js +14 -0
  193. package/esm/presentation/flexibleLayout/constants.js.map +1 -0
  194. package/esm/presentation/flexibleLayout/index.d.ts +4 -0
  195. package/esm/presentation/flexibleLayout/index.d.ts.map +1 -0
  196. package/esm/presentation/flexibleLayout/index.js +5 -0
  197. package/esm/presentation/flexibleLayout/index.js.map +1 -0
  198. package/esm/presentation/flexibleLayout/refs.d.ts +5 -0
  199. package/esm/presentation/flexibleLayout/refs.d.ts.map +1 -0
  200. package/esm/presentation/flexibleLayout/refs.js +7 -0
  201. package/esm/presentation/flexibleLayout/refs.js.map +1 -0
  202. package/esm/presentation/flexibleLayout/types.d.ts +26 -0
  203. package/esm/presentation/flexibleLayout/types.d.ts.map +1 -0
  204. package/esm/presentation/flexibleLayout/types.js +2 -0
  205. package/esm/presentation/flexibleLayout/types.js.map +1 -0
  206. package/esm/presentation/layout/DefaultDashboardLayout.d.ts.map +1 -1
  207. package/esm/presentation/layout/DefaultDashboardLayout.js +16 -8
  208. package/esm/presentation/layout/DefaultDashboardLayout.js.map +1 -1
  209. package/esm/presentation/localization/bundles/en-US.json +10 -0
  210. package/esm/presentation/widget/common/configuration/ConfigurationBubble.d.ts.map +1 -1
  211. package/esm/presentation/widget/common/configuration/ConfigurationBubble.js +2 -1
  212. package/esm/presentation/widget/common/configuration/ConfigurationBubble.js.map +1 -1
  213. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.d.ts +14 -0
  214. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.d.ts.map +1 -0
  215. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.js +139 -0
  216. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertAttributeSelecxt.js.map +1 -0
  217. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsList.d.ts +2 -1
  218. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsList.d.ts.map +1 -1
  219. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsList.js +2 -2
  220. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsList.js.map +1 -1
  221. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsListItem.d.ts +2 -1
  222. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsListItem.d.ts.map +1 -1
  223. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsListItem.js +11 -3
  224. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsListItem.js.map +1 -1
  225. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +7 -2
  226. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +1 -1
  227. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js +2 -2
  228. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js.map +1 -1
  229. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +7 -2
  230. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
  231. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +12 -4
  232. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js.map +1 -1
  233. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.d.ts +12 -0
  234. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.d.ts.map +1 -0
  235. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.js +86 -0
  236. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useAttributeValuesFromExecResults.js.map +1 -0
  237. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +6 -3
  238. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +1 -1
  239. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +6 -2
  240. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js.map +1 -1
  241. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts +5 -0
  242. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts.map +1 -1
  243. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js +21 -4
  244. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js.map +1 -1
  245. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts +19 -2
  246. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts.map +1 -1
  247. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js +204 -2
  248. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js.map +1 -1
  249. package/esm/presentation/widget/insight/configuration/InsightAlerts.d.ts.map +1 -1
  250. package/esm/presentation/widget/insight/configuration/InsightAlerts.js +4 -4
  251. package/esm/presentation/widget/insight/configuration/InsightAlerts.js.map +1 -1
  252. package/esm/presentation/widget/insight/types.d.ts +7 -1
  253. package/esm/presentation/widget/insight/types.d.ts.map +1 -1
  254. package/esm/presentation/widget/insight/types.js.map +1 -1
  255. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.d.ts.map +1 -1
  256. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js +2 -1
  257. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js.map +1 -1
  258. package/esm/presentation/widget/widget/DefaultDashboardWidget.d.ts.map +1 -1
  259. package/esm/presentation/widget/widget/DefaultDashboardWidget.js +8 -3
  260. package/esm/presentation/widget/widget/DefaultDashboardWidget.js.map +1 -1
  261. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.d.ts.map +1 -1
  262. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js +11 -2
  263. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js.map +1 -1
  264. package/esm/presentation/widget/widget/types.d.ts +7 -1
  265. package/esm/presentation/widget/widget/types.d.ts.map +1 -1
  266. package/esm/sdk-ui-dashboard.d.ts +19 -8
  267. package/package.json +15 -15
  268. package/styles/css/alerting.css +59 -5
  269. package/styles/css/alerting.css.map +1 -1
  270. package/styles/css/dashboard.css +117 -0
  271. package/styles/css/dashboard.css.map +1 -1
  272. package/styles/css/dragAndDrop.css +5 -0
  273. package/styles/css/dragAndDrop.css.map +1 -1
  274. package/styles/css/flexibleLayout.css +425 -0
  275. package/styles/css/flexibleLayout.css.map +1 -0
  276. package/styles/css/layout.css +111 -0
  277. package/styles/css/layout.css.map +1 -1
  278. package/styles/css/main.css +188 -6
  279. package/styles/css/main.css.map +1 -1
  280. package/styles/css/visualization.css +7 -1
  281. package/styles/css/visualization.css.map +1 -1
  282. package/styles/scss/alerting.scss +69 -5
  283. package/styles/scss/dashboard.scss +12 -0
  284. package/styles/scss/dragAndDrop.scss +8 -0
  285. package/styles/scss/flexibleLayout.scss +410 -0
  286. package/styles/scss/layout.scss +77 -0
  287. package/styles/scss/visualization.scss +10 -2
@@ -0,0 +1,360 @@
1
+ // (C) 2019-2024 GoodData Corporation
2
+ import { isDashboardLayout, isWidget, isWidgetDefinition, } from "@gooddata/sdk-model";
3
+ import { fluidLayoutDescriptor } from "@gooddata/sdk-ui-ext";
4
+ import clamp from "lodash/clamp.js";
5
+ import flatten from "lodash/flatten.js";
6
+ import isEqual from "lodash/isEqual.js";
7
+ import isNil from "lodash/isNil.js";
8
+ import round from "lodash/round.js";
9
+ import { invariant } from "ts-invariant";
10
+ import { DASHBOARD_LAYOUT_GRID_COLUMNS_COUNT } from "../../../../_staging/dashboard/fluidLayout/index.js";
11
+ import { DashboardLayoutBuilder } from "../../../../_staging/dashboard/fluidLayout/builder/layout.js";
12
+ import { DashboardLayoutFacade } from "../../../../_staging/dashboard/fluidLayout/facade/layout.js";
13
+ import { getDashboardLayoutItemHeightForGrid, getSizeInfo, getDashboardLayoutWidgetMinGridWidth, getDashboardLayoutWidgetMinGridHeight, getDashboardLayoutWidgetMaxGridHeight, } from "../../../../_staging/layout/sizing.js";
14
+ import { ALL_SCREENS, DASHBOARD_LAYOUT_CONTAINER_WIDTHS, DASHBOARD_LAYOUT_MAX_HEIGHT_AS_RATIO_XS, } from "../../../constants/index.js";
15
+ import { GRID_COLUMNS_COUNT } from "../constants.js";
16
+ export function unifyDashboardLayoutItemHeights(itemsOrLayout) {
17
+ if (isDashboardLayout(itemsOrLayout)) {
18
+ return {
19
+ ...itemsOrLayout,
20
+ sections: DashboardLayoutFacade.for(itemsOrLayout)
21
+ .sections()
22
+ .reduce((acc, section) => {
23
+ acc.push({
24
+ ...section.raw(),
25
+ items: unifyDashboardLayoutItemHeights(section.items().raw()),
26
+ });
27
+ return acc;
28
+ }, []),
29
+ };
30
+ }
31
+ const itemsWithSizeForAllScreens = itemsOrLayout.map((item) => ({
32
+ ...item,
33
+ size: implicitLayoutItemSizeFromXlSize(item.size.xl),
34
+ }));
35
+ // items with unified height for all screens
36
+ return ALL_SCREENS.reduce((acc, screen) => {
37
+ const itemsAsFutureGridRows = splitDashboardLayoutItemsAsRenderedGridRows(acc, screen);
38
+ return flatten(itemsAsFutureGridRows.map((futureGridRow) => unifyDashboardLayoutItemHeightsForScreen(futureGridRow, screen)));
39
+ }, itemsWithSizeForAllScreens);
40
+ }
41
+ /**
42
+ * Derive dashboard layout size for all screens from dashboard layout size defined for xl screen.
43
+ * We have only xl size saved in metadata, this will create additional screen sizes based on xl.
44
+ *
45
+ * @param xlSize - dashboard layout size for xl screen
46
+ */
47
+ export function implicitLayoutItemSizeFromXlSize(xlSize) {
48
+ const xlWidth = xlSize.gridWidth;
49
+ const xlHeight = xlSize.gridHeight;
50
+ const ratio = xlSize.heightAsRatio;
51
+ switch (xlWidth) {
52
+ case 0:
53
+ return dashboardLayoutItemSizeForAllScreens(0, 0, 0, 0, 0, 0, 0);
54
+ case 1:
55
+ return dashboardLayoutItemSizeForAllScreens(ratio, xlHeight, xlWidth, xlWidth, 2, 6, 12);
56
+ case 2:
57
+ return dashboardLayoutItemSizeForAllScreens(ratio, xlHeight, xlWidth, xlWidth, 4, 6, 12);
58
+ case 3:
59
+ case 4:
60
+ case 5:
61
+ case 6:
62
+ case 7:
63
+ case 8:
64
+ case 9:
65
+ return dashboardLayoutItemSizeForAllScreens(ratio, xlHeight, xlWidth, xlWidth, 6, 12, 12);
66
+ case 10:
67
+ return dashboardLayoutItemSizeForAllScreens(ratio, xlHeight, xlWidth, xlWidth, 12, 12, 12);
68
+ case 11:
69
+ return dashboardLayoutItemSizeForAllScreens(ratio, xlHeight, xlWidth, xlWidth, 12, 12, 12);
70
+ case 12:
71
+ return dashboardLayoutItemSizeForAllScreens(ratio, xlHeight, xlWidth, xlWidth, 12, 12, 12);
72
+ default:
73
+ invariant(false, `Unsupported xlWidth: ${xlWidth}`);
74
+ }
75
+ }
76
+ /**
77
+ * Create dashboard layout item size for all screens,
78
+ * with identical height, defined as ratio,
79
+ * but different width, defined as grid items count.
80
+ *
81
+ * @param heightAsRatio - height as ratio to the width, defined in percents
82
+ * @param gridHeight - height as number of grid rows
83
+ * @param xl - width as grid items count for xl screen
84
+ * @param lg - width as grid items count for lg screen
85
+ * @param md - width as grid items count for md screen
86
+ * @param sm - width as grid items count for sm screen
87
+ * @param xs - width as grid items count for xs screen
88
+ */
89
+ function dashboardLayoutItemSizeForAllScreens(heightAsRatio, gridHeight, xl, lg, md, sm, xs) {
90
+ if (gridHeight) {
91
+ return {
92
+ xl: {
93
+ gridWidth: xl,
94
+ gridHeight,
95
+ },
96
+ lg: {
97
+ gridWidth: lg,
98
+ gridHeight,
99
+ },
100
+ md: {
101
+ gridWidth: md,
102
+ gridHeight,
103
+ },
104
+ sm: {
105
+ gridWidth: sm,
106
+ gridHeight,
107
+ },
108
+ xs: {
109
+ gridWidth: xs,
110
+ gridHeight,
111
+ },
112
+ };
113
+ }
114
+ return {
115
+ xl: {
116
+ gridWidth: xl,
117
+ heightAsRatio,
118
+ },
119
+ lg: {
120
+ gridWidth: lg,
121
+ heightAsRatio,
122
+ },
123
+ md: {
124
+ gridWidth: md,
125
+ heightAsRatio,
126
+ },
127
+ sm: {
128
+ gridWidth: sm,
129
+ heightAsRatio,
130
+ },
131
+ xs: {
132
+ gridWidth: xs,
133
+ heightAsRatio,
134
+ },
135
+ };
136
+ }
137
+ /**
138
+ * Divide the items into a list representing the future rows of the grid.
139
+ * This is useful for performing item transformations, depending on how they really appear in the grid.
140
+ *
141
+ * @param items - dashboard layout items
142
+ * @param screen - responsive screen class
143
+ */
144
+ export function splitDashboardLayoutItemsAsRenderedGridRows(items, screen) {
145
+ const renderedRows = [];
146
+ let currentRowWidth = 0;
147
+ let currentRow = [];
148
+ items.forEach((item) => {
149
+ const itemSize = item.size[screen];
150
+ if (isNil(itemSize)) {
151
+ throw Error("Item size for current screen is undefined");
152
+ }
153
+ if (currentRowWidth + itemSize.gridWidth > DASHBOARD_LAYOUT_GRID_COLUMNS_COUNT) {
154
+ renderedRows.push(currentRow);
155
+ currentRow = [];
156
+ currentRowWidth = 0;
157
+ }
158
+ currentRow.push(item);
159
+ currentRowWidth = currentRowWidth + itemSize.gridWidth;
160
+ });
161
+ if (currentRow.length > 0) {
162
+ renderedRows.push(currentRow);
163
+ }
164
+ return renderedRows;
165
+ }
166
+ /**
167
+ * Calculate dashboard layout item height for the provided screen.
168
+ * Result, if custom height is defined, is height of the item, defined
169
+ * as grid items count, multiplied by {@link GRID_ROW_HEIGHT_IN_PX} or width of the item,
170
+ * defined as grid items count, multiplied by height, defined as a ratio.
171
+ *
172
+ * @param item - dashboard layout item
173
+ * @param screen - responsive screen class
174
+ */
175
+ function dashboardLayoutItemHeightForScreen(item, screen) {
176
+ const { gridWidth, gridHeight, heightAsRatio = 0 } = item.size?.[screen] ?? {};
177
+ if (!gridWidth) {
178
+ return 0;
179
+ }
180
+ if (gridHeight) {
181
+ return getDashboardLayoutItemHeightForGrid(gridHeight);
182
+ }
183
+ return gridWidth * heightAsRatio;
184
+ }
185
+ /**
186
+ * Unify dashboard layout items height, defined as ratio, for the provided screen.
187
+ * It overrides height of all items to the highest item height found for the provided screen.
188
+ *
189
+ * @param items - dashboard layout items
190
+ * @param screen - responsive screen class
191
+ */
192
+ function unifyDashboardLayoutItemHeightsForScreen(items, screen) {
193
+ const heights = items.map((item) => dashboardLayoutItemHeightForScreen(item, screen));
194
+ const maxHeight = Math.max(0, ...heights);
195
+ if (maxHeight === 0) {
196
+ return items;
197
+ }
198
+ return items.map((item) => updateDashboardLayoutItemHeight(item, screen, maxHeight));
199
+ }
200
+ const updateDashboardLayoutItemHeight = (item, screen, maxHeight) => {
201
+ const itemSizeForCurrentScreen = item.size[screen];
202
+ const heightAsRatio = itemSizeForCurrentScreen?.gridWidth
203
+ ? round(maxHeight / itemSizeForCurrentScreen.gridWidth, 2)
204
+ : 0;
205
+ let updatedColumn = item;
206
+ if (!itemSizeForCurrentScreen?.gridHeight &&
207
+ !isNil(itemSizeForCurrentScreen?.heightAsRatio) &&
208
+ itemSizeForCurrentScreen?.heightAsRatio !== heightAsRatio) {
209
+ if (isWidget(updatedColumn.widget) || isWidgetDefinition(updatedColumn.widget)) {
210
+ updatedColumn = {
211
+ ...updatedColumn,
212
+ widget: {
213
+ ...updatedColumn.widget,
214
+ },
215
+ };
216
+ }
217
+ updatedColumn = {
218
+ ...updatedColumn,
219
+ size: {
220
+ ...updatedColumn.size,
221
+ [screen]: {
222
+ ...updatedColumn.size[screen],
223
+ heightAsRatio,
224
+ },
225
+ },
226
+ };
227
+ }
228
+ if (screen === "xs" && heightAsRatio > DASHBOARD_LAYOUT_MAX_HEIGHT_AS_RATIO_XS) {
229
+ updatedColumn = {
230
+ ...updatedColumn,
231
+ size: {
232
+ ...updatedColumn.size,
233
+ xs: {
234
+ ...updatedColumn.size.xs,
235
+ heightAsRatio: DASHBOARD_LAYOUT_MAX_HEIGHT_AS_RATIO_XS,
236
+ },
237
+ },
238
+ };
239
+ }
240
+ return updatedColumn;
241
+ };
242
+ /**
243
+ *
244
+ * @internal
245
+ */
246
+ export const getResizedItemPositions = (originalLayout, resizedLayout, positions = []) => {
247
+ const originalLayoutFacade = DashboardLayoutFacade.for(originalLayout);
248
+ return DashboardLayoutFacade.for(resizedLayout)
249
+ .sections()
250
+ .reduce((acc, section) => {
251
+ return section.items().reduce((acc, item) => {
252
+ const originalColumn = originalLayoutFacade
253
+ .sections()
254
+ .section(section.index())
255
+ .items()
256
+ .item(item.index());
257
+ // if this bombs there is something wrong with the layout
258
+ invariant(originalColumn);
259
+ const originalContent = originalColumn.widget();
260
+ const updatedContent = item.widget();
261
+ // Is nested layout?
262
+ if (isDashboardLayout(originalContent) && isDashboardLayout(updatedContent)) {
263
+ return getResizedItemPositions(originalContent, updatedContent, positions);
264
+ }
265
+ if (!isEqual(originalColumn.size(), item.size()) &&
266
+ (isWidget(updatedContent) || isWidgetDefinition(updatedContent))) {
267
+ acc.push([item.section().index(), item.index()]);
268
+ }
269
+ return acc;
270
+ }, acc);
271
+ }, positions);
272
+ };
273
+ export const getDashboardLayoutItemHeightForRatioAndScreen = (size, screen) => {
274
+ // TODO is this default ok?
275
+ const { gridWidth, heightAsRatio = 1 } = size;
276
+ const actualWidth = DASHBOARD_LAYOUT_CONTAINER_WIDTHS[screen];
277
+ const actualColumnUnitWidth = actualWidth / DASHBOARD_LAYOUT_GRID_COLUMNS_COUNT;
278
+ return actualColumnUnitWidth * gridWidth * (heightAsRatio / 100);
279
+ };
280
+ export function getDashboardLayoutItemMaxGridWidth(item, screen) {
281
+ let gridRowWidth = 0;
282
+ const sectionItems = item.section().items().all();
283
+ for (const sectionItem of sectionItems) {
284
+ const newWidth = sectionItem.sizeForScreen(screen).gridWidth + gridRowWidth;
285
+ if (newWidth <= DASHBOARD_LAYOUT_GRID_COLUMNS_COUNT) {
286
+ if (sectionItem.index() === item.index()) {
287
+ break;
288
+ }
289
+ gridRowWidth = newWidth;
290
+ }
291
+ else {
292
+ if (sectionItem.index() === item.index()) {
293
+ return DASHBOARD_LAYOUT_GRID_COLUMNS_COUNT;
294
+ }
295
+ // TODO is this default ok?
296
+ gridRowWidth = sectionItem.sizeForScreen(screen)?.gridWidth ?? 1;
297
+ }
298
+ }
299
+ return DASHBOARD_LAYOUT_GRID_COLUMNS_COUNT - gridRowWidth;
300
+ }
301
+ export function getDashboardLayoutWidgetDefaultGridWidth(settings, widgetType, widgetContent) {
302
+ const sizeInfo = getSizeInfo(settings, widgetType, widgetContent);
303
+ return sizeInfo.width.default;
304
+ }
305
+ export function getLayoutWithoutGridHeights(layout) {
306
+ const layoutBuilder = DashboardLayoutBuilder.for(layout);
307
+ return layoutBuilder
308
+ .modifySections((section) => section.modifyItems((itemBuilder, itemFacade) => {
309
+ const widget = itemFacade.widget();
310
+ if (isDashboardLayout(widget)) {
311
+ const updatedLayout = getLayoutWithoutGridHeights(widget);
312
+ return itemBuilder.widget(updatedLayout);
313
+ }
314
+ const itemWithoutGridHeight = removeGridHeightFromItemSize(itemFacade.raw());
315
+ return itemBuilder.setItem(itemWithoutGridHeight);
316
+ }))
317
+ .build();
318
+ }
319
+ function removeGridHeightFromItemSize(item) {
320
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
321
+ const { gridHeight, ...rest } = item.size.xl;
322
+ return {
323
+ ...item,
324
+ size: {
325
+ ...item.size,
326
+ xl: {
327
+ ...rest,
328
+ },
329
+ },
330
+ };
331
+ }
332
+ /**
333
+ * @internal
334
+ */
335
+ export function validateDashboardLayoutWidgetSize(currentWidth, currentHeight, widgetType, widgetContent, settings) {
336
+ const minWidth = getDashboardLayoutWidgetMinGridWidth(settings, widgetType, widgetContent);
337
+ const maxWidth = fluidLayoutDescriptor.gridColumnsCount;
338
+ const minHeight = getDashboardLayoutWidgetMinGridHeight(settings, widgetType, widgetContent);
339
+ const maxHeight = getDashboardLayoutWidgetMaxGridHeight(settings, widgetType, widgetContent);
340
+ const validWidth = currentWidth !== undefined ? clamp(currentWidth, minWidth, maxWidth) : currentWidth;
341
+ const validHeight = currentHeight !== undefined ? clamp(currentHeight, minHeight, maxHeight) : currentHeight;
342
+ return {
343
+ validWidth,
344
+ validHeight,
345
+ };
346
+ }
347
+ export const determineSizeForScreen = (screen, layoutItemSize) => {
348
+ // Determine if element has size set in metadata object for the current screen size
349
+ const providedSizeForScreen = layoutItemSize ? layoutItemSize[screen] : undefined;
350
+ // Use the provided size for the screen if it is known, otherwise determine the size for the current
351
+ // screen if we at least know xl size from metadata object, otherwise expect the element to be root
352
+ // element with that spans the full size.
353
+ const itemSize = providedSizeForScreen ??
354
+ implicitLayoutItemSizeFromXlSize(layoutItemSize?.xl ?? {
355
+ gridWidth: GRID_COLUMNS_COUNT,
356
+ })[screen];
357
+ // Expect element to be full size if we could not get the size for the current screen from the value above.
358
+ return itemSize?.gridWidth ?? GRID_COLUMNS_COUNT;
359
+ };
360
+ //# sourceMappingURL=sizing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizing.js","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/utils/sizing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { ObjRef, IInsight, IDashboardWidget, IDashboardLayoutItem } from "@gooddata/sdk-model";
2
+ import { LRUCache } from "lru-cache";
3
+ import { DashboardLayoutItemModifications } from "./DefaultDashboardLayoutRenderer/index.js";
4
+ /**
5
+ * We need to aggressively memoize the widget sanitization results in order to prevent expensive re-renders
6
+ * down the line - we need to keep the widgets referentially equal whenever they are not changed.
7
+ */
8
+ export declare const getMemoizedWidgetSanitizer: <TWidget>(cache: LRUCache<string, IDashboardLayoutItem<TWidget>, unknown>) => (getInsightByRef: (insightRef: ObjRef) => IInsight | undefined, enableKDWidgetCustomHeight: boolean) => DashboardLayoutItemModifications<TWidget>;
9
+ /**
10
+ * Ensure that areObjRefsEqual() and other predicates will be working with uncontrolled user ref inputs
11
+ * in custom layout transformation and/or custom widget/item renderers.
12
+ *
13
+ * @internal
14
+ */
15
+ export declare function polluteWidgetRefsWithBothIdAndUri<TWidget = IDashboardWidget>(getInsightByRef: (insightRef: ObjRef) => IInsight | undefined): DashboardLayoutItemModifications<TWidget>;
16
+ /**
17
+ * Ensure the insight widgets conform to their allowed sizes.
18
+ *
19
+ * @internal
20
+ */
21
+ export declare function validateItemsSize<TWidget = IDashboardWidget>(getInsightByRef: (insightRef: ObjRef) => IInsight | undefined, enableKDWidgetCustomHeight: boolean): DashboardLayoutItemModifications<TWidget>;
22
+ //# sourceMappingURL=DefaultDashboardLayoutUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultDashboardLayoutUtils.d.ts","sourceRoot":"","sources":["../../../src/presentation/flexibleLayout/DefaultDashboardLayoutUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACH,MAAM,EACN,QAAQ,EAOR,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,EACH,gCAAgC,EAGnC,MAAM,2CAA2C,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+GAGD,MAAM,KAAK,QAAQ,GAAG,SAAS,8BACjC,OAAO,8CAmBtC,CAAC;AAEN;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,GAAG,gBAAgB,EACxE,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,GAC9D,gCAAgC,CAAC,OAAO,CAAC,CAgC3C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAG,gBAAgB,EACxD,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,EAC7D,0BAA0B,EAAE,OAAO,GACpC,gCAAgC,CAAC,OAAO,CAAC,CAqC3C"}
@@ -0,0 +1,96 @@
1
+ // (C) 2020-2024 GoodData Corporation
2
+ import { insightId, insightUri, isWidget, widgetUri, widgetId, isInsightWidget, } from "@gooddata/sdk-model";
3
+ import stringify from "json-stable-stringify";
4
+ import flow from "lodash/flow.js";
5
+ import { validateDashboardLayoutWidgetSize, } from "./DefaultDashboardLayoutRenderer/index.js";
6
+ /**
7
+ * We need to aggressively memoize the widget sanitization results in order to prevent expensive re-renders
8
+ * down the line - we need to keep the widgets referentially equal whenever they are not changed.
9
+ */
10
+ export const getMemoizedWidgetSanitizer = (cache) => (getInsightByRef, enableKDWidgetCustomHeight) => {
11
+ return (item) => {
12
+ const widget = item.facade().widget();
13
+ const insightAvailable = isInsightWidget(widget) && !!getInsightByRef(widget.insight);
14
+ // we need to check if the result was made with insight available or not, it might change the result
15
+ // of polluteWidgetRefsWithBothIdAndUri which touches the insight as well
16
+ const cacheKey = `${stringify(item.facade().raw(), { space: 0 })}__${insightAvailable}`;
17
+ if (!cache.has(cacheKey)) {
18
+ const resultBuilder = flow(polluteWidgetRefsWithBothIdAndUri(getInsightByRef), validateItemsSize(getInsightByRef, enableKDWidgetCustomHeight))(item);
19
+ cache.set(cacheKey, resultBuilder.build());
20
+ }
21
+ return item.setItem(cache.get(cacheKey));
22
+ };
23
+ };
24
+ /**
25
+ * Ensure that areObjRefsEqual() and other predicates will be working with uncontrolled user ref inputs
26
+ * in custom layout transformation and/or custom widget/item renderers.
27
+ *
28
+ * @internal
29
+ */
30
+ export function polluteWidgetRefsWithBothIdAndUri(getInsightByRef) {
31
+ return (item) => item.widget((c) => {
32
+ let updatedContent = c;
33
+ if (isWidget(updatedContent)) {
34
+ updatedContent = {
35
+ ...updatedContent,
36
+ ref: {
37
+ ...updatedContent.ref,
38
+ uri: widgetUri(updatedContent),
39
+ identifier: widgetId(updatedContent),
40
+ },
41
+ };
42
+ }
43
+ if (isInsightWidget(updatedContent)) {
44
+ const insight = getInsightByRef(updatedContent.insight);
45
+ // sometimes this seems to be called sooner than insights are loaded leading to invariant errors
46
+ // since the behavior is nearly impossible to replicate reliably, let's be defensive here
47
+ if (insight) {
48
+ updatedContent = {
49
+ ...updatedContent,
50
+ insight: {
51
+ ...updatedContent.insight,
52
+ uri: insightUri(insight),
53
+ identifier: insightId(insight),
54
+ },
55
+ };
56
+ }
57
+ }
58
+ return updatedContent;
59
+ });
60
+ }
61
+ /**
62
+ * Ensure the insight widgets conform to their allowed sizes.
63
+ *
64
+ * @internal
65
+ */
66
+ export function validateItemsSize(getInsightByRef, enableKDWidgetCustomHeight) {
67
+ return (item) => {
68
+ const widget = item.facade().widget();
69
+ if (isInsightWidget(widget)) {
70
+ const insight = getInsightByRef(widget.insight);
71
+ const currentSize = item.facade().size().xl;
72
+ const { gridWidth: currentWidth, gridHeight: currentHeight } = currentSize;
73
+ if (!insight) {
74
+ return item.size({
75
+ xl: {
76
+ ...currentSize,
77
+ },
78
+ });
79
+ }
80
+ const { validWidth, validHeight } = validateDashboardLayoutWidgetSize(currentWidth, currentHeight, "insight", insight, { enableKDWidgetCustomHeight });
81
+ if (currentWidth !== validWidth || currentHeight !== validHeight) {
82
+ const gridWidthProp = currentWidth !== validWidth ? { gridWidth: validWidth } : {};
83
+ const gridHeightProp = currentHeight !== validHeight ? { gridHeight: validHeight } : {};
84
+ return item.size({
85
+ xl: {
86
+ ...currentSize,
87
+ ...gridWidthProp,
88
+ ...gridHeightProp,
89
+ },
90
+ });
91
+ }
92
+ }
93
+ return item;
94
+ };
95
+ }
96
+ //# sourceMappingURL=DefaultDashboardLayoutUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultDashboardLayoutUtils.js","sourceRoot":"","sources":["../../../src/presentation/flexibleLayout/DefaultDashboardLayoutUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { IDashboardLayoutProps } from "./types.js";
3
+ /**
4
+ * @alpha
5
+ */
6
+ export declare const DefaultFlexibleDashboardLayout: (props: IDashboardLayoutProps) => JSX.Element;
7
+ //# sourceMappingURL=DefaultFlexibleDashboardLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultFlexibleDashboardLayout.d.ts","sourceRoot":"","sources":["../../../src/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.tsx"],"names":[],"mappings":";AAyBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAoEnD;;GAEG;AACH,eAAO,MAAM,8BAA8B,UAAW,qBAAqB,KAAG,WAsF7E,CAAC"}
@@ -0,0 +1,101 @@
1
+ // (C) 2020-2024 GoodData Corporation
2
+ import React, { useCallback, useMemo } from "react";
3
+ import { objRefToString, isWidget, } from "@gooddata/sdk-model";
4
+ import { LRUCache } from "lru-cache";
5
+ import max from "lodash/max.js";
6
+ import { useDashboardSelector, selectIsExport, selectIsLayoutEmpty, selectLayout, selectInsightsMap, selectEnableWidgetCustomHeight, selectRenderMode, } from "../../model/index.js";
7
+ import { DashboardLayoutWidget } from "./DashboardLayoutWidget.js";
8
+ import { DashboardLayout, DashboardLayoutBuilder, } from "./DefaultDashboardLayoutRenderer/index.js";
9
+ import { renderModeAwareDashboardLayoutSectionRenderer } from "./DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionRenderer.js";
10
+ import { renderModeAwareDashboardLayoutSectionHeaderRenderer } from "./DefaultDashboardLayoutRenderer/RenderModeAwareDashboardLayoutSectionHeaderRenderer.js";
11
+ import { getMemoizedWidgetSanitizer } from "./DefaultDashboardLayoutUtils.js";
12
+ import { SectionHotspot } from "../dragAndDrop/index.js";
13
+ import { isInitialPlaceholderWidget } from "../../widgets/index.js";
14
+ import { EmptyDashboardLayout } from "./EmptyDashboardLayout.js";
15
+ /**
16
+ * Get dashboard layout for exports.
17
+ * - Create new extra rows if current row has width of widgets greater than 12
18
+ *
19
+ * @internal
20
+ * @param layout - dashboard layout to modify
21
+ * @returns transformed layout
22
+ */
23
+ function getDashboardLayoutForExport(layout) {
24
+ const dashLayout = DashboardLayoutBuilder.for(layout);
25
+ const layoutFacade = dashLayout.facade();
26
+ const sections = layoutFacade.sections();
27
+ const screenSplitSections = sections.map((section) => ({
28
+ items: section.items().asGridRows("xl"),
29
+ header: section.header(),
30
+ }));
31
+ dashLayout.removeSections();
32
+ screenSplitSections.forEach((wrappedSection) => {
33
+ wrappedSection.items.forEach((rowSection, index) => {
34
+ // Also ensure that all items in a section have equal grid height - the max one.
35
+ // This simulates non-export mode, where the flex-box stretches
36
+ // all the items in a row to the equal height.
37
+ // This is necessary as we have no control over the custom widgets heights.
38
+ const sectionItemsGridHeights = rowSection.map((item) => item.size().xl.gridHeight);
39
+ const maxGridHeight = max(sectionItemsGridHeights);
40
+ dashLayout.createSection((section) => {
41
+ rowSection.forEach((item) => {
42
+ if (index === 0) {
43
+ section.header(wrappedSection.header);
44
+ }
45
+ section.createItem({ ...item.size().xl, gridHeight: maxGridHeight }, (i) => i.widget(item.widget()));
46
+ });
47
+ return section;
48
+ });
49
+ });
50
+ });
51
+ return dashLayout.build();
52
+ }
53
+ const itemKeyGetter = (keyGetterProps) => {
54
+ const widget = keyGetterProps.item.widget();
55
+ if (isWidget(widget)) {
56
+ return objRefToString(widget.ref);
57
+ }
58
+ return keyGetterProps.item.index().toString();
59
+ };
60
+ /**
61
+ * @alpha
62
+ */
63
+ export const DefaultFlexibleDashboardLayout = (props) => {
64
+ const { layout: providedLayout, screen: providedScreen, parentLayoutItemSize, onFiltersChange, onDrill, onError, } = props;
65
+ const selectedLayout = useDashboardSelector(selectLayout);
66
+ const isLayoutEmpty = useDashboardSelector(selectIsLayoutEmpty);
67
+ const enableWidgetCustomHeight = useDashboardSelector(selectEnableWidgetCustomHeight);
68
+ const insights = useDashboardSelector(selectInsightsMap);
69
+ const isExport = useDashboardSelector(selectIsExport);
70
+ const renderMode = useDashboardSelector(selectRenderMode);
71
+ const layout = providedLayout ?? selectedLayout;
72
+ const getInsightByRef = useCallback((insightRef) => {
73
+ return insights.get(insightRef);
74
+ }, [insights]);
75
+ const sanitizeWidgets = useMemo(() => {
76
+ // keep the cache local so that it is cleared when the dashboard changes for example and this component is remounted
77
+ const cache = new LRUCache({ max: 100 });
78
+ return getMemoizedWidgetSanitizer(cache);
79
+ }, []);
80
+ const transformedLayout = useMemo(() => {
81
+ if (isExport) {
82
+ return getDashboardLayoutForExport(layout);
83
+ }
84
+ return DashboardLayoutBuilder.for(layout)
85
+ .modifySections((section) => section.modifyItems(sanitizeWidgets(getInsightByRef, enableWidgetCustomHeight)))
86
+ .build();
87
+ }, [layout, isExport, getInsightByRef, enableWidgetCustomHeight, sanitizeWidgets]);
88
+ const widgetRenderer = useCallback((renderProps) => {
89
+ return (React.createElement(DashboardLayoutWidget, { onError: onError, onDrill: onDrill, onFiltersChange: onFiltersChange, ...renderProps }));
90
+ }, [onError, onDrill, onFiltersChange]);
91
+ if (isLayoutEmpty) {
92
+ return React.createElement(EmptyDashboardLayout, null);
93
+ }
94
+ // do not render the tailing section hotspot if there is only one section in the layout and it has only initial placeholders in it
95
+ const shouldRenderSectionHotspot = transformedLayout.sections.length > 1 ||
96
+ transformedLayout.sections[0].items.some((i) => !isInitialPlaceholderWidget(i.widget));
97
+ return (React.createElement(React.Fragment, null,
98
+ React.createElement(DashboardLayout, { className: isExport ? "export-mode" : "", layout: transformedLayout, parentLayoutItemSize: parentLayoutItemSize, screen: providedScreen, itemKeyGetter: itemKeyGetter, widgetRenderer: widgetRenderer, enableCustomHeight: enableWidgetCustomHeight, sectionRenderer: renderModeAwareDashboardLayoutSectionRenderer, sectionHeaderRenderer: renderModeAwareDashboardLayoutSectionHeaderRenderer, renderMode: renderMode }),
99
+ !!shouldRenderSectionHotspot && (React.createElement(SectionHotspot, { index: transformedLayout.sections.length, targetPosition: "below" }))));
100
+ };
101
+ //# sourceMappingURL=DefaultFlexibleDashboardLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultFlexibleDashboardLayout.js","sourceRoot":"","sources":["../../../src/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare const EmptyDashboardError: React.FC;
3
+ //# sourceMappingURL=EmptyDashboardError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyDashboardError.d.ts","sourceRoot":"","sources":["../../../src/presentation/flexibleLayout/EmptyDashboardError.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAUvC,CAAC"}
@@ -0,0 +1,10 @@
1
+ // (C) 2020-2024 GoodData Corporation
2
+ import React from "react";
3
+ import { useIntl } from "react-intl";
4
+ import { useDashboardComponentsContext } from "../dashboardContexts/index.js";
5
+ export const EmptyDashboardError = () => {
6
+ const intl = useIntl();
7
+ const { ErrorComponent } = useDashboardComponentsContext();
8
+ return (React.createElement(ErrorComponent, { className: "s-layout-error", message: intl.formatMessage({ id: "dashboard.error.empty.heading" }), description: intl.formatMessage({ id: "dashboard.error.empty.text" }) }));
9
+ };
10
+ //# sourceMappingURL=EmptyDashboardError.js.map