@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
@@ -16,153 +16,123 @@
16
16
 
17
17
  import { type DataCubeEngine } from './core/DataCubeEngine.js';
18
18
  import { DataCubeViewState } from './view/DataCubeViewState.js';
19
- import type { DisplayState } from './core/DataCubeLayoutManagerState.js';
20
- import { DocumentationPanel } from '../components/core/DataCubeDocumentationPanel.js';
21
- import { DataCubeSettingsPanel } from '../components/core/DataCubeSettingsPanel.js';
22
- import {
23
- ActionState,
24
- assertErrorThrown,
25
- type DocumentationEntry,
26
- } from '@finos/legend-shared';
27
- import {
28
- AlertType,
29
- type ActionAlert,
30
- } from '../components/core/DataCubeAlert.js';
31
- import type { DataCubeSource } from './core/models/DataCubeSource.js';
19
+ import { ActionState, assertErrorThrown, uuid } from '@finos/legend-shared';
32
20
  import { action, makeObservable, observable } from 'mobx';
33
- import { DataCubeSettings } from './DataCubeSettings.js';
34
- import type { DataCubeAPI } from './DataCubeAPI.js';
21
+ import { DataCubeSettingService } from './services/DataCubeSettingService.js';
22
+ import { INTERNAL__DataCubeAPI } from './DataCubeAPI.js';
35
23
  import type { DataCubeOptions } from './DataCubeOptions.js';
36
-
37
- export class DataCubeState implements DataCubeAPI {
24
+ import type { DataCubeQuery } from './core/model/DataCubeQuery.js';
25
+ import { LicenseManager } from 'ag-grid-enterprise';
26
+ import {
27
+ configureCodeEditor,
28
+ setupPureLanguageService,
29
+ } from '@finos/legend-code-editor';
30
+ import { DataCubeFont } from './core/DataCubeQueryEngine.js';
31
+ import { DataCubeDocumentationService } from './services/DataCubeDocumentationService.js';
32
+ import { DataCubeLayoutService } from './services/DataCubeLayoutService.js';
33
+ import { DataCubeAlertService } from './services/DataCubeAlertService.js';
34
+ import { DataCubeTelemetryService } from './services/DataCubeTelemetryService.js';
35
+ import { DataCubeNavigationService } from './services/DataCubeNavigationService.js';
36
+ import { DataCubeLogService } from './services/DataCubeLogService.js';
37
+ import { DataCubeTaskService } from './services/DataCubeTaskService.js';
38
+
39
+ export class DataCubeState {
38
40
  readonly engine: DataCubeEngine;
39
- readonly settings!: DataCubeSettings;
40
- readonly initState = ActionState.create();
41
- readonly settingsDisplay: DisplayState;
42
- readonly documentationDisplay: DisplayState;
41
+ readonly logService: DataCubeLogService;
42
+ readonly taskService: DataCubeTaskService;
43
+ readonly layoutService: DataCubeLayoutService;
44
+ readonly settingService: DataCubeSettingService;
45
+ readonly documentationService: DataCubeDocumentationService;
46
+ readonly alertService: DataCubeAlertService;
47
+ readonly navigationService: DataCubeNavigationService;
48
+ readonly telemetryService: DataCubeTelemetryService;
49
+
50
+ readonly query: DataCubeQuery;
51
+ readonly options?: DataCubeOptions | undefined;
52
+
53
+ readonly initializeState = ActionState.create();
54
+ readonly api: INTERNAL__DataCubeAPI;
55
+
56
+ uuid = uuid();
43
57
  // NOTE: when we support multiview, there can be multiple view states to support
44
58
  // the first one in that list will be taken as the main view state
45
- readonly view: DataCubeViewState;
59
+ view: DataCubeViewState;
46
60
 
47
- onNameChanged?: ((name: string, source: DataCubeSource) => void) | undefined;
48
- onSettingChanged?:
49
- | ((
50
- key: string,
51
- value: string | number | boolean | object | undefined,
52
- ) => void)
53
- | undefined;
54
- innerHeaderComponent?:
55
- | ((dataCube: DataCubeState) => React.ReactNode)
56
- | undefined;
57
-
58
- currentDocumentationEntry?: DocumentationEntry | undefined;
59
- currentActionAlert?: ActionAlert | undefined;
60
-
61
- constructor(engine: DataCubeEngine, options?: DataCubeOptions | undefined) {
61
+ constructor(
62
+ query: DataCubeQuery,
63
+ engine: DataCubeEngine,
64
+ options?: DataCubeOptions | undefined,
65
+ ) {
62
66
  makeObservable(this, {
63
- currentDocumentationEntry: observable,
64
- openDocumentationEntry: action,
65
-
66
- currentActionAlert: observable,
67
- alertAction: action,
67
+ uuid: observable,
68
+ reload: action,
68
69
  });
69
70
 
70
71
  this.engine = engine;
71
- this.settings = new DataCubeSettings(this);
72
- this.view = new DataCubeViewState(this);
73
-
74
- this.settingsDisplay = this.engine.layout.newDisplay(
75
- 'Settings',
76
- () => <DataCubeSettingsPanel />,
77
- {
78
- x: -50,
79
- y: 50,
80
- width: 600,
81
- height: 400,
82
- minWidth: 300,
83
- minHeight: 200,
84
- center: false,
85
- },
72
+ this.logService = new DataCubeLogService(this.engine);
73
+ this.taskService = new DataCubeTaskService(options?.taskManager);
74
+ this.layoutService = new DataCubeLayoutService(options?.layoutManager);
75
+ this.settingService = new DataCubeSettingService(
76
+ this.engine,
77
+ this.logService,
78
+ this.layoutService,
79
+ options,
86
80
  );
87
- this.documentationDisplay = this.engine.layout.newDisplay(
88
- 'Documentation',
89
- () => <DocumentationPanel />,
90
- {
91
- x: -50,
92
- y: -50,
93
- width: 400,
94
- height: 400,
95
- minWidth: 300,
96
- minHeight: 200,
97
- center: false,
98
- },
81
+ this.documentationService = new DataCubeDocumentationService(
82
+ this.engine,
83
+ this.layoutService,
99
84
  );
85
+ this.alertService = new DataCubeAlertService(
86
+ this.logService,
87
+ this.layoutService,
88
+ );
89
+ this.navigationService = new DataCubeNavigationService(this.engine);
90
+ this.telemetryService = new DataCubeTelemetryService(this.engine);
100
91
 
101
- this.onNameChanged = options?.onNameChanged;
102
- this.onSettingChanged = options?.onSettingChanged;
103
- this.innerHeaderComponent = options?.innerHeaderComponent;
104
-
105
- this.settings.enableDebugMode =
106
- options?.enableDebugMode !== undefined
107
- ? options.enableDebugMode
108
- : this.settings.enableDebugMode;
109
- this.settings.gridClientRowBuffer =
110
- options?.gridClientRowBuffer !== undefined
111
- ? options.gridClientRowBuffer
112
- : this.settings.gridClientRowBuffer;
113
- this.settings.gridClientPurgeClosedRowNodes =
114
- options?.gridClientPurgeClosedRowNodes !== undefined
115
- ? options.gridClientPurgeClosedRowNodes
116
- : this.settings.gridClientPurgeClosedRowNodes;
117
- this.settings.gridClientSuppressLargeDatasetWarning =
118
- options?.gridClientSuppressLargeDatasetWarning !== undefined
119
- ? options.gridClientSuppressLargeDatasetWarning
120
- : this.settings.gridClientSuppressLargeDatasetWarning;
121
- }
122
-
123
- getSettings() {
124
- return this.settings;
125
- }
126
-
127
- openDocumentationEntry(entry: DocumentationEntry | undefined) {
128
- this.currentDocumentationEntry = entry;
129
- }
130
-
131
- alertAction(alert: ActionAlert | undefined) {
132
- this.currentActionAlert = alert;
133
- }
92
+ this.api = new INTERNAL__DataCubeAPI(this);
93
+ this.query = query;
94
+ this.options = options;
134
95
 
135
- refreshFailedDataFetches() {
136
- this.runTaskForEachView((view) => {
137
- view.grid.client.retryServerSideLoads();
138
- });
139
- }
140
-
141
- runTaskForEachView(runner: (view: DataCubeViewState) => void) {
142
- // TODO: When we support multi-view (i.e. multiple instances of DataCubes) we would need
143
- // to traverse through and update the configurations of all of their grid clients
144
- runner(this.view);
96
+ this.view = new DataCubeViewState(this);
145
97
  }
146
98
 
147
99
  async initialize() {
148
- if (!this.initState.isInInitialState) {
149
- this.engine.logDebug('REPL store is re-initialized');
100
+ if (!this.initializeState.isInInitialState) {
101
+ this.logService.logDebug('DataCube state is re-initialized');
150
102
  return;
151
103
  }
152
- this.initState.inProgress();
104
+ this.initializeState.inProgress();
153
105
 
154
106
  try {
155
- await this.engine.initialize();
156
- this.initState.pass();
157
- } catch (error: unknown) {
107
+ // set up the components
108
+ if (this.options?.gridClientLicense) {
109
+ LicenseManager.setLicenseKey(this.options.gridClientLicense);
110
+ }
111
+ await configureCodeEditor(DataCubeFont.ROBOTO_MONO, (error) => {
112
+ throw error;
113
+ });
114
+ setupPureLanguageService({});
115
+
116
+ this.options?.onInitialized?.(this);
117
+ this.initializeState.pass();
118
+ } catch (error) {
158
119
  assertErrorThrown(error);
159
- this.alertAction({
120
+ this.alertService.alertError(error, {
160
121
  message: `Initialization Failure: ${error.message}`,
161
- prompt: `Resolve the issue and reload the engine.`,
162
- type: AlertType.ERROR,
163
- actions: [],
122
+ text: `Resolve the issue and reload the engine.`,
164
123
  });
165
- this.initState.fail();
124
+ this.initializeState.fail();
166
125
  }
167
126
  }
127
+
128
+ dispose() {
129
+ this.view.dispose();
130
+ this.layoutService.dispose();
131
+ this.taskService.dispose();
132
+ }
133
+
134
+ reload() {
135
+ this.view = new DataCubeViewState(this);
136
+ this.uuid = uuid();
137
+ }
168
138
  }
@@ -18,13 +18,13 @@ import { PRIMITIVE_TYPE } from '@finos/legend-graph';
18
18
  import {
19
19
  DataCubeColumnConfiguration,
20
20
  DataCubeConfiguration,
21
- } from './models/DataCubeConfiguration.js';
21
+ } from './model/DataCubeConfiguration.js';
22
22
  import {
23
23
  DataCubeQueryAggregateOperator,
24
24
  DataCubeColumnKind,
25
25
  DataCubeFontTextAlignment,
26
26
  } from './DataCubeQueryEngine.js';
27
- import type { DataCubeColumn } from './models/DataCubeColumn.js';
27
+ import type { DataCubeColumn } from './model/DataCubeColumn.js';
28
28
 
29
29
  export function buildDefaultColumnConfiguration(
30
30
  column: DataCubeColumn,
@@ -20,7 +20,6 @@ import {
20
20
  type TDSExecutionResult,
21
21
  type V1_AppliedFunction,
22
22
  PRIMITIVE_TYPE,
23
- type EngineError,
24
23
  } from '@finos/legend-graph';
25
24
  import { getFilterOperation } from './filter/DataCubeQueryFilterOperation.js';
26
25
  import { getAggregateOperation } from './aggregation/DataCubeQueryAggregateOperation.js';
@@ -64,70 +63,48 @@ import { DataCubeQueryFilterOperation__EndWithCaseInsensitive } from './filter/D
64
63
  import { DataCubeQueryFilterOperation__NotEndWith } from './filter/DataCubeQueryFilterOperation__NotEndWith.js';
65
64
  import { DataCubeQueryFilterOperation__IsNull } from './filter/DataCubeQueryFilterOperation__IsNull.js';
66
65
  import { DataCubeQueryFilterOperation__IsNotNull } from './filter/DataCubeQueryFilterOperation__IsNotNull.js';
67
- import {
68
- CODE_EDITOR_LANGUAGE,
69
- configureCodeEditor,
70
- setupPureLanguageService,
71
- } from '@finos/legend-code-editor';
72
- import { DataCubeFont, DataCubeFunction } from './DataCubeQueryEngine.js';
73
66
  import type { DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
74
67
  import { buildExecutableQuery } from './DataCubeQueryBuilder.js';
75
- import type { DataCubeColumn } from './models/DataCubeColumn.js';
76
- import { LicenseManager } from 'ag-grid-enterprise';
77
- import type { DataCubeQuery } from './models/DataCubeQuery.js';
68
+ import type { DataCubeColumn } from './model/DataCubeColumn.js';
78
69
  import {
79
70
  type DataCubeSource,
80
71
  INTERNAL__DataCubeSource,
81
- } from './models/DataCubeSource.js';
82
- import {
83
- _cols,
84
- _colSpec,
85
- _function,
86
- _primitiveValue,
87
- } from './DataCubeQueryBuilderUtils.js';
72
+ } from './model/DataCubeSource.js';
73
+ import { _primitiveValue } from './DataCubeQueryBuilderUtils.js';
88
74
  import {
89
- uuid,
90
75
  type DocumentationEntry,
91
76
  type LogEvent,
92
77
  type PlainObject,
93
78
  } from '@finos/legend-shared';
94
- import {
95
- Alert,
96
- AlertType,
97
- type ActionAlertAction,
98
- } from '../../components/core/DataCubeAlert.js';
99
- import {
100
- DEFAULT_SMALL_ALERT_WINDOW_CONFIG,
101
- LayoutConfiguration,
102
- LayoutManagerState,
103
- WindowState,
104
- type WindowConfiguration,
105
- } from './DataCubeLayoutManagerState.js';
106
- import { editor as monacoEditorAPI, Uri } from 'monaco-editor';
107
- import { DataCubeCodeCheckErrorAlert } from '../../components/core/DataCubeCodeCheckErrorAlert.js';
108
- import type { DataCubeAPI } from '../DataCubeAPI.js';
109
79
 
110
80
  export type CompletionItem = {
111
81
  completion: string;
112
82
  display: string;
113
83
  };
114
84
 
115
- export type RelationType = {
85
+ export type DataCubeRelationType = {
116
86
  columns: DataCubeColumn[];
117
87
  };
118
88
 
89
+ export type DataCubeExecutionOptions = {
90
+ debug?: boolean | undefined;
91
+ };
92
+
119
93
  export type DataCubeExecutionResult = {
120
94
  result: TDSExecutionResult;
121
95
  executedQuery: string;
122
96
  executedSQL: string;
123
97
  };
124
98
 
125
- export type DataCubeEngineConfiguration = {
126
- gridClientLicense?: string | undefined;
127
- };
128
-
99
+ /**
100
+ * This is the base engine of DataCube, it provides capabilities that DataCube cannot itself
101
+ * handle, such as query execution, compilation, etc.
102
+ *
103
+ * Note that we want to make sure this class is stateless, since from the perspective of DataCube,
104
+ * the engine simply should not hold any state. This does not mean any implementations of this engine
105
+ * must be stateless as well, that's totally up to their authors.
106
+ */
129
107
  export abstract class DataCubeEngine {
130
- readonly layout = new LayoutManagerState();
131
108
  readonly filterOperations = [
132
109
  new DataCubeQueryFilterOperation__LessThan(),
133
110
  new DataCubeQueryFilterOperation__LessThanOrEqual(),
@@ -176,24 +153,7 @@ export abstract class DataCubeEngine {
176
153
  new DataCubeQueryAggregateOperation__JoinStrings(),
177
154
  ];
178
155
 
179
- protected async fetchConfiguration(): Promise<DataCubeEngineConfiguration> {
180
- return {
181
- gridClientLicense: undefined,
182
- };
183
- }
184
-
185
- async initialize(): Promise<void> {
186
- const config = await this.fetchConfiguration();
187
- if (config.gridClientLicense) {
188
- LicenseManager.setLicenseKey(config.gridClientLicense);
189
- }
190
- await configureCodeEditor(DataCubeFont.ROBOTO_MONO, (error) => {
191
- throw error;
192
- });
193
- setupPureLanguageService({});
194
- }
195
-
196
- // ------------------------------- CORE OPERATIONS -------------------------------
156
+ // ------------------------------- UTILITIES -------------------------------
197
157
 
198
158
  getFilterOperation(value: string) {
199
159
  return getFilterOperation(value, this.filterOperations);
@@ -203,46 +163,6 @@ export abstract class DataCubeEngine {
203
163
  return getAggregateOperation(value, this.aggregateOperations);
204
164
  }
205
165
 
206
- abstract getBaseQuery(): Promise<DataCubeQuery | undefined>;
207
- abstract processQuerySource(value: PlainObject): Promise<DataCubeSource>;
208
-
209
- abstract parseValueSpecification(
210
- code: string,
211
- returnSourceInformation?: boolean | undefined,
212
- ): Promise<V1_ValueSpecification>;
213
-
214
- abstract getValueSpecificationCode(
215
- value: V1_ValueSpecification,
216
- pretty?: boolean | undefined,
217
- ): Promise<string>;
218
-
219
- abstract getQueryTypeahead(
220
- code: string,
221
- baseQuery: V1_Lambda,
222
- source: DataCubeSource,
223
- ): Promise<CompletionItem[]>;
224
-
225
- abstract getQueryRelationType(
226
- query: V1_Lambda,
227
- source: DataCubeSource,
228
- ): Promise<RelationType>;
229
-
230
- abstract getQueryCodeRelationReturnType(
231
- code: string,
232
- baseQuery: V1_ValueSpecification,
233
- source: DataCubeSource,
234
- ): Promise<RelationType>;
235
-
236
- abstract executeQuery(
237
- query: V1_Lambda,
238
- source: DataCubeSource,
239
- api: DataCubeAPI,
240
- ): Promise<DataCubeExecutionResult>;
241
-
242
- abstract buildExecutionContext(
243
- source: DataCubeSource,
244
- ): V1_AppliedFunction | undefined;
245
-
246
166
  /**
247
167
  * By default, for a function chain, Pure grammar composer will extract the first parameter of the first function
248
168
  * and render it as the caller of that function rather than a parameter
@@ -271,27 +191,43 @@ export abstract class DataCubeEngine {
271
191
  ).substring(`''->`.length);
272
192
  }
273
193
 
274
- generateInitialQuery(snapshot: DataCubeQuerySnapshot): V1_AppliedFunction {
275
- return _function(DataCubeFunction.SELECT, [
276
- _cols(snapshot.data.sourceColumns.map((col) => _colSpec(col.name))),
277
- ]);
278
- }
194
+ // ---------------------------------- PROCESSOR ----------------------------------
279
195
 
280
- // ---------------------------------- DOCUMENTATION ----------------------------------
196
+ abstract processQuerySource(value: PlainObject): Promise<DataCubeSource>;
281
197
 
282
- getDocumentationURL(): string | undefined {
283
- return undefined;
284
- }
198
+ abstract parseValueSpecification(
199
+ code: string,
200
+ returnSourceInformation?: boolean | undefined,
201
+ ): Promise<V1_ValueSpecification>;
285
202
 
286
- getDocumentationEntry(key: string): DocumentationEntry | undefined {
287
- return undefined;
288
- }
203
+ abstract getValueSpecificationCode(
204
+ value: V1_ValueSpecification,
205
+ pretty?: boolean | undefined,
206
+ ): Promise<string>;
289
207
 
290
- shouldDisplayDocumentationEntry(entry: DocumentationEntry) {
291
- return false;
292
- }
208
+ abstract getQueryTypeahead(
209
+ code: string,
210
+ baseQuery: V1_Lambda,
211
+ source: DataCubeSource,
212
+ ): Promise<CompletionItem[]>;
213
+
214
+ abstract getQueryCodeRelationReturnType(
215
+ code: string,
216
+ baseQuery: V1_ValueSpecification,
217
+ source: DataCubeSource,
218
+ ): Promise<DataCubeRelationType>;
219
+
220
+ abstract executeQuery(
221
+ query: V1_Lambda,
222
+ source: DataCubeSource,
223
+ options?: DataCubeExecutionOptions | undefined,
224
+ ): Promise<DataCubeExecutionResult>;
225
+
226
+ abstract buildExecutionContext(
227
+ source: DataCubeSource,
228
+ ): V1_AppliedFunction | undefined;
293
229
 
294
- // ---------------------------------- LOGGING ----------------------------------
230
+ // ---------------------------------- APPLICATION ----------------------------------
295
231
 
296
232
  logDebug(message: string, ...data: unknown[]) {
297
233
  // do nothing
@@ -321,129 +257,10 @@ export abstract class DataCubeEngine {
321
257
  // do nothing
322
258
  }
323
259
 
324
- // ---------------------------------- ALERT ----------------------------------
325
-
326
- alert(options: {
327
- message: string;
328
- type: AlertType;
329
- text?: string | undefined;
330
- actions?: ActionAlertAction[] | undefined;
331
- windowTitle?: string | undefined;
332
- windowConfig?: WindowConfiguration | undefined;
333
- }) {
334
- const { message, type, text, actions, windowTitle, windowConfig } = options;
335
- const window = new WindowState(
336
- new LayoutConfiguration(windowTitle ?? '', () => (
337
- <Alert
338
- type={type}
339
- message={message}
340
- text={text}
341
- actions={actions}
342
- onClose={() => this.layout.closeWindow(window)}
343
- />
344
- )),
345
- );
346
- window.configuration.window =
347
- windowConfig ?? DEFAULT_SMALL_ALERT_WINDOW_CONFIG;
348
- this.layout.newWindow(window);
349
- }
350
-
351
- alertError(
352
- error: Error,
353
- options: {
354
- message: string;
355
- text?: string | undefined;
356
- actions?: ActionAlertAction[] | undefined;
357
- windowTitle?: string | undefined;
358
- windowConfig?: WindowConfiguration | undefined;
359
- },
360
- ) {
361
- const { message, text, actions, windowTitle, windowConfig } = options;
362
- const window = new WindowState(
363
- new LayoutConfiguration(windowTitle ?? 'Error', () => (
364
- <Alert
365
- type={AlertType.ERROR}
366
- message={message}
367
- text={text}
368
- actions={actions}
369
- />
370
- )),
371
- );
372
- window.configuration.window =
373
- windowConfig ?? DEFAULT_SMALL_ALERT_WINDOW_CONFIG;
374
- this.layout.newWindow(window);
375
- }
376
-
377
- alertUnhandledError(error: Error) {
378
- this.logUnhandledError(error);
379
- this.alertError(error, {
380
- message: error.message,
381
- });
382
- }
383
-
384
- alertCodeCheckError(
385
- error: EngineError,
386
- code: string,
387
- codePrefix: string,
388
- options: {
389
- message: string;
390
- text?: string | undefined;
391
- actions?: ActionAlertAction[] | undefined;
392
- windowTitle?: string | undefined;
393
- windowConfig?: WindowConfiguration | undefined;
394
- },
395
- ) {
396
- const { message, text, windowTitle, windowConfig } = options;
397
- // correct the source information since we added prefix to the code
398
- // and reveal error in the editor
399
- if (error.sourceInformation) {
400
- error.sourceInformation.startColumn -=
401
- error.sourceInformation.startLine === 1 ? codePrefix.length : 0;
402
- error.sourceInformation.endColumn -=
403
- error.sourceInformation.endLine === 1 ? codePrefix.length : 0;
404
- const editorModel = monacoEditorAPI.createModel(
405
- code,
406
- CODE_EDITOR_LANGUAGE.PURE,
407
- Uri.file(`/${uuid()}.pure`),
408
- );
409
-
410
- const fullRange = editorModel.getFullModelRange();
411
- if (
412
- error.sourceInformation.startLine < 1 ||
413
- (error.sourceInformation.startLine === 1 &&
414
- error.sourceInformation.startColumn < 1) ||
415
- error.sourceInformation.endLine > fullRange.endLineNumber ||
416
- (error.sourceInformation.endLine === fullRange.endLineNumber &&
417
- error.sourceInformation.endColumn > fullRange.endColumn)
418
- ) {
419
- error.sourceInformation.startColumn = fullRange.startColumn;
420
- error.sourceInformation.startLine = fullRange.startLineNumber;
421
- error.sourceInformation.endColumn = fullRange.endColumn;
422
- error.sourceInformation.endLine = fullRange.endLineNumber;
423
- }
424
- const window = new WindowState(
425
- new LayoutConfiguration(windowTitle ?? 'Error', () => (
426
- <DataCubeCodeCheckErrorAlert
427
- editorModel={editorModel}
428
- error={error}
429
- message={message}
430
- text={text}
431
- />
432
- )),
433
- );
434
- window.configuration.window = windowConfig ?? {
435
- width: 500,
436
- height: 400,
437
- minWidth: 300,
438
- minHeight: 300,
439
- center: true,
440
- };
441
- this.layout.newWindow(window);
442
- }
260
+ getDocumentationEntry(key: string): DocumentationEntry | undefined {
261
+ return undefined;
443
262
  }
444
263
 
445
- // ---------------------------------- MISC ----------------------------------
446
-
447
264
  openLink(url: string) {
448
265
  // do nothing
449
266
  }
@@ -29,7 +29,7 @@ import {
29
29
  DataCubeQuerySortDirection,
30
30
  type DataCubeQueryFunctionMap,
31
31
  } from './DataCubeQueryEngine.js';
32
- import { DataCubeConfiguration } from './models/DataCubeConfiguration.js';
32
+ import { DataCubeConfiguration } from './model/DataCubeConfiguration.js';
33
33
  import type { DataCubeQueryFilterOperation } from './filter/DataCubeQueryFilterOperation.js';
34
34
  import {
35
35
  _col,
@@ -49,7 +49,7 @@ import {
49
49
  _extendRootAggregation,
50
50
  } from './DataCubeQueryBuilderUtils.js';
51
51
  import type { DataCubeQueryAggregateOperation } from './aggregation/DataCubeQueryAggregateOperation.js';
52
- import type { DataCubeSource } from './models/DataCubeSource.js';
52
+ import type { DataCubeSource } from './model/DataCubeSource.js';
53
53
 
54
54
  export function buildExecutableQuery(
55
55
  snapshot: DataCubeQuerySnapshot,
@@ -79,6 +79,7 @@ export function buildExecutableQuery(
79
79
  end: number;
80
80
  }
81
81
  | undefined;
82
+ skipExecutionContext?: boolean;
82
83
  },
83
84
  ) {
84
85
  const data = snapshot.data;