@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
@@ -14,15 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { DataCubeState } from './DataCubeState.js';
18
- import {
19
- DataCubeSettingGroup,
20
- DataCubeSettingKey,
21
- DataCubeSettingType,
22
- type DataCubeSetting,
23
- type DataCubeSettingValue,
24
- type DataCubeSettingValues,
25
- } from './core/DataCubeSetting.js';
17
+ import { DataCubeSettingKey } from '../../__lib__/DataCubeSetting.js';
26
18
  import {
27
19
  hashArray,
28
20
  IllegalStateError,
@@ -32,8 +24,8 @@ import {
32
24
  LogEvent,
33
25
  UnsupportedOperationError,
34
26
  } from '@finos/legend-shared';
35
- import { DataCubeEvent } from '../__lib__/DataCubeEvent.js';
36
- import type { DataCubeOptions } from './DataCubeOptions.js';
27
+ import { DataCubeEvent } from '../../__lib__/DataCubeEvent.js';
28
+ import type { DataCubeOptions } from '../DataCubeOptions.js';
37
29
  import {
38
30
  action,
39
31
  computed,
@@ -41,40 +33,95 @@ import {
41
33
  observable,
42
34
  runInAction,
43
35
  } from 'mobx';
44
- import type { DisplayState } from './core/DataCubeLayoutManagerState.js';
45
- import { DataCubeSettingsPanel } from '../components/core/DataCubeSettingsPanel.js';
36
+ import type {
37
+ DataCubeLayoutService,
38
+ DisplayState,
39
+ } from './DataCubeLayoutService.js';
40
+ import { DataCubeSettingsPanel } from '../../components/core/DataCubeSettingsPanel.js';
41
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
42
+ import type { DataCubeAPI, INTERNAL__DataCubeAPI } from '../DataCubeAPI.js';
43
+ import type { DataCubeLogService } from './DataCubeLogService.js';
44
+
45
+ export type DataCubeSettingValue =
46
+ | string
47
+ | number
48
+ | boolean
49
+ | object
50
+ | undefined;
51
+
52
+ export type DataCubeSettingValues = {
53
+ [key: string]: DataCubeSettingValue;
54
+ };
55
+
56
+ export enum DataCubeSettingGroup {
57
+ DEBUG = 'Debug',
58
+ GRID = 'Grid',
59
+ }
60
+
61
+ export enum DataCubeSettingType {
62
+ BOOLEAN = 'boolean',
63
+ NUMERIC = 'numeric',
64
+ STRING = 'string',
65
+ ACTION = 'action',
66
+ }
67
+
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ export type DataCubeSetting<T extends DataCubeSettingValue = any> = {
70
+ key: string;
71
+ title: string;
72
+ group: string;
73
+ type: DataCubeSettingType;
74
+ defaultValue: T;
75
+ action?: ((api: DataCubeAPI, newValue: T) => void) | undefined;
76
+ description?: string | undefined;
77
+ valueOptional?: boolean | undefined;
78
+ requiresReload?: boolean | undefined;
79
+ // numeric value specifics - TODO: we might want to break these downw to separate types
80
+ numericValueMin?: number | undefined;
81
+ numericValueMax?: number | undefined;
82
+ numericValueStep?: number | undefined;
83
+ };
84
+
85
+ export class DataCubeSettingService {
86
+ private readonly _engine: DataCubeEngine;
87
+ private readonly _logService: DataCubeLogService;
88
+ private readonly _layoutService: DataCubeLayoutService;
89
+ private readonly _options?: DataCubeOptions | undefined;
46
90
 
47
- export class DataCubeSettings {
48
- readonly dataCube: DataCubeState;
49
91
  readonly display: DisplayState;
50
92
  readonly configurations = new Map<string, DataCubeSetting>();
51
93
  readonly defaultValues = new Map<string, DataCubeSettingValue>();
52
- readonly defaultValuesHashCode!: string;
94
+ private readonly _defaultValuesHashCode!: string;
53
95
  readonly values = new Map<string, DataCubeSettingValue>();
54
96
  readonly currentValues = new Map<string, DataCubeSettingValue>();
55
97
 
56
- getSettingValues?: (() => DataCubeSettingValues | undefined) | undefined;
57
- onSettingValuesChanged?:
58
- | ((values: DataCubeSettingValues) => void)
59
- | undefined;
60
- gridClientLicense?: string | undefined;
61
-
62
- constructor(dataCube: DataCubeState, options?: DataCubeOptions | undefined) {
63
- makeObservable(this, {
98
+ constructor(
99
+ engine: DataCubeEngine,
100
+ logService: DataCubeLogService,
101
+ layoutService: DataCubeLayoutService,
102
+ options?: DataCubeOptions | undefined,
103
+ ) {
104
+ makeObservable<
105
+ DataCubeSettingService,
106
+ 'valuesHashCode' | 'currentValuesHashCode'
107
+ >(this, {
64
108
  values: observable,
65
109
  save: action,
66
110
  valuesHashCode: computed,
67
111
 
68
112
  currentValues: observable,
69
- resetDefaultValues: action,
113
+ restoreDefaultValues: action,
70
114
  currentValuesHashCode: computed,
115
+
116
+ allowRestoreDefaultValues: computed,
71
117
  });
72
118
 
73
- this.dataCube = dataCube;
74
- this.getSettingValues = options?.getSettingValues;
75
- this.onSettingValuesChanged = options?.onSettingValuesChanged;
119
+ this._engine = engine;
120
+ this._logService = logService;
121
+ this._layoutService = layoutService;
122
+ this._options = options;
76
123
 
77
- this.display = this.dataCube.engine.layout.newDisplay(
124
+ this.display = this._layoutService.newDisplay(
78
125
  'Settings',
79
126
  () => <DataCubeSettingsPanel />,
80
127
  {
@@ -97,6 +144,15 @@ export class DataCubeSettings {
97
144
  type: DataCubeSettingType.BOOLEAN,
98
145
  defaultValue: false,
99
146
  } satisfies DataCubeSetting<boolean>,
147
+ {
148
+ key: DataCubeSettingKey.DEBUGGER__ACTION__RELOAD,
149
+ title: `Reload`,
150
+ description: `Manually reload DataCube (keeping all states). This is needed when making changes to settings that require reloading to take effect.`,
151
+ group: DataCubeSettingGroup.DEBUG,
152
+ type: DataCubeSettingType.ACTION,
153
+ action: (api) => api.reload(),
154
+ defaultValue: undefined,
155
+ } satisfies DataCubeSetting,
100
156
  {
101
157
  key: DataCubeSettingKey.GRID_CLIENT__SUPPRESS_LARGE_DATASET_WARNING,
102
158
  title: `Large Dataset Warning: Disabled`,
@@ -114,8 +170,8 @@ export class DataCubeSettings {
114
170
  defaultValue: 50,
115
171
  numericValueMin: 10,
116
172
  numericValueStep: 10,
117
- action: (newValue) =>
118
- this.dataCube.runTaskForEachView((view) => {
173
+ action: (api, newValue) =>
174
+ (api as INTERNAL__DataCubeAPI)._runTaskForEachView((view) => {
119
175
  view.grid.client.updateGridOptions({
120
176
  rowBuffer: newValue,
121
177
  });
@@ -128,36 +184,36 @@ export class DataCubeSettings {
128
184
  group: DataCubeSettingGroup.GRID,
129
185
  type: DataCubeSettingType.BOOLEAN,
130
186
  defaultValue: false,
131
- action: (newValue) =>
132
- this.dataCube.runTaskForEachView((view) => {
187
+ action: (api, newValue) =>
188
+ (api as INTERNAL__DataCubeAPI)._runTaskForEachView((view) => {
133
189
  view.grid.client.updateGridOptions({
134
190
  purgeClosedRowNodes: newValue,
135
191
  });
136
192
  }),
137
193
  } satisfies DataCubeSetting<boolean>,
138
194
  {
139
- key: DataCubeSettingKey.GRID_CLIENT__ACTION__REFRESH_FAILED_DATA_FETCHES,
140
- title: `Refresh Failed Data Fetch: Action`,
195
+ key: DataCubeSettingKey.GRID_CLIENT__ACTION__RETRY_FAILED_DATA_FETCHES,
196
+ title: `Retry Failed Data Fetches: Action`,
141
197
  description: `Manually re-runs all failed data fetches in the grid.`,
142
198
  group: DataCubeSettingGroup.GRID,
143
199
  type: DataCubeSettingType.ACTION,
144
- action: () => this.dataCube.refreshFailedDataFetches(),
200
+ action: (api) => api.retryFailedDataFetches(),
145
201
  defaultValue: undefined,
146
202
  } satisfies DataCubeSetting,
147
203
  ];
148
204
 
149
- [...CORE_SETTINGS, ...(options?.getSettingItems?.() ?? [])].forEach(
150
- (configuration) => {
151
- this.configurations.set(configuration.key, configuration);
152
- this.setValue(configuration.key, configuration.defaultValue, [
153
- this.defaultValues,
154
- this.values,
155
- this.currentValues,
156
- ]);
157
- },
158
- );
205
+ const { configurations, values } = options?.settingsData ?? {};
206
+
207
+ [...CORE_SETTINGS, ...(configurations ?? [])].forEach((configuration) => {
208
+ this.configurations.set(configuration.key, configuration);
209
+ this.setValue(configuration.key, configuration.defaultValue, [
210
+ this.defaultValues,
211
+ this.values,
212
+ this.currentValues,
213
+ ]);
214
+ });
159
215
 
160
- const settingValues = this.getSettingValues?.() ?? {};
216
+ const settingValues = values ?? {};
161
217
  Object.keys(settingValues).forEach((key) => {
162
218
  const value = settingValues[key];
163
219
  // for unknown settings (e.g. outdated settings, settings' keys changed, etc.), we ignore them
@@ -172,7 +228,9 @@ export class DataCubeSettings {
172
228
  // be processed here, as they should override the settings retrieved from
173
229
  // cache.
174
230
 
175
- this.defaultValuesHashCode = this.computeValuesHashCode(this.defaultValues);
231
+ this._defaultValuesHashCode = this.computeValuesHashCode(
232
+ this.defaultValues,
233
+ );
176
234
  }
177
235
 
178
236
  private setValue(
@@ -182,7 +240,7 @@ export class DataCubeSettings {
182
240
  ) {
183
241
  const configuration = this.configurations.get(key);
184
242
  if (!configuration) {
185
- this.dataCube.engine.logWarning(
243
+ this._logService.logWarning(
186
244
  LogEvent.create(
187
245
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
188
246
  ),
@@ -198,7 +256,7 @@ export class DataCubeSettings {
198
256
  (value === undefined && configuration.valueOptional)
199
257
  )
200
258
  ) {
201
- this.dataCube.engine.logWarning(
259
+ this._logService.logWarning(
202
260
  LogEvent.create(
203
261
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
204
262
  ),
@@ -215,7 +273,7 @@ export class DataCubeSettings {
215
273
  (value === undefined && configuration.valueOptional)
216
274
  )
217
275
  ) {
218
- this.dataCube.engine.logWarning(
276
+ this._logService.logWarning(
219
277
  LogEvent.create(
220
278
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
221
279
  ),
@@ -232,7 +290,7 @@ export class DataCubeSettings {
232
290
  (value === undefined && configuration.valueOptional)
233
291
  )
234
292
  ) {
235
- this.dataCube.engine.logWarning(
293
+ this._logService.logWarning(
236
294
  LogEvent.create(
237
295
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
238
296
  ),
@@ -259,7 +317,7 @@ export class DataCubeSettings {
259
317
  private getConfiguration(key: string) {
260
318
  const configuration = this.configurations.get(key);
261
319
  if (!configuration) {
262
- this.dataCube.engine.logWarning(
320
+ this._logService.logWarning(
263
321
  LogEvent.create(
264
322
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
265
323
  ),
@@ -279,7 +337,7 @@ export class DataCubeSettings {
279
337
  configuration.type !== DataCubeSettingType.BOOLEAN ||
280
338
  !isBoolean(value)
281
339
  ) {
282
- this.dataCube.engine.logWarning(
340
+ this._logService.logWarning(
283
341
  LogEvent.create(
284
342
  DataCubeEvent.SETTINGS__FAILURE__RETRIEVE_INCOMPATIBLE_VALUE,
285
343
  ),
@@ -299,7 +357,7 @@ export class DataCubeSettings {
299
357
  configuration.type !== DataCubeSettingType.NUMERIC ||
300
358
  !isNumber(value)
301
359
  ) {
302
- this.dataCube.engine.logWarning(
360
+ this._logService.logWarning(
303
361
  LogEvent.create(
304
362
  DataCubeEvent.SETTINGS__FAILURE__RETRIEVE_INCOMPATIBLE_VALUE,
305
363
  ),
@@ -316,7 +374,7 @@ export class DataCubeSettings {
316
374
  const value = this.values.get(key);
317
375
  const configuration = this.getConfiguration(key);
318
376
  if (configuration.type !== DataCubeSettingType.STRING || !isString(value)) {
319
- this.dataCube.engine.logWarning(
377
+ this._logService.logWarning(
320
378
  LogEvent.create(
321
379
  DataCubeEvent.SETTINGS__FAILURE__RETRIEVE_INCOMPATIBLE_VALUE,
322
380
  ),
@@ -329,29 +387,6 @@ export class DataCubeSettings {
329
387
  return value;
330
388
  }
331
389
 
332
- updateValue(key: string, value: DataCubeSettingValue) {
333
- const configuration = this.configurations.get(key);
334
- if (!configuration) {
335
- this.dataCube.engine.logWarning(
336
- LogEvent.create(
337
- DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
338
- ),
339
- `Can't set value for unregistered setting '${key}'`,
340
- );
341
- return;
342
- }
343
-
344
- if (!this.setValue(key, value, [this.values, this.currentValues])) {
345
- return;
346
- }
347
-
348
- // trigger hook
349
- this.onSettingValuesChanged?.(this.getCurrentSettingValues());
350
-
351
- // trigger action
352
- configuration.action?.(value);
353
- }
354
-
355
390
  private computeValuesHashCode(values: Map<string, DataCubeSettingValue>) {
356
391
  return hashArray(
357
392
  Array.from(values.entries())
@@ -360,22 +395,26 @@ export class DataCubeSettings {
360
395
  );
361
396
  }
362
397
 
363
- get valuesHashCode() {
398
+ private get valuesHashCode() {
364
399
  return this.computeValuesHashCode(this.values);
365
400
  }
366
401
 
367
- get currentValuesHashCode() {
402
+ private get currentValuesHashCode() {
368
403
  return this.computeValuesHashCode(this.currentValues);
369
404
  }
370
405
 
371
- resetDefaultValues() {
406
+ get allowRestoreDefaultValues() {
407
+ return this._defaultValuesHashCode !== this.currentValuesHashCode;
408
+ }
409
+
410
+ restoreDefaultValues() {
372
411
  this.currentValues.clear();
373
412
  this.defaultValues.forEach((value, key) =>
374
413
  this.currentValues.set(key, value),
375
414
  );
376
415
  }
377
416
 
378
- private getCurrentSettingValues(): DataCubeSettingValues {
417
+ private getCurrentSettingValues() {
379
418
  const settingValues: DataCubeSettingValues = {};
380
419
  this.values.forEach((value, key) => {
381
420
  const configuration = this.configurations.get(key);
@@ -387,7 +426,33 @@ export class DataCubeSettings {
387
426
  return settingValues;
388
427
  }
389
428
 
390
- save() {
429
+ updateValue(api: DataCubeAPI, key: string, value: DataCubeSettingValue) {
430
+ const configuration = this.configurations.get(key);
431
+ if (!configuration) {
432
+ this._logService.logWarning(
433
+ LogEvent.create(
434
+ DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
435
+ ),
436
+ `Can't set value for unregistered setting '${key}'`,
437
+ );
438
+ return;
439
+ }
440
+
441
+ if (!this.setValue(key, value, [this.values, this.currentValues])) {
442
+ return;
443
+ }
444
+
445
+ // trigger hook
446
+ this._options?.onSettingsChanged?.({
447
+ api,
448
+ values: this.getCurrentSettingValues(),
449
+ });
450
+
451
+ // trigger action
452
+ configuration.action?.(api, value);
453
+ }
454
+
455
+ save(api: DataCubeAPI) {
391
456
  const changedSettingKeys = new Set<string>();
392
457
  this.values.forEach((value, key) => {
393
458
  if (value !== this.currentValues.get(key)) {
@@ -400,7 +465,10 @@ export class DataCubeSettings {
400
465
  this.currentValues.forEach((value, key) => this.values.set(key, value));
401
466
 
402
467
  // trigger hook
403
- this.onSettingValuesChanged?.(this.getCurrentSettingValues());
468
+ this._options?.onSettingsChanged?.({
469
+ api,
470
+ values: this.getCurrentSettingValues(),
471
+ });
404
472
 
405
473
  // trigger action
406
474
  let requiresReload = false;
@@ -410,12 +478,12 @@ export class DataCubeSettings {
410
478
  requiresReload = true;
411
479
  }
412
480
  if (configuration?.action) {
413
- configuration.action(this.values.get(key));
481
+ configuration.action(api, this.values.get(key));
414
482
  }
415
483
  }
416
484
 
417
485
  if (requiresReload) {
418
- this.dataCube.reload();
486
+ api.reload();
419
487
  }
420
488
  }
421
489
  }
@@ -0,0 +1,102 @@
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 { uuid } from '@finos/legend-shared';
18
+ import { action, computed, makeObservable, observable } from 'mobx';
19
+
20
+ export class Task {
21
+ readonly uuid = uuid();
22
+ readonly name: string;
23
+ readonly startTime = Date.now();
24
+ readonly ownerId?: string | undefined;
25
+
26
+ endTime?: number | undefined;
27
+
28
+ constructor(name: string, ownerId?: string | undefined) {
29
+ this.name = name;
30
+ this.ownerId = ownerId;
31
+ }
32
+
33
+ end() {
34
+ this.endTime = Date.now();
35
+ }
36
+ }
37
+
38
+ export class TaskManager {
39
+ // TODO?: keep a hashmap, in parallel, for faster lookup
40
+ tasks: Task[] = [];
41
+
42
+ constructor() {
43
+ makeObservable(this, {
44
+ tasks: observable,
45
+ newTask: action,
46
+ endTask: action,
47
+ endTasks: action,
48
+ });
49
+ }
50
+
51
+ newTask(name: string, ownerId?: string | undefined) {
52
+ const task = new Task(name, ownerId);
53
+ this.tasks.push(task);
54
+ return task;
55
+ }
56
+
57
+ endTask(task: Task) {
58
+ const match = this.tasks.find((t) => t.uuid === task.uuid);
59
+ if (match) {
60
+ this.tasks = this.tasks.filter((t) => t.uuid !== task.uuid);
61
+ task.end();
62
+ }
63
+ return task;
64
+ }
65
+
66
+ endTasks(tasks: Task[]) {
67
+ this.tasks = this.tasks.filter(
68
+ (task) => !tasks.find((t) => t.uuid === task.uuid),
69
+ );
70
+ tasks.forEach((task) => task.end());
71
+ }
72
+ }
73
+
74
+ export class DataCubeTaskService {
75
+ readonly uuid = uuid();
76
+ readonly manager: TaskManager;
77
+
78
+ constructor(manager?: TaskManager | undefined) {
79
+ makeObservable(this, {
80
+ tasks: computed,
81
+ });
82
+
83
+ this.manager = manager ?? new TaskManager();
84
+ }
85
+
86
+ get tasks() {
87
+ return this.manager.tasks.filter((task) => task.ownerId === this.uuid);
88
+ }
89
+
90
+ newTask(name: string) {
91
+ return this.manager.newTask(name, this.uuid);
92
+ }
93
+
94
+ endTask(task: Task) {
95
+ return this.manager.endTask(task);
96
+ }
97
+
98
+ dispose() {
99
+ // remove all tasks owned by this service
100
+ this.manager.endTasks(this.tasks);
101
+ }
102
+ }
@@ -0,0 +1,30 @@
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 type { PlainObject } from '@finos/legend-shared';
18
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
19
+
20
+ export class DataCubeTelemetryService {
21
+ private readonly _engine: DataCubeEngine;
22
+
23
+ constructor(engine: DataCubeEngine) {
24
+ this._engine = engine;
25
+ }
26
+
27
+ sendTelemetry(event: string, data: PlainObject) {
28
+ this._engine.sendTelemetry(event, data);
29
+ }
30
+ }
@@ -16,9 +16,9 @@
16
16
 
17
17
  import { action, makeObservable, observable } from 'mobx';
18
18
  import type { DataCubeViewState } from './DataCubeViewState.js';
19
- import { DataCubeQuerySnapshotController } from './DataCubeQuerySnapshotManager.js';
19
+ import { DataCubeQuerySnapshotController } from '../services/DataCubeQuerySnapshotService.js';
20
20
  import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
21
- import { DataCubeConfiguration } from '../core/models/DataCubeConfiguration.js';
21
+ import { DataCubeConfiguration } from '../core/model/DataCubeConfiguration.js';
22
22
 
23
23
  /**
24
24
  * Unlike other query editor state, this state does not support making any
@@ -26,17 +26,21 @@ import { DataCubeConfiguration } from '../core/models/DataCubeConfiguration.js';
26
26
  * from the latest snapshot to help display latest static info about the query.
27
27
  */
28
28
  export class DataCubeInfoState extends DataCubeQuerySnapshotController {
29
+ private readonly _view: DataCubeViewState;
30
+
29
31
  name = '';
30
32
  // TODO: filter preview text
31
33
 
32
34
  constructor(view: DataCubeViewState) {
33
- super(view);
35
+ super(view.engine, view.settingService, view.snapshotService);
34
36
 
35
37
  makeObservable(this, {
36
38
  name: observable,
37
39
 
38
40
  applySnapshot: action,
39
41
  });
42
+
43
+ this._view = view;
40
44
  }
41
45
 
42
46
  override getSnapshotSubscriberName() {
@@ -55,7 +59,11 @@ export class DataCubeInfoState extends DataCubeQuerySnapshotController {
55
59
  if (configuration.name !== this.name) {
56
60
  this.name = configuration.name;
57
61
  // TODO: make sure we only call this for the main view of data cube when we support multi views
58
- this.view.dataCube.onNameChanged?.(this.name, this.view.source);
62
+ this._view.dataCube.options?.onNameChanged?.({
63
+ api: this._view.dataCube.api,
64
+ name: this.name,
65
+ source: this._view.source,
66
+ });
59
67
  }
60
68
 
61
69
  // TODO: filter preview text