@finos/legend-data-cube 0.0.37 → 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 (480) hide show
  1. package/lib/__lib__/DataCubeDocumentation.d.ts +7 -7
  2. package/lib/__lib__/DataCubeDocumentation.d.ts.map +1 -1
  3. package/lib/__lib__/DataCubeDocumentation.js +9 -9
  4. package/lib/__lib__/DataCubeDocumentation.js.map +1 -1
  5. package/lib/__lib__/DataCubeSetting.d.ts +24 -0
  6. package/lib/__lib__/DataCubeSetting.d.ts.map +1 -0
  7. package/lib/{stores/core → __lib__}/DataCubeSetting.js +5 -16
  8. package/lib/__lib__/DataCubeSetting.js.map +1 -0
  9. package/lib/components/DataCube.d.ts +1 -1
  10. package/lib/components/DataCube.d.ts.map +1 -1
  11. package/lib/components/DataCube.js +30 -38
  12. package/lib/components/DataCube.js.map +1 -1
  13. package/lib/components/DataCubePlaceholder.d.ts +40 -0
  14. package/lib/components/DataCubePlaceholder.d.ts.map +1 -0
  15. package/lib/components/DataCubePlaceholder.js +34 -0
  16. package/lib/components/DataCubePlaceholder.js.map +1 -0
  17. package/lib/components/DataCubeStatusBar.d.ts +24 -0
  18. package/lib/components/DataCubeStatusBar.d.ts.map +1 -0
  19. package/lib/components/DataCubeStatusBar.js +30 -0
  20. package/lib/components/DataCubeStatusBar.js.map +1 -0
  21. package/lib/components/DataCubeTitleBar.d.ts +24 -0
  22. package/lib/components/DataCubeTitleBar.d.ts.map +1 -0
  23. package/lib/components/DataCubeTitleBar.js +36 -0
  24. package/lib/components/DataCubeTitleBar.js.map +1 -0
  25. package/lib/components/DataCubeView.d.ts.map +1 -1
  26. package/lib/components/DataCubeView.js +10 -12
  27. package/lib/components/DataCubeView.js.map +1 -1
  28. package/lib/components/core/DataCubeAlert.d.ts +1 -22
  29. package/lib/components/core/DataCubeAlert.d.ts.map +1 -1
  30. package/lib/components/core/DataCubeAlert.js +2 -55
  31. package/lib/components/core/DataCubeAlert.js.map +1 -1
  32. package/lib/components/core/DataCubeDocumentationPanel.js +1 -1
  33. package/lib/components/core/DataCubeDocumentationPanel.js.map +1 -1
  34. package/lib/components/core/DataCubeFormUtils.d.ts.map +1 -1
  35. package/lib/components/core/DataCubeFormUtils.js +8 -8
  36. package/lib/components/core/DataCubeFormUtils.js.map +1 -1
  37. package/lib/components/core/{DataCubeLayoutManager.d.ts → DataCubeLayout.d.ts} +5 -5
  38. package/lib/components/core/DataCubeLayout.d.ts.map +1 -0
  39. package/lib/components/core/{DataCubeLayoutManager.js → DataCubeLayout.js} +14 -5
  40. package/lib/components/core/DataCubeLayout.js.map +1 -0
  41. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts +3 -2
  42. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts.map +1 -1
  43. package/lib/components/core/DataCubePureCodeEditorUtils.js +2 -2
  44. package/lib/components/core/DataCubePureCodeEditorUtils.js.map +1 -1
  45. package/lib/components/core/DataCubeSettingsPanel.js +8 -8
  46. package/lib/components/core/DataCubeSettingsPanel.js.map +1 -1
  47. package/lib/components/view/editor/DataCubeEditor.d.ts.map +1 -1
  48. package/lib/components/view/editor/DataCubeEditor.js +5 -3
  49. package/lib/components/view/editor/DataCubeEditor.js.map +1 -1
  50. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  51. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js +15 -14
  52. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  53. package/lib/components/view/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
  54. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js +6 -5
  55. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  56. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js +2 -2
  57. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  58. package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -1
  59. package/lib/components/view/extend/DataCubeColumnEditor.js +13 -11
  60. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
  61. package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -1
  62. package/lib/components/view/filter/DataCubeFilterEditor.js +4 -2
  63. package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -1
  64. package/lib/index.css +1 -1
  65. package/lib/index.d.ts +14 -11
  66. package/lib/index.d.ts.map +1 -1
  67. package/lib/index.js +14 -11
  68. package/lib/index.js.map +1 -1
  69. package/lib/package.json +1 -1
  70. package/lib/stores/DataCubeAPI.d.ts +36 -3
  71. package/lib/stores/DataCubeAPI.d.ts.map +1 -1
  72. package/lib/stores/DataCubeAPI.js +29 -1
  73. package/lib/stores/DataCubeAPI.js.map +1 -1
  74. package/lib/stores/DataCubeOptions.d.ts +83 -9
  75. package/lib/stores/DataCubeOptions.d.ts.map +1 -1
  76. package/lib/stores/DataCubeState.d.ts +25 -22
  77. package/lib/stores/DataCubeState.d.ts.map +1 -1
  78. package/lib/stores/DataCubeState.js +55 -62
  79. package/lib/stores/DataCubeState.js.map +1 -1
  80. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +2 -2
  81. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  82. package/lib/stores/core/DataCubeConfigurationBuilder.js +1 -1
  83. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  84. package/lib/stores/core/DataCubeEngine.d.ts +12 -36
  85. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
  86. package/lib/stores/core/DataCubeEngine.js +14 -86
  87. package/lib/stores/core/DataCubeEngine.js.map +1 -1
  88. package/lib/stores/core/DataCubeQueryBuilder.d.ts +2 -2
  89. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  90. package/lib/stores/core/DataCubeQueryBuilder.js +1 -1
  91. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  92. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +2 -2
  93. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  94. package/lib/stores/core/DataCubeQueryBuilderUtils.js +2 -2
  95. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  96. package/lib/stores/core/DataCubeQueryEngine.d.ts +26 -26
  97. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  98. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +2 -2
  99. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  100. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +2 -2
  101. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  102. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +11 -10
  103. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  104. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +1 -1
  105. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  106. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +5 -5
  107. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  108. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +2 -2
  109. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -1
  110. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +2 -2
  111. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -1
  112. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +2 -2
  113. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -1
  114. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +2 -2
  115. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -1
  116. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +2 -2
  117. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -1
  118. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +2 -2
  119. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -1
  120. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +2 -2
  121. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -1
  122. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +2 -2
  123. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -1
  124. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +2 -2
  125. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -1
  126. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +2 -2
  127. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -1
  128. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +2 -2
  129. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -1
  130. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +2 -2
  131. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -1
  132. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +2 -2
  133. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -1
  134. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +2 -2
  135. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -1
  136. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +1 -1
  137. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
  138. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +1 -1
  139. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  140. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +1 -1
  141. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  142. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +1 -1
  143. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  144. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +1 -1
  145. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  146. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +1 -1
  147. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  148. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +1 -1
  149. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +1 -1
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +1 -1
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +1 -1
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +1 -1
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +1 -1
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  160. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +1 -1
  161. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  162. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +1 -1
  163. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  164. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +1 -1
  165. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  166. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +1 -1
  167. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  168. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +1 -1
  169. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  170. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +1 -1
  171. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  172. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +1 -1
  173. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  174. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +1 -1
  175. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  176. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +1 -1
  177. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  178. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +1 -1
  179. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  180. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +1 -1
  181. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  182. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +1 -1
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +1 -1
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +1 -1
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +1 -1
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +1 -1
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +1 -1
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  194. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts.map +1 -0
  195. package/lib/stores/core/model/AdhocQueryDataCubeSource.js.map +1 -0
  196. package/lib/stores/core/model/DataCubeColumn.d.ts.map +1 -0
  197. package/lib/stores/core/model/DataCubeColumn.js.map +1 -0
  198. package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -0
  199. package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -0
  200. package/lib/stores/core/model/DataCubeQuery.d.ts.map +1 -0
  201. package/lib/stores/core/model/DataCubeQuery.js.map +1 -0
  202. package/lib/stores/core/model/DataCubeSource.d.ts.map +1 -0
  203. package/lib/stores/core/model/DataCubeSource.js.map +1 -0
  204. package/lib/stores/services/DataCubeAlertService.d.ts +56 -0
  205. package/lib/stores/services/DataCubeAlertService.d.ts.map +1 -0
  206. package/lib/stores/services/DataCubeAlertService.js +89 -0
  207. package/lib/stores/services/DataCubeAlertService.js.map +1 -0
  208. package/lib/stores/services/DataCubeDocumentationService.d.ts +29 -0
  209. package/lib/stores/services/DataCubeDocumentationService.d.ts.map +1 -0
  210. package/lib/stores/services/DataCubeDocumentationService.js +41 -0
  211. package/lib/stores/services/DataCubeDocumentationService.js.map +1 -0
  212. package/lib/stores/{core/DataCubeLayoutManagerState.d.ts → services/DataCubeLayoutService.d.ts} +28 -7
  213. package/lib/stores/services/DataCubeLayoutService.d.ts.map +1 -0
  214. package/lib/stores/{core/DataCubeLayoutManagerState.js → services/DataCubeLayoutService.js} +58 -21
  215. package/lib/stores/services/DataCubeLayoutService.js.map +1 -0
  216. package/lib/stores/services/DataCubeLogService.d.ts +29 -0
  217. package/lib/stores/services/DataCubeLogService.d.ts.map +1 -0
  218. package/lib/stores/services/DataCubeLogService.js +43 -0
  219. package/lib/stores/services/DataCubeLogService.js.map +1 -0
  220. package/lib/stores/services/DataCubeNavigationService.d.ts +22 -0
  221. package/lib/stores/services/DataCubeNavigationService.d.ts.map +1 -0
  222. package/lib/stores/services/DataCubeNavigationService.js +25 -0
  223. package/lib/stores/services/DataCubeNavigationService.js.map +1 -0
  224. package/lib/stores/{view/DataCubeQuerySnapshotManager.d.ts → services/DataCubeQuerySnapshotService.d.ts} +18 -13
  225. package/lib/stores/services/DataCubeQuerySnapshotService.d.ts.map +1 -0
  226. package/lib/stores/{view/DataCubeQuerySnapshotManager.js → services/DataCubeQuerySnapshotService.js} +36 -30
  227. package/lib/stores/services/DataCubeQuerySnapshotService.js.map +1 -0
  228. package/lib/stores/services/DataCubeSettingService.d.ts +75 -0
  229. package/lib/stores/services/DataCubeSettingService.d.ts.map +1 -0
  230. package/lib/stores/{DataCubeSettings.js → services/DataCubeSettingService.js} +99 -51
  231. package/lib/stores/services/DataCubeSettingService.js.map +1 -0
  232. package/lib/stores/services/DataCubeTaskService.d.ts +41 -0
  233. package/lib/stores/services/DataCubeTaskService.d.ts.map +1 -0
  234. package/lib/stores/services/DataCubeTaskService.js +84 -0
  235. package/lib/stores/services/DataCubeTaskService.js.map +1 -0
  236. package/lib/stores/services/DataCubeTelemetryService.d.ts +23 -0
  237. package/lib/stores/services/DataCubeTelemetryService.d.ts.map +1 -0
  238. package/lib/stores/services/DataCubeTelemetryService.js +25 -0
  239. package/lib/stores/services/DataCubeTelemetryService.js.map +1 -0
  240. package/lib/stores/view/DataCubeInfoState.d.ts +2 -1
  241. package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -1
  242. package/lib/stores/view/DataCubeInfoState.js +10 -4
  243. package/lib/stores/view/DataCubeInfoState.js.map +1 -1
  244. package/lib/stores/view/DataCubeViewState.d.ts +19 -18
  245. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  246. package/lib/stores/view/DataCubeViewState.js +42 -43
  247. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  248. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +2 -4
  249. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  250. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +3 -5
  251. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  252. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts +1 -3
  253. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts.map +1 -1
  254. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js +3 -5
  255. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js.map +1 -1
  256. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts +2 -4
  257. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  258. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +15 -17
  259. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  260. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +1 -4
  261. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  262. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +0 -4
  263. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  264. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +3 -5
  265. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
  266. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +7 -9
  267. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
  268. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +1 -1
  269. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  270. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +1 -1
  271. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  272. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts +1 -1
  273. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  274. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts +2 -4
  275. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -1
  276. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js +3 -5
  277. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -1
  278. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +1 -4
  279. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  280. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +10 -14
  281. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  282. package/lib/stores/view/editor/DataCubeEditorState.d.ts +4 -3
  283. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
  284. package/lib/stores/view/editor/DataCubeEditorState.js +11 -9
  285. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
  286. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +1 -4
  287. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  288. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +4 -8
  289. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  290. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +4 -4
  291. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  292. package/lib/stores/view/extend/DataCubeColumnEditorState.js +17 -17
  293. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  294. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts +7 -6
  295. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
  296. package/lib/stores/view/extend/DataCubeExtendManagerState.js +18 -20
  297. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
  298. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts +4 -3
  299. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  300. package/lib/stores/view/filter/DataCubeFilterEditorState.js +8 -6
  301. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  302. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +5 -3
  303. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  304. package/lib/stores/view/grid/DataCubeGridClientEngine.js +42 -35
  305. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  306. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts +1 -3
  307. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts.map +1 -1
  308. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js +7 -9
  309. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js.map +1 -1
  310. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +2 -2
  311. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  312. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +5 -5
  313. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  314. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +8 -6
  315. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
  316. package/lib/stores/view/grid/DataCubeGridControllerState.js +8 -3
  317. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
  318. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  319. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +7 -7
  320. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  321. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +1 -1
  322. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  323. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +1 -1
  324. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  325. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts +2 -2
  326. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  327. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +2 -2
  328. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  329. package/lib/stores/view/grid/DataCubeGridState.d.ts +3 -2
  330. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
  331. package/lib/stores/view/grid/DataCubeGridState.js +14 -12
  332. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
  333. package/package.json +1 -1
  334. package/src/__lib__/DataCubeDocumentation.ts +7 -7
  335. package/src/__lib__/DataCubeSetting.ts +24 -0
  336. package/src/components/DataCube.tsx +55 -85
  337. package/src/components/DataCubePlaceholder.tsx +97 -0
  338. package/src/components/DataCubeStatusBar.tsx +71 -0
  339. package/src/components/DataCubeTitleBar.tsx +81 -0
  340. package/src/components/DataCubeView.tsx +20 -44
  341. package/src/components/core/DataCubeAlert.tsx +5 -99
  342. package/src/components/core/DataCubeDocumentationPanel.tsx +1 -1
  343. package/src/components/core/DataCubeFormUtils.tsx +11 -8
  344. package/src/components/core/{DataCubeLayoutManager.tsx → DataCubeLayout.tsx} +32 -21
  345. package/src/components/core/DataCubePureCodeEditorUtils.tsx +9 -5
  346. package/src/components/core/DataCubeSettingsPanel.tsx +9 -9
  347. package/src/components/view/editor/DataCubeEditor.tsx +6 -3
  348. package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +18 -17
  349. package/src/components/view/editor/DataCubeEditorColumnsPanel.tsx +14 -18
  350. package/src/components/view/editor/DataCubeEditorGeneralPropertiesPanel.tsx +2 -2
  351. package/src/components/view/extend/DataCubeColumnEditor.tsx +20 -11
  352. package/src/components/view/filter/DataCubeFilterEditor.tsx +4 -2
  353. package/src/components/view/grid/DataCubeGrid.tsx +1 -1
  354. package/src/index.tsx +23 -12
  355. package/src/stores/DataCubeAPI.ts +58 -3
  356. package/src/stores/DataCubeOptions.ts +101 -12
  357. package/src/stores/DataCubeState.tsx +74 -91
  358. package/src/stores/core/DataCubeConfigurationBuilder.ts +2 -2
  359. package/src/stores/core/DataCubeEngine.tsx +15 -181
  360. package/src/stores/core/DataCubeQueryBuilder.ts +2 -2
  361. package/src/stores/core/DataCubeQueryBuilderUtils.ts +2 -2
  362. package/src/stores/core/DataCubeQueryEngine.ts +27 -27
  363. package/src/stores/core/DataCubeQuerySnapshot.ts +2 -2
  364. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +18 -12
  365. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +5 -5
  366. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +2 -2
  367. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +2 -2
  368. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +2 -2
  369. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +2 -2
  370. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +2 -2
  371. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +2 -2
  372. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +2 -2
  373. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +2 -2
  374. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +2 -2
  375. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +2 -2
  376. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +2 -2
  377. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +2 -2
  378. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +2 -2
  379. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +2 -2
  380. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +1 -1
  381. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +1 -1
  382. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +1 -1
  383. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +1 -1
  384. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +1 -1
  385. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +1 -1
  386. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +1 -1
  387. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +1 -1
  388. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +1 -1
  389. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +1 -1
  390. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +1 -1
  391. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +1 -1
  392. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +1 -1
  393. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +1 -1
  394. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +1 -1
  395. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +1 -1
  396. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +1 -1
  397. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +1 -1
  398. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +1 -1
  399. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +1 -1
  400. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +1 -1
  401. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +1 -1
  402. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +1 -1
  403. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +1 -1
  404. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +1 -1
  405. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +1 -1
  406. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +1 -1
  407. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +1 -1
  408. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +1 -1
  409. package/src/stores/services/DataCubeAlertService.tsx +169 -0
  410. package/src/stores/services/DataCubeDocumentationService.tsx +74 -0
  411. package/src/stores/{core/DataCubeLayoutManagerState.ts → services/DataCubeLayoutService.tsx} +96 -23
  412. package/src/stores/services/DataCubeLogService.ts +54 -0
  413. package/src/stores/services/DataCubeNavigationService.ts +29 -0
  414. package/src/stores/{view/DataCubeQuerySnapshotManager.ts → services/DataCubeQuerySnapshotService.ts} +48 -38
  415. package/src/stores/{DataCubeSettings.tsx → services/DataCubeSettingService.tsx} +155 -87
  416. package/src/stores/services/DataCubeTaskService.ts +102 -0
  417. package/src/stores/services/DataCubeTelemetryService.ts +30 -0
  418. package/src/stores/view/DataCubeInfoState.ts +12 -4
  419. package/src/stores/view/DataCubeViewState.ts +54 -53
  420. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +4 -6
  421. package/src/stores/view/editor/DataCubeEditorColumnSelectorState.ts +3 -6
  422. package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +16 -18
  423. package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +1 -8
  424. package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +9 -11
  425. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +1 -1
  426. package/src/stores/view/editor/DataCubeEditorPanelState.ts +1 -1
  427. package/src/stores/view/editor/DataCubeEditorPivotLayoutPanelState.ts +4 -7
  428. package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +11 -16
  429. package/src/stores/view/editor/DataCubeEditorState.tsx +23 -15
  430. package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +5 -10
  431. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +22 -22
  432. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +39 -30
  433. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +11 -8
  434. package/src/stores/view/grid/DataCubeGridClientEngine.ts +53 -45
  435. package/src/stores/view/grid/DataCubeGridClientExportEngine.ts +7 -10
  436. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +3 -6
  437. package/src/stores/view/grid/DataCubeGridControllerState.ts +11 -3
  438. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +20 -8
  439. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +2 -2
  440. package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +2 -2
  441. package/src/stores/view/grid/DataCubeGridState.ts +24 -15
  442. package/tsconfig.json +19 -10
  443. package/lib/components/core/DataCubeLayoutManager.d.ts.map +0 -1
  444. package/lib/components/core/DataCubeLayoutManager.js.map +0 -1
  445. package/lib/stores/DataCubeSettings.d.ts +0 -45
  446. package/lib/stores/DataCubeSettings.d.ts.map +0 -1
  447. package/lib/stores/DataCubeSettings.js.map +0 -1
  448. package/lib/stores/core/DataCubeLayoutManagerState.d.ts.map +0 -1
  449. package/lib/stores/core/DataCubeLayoutManagerState.js.map +0 -1
  450. package/lib/stores/core/DataCubeSetting.d.ts +0 -51
  451. package/lib/stores/core/DataCubeSetting.d.ts.map +0 -1
  452. package/lib/stores/core/DataCubeSetting.js.map +0 -1
  453. package/lib/stores/core/models/AdhocQueryDataCubeSource.d.ts.map +0 -1
  454. package/lib/stores/core/models/AdhocQueryDataCubeSource.js.map +0 -1
  455. package/lib/stores/core/models/DataCubeColumn.d.ts.map +0 -1
  456. package/lib/stores/core/models/DataCubeColumn.js.map +0 -1
  457. package/lib/stores/core/models/DataCubeConfiguration.d.ts.map +0 -1
  458. package/lib/stores/core/models/DataCubeConfiguration.js.map +0 -1
  459. package/lib/stores/core/models/DataCubeQuery.d.ts.map +0 -1
  460. package/lib/stores/core/models/DataCubeQuery.js.map +0 -1
  461. package/lib/stores/core/models/DataCubeSource.d.ts.map +0 -1
  462. package/lib/stores/core/models/DataCubeSource.js.map +0 -1
  463. package/lib/stores/view/DataCubeQuerySnapshotManager.d.ts.map +0 -1
  464. package/lib/stores/view/DataCubeQuerySnapshotManager.js.map +0 -1
  465. package/src/stores/core/DataCubeSetting.ts +0 -63
  466. /package/lib/stores/core/{models → model}/AdhocQueryDataCubeSource.d.ts +0 -0
  467. /package/lib/stores/core/{models → model}/AdhocQueryDataCubeSource.js +0 -0
  468. /package/lib/stores/core/{models → model}/DataCubeColumn.d.ts +0 -0
  469. /package/lib/stores/core/{models → model}/DataCubeColumn.js +0 -0
  470. /package/lib/stores/core/{models → model}/DataCubeConfiguration.d.ts +0 -0
  471. /package/lib/stores/core/{models → model}/DataCubeConfiguration.js +0 -0
  472. /package/lib/stores/core/{models → model}/DataCubeQuery.d.ts +0 -0
  473. /package/lib/stores/core/{models → model}/DataCubeQuery.js +0 -0
  474. /package/lib/stores/core/{models → model}/DataCubeSource.d.ts +0 -0
  475. /package/lib/stores/core/{models → model}/DataCubeSource.js +0 -0
  476. /package/src/stores/core/{models → model}/AdhocQueryDataCubeSource.ts +0 -0
  477. /package/src/stores/core/{models → model}/DataCubeColumn.ts +0 -0
  478. /package/src/stores/core/{models → model}/DataCubeConfiguration.ts +0 -0
  479. /package/src/stores/core/{models → model}/DataCubeQuery.ts +0 -0
  480. /package/src/stores/core/{models → model}/DataCubeSource.ts +0 -0
@@ -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,105 +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
- import type { DataCubeQuery } from '../stores/core/models/DataCubeQuery.js';
34
- import { FormBadge_WIP } from './core/DataCubeFormUtils.js';
35
-
36
- const DataCubeTitleBar = observer(() => {
37
- const dataCube = useDataCube();
38
- const engine = dataCube.engine;
39
- const view = dataCube.view;
40
- const [openMenuDropdown, closeMenuDropdown, menuDropdownProps] =
41
- useDropdownMenu();
42
-
43
- return (
44
- <div className="flex h-7 justify-between bg-neutral-100">
45
- <div className="flex select-none items-center pl-1 pr-2 text-lg font-medium">
46
- <DataCubeIcon.Cube className="mr-1 h-4 w-4" />
47
- <div>{view.info.name}</div>
48
- </div>
49
- <div className="flex">
50
- {dataCube.innerHeaderComponent?.(dataCube) ?? null}
51
- <button
52
- className="flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg"
53
- onClick={openMenuDropdown}
54
- >
55
- <DataCubeIcon.Menu />
56
- </button>
57
- <DropdownMenu
58
- {...menuDropdownProps}
59
- menuProps={{
60
- anchorOrigin: { vertical: 'bottom', horizontal: 'right' },
61
- transformOrigin: { vertical: 'top', horizontal: 'left' },
62
- classes: {
63
- paper: 'rounded-none mt-[1px]',
64
- list: 'w-40 p-0 rounded-none border border-neutral-400 bg-white max-h-40 overflow-y-auto py-0.5',
65
- },
66
- }}
67
- >
68
- <DropdownMenuItem
69
- className="flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100"
70
- onClick={() => {
71
- const url = engine.getDocumentationURL();
72
- if (url) {
73
- engine.openLink(url);
74
- }
75
- closeMenuDropdown();
76
- }}
77
- disabled={true} // TODO: enable when we set up the documentation website
78
- >
79
- See Documentation
80
- <FormBadge_WIP />
81
- </DropdownMenuItem>
82
- <div className="my-0.5 h-[1px] w-full bg-neutral-200" />
83
- <DropdownMenuItem
84
- className="flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100"
85
- onClick={() => {
86
- view.dataCube.settings.display.open();
87
- closeMenuDropdown();
88
- }}
89
- >
90
- Settings...
91
- </DropdownMenuItem>
92
- </DropdownMenu>
93
- </div>
94
- </div>
95
- );
96
- });
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';
97
33
 
98
34
  const DataCubeRoot = observer(() => {
99
35
  const dataCube = useDataCube();
100
- const engine = dataCube.engine;
101
36
  const view = dataCube.view;
102
37
 
103
38
  useEffect(() => {
104
39
  dataCube.view
105
40
  .initialize(dataCube.query)
106
- .catch((error) => dataCube.engine.logUnhandledError(error));
41
+ .catch((error) => dataCube.logService.logUnhandledError(error));
107
42
  }, [dataCube]);
108
43
 
109
44
  return (
110
45
  <div className="data-cube relative flex h-full w-full flex-col bg-white">
111
- <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>
112
66
 
113
67
  <DataCubeView view={view} />
114
68
 
115
- <DataCubeLayoutManager layout={engine.layout} />
116
- <DataCubeBlockingActionAlert />
69
+ <DataCubeLayout layout={dataCube.layoutService.manager} />
117
70
  <INTERNAL__MonacoEditorWidgetsRoot />
118
71
  </div>
119
72
  );
@@ -126,22 +79,39 @@ export const DataCube = observer(
126
79
  options?: DataCubeOptions | undefined;
127
80
  }) => {
128
81
  const { query, engine, options } = props;
129
- const state = useLocalObservable(
82
+ const dataCube = useLocalObservable(
130
83
  () => new DataCubeState(query, engine, options),
131
84
  );
132
85
 
133
86
  useEffect(() => {
134
- state
87
+ dataCube
135
88
  .initialize()
136
- .catch((error) => state.engine.logUnhandledError(error));
137
- }, [state]);
89
+ .catch((error) => dataCube.logService.logUnhandledError(error));
90
+ return () => dataCube.dispose();
91
+ }, [dataCube]);
138
92
 
139
- if (!state.initializeState.hasSucceeded) {
140
- 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
+ );
141
111
  }
142
112
  return (
143
- <DataCubeContextProvider value={state}>
144
- <DataCubeRoot key={state.uuid} />
113
+ <DataCubeContextProvider value={dataCube}>
114
+ <DataCubeRoot key={dataCube.uuid} />
145
115
  </DataCubeContextProvider>
146
116
  );
147
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
+ );
@@ -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
+ );
@@ -14,57 +14,33 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { DataCubeIcon, ProgressBar } from '@finos/legend-art';
18
17
  import { observer } from 'mobx-react-lite';
19
18
  import type { DataCubeViewState } from '../stores/view/DataCubeViewState.js';
20
19
  import { DataCubeGrid } from './view/grid/DataCubeGrid.js';
21
-
22
- const DataCubeStatusBar = observer((props: { view: DataCubeViewState }) => {
23
- const { view } = props;
24
-
25
- return (
26
- <div className="flex h-5 w-full justify-between bg-neutral-100">
27
- <div className="flex">
28
- <button
29
- className="flex items-center px-2 text-sky-600 hover:text-sky-700"
30
- onClick={() => view.editor.display.open()}
31
- >
32
- <DataCubeIcon.Settings className="text-xl" />
33
- <div className="pl-0.5 underline">Properties</div>
34
- </button>
35
- <div className="flex">
36
- <button
37
- className="flex items-center text-sky-600 hover:text-sky-700"
38
- onClick={() => {
39
- view.filter.display.open();
40
- }}
41
- >
42
- <DataCubeIcon.TableFilter className="text-lg" />
43
- <div className="pl-0.5 underline">Filter</div>
44
- </button>
45
- </div>
46
- </div>
47
- <div className="flex items-center px-2">
48
- <div className="flex h-3.5 w-48 border-[0.5px] border-neutral-300">
49
- {view.runningTasks.size > 0 && (
50
- <ProgressBar
51
- classes={{
52
- root: 'h-3.5 w-full bg-transparent',
53
- bar1Indeterminate: 'bg-green-500',
54
- bar2Indeterminate: 'bg-green-500',
55
- }}
56
- variant="indeterminate"
57
- />
58
- )}
59
- </div>
60
- </div>
61
- </div>
62
- );
63
- });
20
+ import { DataCubeStatusBar } from './DataCubeStatusBar.js';
21
+ import {
22
+ DataCubePlaceholderErrorDisplay,
23
+ DataCubeViewPlaceholder,
24
+ } from './DataCubePlaceholder.js';
25
+ import { useEffect } from 'react';
64
26
 
65
27
  export const DataCubeView = observer((props: { view: DataCubeViewState }) => {
66
28
  const { view } = props;
67
29
 
30
+ useEffect(() => {
31
+ return () => view.dispose();
32
+ }, [view]);
33
+
34
+ if (view.initializeState.hasFailed) {
35
+ return (
36
+ <DataCubeViewPlaceholder>
37
+ <DataCubePlaceholderErrorDisplay
38
+ message="Initialization Failure"
39
+ prompt="Resolve the issue and reload."
40
+ />
41
+ </DataCubeViewPlaceholder>
42
+ );
43
+ }
68
44
  return (
69
45
  <>
70
46
  <DataCubeGrid view={view} />
@@ -14,31 +14,12 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { cn, DataCubeIcon, Dialog } from '@finos/legend-art';
18
- import { noop } from '@finos/legend-shared';
19
- import { observer } from 'mobx-react-lite';
20
- import { useRef } from 'react';
21
- import { useDataCube } from '../DataCubeProvider.js';
17
+ import { cn, DataCubeIcon } from '@finos/legend-art';
22
18
  import { FormButton } from './DataCubeFormUtils.js';
23
-
24
- export enum AlertType {
25
- ERROR = 'ERROR',
26
- INFO = 'INFO',
27
- SUCCESS = 'SUCCESS',
28
- WARNING = 'WARNING',
29
- }
30
-
31
- export type ActionAlertAction = { label: string; handler: () => void };
32
-
33
- export type ActionAlert = {
34
- title?: string | undefined;
35
- message: string;
36
- prompt?: string | undefined;
37
- type: AlertType;
38
- text?: string | undefined;
39
- actions?: ActionAlertAction[] | undefined;
40
- onClose?: () => void;
41
- };
19
+ import {
20
+ AlertType,
21
+ type ActionAlertAction,
22
+ } from '../../stores/services/DataCubeAlertService.js';
42
23
 
43
24
  export function Alert(props: {
44
25
  message: string;
@@ -99,78 +80,3 @@ export function Alert(props: {
99
80
  </div>
100
81
  );
101
82
  }
102
-
103
- const BlockingActionAlertContent = observer((props: { alert: ActionAlert }) => {
104
- const { alert } = props;
105
- const { title, message, prompt, type, onClose, actions } = alert;
106
- const ref = useRef<HTMLDivElement>(null);
107
- const dataCube = useDataCube();
108
-
109
- // set the width and height of the dialog to make sure content overflow works properly
110
- const handleEnter = () => {
111
- if (ref.current?.parentElement) {
112
- const { width, height } =
113
- ref.current.parentElement.getBoundingClientRect();
114
- ref.current.style.width = `${width}px`;
115
- ref.current.style.height = `${height}px`;
116
- }
117
- };
118
-
119
- return (
120
- <Dialog
121
- open={true}
122
- onClose={noop} // disallow closing dialog by using Esc key or clicking on the backdrop
123
- TransitionProps={{
124
- onEnter: handleEnter,
125
- }}
126
- PaperProps={{
127
- elevation: 0,
128
- }}
129
- slotProps={{
130
- backdrop: {
131
- classes: {
132
- root: 'bg-black !opacity-25',
133
- },
134
- },
135
- }}
136
- classes={{
137
- root: 'h-full w-full flex items-center justify-center',
138
- paper: 'min-h-10 min-w-40 rounded-none shadow-md',
139
- }}
140
- >
141
- <div
142
- className="border border-neutral-400 bg-neutral-200 shadow-xl"
143
- ref={ref}
144
- >
145
- <div className="flex h-6 w-full select-none items-center justify-between border-b border-b-neutral-300 bg-white">
146
- <div className="px-2">{title ?? ''}</div>
147
- </div>
148
- <div className="h-[calc(100%_-_24px)] w-full">
149
- <Alert
150
- type={type}
151
- message={message}
152
- text={prompt}
153
- actions={(actions ?? []).map((action) => ({
154
- label: action.label,
155
- handler: () => {
156
- action.handler();
157
- onClose?.();
158
- dataCube.alertAction(undefined);
159
- },
160
- }))}
161
- />
162
- </div>
163
- </div>
164
- </Dialog>
165
- );
166
- });
167
-
168
- export const DataCubeBlockingActionAlert = observer(() => {
169
- const dataCube = useDataCube();
170
- const actionAlert = dataCube.currentActionAlert;
171
-
172
- if (!actionAlert) {
173
- return null;
174
- }
175
- return <BlockingActionAlertContent alert={actionAlert} />;
176
- });
@@ -21,7 +21,7 @@ import { useDataCube } from '../DataCubeProvider.js';
21
21
 
22
22
  export const DocumentationPanel = observer(() => {
23
23
  const dataCube = useDataCube();
24
- const entry = dataCube.currentDocumentationEntry;
24
+ const entry = dataCube.documentationService.currentEntry;
25
25
 
26
26
  if (!entry) {
27
27
  return null;