@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
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridState.d.ts","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,sCAAsC,EAMvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAkB,SAAQ,+BAA+B;IACpE,QAAQ,CAAC,UAAU,EAAG,2BAA2B,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAG,8BAA8B,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAEtC,gBAAgB,EAAE,sCAAsC,CAAC;IAEzD,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,UAAmD;IACtE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGpC,0BAA0B,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;gBAE3C,IAAI,EAAE,iBAAiB;IAyBnC,oBAAoB,CAAC,GAAG,EAAE,OAAO;IAiBjC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAIzC,IAAI,MAAM,iBAET;IAED,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS;IAQ/B,yBAAyB;IAInB,aAAa,CAC1B,QAAQ,EAAE,qBAAqB,EAC/B,gBAAgB,EAAE,qBAAqB,GAAG,SAAS;CA2CtD"}
1
+ {"version":3,"file":"DataCubeGridState.d.ts","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,sCAAsC,EAMvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAkB,SAAQ,+BAA+B;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;IAEjD,QAAQ,CAAC,YAAY,EAAE,8BAA8B,CAAC;IACtD,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,gBAAgB,EAAE,sCAAsC,CAAC;IAEzD,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,UAAmD;IACtE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGpC,0BAA0B,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;gBAE3C,IAAI,EAAE,iBAAiB;IA6BnC,oBAAoB,CAAC,GAAG,EAAE,OAAO;IAoBjC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAIzC,IAAI,kBAAkB,YAErB;IAED,IAAI,MAAM,iBAET;IAED,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS;IAQ/B,yBAAyB;IAInB,aAAa,CAC1B,QAAQ,EAAE,qBAAqB,EAC/B,gBAAgB,EAAE,qBAAqB,GAAG,SAAS;CAoDtD"}
@@ -16,11 +16,12 @@
16
16
  import { debounce, guaranteeNonNullable, } from '@finos/legend-shared';
17
17
  import { action, makeObservable, observable } from 'mobx';
18
18
  import { DataCubeGridClientServerSideDataSource, INTERNAL__GRID_CLIENT_DEFAULT_CACHE_BLOCK_SIZE, INTERNAL__GRID_CLIENT_DATA_FETCH_MANUAL_TRIGGER_COLUMN_ID, INTERNAL__GRID_CLIENT_MAX_CACHE_BLOCK_SIZE, INTERNAL__GRID_CLIENT_DEFAULT_ENABLE_PAGINATION, computeHashCodeForDataFetchManualTrigger, } from './DataCubeGridClientEngine.js';
19
- import { DataCubeQuerySnapshotController } from '../DataCubeQuerySnapshotManager.js';
19
+ import { DataCubeQuerySnapshotController } from '../../services/DataCubeQuerySnapshotService.js';
20
20
  import { generateGridOptionsFromSnapshot } from './DataCubeGridConfigurationBuilder.js';
21
- import { DataCubeConfiguration } from '../../core/models/DataCubeConfiguration.js';
21
+ import { DataCubeConfiguration } from '../../core/model/DataCubeConfiguration.js';
22
22
  import { DataCubeGridControllerState } from './DataCubeGridControllerState.js';
23
23
  import { DataCubeGridClientExportEngine } from './DataCubeGridClientExportEngine.js';
24
+ import { DataCubeSettingKey } from '../../../__lib__/DataCubeSetting.js';
24
25
  /**
25
26
  * This query editor state is responsible for syncing the internal state of ag-grid
26
27
  * server-side row model data source with the data cube query state. When new snapshot
@@ -37,6 +38,7 @@ import { DataCubeGridClientExportEngine } from './DataCubeGridClientExportEngine
37
38
  * trigger publishing a new snapshot, hence not propagated.
38
39
  */
39
40
  export class DataCubeGridState extends DataCubeQuerySnapshotController {
41
+ _view;
40
42
  controller;
41
43
  exportEngine;
42
44
  _client;
@@ -49,10 +51,10 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
49
51
  // and resized as user scrolls horizontally, this can cause performance issues, so we debounce.
50
52
  debouncedAutoResizeColumns;
51
53
  constructor(view) {
52
- super(view);
54
+ super(view.engine, view.settingService, view.snapshotService);
53
55
  makeObservable(this, {
54
56
  clientDataSource: observable,
55
- queryConfiguration: observable.ref,
57
+ queryConfiguration: observable,
56
58
  rowLimit: observable,
57
59
  isPaginationEnabled: observable,
58
60
  setPaginationEnabled: action,
@@ -60,10 +62,11 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
60
62
  setScrollHintText: action,
61
63
  applySnapshot: action,
62
64
  });
63
- this.controller = new DataCubeGridControllerState(this.view);
65
+ this._view = view;
66
+ this.controller = new DataCubeGridControllerState(this._view);
64
67
  this.exportEngine = new DataCubeGridClientExportEngine(this);
65
68
  this.queryConfiguration = new DataCubeConfiguration();
66
- this.clientDataSource = new DataCubeGridClientServerSideDataSource(this);
69
+ this.clientDataSource = new DataCubeGridClientServerSideDataSource(this, this._view);
67
70
  }
68
71
  setPaginationEnabled(val) {
69
72
  this.isPaginationEnabled = val;
@@ -71,7 +74,7 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
71
74
  // NOTE: if we don't fully reset the datasource, and say we just turned on pagination,
72
75
  // for how many page that we loaded when pagination is off, the datasource
73
76
  // will fire that many data fetch operations which is expensive.
74
- this.clientDataSource = new DataCubeGridClientServerSideDataSource(this);
77
+ this.clientDataSource = new DataCubeGridClientServerSideDataSource(this, this._view);
75
78
  // NOTE: ag-grid uses the cache block size as page size, so it's important to set this
76
79
  // in corresponding to the pagination setting, else it would cause unexpected scrolling behavior
77
80
  this.client.updateGridOptions({
@@ -83,6 +86,9 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
83
86
  setScrollHintText(val) {
84
87
  this.scrollHintText = val;
85
88
  }
89
+ get isClientConfigured() {
90
+ return Boolean(this._client);
91
+ }
86
92
  get client() {
87
93
  return guaranteeNonNullable(this._client, 'Grid client is not configured');
88
94
  }
@@ -97,16 +103,17 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
97
103
  const configuration = DataCubeConfiguration.serialization.fromJson(snapshot.data.configuration);
98
104
  this.queryConfiguration = configuration;
99
105
  this.rowLimit = snapshot.data.limit;
100
- const gridOptions = generateGridOptionsFromSnapshot(snapshot, configuration, this.view);
101
- if (this.view.dataCube.settings.enableDebugMode) {
102
- this.view.engine.debugProcess(`New Grid Options`, [
106
+ const gridOptions = generateGridOptionsFromSnapshot(snapshot, configuration, this._view);
107
+ if (this._settingService.getBooleanValue(DataCubeSettingKey.DEBUGGER__ENABLE_DEBUG_MODE)) {
108
+ this._engine.debugProcess(`New Grid Options`, [
103
109
  'Grid Options',
104
110
  gridOptions,
105
111
  ]);
106
112
  }
107
113
  this.client.updateGridOptions({
108
114
  ...gridOptions,
109
- rowBuffer: this.view.dataCube.settings.gridClientRowBuffer,
115
+ rowBuffer: this._settingService.getNumericValue(DataCubeSettingKey.GRID_CLIENT__ROW_BUFFER),
116
+ purgeClosedRowNodes: this._settingService.getBooleanValue(DataCubeSettingKey.GRID_CLIENT__PURGE_CLOSED_ROW_NODES),
110
117
  // NOTE: ag-grid uses the cache block size as page size, so it's important to set this
111
118
  // in corresponding to the pagination setting, else it would cause unexpected scrolling behavior
112
119
  cacheBlockSize: this.isPaginationEnabled
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridState.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeGridState.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@finos/legend-data-cube",
3
- "version": "0.0.36",
4
- "description": "Legend Data Cube",
3
+ "version": "0.0.38",
4
+ "description": "Legend DataCube",
5
5
  "keywords": [
6
6
  "legend",
7
7
  "legend-data-cube",
@@ -42,10 +42,10 @@
42
42
  "test:watch": "jest --watch"
43
43
  },
44
44
  "dependencies": {
45
- "@finos/legend-art": "7.1.72",
46
- "@finos/legend-code-editor": "2.0.31",
47
- "@finos/legend-graph": "31.10.65",
48
- "@finos/legend-shared": "10.0.64",
45
+ "@finos/legend-art": "7.1.73",
46
+ "@finos/legend-code-editor": "2.0.32",
47
+ "@finos/legend-graph": "32.0.0",
48
+ "@finos/legend-shared": "10.0.65",
49
49
  "@types/react": "19.0.2",
50
50
  "ag-grid-community": "33.0.3",
51
51
  "ag-grid-enterprise": "33.0.3",
@@ -14,11 +14,11 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export enum DocumentationKey {
18
- DATA_CUBE_EXTENDED_COLUMN_LEVELS = 'data-cube.extended-column.levels',
19
- DATA_CUBE_GRID_CONFIGURATION_ROW_LIMIT = 'data-cube.grid-configuration.row-limit',
20
- DATA_CUBE_COLUMN_CONFIGURATION_KIND = 'data-cube.column-configuration.kind',
21
- DATA_CUBE_COLUMN_CONFIGURATION_UNIT = 'data-cube.column-configuration.unit',
22
- DATA_CUBE_COLUMN_CONFIGURATION_DISPLAY_AS_LINK = 'data-cube.column-configuration.display-value-as-link',
23
- DATA_CUBE_COLUMN_CONFIGURATION_MISSING_VALUE_FORMAT = 'data-cube.column-configuration.missing-value-format',
17
+ export enum DataCubeDocumentationKey {
18
+ EXTENDED_COLUMN_LEVELS = 'data-cube.extended-column.levels',
19
+ GRID_CONFIGURATION_ROW_LIMIT = 'data-cube.grid-configuration.row-limit',
20
+ COLUMN_CONFIGURATION_KIND = 'data-cube.column-configuration.kind',
21
+ COLUMN_CONFIGURATION_UNIT = 'data-cube.column-configuration.unit',
22
+ COLUMN_CONFIGURATION_DISPLAY_AS_LINK = 'data-cube.column-configuration.display-value-as-link',
23
+ COLUMN_CONFIGURATION_MISSING_VALUE_FORMAT = 'data-cube.column-configuration.missing-value-format',
24
24
  }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ export enum DataCubeEvent {
18
+ SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING = 'data-cube.settings.failure.found-unregistered-setting',
19
+ SETTINGS__FAILURE__ASSIGN_INCOMPATIBLE_VALUE = 'data-cube.settings.failure.assign-incompatible-value',
20
+ SETTINGS__FAILURE__RETRIEVE_INCOMPATIBLE_VALUE = 'data-cube.settings.failure.retrieve-incompatible-value',
21
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ export enum DataCubeSettingKey {
18
+ DEBUGGER__ENABLE_DEBUG_MODE = 'dataCube.debugger.enableDebugMode',
19
+ DEBUGGER__ACTION__RELOAD = 'dataCube.debugger.action.reload',
20
+ GRID_CLIENT__ROW_BUFFER = 'dataCube.grid.rowBuffer',
21
+ GRID_CLIENT__PURGE_CLOSED_ROW_NODES = 'dataCube.grid.purgeClosedRowNodes',
22
+ GRID_CLIENT__SUPPRESS_LARGE_DATASET_WARNING = 'dataCube.grid.suppressLargeDatasetWarning',
23
+ GRID_CLIENT__ACTION__RETRY_FAILED_DATA_FETCHES = 'dataCube.grid.action.retryFailedDataFetches',
24
+ }
@@ -15,102 +15,58 @@
15
15
  */
16
16
 
17
17
  import { observer, useLocalObservable } from 'mobx-react-lite';
18
- import {
19
- DataCubeIcon,
20
- DropdownMenu,
21
- DropdownMenuItem,
22
- useDropdownMenu,
23
- } from '@finos/legend-art';
24
- import { DataCubeLayoutManager } from './core/DataCubeLayoutManager.js';
18
+ import { DataCubeLayout } from './core/DataCubeLayout.js';
25
19
  import { INTERNAL__MonacoEditorWidgetsRoot } from './core/DataCubePureCodeEditorUtils.js';
26
- import { DataCubeBlockingActionAlert } from './core/DataCubeAlert.js';
27
20
  import { DataCubeView } from './DataCubeView.js';
28
21
  import { useEffect } from 'react';
29
22
  import type { DataCubeEngine } from '../stores/core/DataCubeEngine.js';
30
23
  import { DataCubeState } from '../stores/DataCubeState.js';
31
24
  import { type DataCubeOptions } from '../stores/DataCubeOptions.js';
32
25
  import { DataCubeContextProvider, useDataCube } from './DataCubeProvider.js';
33
-
34
- const DataCubeTitleBar = observer(() => {
35
- const dataCube = useDataCube();
36
- const engine = dataCube.engine;
37
- const view = dataCube.view;
38
- const [openMenuDropdown, closeMenuDropdown, menuDropdownProps] =
39
- useDropdownMenu();
40
-
41
- return (
42
- <div className="flex h-7 justify-between bg-neutral-100">
43
- <div className="flex select-none items-center pl-1 pr-2 text-lg font-medium">
44
- <DataCubeIcon.Cube className="mr-1 h-4 w-4" />
45
- <div>{view.info.name}</div>
46
- </div>
47
- <div className="flex">
48
- {dataCube.innerHeaderComponent?.(dataCube) ?? null}
49
- <button
50
- className="flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg"
51
- onClick={openMenuDropdown}
52
- >
53
- <DataCubeIcon.Menu />
54
- </button>
55
- <DropdownMenu
56
- {...menuDropdownProps}
57
- menuProps={{
58
- anchorOrigin: { vertical: 'bottom', horizontal: 'right' },
59
- transformOrigin: { vertical: 'top', horizontal: 'left' },
60
- classes: {
61
- paper: 'rounded-none mt-[1px]',
62
- list: 'w-36 p-0 rounded-none border border-neutral-400 bg-white max-h-40 overflow-y-auto py-0.5',
63
- },
64
- }}
65
- >
66
- <DropdownMenuItem
67
- className="flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100"
68
- onClick={() => {
69
- const url = engine.getDocumentationURL();
70
- if (url) {
71
- engine.openLink(url);
72
- }
73
- closeMenuDropdown();
74
- }}
75
- disabled={true} // TODO: enable when we set up the documentation website
76
- >
77
- See Documentation
78
- </DropdownMenuItem>
79
- <div className="my-0.5 h-[1px] w-full bg-neutral-200" />
80
- <DropdownMenuItem
81
- className="flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100"
82
- onClick={() => {
83
- view.dataCube.settingsDisplay.open();
84
- closeMenuDropdown();
85
- }}
86
- >
87
- Settings...
88
- </DropdownMenuItem>
89
- </DropdownMenu>
90
- </div>
91
- </div>
92
- );
93
- });
26
+ import type { DataCubeQuery } from '../stores/core/model/DataCubeQuery.js';
27
+ import { DataCubeTitleBar } from './DataCubeTitleBar.js';
28
+ import { DEFAULT_REPORT_NAME } from '../stores/core/DataCubeQueryEngine.js';
29
+ import {
30
+ DataCubePlaceholderErrorDisplay,
31
+ DataCubePlaceholder,
32
+ } from './DataCubePlaceholder.js';
94
33
 
95
34
  const DataCubeRoot = observer(() => {
96
35
  const dataCube = useDataCube();
97
- const engine = dataCube.engine;
98
36
  const view = dataCube.view;
99
37
 
100
38
  useEffect(() => {
101
39
  dataCube.view
102
- .initialize()
103
- .catch((error) => dataCube.engine.logUnhandledError(error));
40
+ .initialize(dataCube.query)
41
+ .catch((error) => dataCube.logService.logUnhandledError(error));
104
42
  }, [dataCube]);
105
43
 
106
44
  return (
107
45
  <div className="data-cube relative flex h-full w-full flex-col bg-white">
108
- <DataCubeTitleBar />
46
+ <DataCubeTitleBar
47
+ title={view.info.name}
48
+ menuItems={[
49
+ {
50
+ label: 'See Documentation',
51
+ action: () => {
52
+ const url = dataCube.options?.documentationUrl;
53
+ if (url) {
54
+ dataCube.navigationService.openLink(url);
55
+ }
56
+ },
57
+ },
58
+ {
59
+ label: 'Settings...',
60
+ action: () => dataCube.settingService.display.open(),
61
+ },
62
+ ]}
63
+ >
64
+ {dataCube.options?.innerHeaderRenderer?.({ api: dataCube.api }) ?? null}
65
+ </DataCubeTitleBar>
109
66
 
110
67
  <DataCubeView view={view} />
111
68
 
112
- <DataCubeLayoutManager layout={engine.layout} />
113
- <DataCubeBlockingActionAlert />
69
+ <DataCubeLayout layout={dataCube.layoutService.manager} />
114
70
  <INTERNAL__MonacoEditorWidgetsRoot />
115
71
  </div>
116
72
  );
@@ -118,24 +74,44 @@ const DataCubeRoot = observer(() => {
118
74
 
119
75
  export const DataCube = observer(
120
76
  (props: {
77
+ query: DataCubeQuery;
121
78
  engine: DataCubeEngine;
122
79
  options?: DataCubeOptions | undefined;
123
- }): React.ReactElement => {
124
- const { engine, options } = props;
125
- const state = useLocalObservable(() => new DataCubeState(engine, options));
80
+ }) => {
81
+ const { query, engine, options } = props;
82
+ const dataCube = useLocalObservable(
83
+ () => new DataCubeState(query, engine, options),
84
+ );
126
85
 
127
86
  useEffect(() => {
128
- state
87
+ dataCube
129
88
  .initialize()
130
- .catch((error) => state.engine.logUnhandledError(error));
131
- }, [state]);
89
+ .catch((error) => dataCube.logService.logUnhandledError(error));
90
+ return () => dataCube.dispose();
91
+ }, [dataCube]);
132
92
 
133
- if (!state.initState.hasSucceeded) {
134
- return <></>;
93
+ if (!dataCube.initializeState.hasSucceeded) {
94
+ return (
95
+ <DataCubePlaceholder
96
+ title={DEFAULT_REPORT_NAME}
97
+ headerContent={
98
+ dataCube.options?.innerHeaderRenderer?.({ api: dataCube.api }) ??
99
+ null
100
+ }
101
+ layoutManager={dataCube.layoutService.manager}
102
+ >
103
+ {dataCube.initializeState.hasFailed && (
104
+ <DataCubePlaceholderErrorDisplay
105
+ message="Initialization Failure"
106
+ prompt="Resolve the issue and reload."
107
+ />
108
+ )}
109
+ </DataCubePlaceholder>
110
+ );
135
111
  }
136
112
  return (
137
- <DataCubeContextProvider value={state}>
138
- <DataCubeRoot />
113
+ <DataCubeContextProvider value={dataCube}>
114
+ <DataCubeRoot key={dataCube.uuid} />
139
115
  </DataCubeContextProvider>
140
116
  );
141
117
  },
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { observer } from 'mobx-react-lite';
18
+ import type { DataCubeMenuItem } from '../stores/DataCubeOptions.js';
19
+ import { DataCubeTitleBar } from './DataCubeTitleBar.js';
20
+ import { DataCubeStatusBar } from './DataCubeStatusBar.js';
21
+ import type React from 'react';
22
+ import type { LayoutManager } from '../stores/services/DataCubeLayoutService.js';
23
+ import { DataCubeLayout } from './core/DataCubeLayout.js';
24
+ import { DataCubeIcon } from '@finos/legend-art';
25
+ import type { TaskManager } from '../stores/services/DataCubeTaskService.js';
26
+
27
+ export const DataCubePlaceholderErrorDisplay = (props: {
28
+ message: string;
29
+ prompt?: string | undefined;
30
+ }) => {
31
+ const { message, prompt } = props;
32
+
33
+ return (
34
+ <div className="flex h-full w-full overflow-auto p-5">
35
+ <div className="mr-3">
36
+ <DataCubeIcon.AlertError className="flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500" />
37
+ </div>
38
+ <div>
39
+ <div className="whitespace-break-spaces text-lg">{message}</div>
40
+ <div className="mt-1 whitespace-break-spaces text-neutral-500">
41
+ {prompt}
42
+ </div>
43
+ </div>
44
+ </div>
45
+ );
46
+ };
47
+
48
+ export const DataCubeViewPlaceholder = observer(
49
+ (props: {
50
+ children?: React.ReactNode | undefined;
51
+ taskManager?: TaskManager | undefined;
52
+ }) => {
53
+ const { children, taskManager } = props;
54
+
55
+ return (
56
+ <>
57
+ <div className="h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50">
58
+ {children ?? null}
59
+ </div>
60
+ <DataCubeStatusBar taskManager={taskManager} />
61
+ </>
62
+ );
63
+ },
64
+ );
65
+
66
+ export const DataCubePlaceholder = observer(
67
+ (props: {
68
+ children?: React.ReactNode | undefined;
69
+ title: string;
70
+ headerContent?: React.ReactNode | undefined;
71
+ menuItems?: DataCubeMenuItem[] | undefined;
72
+ layoutManager?: LayoutManager | undefined;
73
+ taskManager?: TaskManager | undefined;
74
+ }) => {
75
+ const {
76
+ children,
77
+ title,
78
+ menuItems,
79
+ headerContent,
80
+ layoutManager,
81
+ taskManager,
82
+ } = props;
83
+
84
+ return (
85
+ <div className="data-cube relative flex h-full w-full flex-col bg-white">
86
+ <DataCubeTitleBar title={title} menuItems={menuItems}>
87
+ {headerContent ?? null}
88
+ </DataCubeTitleBar>
89
+
90
+ <DataCubeViewPlaceholder taskManager={taskManager}>
91
+ {children}
92
+ </DataCubeViewPlaceholder>
93
+ {layoutManager ? <DataCubeLayout layout={layoutManager} /> : null}
94
+ </div>
95
+ );
96
+ },
97
+ );
@@ -26,5 +26,5 @@ export const DataCubeContextProvider = DataCubeStateContext.Provider;
26
26
  export const useDataCube = () =>
27
27
  guaranteeNonNullable(
28
28
  useContext(DataCubeStateContext),
29
- `Can't find Data Cube in context`,
29
+ `Can't find DataCube state in context`,
30
30
  );
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { DataCubeIcon, ProgressBar } from '@finos/legend-art';
18
+ import { observer } from 'mobx-react-lite';
19
+ import type { DataCubeViewState } from '../stores/view/DataCubeViewState.js';
20
+ import type { TaskManager } from '../stores/services/DataCubeTaskService.js';
21
+
22
+ export const DataCubeStatusBar = observer(
23
+ (props: {
24
+ view?: DataCubeViewState | undefined;
25
+ taskManager?: TaskManager | undefined;
26
+ }) => {
27
+ const { view, taskManager: _taskManager } = props;
28
+ const tasks = view?.taskService.tasks ?? _taskManager?.tasks;
29
+
30
+ return (
31
+ <div className="flex h-5 w-full justify-between bg-neutral-100">
32
+ <div className="flex">
33
+ <button
34
+ className="flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400"
35
+ onClick={() => view?.editor.display.open()}
36
+ disabled={!view}
37
+ >
38
+ <DataCubeIcon.Settings className="text-xl" />
39
+ <div className="pl-0.5 underline">Properties</div>
40
+ </button>
41
+ <div className="flex">
42
+ <button
43
+ className="flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400"
44
+ onClick={() => {
45
+ view?.filter.display.open();
46
+ }}
47
+ disabled={!view}
48
+ >
49
+ <DataCubeIcon.TableFilter className="text-lg" />
50
+ <div className="pl-0.5 underline">Filter</div>
51
+ </button>
52
+ </div>
53
+ </div>
54
+ <div className="flex items-center px-2">
55
+ <div className="flex h-3.5 w-48 border-[0.5px] border-neutral-300">
56
+ {tasks !== undefined && tasks.length > 0 && (
57
+ <ProgressBar
58
+ classes={{
59
+ root: 'h-3.5 w-full bg-transparent',
60
+ bar1Indeterminate: 'bg-green-500',
61
+ bar2Indeterminate: 'bg-green-500',
62
+ }}
63
+ variant="indeterminate"
64
+ />
65
+ )}
66
+ </div>
67
+ </div>
68
+ </div>
69
+ );
70
+ },
71
+ );
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ useDropdownMenu,
19
+ DataCubeIcon,
20
+ DropdownMenu,
21
+ DropdownMenuItem,
22
+ } from '@finos/legend-art';
23
+ import { observer } from 'mobx-react-lite';
24
+ import type { DataCubeMenuItem } from '../stores/DataCubeOptions.js';
25
+
26
+ export const DataCubeTitleBar = observer(
27
+ (props: {
28
+ children: React.ReactNode;
29
+ title: string;
30
+ menuItems?: DataCubeMenuItem[] | undefined;
31
+ }) => {
32
+ const { children, title, menuItems } = props;
33
+ const [openMenuDropdown, closeMenuDropdown, menuDropdownProps] =
34
+ useDropdownMenu();
35
+
36
+ return (
37
+ <div className="flex h-7 justify-between bg-neutral-100">
38
+ <div className="flex select-none items-center pl-1 pr-2 text-lg font-medium">
39
+ <DataCubeIcon.Cube className="mr-1 h-4 w-4" />
40
+ <div>{title}</div>
41
+ </div>
42
+ <div className="flex">
43
+ {children}
44
+ <button
45
+ className="flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400"
46
+ onClick={openMenuDropdown}
47
+ disabled={!menuItems?.length}
48
+ >
49
+ <DataCubeIcon.Menu />
50
+ </button>
51
+ <DropdownMenu
52
+ {...menuDropdownProps}
53
+ menuProps={{
54
+ anchorOrigin: { vertical: 'bottom', horizontal: 'right' },
55
+ transformOrigin: { vertical: 'top', horizontal: 'left' },
56
+ classes: {
57
+ paper: 'rounded-none mt-[1px]',
58
+ list: 'w-40 p-0 rounded-none border border-neutral-400 bg-white max-h-40 overflow-y-auto py-0.5',
59
+ },
60
+ }}
61
+ >
62
+ {menuItems?.map((item, idx) => (
63
+ <DropdownMenuItem
64
+ // eslint-disable-next-line react/no-array-index-key
65
+ key={idx}
66
+ className="flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100"
67
+ onClick={() => {
68
+ item.action();
69
+ closeMenuDropdown();
70
+ }}
71
+ disabled={Boolean(item.disabled)}
72
+ >
73
+ {item.label}
74
+ </DropdownMenuItem>
75
+ ))}
76
+ </DropdownMenu>
77
+ </div>
78
+ </div>
79
+ );
80
+ },
81
+ );