@finos/legend-data-cube 0.0.36 → 0.0.38

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 (491) hide show
  1. package/README.md +1 -1
  2. package/lib/__lib__/DataCubeDocumentation.d.ts +7 -7
  3. package/lib/__lib__/DataCubeDocumentation.d.ts.map +1 -1
  4. package/lib/__lib__/DataCubeDocumentation.js +9 -9
  5. package/lib/__lib__/DataCubeDocumentation.js.map +1 -1
  6. package/lib/__lib__/DataCubeEvent.d.ts +21 -0
  7. package/lib/__lib__/DataCubeEvent.d.ts.map +1 -0
  8. package/lib/__lib__/DataCubeEvent.js +22 -0
  9. package/lib/__lib__/DataCubeEvent.js.map +1 -0
  10. package/lib/__lib__/DataCubeSetting.d.ts +24 -0
  11. package/lib/__lib__/DataCubeSetting.d.ts.map +1 -0
  12. package/lib/__lib__/DataCubeSetting.js +25 -0
  13. package/lib/__lib__/DataCubeSetting.js.map +1 -0
  14. package/lib/components/DataCube.d.ts +3 -1
  15. package/lib/components/DataCube.d.ts.map +1 -1
  16. package/lib/components/DataCube.js +32 -39
  17. package/lib/components/DataCube.js.map +1 -1
  18. package/lib/components/DataCubePlaceholder.d.ts +40 -0
  19. package/lib/components/DataCubePlaceholder.d.ts.map +1 -0
  20. package/lib/components/DataCubePlaceholder.js +34 -0
  21. package/lib/components/DataCubePlaceholder.js.map +1 -0
  22. package/lib/components/DataCubeProvider.js +1 -1
  23. package/lib/components/DataCubeProvider.js.map +1 -1
  24. package/lib/components/DataCubeStatusBar.d.ts +24 -0
  25. package/lib/components/DataCubeStatusBar.d.ts.map +1 -0
  26. package/lib/components/DataCubeStatusBar.js +30 -0
  27. package/lib/components/DataCubeStatusBar.js.map +1 -0
  28. package/lib/components/DataCubeTitleBar.d.ts +24 -0
  29. package/lib/components/DataCubeTitleBar.d.ts.map +1 -0
  30. package/lib/components/DataCubeTitleBar.js +36 -0
  31. package/lib/components/DataCubeTitleBar.js.map +1 -0
  32. package/lib/components/DataCubeView.d.ts.map +1 -1
  33. package/lib/components/DataCubeView.js +10 -12
  34. package/lib/components/DataCubeView.js.map +1 -1
  35. package/lib/components/core/DataCubeAlert.d.ts +1 -21
  36. package/lib/components/core/DataCubeAlert.d.ts.map +1 -1
  37. package/lib/components/core/DataCubeAlert.js +4 -55
  38. package/lib/components/core/DataCubeAlert.js.map +1 -1
  39. package/lib/components/core/DataCubeDocumentationPanel.js +1 -1
  40. package/lib/components/core/DataCubeDocumentationPanel.js.map +1 -1
  41. package/lib/components/core/DataCubeFormUtils.d.ts +26 -0
  42. package/lib/components/core/DataCubeFormUtils.d.ts.map +1 -1
  43. package/lib/components/core/DataCubeFormUtils.js +135 -12
  44. package/lib/components/core/DataCubeFormUtils.js.map +1 -1
  45. package/lib/components/core/{DataCubeLayoutManager.d.ts → DataCubeLayout.d.ts} +5 -5
  46. package/lib/components/core/DataCubeLayout.d.ts.map +1 -0
  47. package/lib/components/core/{DataCubeLayoutManager.js → DataCubeLayout.js} +15 -6
  48. package/lib/components/core/DataCubeLayout.js.map +1 -0
  49. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts +3 -2
  50. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts.map +1 -1
  51. package/lib/components/core/DataCubePureCodeEditorUtils.js +2 -2
  52. package/lib/components/core/DataCubePureCodeEditorUtils.js.map +1 -1
  53. package/lib/components/core/DataCubeSettingsPanel.d.ts.map +1 -1
  54. package/lib/components/core/DataCubeSettingsPanel.js +53 -27
  55. package/lib/components/core/DataCubeSettingsPanel.js.map +1 -1
  56. package/lib/components/view/editor/DataCubeEditor.d.ts.map +1 -1
  57. package/lib/components/view/editor/DataCubeEditor.js +11 -8
  58. package/lib/components/view/editor/DataCubeEditor.js.map +1 -1
  59. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  60. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js +18 -17
  61. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  62. package/lib/components/view/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
  63. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js +6 -5
  64. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  65. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
  66. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js +4 -4
  67. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  68. package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -1
  69. package/lib/components/view/extend/DataCubeColumnEditor.js +22 -20
  70. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
  71. package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -1
  72. package/lib/components/view/filter/DataCubeFilterEditor.js +8 -6
  73. package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -1
  74. package/lib/components/view/grid/DataCubeGrid.d.ts.map +1 -1
  75. package/lib/components/view/grid/DataCubeGrid.js +7 -7
  76. package/lib/components/view/grid/DataCubeGrid.js.map +1 -1
  77. package/lib/index.css +1 -1
  78. package/lib/index.d.ts +16 -8
  79. package/lib/index.d.ts.map +1 -1
  80. package/lib/index.js +16 -8
  81. package/lib/index.js.map +1 -1
  82. package/lib/package.json +2 -2
  83. package/lib/stores/DataCubeAPI.d.ts +36 -3
  84. package/lib/stores/DataCubeAPI.d.ts.map +1 -1
  85. package/lib/stores/DataCubeAPI.js +29 -1
  86. package/lib/stores/DataCubeAPI.js.map +1 -1
  87. package/lib/stores/DataCubeOptions.d.ts +84 -9
  88. package/lib/stores/DataCubeOptions.d.ts.map +1 -1
  89. package/lib/stores/DataCubeState.d.ts +29 -23
  90. package/lib/stores/DataCubeState.d.ts.map +1 -1
  91. package/lib/stores/DataCubeState.js +65 -87
  92. package/lib/stores/DataCubeState.js.map +1 -1
  93. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +2 -2
  94. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  95. package/lib/stores/core/DataCubeConfigurationBuilder.js +1 -1
  96. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  97. package/lib/stores/core/DataCubeEngine.d.ts +23 -50
  98. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
  99. package/lib/stores/core/DataCubeEngine.js +15 -98
  100. package/lib/stores/core/DataCubeEngine.js.map +1 -1
  101. package/lib/stores/core/DataCubeQueryBuilder.d.ts +3 -2
  102. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  103. package/lib/stores/core/DataCubeQueryBuilder.js +1 -1
  104. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  105. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +5 -2
  106. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  107. package/lib/stores/core/DataCubeQueryBuilderUtils.js +14 -3
  108. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  109. package/lib/stores/core/DataCubeQueryEngine.d.ts +26 -26
  110. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  111. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +2 -2
  112. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  113. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +2 -2
  114. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  115. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +57 -40
  116. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  117. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +1 -1
  118. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  119. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +5 -5
  120. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  121. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +2 -2
  122. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -1
  123. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +2 -2
  124. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -1
  125. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +2 -2
  126. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -1
  127. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +2 -2
  128. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -1
  129. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +2 -2
  130. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -1
  131. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +2 -2
  132. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -1
  133. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +2 -2
  134. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -1
  135. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +2 -2
  136. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -1
  137. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +2 -2
  138. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -1
  139. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +2 -2
  140. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -1
  141. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +2 -2
  142. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -1
  143. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +2 -2
  144. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -1
  145. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +2 -2
  146. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -1
  147. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +2 -2
  148. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -1
  149. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +1 -1
  160. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  161. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +1 -1
  162. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  163. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +1 -1
  164. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  165. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +1 -1
  166. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  167. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +1 -1
  168. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  169. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +1 -1
  170. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  171. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +1 -1
  172. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  173. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +1 -1
  174. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  175. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +1 -1
  176. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  177. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +1 -1
  178. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  179. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +1 -1
  180. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  181. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +1 -1
  182. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +1 -1
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +1 -1
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +1 -1
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +1 -1
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +1 -1
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +1 -1
  194. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  195. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +1 -1
  196. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  197. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +1 -1
  198. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  199. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +1 -1
  200. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  201. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +1 -1
  202. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  203. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +1 -1
  204. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  205. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +1 -1
  206. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  207. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts +29 -0
  208. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts.map +1 -0
  209. package/lib/stores/core/model/AdhocQueryDataCubeSource.js +35 -0
  210. package/lib/stores/core/model/AdhocQueryDataCubeSource.js.map +1 -0
  211. package/lib/stores/core/model/DataCubeColumn.d.ts.map +1 -0
  212. package/lib/stores/core/model/DataCubeColumn.js.map +1 -0
  213. package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -0
  214. package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -0
  215. package/lib/stores/core/model/DataCubeQuery.d.ts.map +1 -0
  216. package/lib/stores/core/model/DataCubeQuery.js.map +1 -0
  217. package/lib/stores/core/{models → model}/DataCubeSource.d.ts +1 -1
  218. package/lib/stores/core/model/DataCubeSource.d.ts.map +1 -0
  219. package/lib/stores/core/{models → model}/DataCubeSource.js +1 -1
  220. package/lib/stores/core/model/DataCubeSource.js.map +1 -0
  221. package/lib/stores/services/DataCubeAlertService.d.ts +56 -0
  222. package/lib/stores/services/DataCubeAlertService.d.ts.map +1 -0
  223. package/lib/stores/services/DataCubeAlertService.js +89 -0
  224. package/lib/stores/services/DataCubeAlertService.js.map +1 -0
  225. package/lib/stores/services/DataCubeDocumentationService.d.ts +29 -0
  226. package/lib/stores/services/DataCubeDocumentationService.d.ts.map +1 -0
  227. package/lib/stores/services/DataCubeDocumentationService.js +41 -0
  228. package/lib/stores/services/DataCubeDocumentationService.js.map +1 -0
  229. package/lib/stores/{core/DataCubeLayoutManagerState.d.ts → services/DataCubeLayoutService.d.ts} +28 -7
  230. package/lib/stores/services/DataCubeLayoutService.d.ts.map +1 -0
  231. package/lib/stores/{core/DataCubeLayoutManagerState.js → services/DataCubeLayoutService.js} +58 -21
  232. package/lib/stores/services/DataCubeLayoutService.js.map +1 -0
  233. package/lib/stores/services/DataCubeLogService.d.ts +29 -0
  234. package/lib/stores/services/DataCubeLogService.d.ts.map +1 -0
  235. package/lib/stores/services/DataCubeLogService.js +43 -0
  236. package/lib/stores/services/DataCubeLogService.js.map +1 -0
  237. package/lib/stores/services/DataCubeNavigationService.d.ts +22 -0
  238. package/lib/stores/services/DataCubeNavigationService.d.ts.map +1 -0
  239. package/lib/stores/services/DataCubeNavigationService.js +25 -0
  240. package/lib/stores/services/DataCubeNavigationService.js.map +1 -0
  241. package/lib/stores/{view/DataCubeQuerySnapshotManager.d.ts → services/DataCubeQuerySnapshotService.d.ts} +18 -13
  242. package/lib/stores/services/DataCubeQuerySnapshotService.d.ts.map +1 -0
  243. package/lib/stores/{view/DataCubeQuerySnapshotManager.js → services/DataCubeQuerySnapshotService.js} +42 -29
  244. package/lib/stores/services/DataCubeQuerySnapshotService.js.map +1 -0
  245. package/lib/stores/services/DataCubeSettingService.d.ts +75 -0
  246. package/lib/stores/services/DataCubeSettingService.d.ts.map +1 -0
  247. package/lib/stores/services/DataCubeSettingService.js +312 -0
  248. package/lib/stores/services/DataCubeSettingService.js.map +1 -0
  249. package/lib/stores/services/DataCubeTaskService.d.ts +41 -0
  250. package/lib/stores/services/DataCubeTaskService.d.ts.map +1 -0
  251. package/lib/stores/services/DataCubeTaskService.js +84 -0
  252. package/lib/stores/services/DataCubeTaskService.js.map +1 -0
  253. package/lib/stores/services/DataCubeTelemetryService.d.ts +23 -0
  254. package/lib/stores/services/DataCubeTelemetryService.d.ts.map +1 -0
  255. package/lib/stores/services/DataCubeTelemetryService.js +25 -0
  256. package/lib/stores/services/DataCubeTelemetryService.js.map +1 -0
  257. package/lib/stores/view/DataCubeInfoState.d.ts +2 -1
  258. package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -1
  259. package/lib/stores/view/DataCubeInfoState.js +10 -4
  260. package/lib/stores/view/DataCubeInfoState.js.map +1 -1
  261. package/lib/stores/view/DataCubeViewState.d.ts +20 -19
  262. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  263. package/lib/stores/view/DataCubeViewState.js +47 -57
  264. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  265. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +2 -4
  266. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  267. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +3 -5
  268. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  269. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts +1 -3
  270. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts.map +1 -1
  271. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js +3 -5
  272. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js.map +1 -1
  273. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts +2 -4
  274. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  275. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +15 -17
  276. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  277. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +1 -4
  278. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  279. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +0 -4
  280. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  281. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +3 -5
  282. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
  283. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +7 -9
  284. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
  285. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +1 -1
  286. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  287. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +1 -1
  288. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  289. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts +1 -1
  290. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  291. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts +2 -4
  292. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -1
  293. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js +3 -5
  294. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -1
  295. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +1 -4
  296. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  297. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +10 -14
  298. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  299. package/lib/stores/view/editor/DataCubeEditorState.d.ts +4 -3
  300. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
  301. package/lib/stores/view/editor/DataCubeEditorState.js +11 -9
  302. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
  303. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +1 -4
  304. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  305. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +4 -8
  306. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  307. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +4 -4
  308. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  309. package/lib/stores/view/extend/DataCubeColumnEditorState.js +22 -22
  310. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  311. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts +7 -6
  312. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
  313. package/lib/stores/view/extend/DataCubeExtendManagerState.js +18 -20
  314. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
  315. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts +4 -3
  316. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  317. package/lib/stores/view/filter/DataCubeFilterEditorState.js +8 -6
  318. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  319. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +6 -4
  320. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  321. package/lib/stores/view/grid/DataCubeGridClientEngine.js +46 -35
  322. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  323. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts +1 -3
  324. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts.map +1 -1
  325. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js +7 -9
  326. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js.map +1 -1
  327. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +2 -2
  328. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  329. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +5 -5
  330. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  331. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +8 -6
  332. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
  333. package/lib/stores/view/grid/DataCubeGridControllerState.js +8 -3
  334. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
  335. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  336. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +7 -7
  337. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  338. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +1 -1
  339. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  340. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +3 -3
  341. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  342. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts +2 -2
  343. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  344. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +2 -2
  345. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  346. package/lib/stores/view/grid/DataCubeGridState.d.ts +4 -2
  347. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
  348. package/lib/stores/view/grid/DataCubeGridState.js +18 -11
  349. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
  350. package/package.json +6 -6
  351. package/src/__lib__/DataCubeDocumentation.ts +7 -7
  352. package/src/__lib__/DataCubeEvent.ts +21 -0
  353. package/src/__lib__/DataCubeSetting.ts +24 -0
  354. package/src/components/DataCube.tsx +61 -85
  355. package/src/components/DataCubePlaceholder.tsx +97 -0
  356. package/src/components/DataCubeProvider.tsx +1 -1
  357. package/src/components/DataCubeStatusBar.tsx +71 -0
  358. package/src/components/DataCubeTitleBar.tsx +81 -0
  359. package/src/components/DataCubeView.tsx +20 -44
  360. package/src/components/core/DataCubeAlert.tsx +15 -104
  361. package/src/components/core/DataCubeDocumentationPanel.tsx +1 -1
  362. package/src/components/core/DataCubeFormUtils.tsx +256 -24
  363. package/src/components/core/{DataCubeLayoutManager.tsx → DataCubeLayout.tsx} +33 -22
  364. package/src/components/core/DataCubePureCodeEditorUtils.tsx +9 -5
  365. package/src/components/core/DataCubeSettingsPanel.tsx +166 -134
  366. package/src/components/view/editor/DataCubeEditor.tsx +18 -19
  367. package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +24 -22
  368. package/src/components/view/editor/DataCubeEditorColumnsPanel.tsx +14 -18
  369. package/src/components/view/editor/DataCubeEditorGeneralPropertiesPanel.tsx +6 -5
  370. package/src/components/view/extend/DataCubeColumnEditor.tsx +43 -38
  371. package/src/components/view/filter/DataCubeFilterEditor.tsx +14 -20
  372. package/src/components/view/grid/DataCubeGrid.tsx +9 -8
  373. package/src/index.tsx +30 -8
  374. package/src/stores/DataCubeAPI.ts +58 -3
  375. package/src/stores/DataCubeOptions.ts +108 -15
  376. package/src/stores/DataCubeState.tsx +93 -123
  377. package/src/stores/core/DataCubeConfigurationBuilder.ts +2 -2
  378. package/src/stores/core/DataCubeEngine.tsx +51 -234
  379. package/src/stores/core/DataCubeQueryBuilder.ts +3 -2
  380. package/src/stores/core/DataCubeQueryBuilderUtils.ts +19 -2
  381. package/src/stores/core/DataCubeQueryEngine.ts +27 -27
  382. package/src/stores/core/DataCubeQuerySnapshot.ts +2 -2
  383. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +77 -42
  384. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +5 -5
  385. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +2 -2
  386. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +2 -2
  387. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +2 -2
  388. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +2 -2
  389. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +2 -2
  390. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +2 -2
  391. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +2 -2
  392. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +2 -2
  393. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +2 -2
  394. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +2 -2
  395. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +2 -2
  396. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +2 -2
  397. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +2 -2
  398. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +2 -2
  399. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +1 -1
  400. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +1 -1
  401. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +1 -1
  402. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +1 -1
  403. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +1 -1
  404. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +1 -1
  405. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +1 -1
  406. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +1 -1
  407. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +1 -1
  408. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +1 -1
  409. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +1 -1
  410. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +1 -1
  411. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +1 -1
  412. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +1 -1
  413. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +1 -1
  414. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +1 -1
  415. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +1 -1
  416. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +1 -1
  417. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +1 -1
  418. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +1 -1
  419. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +1 -1
  420. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +1 -1
  421. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +1 -1
  422. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +1 -1
  423. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +1 -1
  424. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +1 -1
  425. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +1 -1
  426. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +1 -1
  427. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +1 -1
  428. package/src/stores/core/model/AdhocQueryDataCubeSource.ts +45 -0
  429. package/src/stores/core/{models → model}/DataCubeSource.ts +1 -1
  430. package/src/stores/services/DataCubeAlertService.tsx +169 -0
  431. package/src/stores/services/DataCubeDocumentationService.tsx +74 -0
  432. package/src/stores/{core/DataCubeLayoutManagerState.ts → services/DataCubeLayoutService.tsx} +96 -23
  433. package/src/stores/services/DataCubeLogService.ts +54 -0
  434. package/src/stores/services/DataCubeNavigationService.ts +29 -0
  435. package/src/stores/{view/DataCubeQuerySnapshotManager.ts → services/DataCubeQuerySnapshotService.ts} +62 -40
  436. package/src/stores/services/DataCubeSettingService.tsx +489 -0
  437. package/src/stores/services/DataCubeTaskService.ts +102 -0
  438. package/src/stores/services/DataCubeTelemetryService.ts +30 -0
  439. package/src/stores/view/DataCubeInfoState.ts +12 -4
  440. package/src/stores/view/DataCubeViewState.ts +60 -68
  441. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +4 -6
  442. package/src/stores/view/editor/DataCubeEditorColumnSelectorState.ts +3 -6
  443. package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +16 -18
  444. package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +1 -8
  445. package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +9 -11
  446. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +1 -1
  447. package/src/stores/view/editor/DataCubeEditorPanelState.ts +1 -1
  448. package/src/stores/view/editor/DataCubeEditorPivotLayoutPanelState.ts +4 -7
  449. package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +11 -16
  450. package/src/stores/view/editor/DataCubeEditorState.tsx +23 -15
  451. package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +5 -10
  452. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +30 -28
  453. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +39 -30
  454. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +11 -8
  455. package/src/stores/view/grid/DataCubeGridClientEngine.ts +69 -50
  456. package/src/stores/view/grid/DataCubeGridClientExportEngine.ts +7 -10
  457. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +3 -6
  458. package/src/stores/view/grid/DataCubeGridControllerState.ts +11 -3
  459. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +20 -8
  460. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +9 -3
  461. package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +2 -2
  462. package/src/stores/view/grid/DataCubeGridState.ts +37 -14
  463. package/tsconfig.json +20 -8
  464. package/lib/components/core/DataCubeLayoutManager.d.ts.map +0 -1
  465. package/lib/components/core/DataCubeLayoutManager.js.map +0 -1
  466. package/lib/stores/DataCubeSettings.d.ts +0 -42
  467. package/lib/stores/DataCubeSettings.d.ts.map +0 -1
  468. package/lib/stores/DataCubeSettings.js +0 -76
  469. package/lib/stores/DataCubeSettings.js.map +0 -1
  470. package/lib/stores/core/DataCubeLayoutManagerState.d.ts.map +0 -1
  471. package/lib/stores/core/DataCubeLayoutManagerState.js.map +0 -1
  472. package/lib/stores/core/models/DataCubeColumn.d.ts.map +0 -1
  473. package/lib/stores/core/models/DataCubeColumn.js.map +0 -1
  474. package/lib/stores/core/models/DataCubeConfiguration.d.ts.map +0 -1
  475. package/lib/stores/core/models/DataCubeConfiguration.js.map +0 -1
  476. package/lib/stores/core/models/DataCubeQuery.d.ts.map +0 -1
  477. package/lib/stores/core/models/DataCubeQuery.js.map +0 -1
  478. package/lib/stores/core/models/DataCubeSource.d.ts.map +0 -1
  479. package/lib/stores/core/models/DataCubeSource.js.map +0 -1
  480. package/lib/stores/view/DataCubeQuerySnapshotManager.d.ts.map +0 -1
  481. package/lib/stores/view/DataCubeQuerySnapshotManager.js.map +0 -1
  482. package/src/stores/DataCubeSettings.ts +0 -107
  483. /package/lib/stores/core/{models → model}/DataCubeColumn.d.ts +0 -0
  484. /package/lib/stores/core/{models → model}/DataCubeColumn.js +0 -0
  485. /package/lib/stores/core/{models → model}/DataCubeConfiguration.d.ts +0 -0
  486. /package/lib/stores/core/{models → model}/DataCubeConfiguration.js +0 -0
  487. /package/lib/stores/core/{models → model}/DataCubeQuery.d.ts +0 -0
  488. /package/lib/stores/core/{models → model}/DataCubeQuery.js +0 -0
  489. /package/src/stores/core/{models → model}/DataCubeColumn.ts +0 -0
  490. /package/src/stores/core/{models → model}/DataCubeConfiguration.ts +0 -0
  491. /package/src/stores/core/{models → model}/DataCubeQuery.ts +0 -0
@@ -20,21 +20,18 @@ import { DataCubeEditorColumnSelector } from './DataCubeEditorColumnSelector.js'
20
20
  import { useEffect } from 'react';
21
21
  import type { DataCubeViewState } from '../../../stores/view/DataCubeViewState.js';
22
22
  import { FormCheckbox } from '../../core/DataCubeFormUtils.js';
23
- import type {
24
- DataCubeEditorColumnSelectorColumnState,
25
- DataCubeEditorColumnSelectorState,
26
- } from '../../../stores/view/editor/DataCubeEditorColumnSelectorState.js';
23
+ import type { DataCubeEditorColumnSelectorColumnState } from '../../../stores/view/editor/DataCubeEditorColumnSelectorState.js';
24
+ import type { DataCubeEditorState } from '../../../stores/view/editor/DataCubeEditorState.js';
27
25
 
28
26
  const ColumnSelectorLabel = observer(
29
27
  (props: {
30
- selector: DataCubeEditorColumnSelectorState<DataCubeEditorColumnSelectorColumnState>;
31
28
  column: DataCubeEditorColumnSelectorColumnState;
29
+ editor: DataCubeEditorState;
32
30
  }) => {
33
- const { selector, column } = props;
34
- const showHiddenIndicator =
35
- selector.editor.columnProperties.getColumnConfiguration(
36
- column.name,
37
- ).hideFromView;
31
+ const { column, editor } = props;
32
+ const showHiddenIndicator = editor.columnProperties.getColumnConfiguration(
33
+ column.name,
34
+ ).hideFromView;
38
35
 
39
36
  return (
40
37
  <>
@@ -49,18 +46,14 @@ const ColumnSelectorLabel = observer(
49
46
  {column.name}
50
47
  </div>
51
48
  {Boolean(
52
- selector.editor.leafExtendColumns.find(
53
- (col) => col.name === column.name,
54
- ),
49
+ editor.leafExtendColumns.find((col) => col.name === column.name),
55
50
  ) && (
56
51
  <div className="ml-1.5 mr-0.5 flex h-3.5 flex-shrink-0 items-center rounded-sm border border-neutral-300 bg-neutral-100 px-1 text-xs font-medium uppercase text-neutral-600">
57
52
  {`Extended (Leaf Level)`}
58
53
  </div>
59
54
  )}
60
55
  {Boolean(
61
- selector.editor.groupExtendColumns.find(
62
- (col) => col.name === column.name,
63
- ),
56
+ editor.groupExtendColumns.find((col) => col.name === column.name),
64
57
  ) && (
65
58
  <div className="ml-1.5 mr-0.5 flex h-3.5 flex-shrink-0 items-center rounded-sm border border-neutral-300 bg-neutral-100 px-1 text-xs font-medium uppercase text-neutral-600">
66
59
  {`Extended (Group Level)`}
@@ -74,7 +67,8 @@ const ColumnSelectorLabel = observer(
74
67
  export const DataCubeEditorColumnsPanel = observer(
75
68
  (props: { view: DataCubeViewState }) => {
76
69
  const { view } = props;
77
- const panel = view.editor.columns;
70
+ const editor = view.editor;
71
+ const panel = editor.columns;
78
72
 
79
73
  useEffect(() => () => panel.propagateChanges(), [panel]);
80
74
 
@@ -112,7 +106,9 @@ export const DataCubeEditorColumnsPanel = observer(
112
106
  No columns selected
113
107
  </div>
114
108
  )}
115
- columnLabelRenderer={(p) => <ColumnSelectorLabel {...p} />}
109
+ columnLabelRenderer={(p) => (
110
+ <ColumnSelectorLabel {...p} editor={editor} />
111
+ )}
116
112
  />
117
113
  </div>
118
114
  </div>
@@ -42,9 +42,10 @@ import {
42
42
  FormNumberInput,
43
43
  FormBadge_WIP,
44
44
  FormDocumentation,
45
+ FormButton,
45
46
  } from '../../core/DataCubeFormUtils.js';
46
47
  import type { DataCubeViewState } from '../../../stores/view/DataCubeViewState.js';
47
- import { DocumentationKey } from '../../../__lib__/DataCubeDocumentation.js';
48
+ import { DataCubeDocumentationKey } from '../../../__lib__/DataCubeDocumentation.js';
48
49
 
49
50
  export const DataCubeEditorGeneralPropertiesPanel = observer(
50
51
  (props: { view: DataCubeViewState }) => {
@@ -203,7 +204,7 @@ export const DataCubeEditorGeneralPropertiesPanel = observer(
203
204
  <FormDocumentation
204
205
  className="ml-1"
205
206
  documentationKey={
206
- DocumentationKey.DATA_CUBE_GRID_CONFIGURATION_ROW_LIMIT
207
+ DataCubeDocumentationKey.GRID_CONFIGURATION_ROW_LIMIT
207
208
  }
208
209
  />
209
210
  </div>
@@ -773,13 +774,13 @@ export const DataCubeEditorGeneralPropertiesPanel = observer(
773
774
  <div className="flex h-6 w-32 flex-shrink-0 items-center text-sm" />
774
775
  <div className="w-80">
775
776
  <div className="mb-2 h-[1px] w-full bg-neutral-200" />
776
- <button
777
- className="flex h-5 items-center justify-center rounded-sm border border-neutral-400 bg-neutral-200 p-0 px-1 text-sm text-neutral-700 disabled:text-neutral-400"
777
+ <FormButton
778
+ compact={true}
778
779
  disabled={configuration.isUsingDefaultStyling}
779
780
  onClick={() => configuration.useDefaultStyling()}
780
781
  >
781
782
  Use Default Styling
782
- </button>
783
+ </FormButton>
783
784
  </div>
784
785
  </div>
785
786
  </div>
@@ -36,6 +36,7 @@ import {
36
36
  MONACO_EDITOR_OVERFLOW_WIDGETS_ROOT_ID,
37
37
  } from '../../core/DataCubePureCodeEditorUtils.js';
38
38
  import {
39
+ FormButton,
39
40
  FormDocumentation,
40
41
  FormDropdownMenu,
41
42
  FormDropdownMenuItem,
@@ -48,7 +49,8 @@ import {
48
49
  DataCubeColumnDataType,
49
50
  DataCubeColumnKind,
50
51
  } from '../../../stores/core/DataCubeQueryEngine.js';
51
- import { DocumentationKey } from '../../../__lib__/DataCubeDocumentation.js';
52
+ import { DataCubeDocumentationKey } from '../../../__lib__/DataCubeDocumentation.js';
53
+ import { useDataCube } from '../../DataCubeProvider.js';
52
54
 
53
55
  enum DataCubeExtendedColumnKind {
54
56
  LEAF_LEVEL_MEASURE = 'Leaf Level Measure',
@@ -59,8 +61,9 @@ enum DataCubeExtendedColumnKind {
59
61
  export const DataCubeColumnCreator = observer(
60
62
  (props: { state: DataCubeColumnBaseEditorState }) => {
61
63
  const { state } = props;
64
+ const dataCube = useDataCube();
62
65
  const view = state.view;
63
- const engine = view.engine;
66
+ const manager = view.extend;
64
67
 
65
68
  const nameInputRef = useRef<HTMLInputElement>(null);
66
69
  const currentColumnKind = state.isGroupLevel
@@ -91,9 +94,9 @@ export const DataCubeColumnCreator = observer(
91
94
  debounce((): void => {
92
95
  state
93
96
  .getReturnType()
94
- .catch((error) => engine.alertUnhandledError(error));
97
+ .catch((error) => dataCube.alertService.alertUnhandledError(error));
95
98
  }, 500),
96
- [state, engine],
99
+ [state, dataCube],
97
100
  );
98
101
 
99
102
  useEffect(() => {
@@ -136,7 +139,8 @@ export const DataCubeColumnCreator = observer(
136
139
  position,
137
140
  model,
138
141
  state.codePrefix,
139
- view,
142
+ view.engine,
143
+ view.source,
140
144
  () => state.buildExtendBaseQuery(),
141
145
  ),
142
146
  );
@@ -191,7 +195,7 @@ export const DataCubeColumnCreator = observer(
191
195
 
192
196
  return (
193
197
  <>
194
- <div className="relative h-[calc(100%_-_40px)] w-full px-2 pt-2">
198
+ <div className="h-[calc(100%_-_40px)] w-full px-2 pt-2">
195
199
  <div className="h-full w-full overflow-auto border border-neutral-300 bg-white">
196
200
  <div className="h-full w-full select-none p-0">
197
201
  <div className="h-24 w-full p-2">
@@ -205,7 +209,7 @@ export const DataCubeColumnCreator = observer(
205
209
  disabled={state.finalizationState.isInProgress}
206
210
  value={state.name}
207
211
  onChange={(event) => {
208
- state.setName(event.target.value.trim());
212
+ state.setName(event.target.value);
209
213
  }}
210
214
  />
211
215
  <div className="ml-0.5 flex h-5 w-5 flex-shrink-0 items-center justify-center text-lg">
@@ -222,7 +226,7 @@ export const DataCubeColumnCreator = observer(
222
226
  <FormDocumentation
223
227
  className="ml-1"
224
228
  documentationKey={
225
- DocumentationKey.DATA_CUBE_EXTENDED_COLUMN_LEVELS
229
+ DataCubeDocumentationKey.EXTENDED_COLUMN_LEVELS
226
230
  }
227
231
  />
228
232
  </div>
@@ -340,52 +344,53 @@ export const DataCubeColumnCreator = observer(
340
344
  </div>
341
345
  </div>
342
346
  <div className="flex h-10 items-center justify-end px-2">
343
- <button
344
- className="h-6 w-20 border border-neutral-400 bg-neutral-300 px-2 hover:brightness-95 disabled:cursor-not-allowed disabled:border-neutral-300 disabled:text-neutral-400 disabled:hover:brightness-100"
345
- disabled={
346
- !state.isNameValid ||
347
- !state.isTypeValid ||
348
- state.validationState.isInProgress ||
349
- state.finalizationState.isInProgress
350
- }
351
- onClick={() => {
352
- state
353
- .applyChanges()
354
- .catch((error) => engine.alertUnhandledError(error));
355
- }}
356
- >
357
- OK
358
- </button>
347
+ <FormButton onClick={() => state.close()}>Cancel</FormButton>
359
348
  {state instanceof DataCubeExistingColumnEditorState && (
360
349
  <>
361
- <button
362
- className="ml-2 h-6 w-20 border border-neutral-400 bg-neutral-300 px-2 hover:brightness-95"
350
+ <FormButton
351
+ className="ml-2"
363
352
  onClick={() => {
364
- state.manager
353
+ manager
365
354
  .deleteColumn(state.initialData.name)
366
- .catch((error) => engine.alertUnhandledError(error));
355
+ .catch((error) =>
356
+ dataCube.alertService.alertUnhandledError(error),
357
+ );
367
358
  }}
368
359
  >
369
360
  Delete
370
- </button>
371
- <button
372
- className="ml-2 h-6 w-20 border border-neutral-400 bg-neutral-300 px-2 hover:brightness-95"
361
+ </FormButton>
362
+ <FormButton
363
+ className="ml-2"
373
364
  onClick={() => {
374
365
  state
375
366
  .reset()
376
- .catch((error) => engine.alertUnhandledError(error));
367
+ .catch((error) =>
368
+ dataCube.alertService.alertUnhandledError(error),
369
+ );
377
370
  }}
378
371
  >
379
372
  Reset
380
- </button>
373
+ </FormButton>
381
374
  </>
382
375
  )}
383
- <button
384
- className="ml-2 h-6 w-20 border border-neutral-400 bg-neutral-300 px-2 hover:brightness-95"
385
- onClick={() => state.close()}
376
+ <FormButton
377
+ className="ml-2"
378
+ disabled={
379
+ !state.isNameValid ||
380
+ !state.isTypeValid ||
381
+ state.validationState.isInProgress ||
382
+ state.finalizationState.isInProgress
383
+ }
384
+ onClick={() => {
385
+ state
386
+ .applyChanges()
387
+ .catch((error) =>
388
+ dataCube.alertService.alertUnhandledError(error),
389
+ );
390
+ }}
386
391
  >
387
- Cancel
388
- </button>
392
+ OK
393
+ </FormButton>
389
394
  </div>
390
395
  </>
391
396
  );
@@ -37,6 +37,7 @@ import {
37
37
  type DataCubeFilterEditorTreeNode,
38
38
  } from '../../../stores/core/filter/DataCubeQueryFilterEditorState.js';
39
39
  import {
40
+ FormButton,
40
41
  FormDropdownMenu,
41
42
  FormDropdownMenuItem,
42
43
  FormDropdownMenuTrigger,
@@ -51,6 +52,7 @@ import {
51
52
  parseISO,
52
53
  } from '@finos/legend-shared';
53
54
  import { evaluate } from 'mathjs';
55
+ import { useDataCube } from '../../DataCubeProvider.js';
54
56
 
55
57
  const FILTER_TREE_OFFSET = 10;
56
58
  const FILTER_TREE_INDENTATION_SPACE = 36;
@@ -472,6 +474,7 @@ const DataCubeEditorFilterConditionNodeDisplay = observer(
472
474
  view: DataCubeViewState;
473
475
  }) => {
474
476
  const { node, level, view } = props;
477
+ const dataCube = useDataCube();
475
478
  const editor = view.filter;
476
479
  const parentNode = node.parent;
477
480
  const nodeIdx = parentNode ? parentNode.children.indexOf(node) : undefined;
@@ -569,7 +572,7 @@ const DataCubeEditorFilterConditionNodeDisplay = observer(
569
572
  const newOp = node.operation.isCompatibleWithColumn(column)
570
573
  ? node.operation
571
574
  : getNullableFirstEntry(
572
- editor.view.engine.filterOperations.filter((op) =>
575
+ dataCube.engine.filterOperations.filter((op) =>
573
576
  op.isCompatibleWithColumn(column),
574
577
  ),
575
578
  );
@@ -599,7 +602,7 @@ const DataCubeEditorFilterConditionNodeDisplay = observer(
599
602
  {...operationDropdownProps}
600
603
  onClosed={focusOnValueEditor}
601
604
  >
602
- {editor.view.engine.filterOperations
605
+ {dataCube.engine.filterOperations
603
606
  .filter((op) => op.isCompatibleWithColumn(node.column))
604
607
  .map((op) => (
605
608
  <FormDropdownMenuItem
@@ -844,14 +847,13 @@ export const DataCubeFilterEditor = observer(
844
847
  <div>
845
848
  No filter is specified. Click the button below to start.
846
849
  </div>
847
- <button
848
- className="w-30 mt-2 h-6 border border-neutral-400 bg-neutral-300 px-2 hover:brightness-95"
850
+ <FormButton
849
851
  onClick={() => {
850
852
  editor.initializeTree();
851
853
  }}
852
854
  >
853
855
  Create New Filter
854
- </button>
856
+ </FormButton>
855
857
  </div>
856
858
  )}
857
859
  {editor.tree.root && (
@@ -879,27 +881,19 @@ export const DataCubeFilterEditor = observer(
879
881
  </div>
880
882
  </div>
881
883
  <div className="flex h-10 items-center justify-end px-2">
882
- <button
883
- className="h-6 w-20 border border-neutral-400 bg-neutral-300 px-2 hover:brightness-95"
884
+ <FormButton onClick={() => editor.display.close()}>Cancel</FormButton>
885
+ <FormButton className="ml-2" onClick={() => editor.applyChanges()}>
886
+ Apply
887
+ </FormButton>
888
+ <FormButton
889
+ className="ml-2"
884
890
  onClick={() => {
885
891
  editor.applyChanges();
886
892
  editor.display.close();
887
893
  }}
888
894
  >
889
895
  OK
890
- </button>
891
- <button
892
- className="ml-2 h-6 w-20 border border-neutral-400 bg-neutral-300 px-2 hover:brightness-95"
893
- onClick={() => editor.display.close()}
894
- >
895
- Cancel
896
- </button>
897
- <button
898
- className="ml-2 h-6 w-20 border border-neutral-400 bg-neutral-300 px-2 hover:brightness-95"
899
- onClick={() => editor.applyChanges()}
900
- >
901
- Apply
902
- </button>
896
+ </FormButton>
903
897
  </div>
904
898
  </>
905
899
  );
@@ -41,7 +41,7 @@ import { isNonNullable } from '@finos/legend-shared';
41
41
  import type {
42
42
  DataCubeConfiguration,
43
43
  DataCubeConfigurationColorKey,
44
- } from '../../../stores/core/models/DataCubeConfiguration.js';
44
+ } from '../../../stores/core/model/DataCubeConfiguration.js';
45
45
  import { generateBaseGridOptions } from '../../../stores/view/grid/DataCubeGridConfigurationBuilder.js';
46
46
  import type { DataCubeViewState } from '../../../stores/view/DataCubeViewState.js';
47
47
 
@@ -50,13 +50,6 @@ import type { DataCubeViewState } from '../../../stores/view/DataCubeViewState.j
50
50
  // We MUST NEVER completely surpress this warning in production, else it's a violation of the ag-grid license!
51
51
  // See https://www.ag-grid.com/react-data-grid/licensing/
52
52
  const __INTERNAL__original_console_error = console.error; // eslint-disable-line no-console
53
- // eslint-disable-next-line no-process-env
54
- if (process.env.NODE_ENV === 'development') {
55
- // eslint-disable-next-line no-console
56
- console.error = (message?: unknown, ...agrs: unknown[]) => {
57
- console.debug(`%c ${message}`, 'color: silver'); // eslint-disable-line no-console
58
- };
59
- }
60
53
 
61
54
  function textColorStyle(
62
55
  key: DataCubeConfigurationColorKey,
@@ -332,6 +325,14 @@ const DataCubeGridClient = observer((props: { view: DataCubeViewState }) => {
332
325
  const { view } = props;
333
326
  const grid = view.grid;
334
327
 
328
+ // eslint-disable-next-line no-process-env
329
+ if (process.env.NODE_ENV === 'development' && !grid.isClientConfigured) {
330
+ // eslint-disable-next-line no-console
331
+ console.error = (message?: unknown, ...agrs: unknown[]) => {
332
+ console.debug(`%c ${message}`, 'color: silver'); // eslint-disable-line no-console
333
+ };
334
+ }
335
+
335
336
  return (
336
337
  <div className="relative h-[calc(100%_-_20px)] w-full">
337
338
  <AgGridReact
package/src/index.tsx CHANGED
@@ -14,18 +14,40 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export * from './stores/core/models/DataCubeQuery.js';
18
- export * from './stores/core/models/DataCubeSource.js';
19
- export * from './stores/core/models/DataCubeConfiguration.js';
17
+ export * from './stores/core/model/DataCubeQuery.js';
18
+ export * from './stores/core/model/DataCubeSource.js';
19
+ export { type DataCubeColumn } from './stores/core/model/DataCubeColumn.js';
20
+ export * from './stores/core/model/DataCubeConfiguration.js';
21
+ export * from './stores/core/model/AdhocQueryDataCubeSource.js';
20
22
 
21
23
  export * from './stores/core/DataCubeEngine.js';
22
24
  export * from './stores/core/DataCubeQueryEngine.js';
23
- export * from './stores/core/DataCubeLayoutManagerState.js';
24
25
  export * from './stores/core/DataCubeQueryBuilderUtils.js';
25
- export { DataCubeState } from './stores/DataCubeState.js';
26
- export * from './stores/DataCubeAPI.js';
27
- export * from './stores/DataCubeOptions.js';
28
- export { DataCubeSettingKey } from './stores/DataCubeSettings.js';
29
26
 
27
+ export {
28
+ type DataCubeSetting,
29
+ DataCubeSettingGroup,
30
+ DataCubeSettingType,
31
+ type DataCubeSettingValues,
32
+ } from './stores/services/DataCubeSettingService.js';
33
+ export {
34
+ DataCubeLayoutService,
35
+ WindowState,
36
+ DisplayState,
37
+ LayoutConfiguration,
38
+ DEFAULT_TOOL_PANEL_WINDOW_CONFIG,
39
+ DEFAULT_ALERT_WINDOW_CONFIG,
40
+ } from './stores/services/DataCubeLayoutService.js';
41
+ export * from './stores/services/DataCubeTaskService.js';
42
+ export * from './stores/services/DataCubeLogService.js';
43
+ export * from './stores/services/DataCubeAlertService.js';
30
44
  export * from './components/core/DataCubeAlert.js';
45
+ export * from './components/core/DataCubeLayout.js';
46
+
47
+ export { useDataCube } from './components/DataCubeProvider.js';
48
+ export { type DataCubeAPI } from './stores/DataCubeAPI.js';
49
+ export * from './stores/DataCubeOptions.js';
31
50
  export * from './components/DataCube.js';
51
+
52
+ export * from './components/core/DataCubeFormUtils.js';
53
+ export * from './components/DataCubePlaceholder.js';
@@ -14,9 +14,64 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { DataCubeSettings } from './DataCubeSettings.js';
17
+ import type { DataCubeQuery } from './core/model/DataCubeQuery.js';
18
+ import type { DataCubeState } from './DataCubeState.js';
19
+ import type { DataCubeViewState } from './view/DataCubeViewState.js';
18
20
 
21
+ /**
22
+ * This is the API exposed externally by DataCube to restrict access to certain
23
+ * internal components and functionalities.
24
+ */
19
25
  export interface DataCubeAPI {
20
- getSettings(): DataCubeSettings;
21
- refreshFailedDataFetches(): void;
26
+ /**
27
+ * Generates the data cube query (including the query, configuration, and source)
28
+ * from the latest state of the DataCube.
29
+ */
30
+ generateDataCubeQuery(): Promise<DataCubeQuery>;
31
+ /**
32
+ * Retries all failed data fetches and rerender the grid.
33
+ */
34
+ retryFailedDataFetches(): void;
35
+ /**
36
+ * (Force) reload/rerender the DataCube component.
37
+ *
38
+ * This is often used when updating settings that requires a restart.
39
+ */
40
+ reload(): void;
41
+ }
42
+
43
+ /**
44
+ * This implementation wraps around DataCube state to expose a cleaner API to clients.
45
+ * It also provides a typing-hack for core components to access advanced functionalities,
46
+ * e.g. access to the internals of DataCube view state, grid client, etc., which should
47
+ * not be exposed externally via the public interface.
48
+ */
49
+ export class INTERNAL__DataCubeAPI implements DataCubeAPI {
50
+ private readonly _dataCube: DataCubeState;
51
+
52
+ constructor(dataCube: DataCubeState) {
53
+ this._dataCube = dataCube;
54
+ }
55
+
56
+ _runTaskForEachView(runner: (view: DataCubeViewState) => void) {
57
+ // TODO: When we support multi-view (i.e. multiple instances of DataCubes) we would need
58
+ // to traverse through and update the configurations of all of their grid clients
59
+ runner(this._dataCube.view);
60
+ }
61
+
62
+ // ----------------------------- API -----------------------------
63
+
64
+ generateDataCubeQuery() {
65
+ return this._dataCube.view.generateDataCubeQuery();
66
+ }
67
+
68
+ retryFailedDataFetches() {
69
+ this._runTaskForEachView((view) => {
70
+ view.grid.client.retryServerSideLoads();
71
+ });
72
+ }
73
+
74
+ reload() {
75
+ this._dataCube.reload();
76
+ }
22
77
  }
@@ -14,23 +14,116 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { DataCubeSource } from './core/models/DataCubeSource.js';
18
- import type { DataCubeState } from './DataCubeState.js';
17
+ import type {
18
+ DataCubeSetting,
19
+ DataCubeSettingValues,
20
+ } from './services/DataCubeSettingService.js';
21
+ import type { DataCubeSource } from './core/model/DataCubeSource.js';
22
+ import type { DataCubeAPI } from './DataCubeAPI.js';
23
+ import type { LayoutManager } from './services/DataCubeLayoutService.js';
24
+ import type { TaskManager } from './services/DataCubeTaskService.js';
25
+
26
+ type DataCubeOptionsBaseEvent = {
27
+ api: DataCubeAPI;
28
+ };
29
+ export type DataCubeInitializedEvent = DataCubeOptionsBaseEvent;
30
+ export type DataCubeViewInitializedEvent = DataCubeOptionsBaseEvent & {
31
+ source: DataCubeSource;
32
+ };
33
+ export type DataCubeNameChangedEvent = DataCubeOptionsBaseEvent & {
34
+ name: string;
35
+ source: DataCubeSource;
36
+ };
37
+ export type DataCubeSettingsChangedEvent = DataCubeOptionsBaseEvent & {
38
+ values: DataCubeSettingValues;
39
+ };
40
+
41
+ type DataCubeSettingsData = {
42
+ configurations?: DataCubeSetting[] | undefined;
43
+ values?: DataCubeSettingValues | undefined;
44
+ };
45
+
46
+ export type DataCubeMenuItem = {
47
+ label: string;
48
+ disabled?: boolean | undefined;
49
+ action: () => void;
50
+ };
51
+
52
+ type DataCubeOptionsBaseParams = {
53
+ api: DataCubeAPI;
54
+ };
55
+ export type DataCubeInnerHeaderComponentParams = DataCubeOptionsBaseParams;
19
56
 
20
57
  export type DataCubeOptions = {
21
- enableDebugMode?: boolean | undefined;
22
- gridClientRowBuffer?: number | undefined;
23
- gridClientPurgeClosedRowNodes?: boolean | undefined;
24
- gridClientSuppressLargeDatasetWarning?: boolean | undefined;
25
-
26
- onNameChanged?: ((name: string, source: DataCubeSource) => void) | undefined;
27
- onSettingChanged?:
28
- | ((
29
- key: string,
30
- value: string | number | boolean | object | undefined,
31
- ) => void)
58
+ // -------------------------- INFRASTRUCTURE ------------------------------
59
+
60
+ /**
61
+ * Provides a task manager that can be used by DataCube task service.
62
+ *
63
+ * This is useful when creating a seamless integration between DataCube and
64
+ * the application.
65
+ */
66
+ taskManager?: TaskManager | undefined;
67
+ /**
68
+ * DataCube has initialized and is ready for most API calls, but may not be fully rendered yet.
69
+ */
70
+ onInitialized?: ((event: DataCubeInitializedEvent) => void) | undefined;
71
+ /**
72
+ * DataCube main view has initialized, and is ready for most API calls, but may not be fully rendered yet.
73
+ * The query source has been fully resolved and analyzed, grid view is to be rendered right after.
74
+ */
75
+ onViewInitialized?:
76
+ | ((event: DataCubeViewInitializedEvent) => void)
77
+ | undefined;
78
+
79
+ // ------------------------------ GRID ------------------------------
80
+
81
+ /**
82
+ * License key for the grid client (i.e. ag-grid) as DataCube makes use of
83
+ * fair number of advanced/enterprise features.
84
+ */
85
+ gridClientLicense?: string | undefined;
86
+
87
+ // ------------------------------ LAYOUT ------------------------------
88
+
89
+ /**
90
+ * Provides a layout manager that can be used by DataCube layout service.
91
+ *
92
+ * This is useful when creating a seamless integration between DataCube and
93
+ * the application.
94
+ */
95
+ layoutManager?: LayoutManager | undefined;
96
+ /**
97
+ * The name of the DataCube main view is updated.
98
+ */
99
+ onNameChanged?: ((event: DataCubeNameChangedEvent) => void) | undefined;
100
+ /**
101
+ * Custom renderer for the inner header area, next to the title.
102
+ */
103
+ innerHeaderRenderer?:
104
+ | ((params: DataCubeInnerHeaderComponentParams) => React.ReactNode)
32
105
  | undefined;
33
- innerHeaderComponent?:
34
- | ((dataCube: DataCubeState) => React.ReactNode)
106
+
107
+ // ------------------------------ SETTINGS ------------------------------
108
+
109
+ /**
110
+ * DataCube settings values (retrieved externally), which would be set as initial values,
111
+ * and extra setting configurations that would be rendered in the settings panel.
112
+ */
113
+ settingsData?: DataCubeSettingsData | undefined;
114
+ /**
115
+ * Settings are changed and saved.
116
+ *
117
+ * This is useful when the application needs to persist the new settings values.
118
+ */
119
+ onSettingsChanged?:
120
+ | ((event: DataCubeSettingsChangedEvent) => void)
35
121
  | undefined;
122
+
123
+ // ------------------------------ DOCUMENTATION ------------------------------
124
+
125
+ /**
126
+ * URL to the documentation website.
127
+ */
128
+ documentationUrl?: string | undefined;
36
129
  };