@finos/legend-data-cube 0.0.36 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/README.md +1 -1
  2. package/lib/__lib__/DataCubeDocumentation.d.ts +7 -7
  3. package/lib/__lib__/DataCubeDocumentation.d.ts.map +1 -1
  4. package/lib/__lib__/DataCubeDocumentation.js +9 -9
  5. package/lib/__lib__/DataCubeDocumentation.js.map +1 -1
  6. package/lib/__lib__/DataCubeEvent.d.ts +21 -0
  7. package/lib/__lib__/DataCubeEvent.d.ts.map +1 -0
  8. package/lib/__lib__/DataCubeEvent.js +22 -0
  9. package/lib/__lib__/DataCubeEvent.js.map +1 -0
  10. package/lib/__lib__/DataCubeSetting.d.ts +24 -0
  11. package/lib/__lib__/DataCubeSetting.d.ts.map +1 -0
  12. package/lib/__lib__/DataCubeSetting.js +25 -0
  13. package/lib/__lib__/DataCubeSetting.js.map +1 -0
  14. package/lib/components/DataCube.d.ts +3 -1
  15. package/lib/components/DataCube.d.ts.map +1 -1
  16. package/lib/components/DataCube.js +32 -39
  17. package/lib/components/DataCube.js.map +1 -1
  18. package/lib/components/DataCubePlaceholder.d.ts +40 -0
  19. package/lib/components/DataCubePlaceholder.d.ts.map +1 -0
  20. package/lib/components/DataCubePlaceholder.js +34 -0
  21. package/lib/components/DataCubePlaceholder.js.map +1 -0
  22. package/lib/components/DataCubeProvider.js +1 -1
  23. package/lib/components/DataCubeProvider.js.map +1 -1
  24. package/lib/components/DataCubeStatusBar.d.ts +24 -0
  25. package/lib/components/DataCubeStatusBar.d.ts.map +1 -0
  26. package/lib/components/DataCubeStatusBar.js +30 -0
  27. package/lib/components/DataCubeStatusBar.js.map +1 -0
  28. package/lib/components/DataCubeTitleBar.d.ts +24 -0
  29. package/lib/components/DataCubeTitleBar.d.ts.map +1 -0
  30. package/lib/components/DataCubeTitleBar.js +36 -0
  31. package/lib/components/DataCubeTitleBar.js.map +1 -0
  32. package/lib/components/DataCubeView.d.ts.map +1 -1
  33. package/lib/components/DataCubeView.js +10 -12
  34. package/lib/components/DataCubeView.js.map +1 -1
  35. package/lib/components/core/DataCubeAlert.d.ts +1 -21
  36. package/lib/components/core/DataCubeAlert.d.ts.map +1 -1
  37. package/lib/components/core/DataCubeAlert.js +4 -55
  38. package/lib/components/core/DataCubeAlert.js.map +1 -1
  39. package/lib/components/core/DataCubeDocumentationPanel.js +1 -1
  40. package/lib/components/core/DataCubeDocumentationPanel.js.map +1 -1
  41. package/lib/components/core/DataCubeFormUtils.d.ts +26 -0
  42. package/lib/components/core/DataCubeFormUtils.d.ts.map +1 -1
  43. package/lib/components/core/DataCubeFormUtils.js +135 -12
  44. package/lib/components/core/DataCubeFormUtils.js.map +1 -1
  45. package/lib/components/core/{DataCubeLayoutManager.d.ts → DataCubeLayout.d.ts} +5 -5
  46. package/lib/components/core/DataCubeLayout.d.ts.map +1 -0
  47. package/lib/components/core/{DataCubeLayoutManager.js → DataCubeLayout.js} +15 -6
  48. package/lib/components/core/DataCubeLayout.js.map +1 -0
  49. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts +3 -2
  50. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts.map +1 -1
  51. package/lib/components/core/DataCubePureCodeEditorUtils.js +2 -2
  52. package/lib/components/core/DataCubePureCodeEditorUtils.js.map +1 -1
  53. package/lib/components/core/DataCubeSettingsPanel.d.ts.map +1 -1
  54. package/lib/components/core/DataCubeSettingsPanel.js +53 -27
  55. package/lib/components/core/DataCubeSettingsPanel.js.map +1 -1
  56. package/lib/components/view/editor/DataCubeEditor.d.ts.map +1 -1
  57. package/lib/components/view/editor/DataCubeEditor.js +11 -8
  58. package/lib/components/view/editor/DataCubeEditor.js.map +1 -1
  59. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  60. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js +18 -17
  61. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  62. package/lib/components/view/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
  63. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js +6 -5
  64. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  65. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
  66. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js +4 -4
  67. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  68. package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -1
  69. package/lib/components/view/extend/DataCubeColumnEditor.js +22 -20
  70. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
  71. package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -1
  72. package/lib/components/view/filter/DataCubeFilterEditor.js +8 -6
  73. package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -1
  74. package/lib/components/view/grid/DataCubeGrid.d.ts.map +1 -1
  75. package/lib/components/view/grid/DataCubeGrid.js +7 -7
  76. package/lib/components/view/grid/DataCubeGrid.js.map +1 -1
  77. package/lib/index.css +1 -1
  78. package/lib/index.d.ts +16 -8
  79. package/lib/index.d.ts.map +1 -1
  80. package/lib/index.js +16 -8
  81. package/lib/index.js.map +1 -1
  82. package/lib/package.json +2 -2
  83. package/lib/stores/DataCubeAPI.d.ts +36 -3
  84. package/lib/stores/DataCubeAPI.d.ts.map +1 -1
  85. package/lib/stores/DataCubeAPI.js +29 -1
  86. package/lib/stores/DataCubeAPI.js.map +1 -1
  87. package/lib/stores/DataCubeOptions.d.ts +84 -9
  88. package/lib/stores/DataCubeOptions.d.ts.map +1 -1
  89. package/lib/stores/DataCubeState.d.ts +29 -23
  90. package/lib/stores/DataCubeState.d.ts.map +1 -1
  91. package/lib/stores/DataCubeState.js +65 -87
  92. package/lib/stores/DataCubeState.js.map +1 -1
  93. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +2 -2
  94. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  95. package/lib/stores/core/DataCubeConfigurationBuilder.js +1 -1
  96. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  97. package/lib/stores/core/DataCubeEngine.d.ts +23 -50
  98. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
  99. package/lib/stores/core/DataCubeEngine.js +15 -98
  100. package/lib/stores/core/DataCubeEngine.js.map +1 -1
  101. package/lib/stores/core/DataCubeQueryBuilder.d.ts +3 -2
  102. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  103. package/lib/stores/core/DataCubeQueryBuilder.js +1 -1
  104. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  105. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +5 -2
  106. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  107. package/lib/stores/core/DataCubeQueryBuilderUtils.js +14 -3
  108. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  109. package/lib/stores/core/DataCubeQueryEngine.d.ts +26 -26
  110. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  111. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +2 -2
  112. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  113. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +2 -2
  114. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  115. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +57 -40
  116. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  117. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +1 -1
  118. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  119. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +5 -5
  120. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  121. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +2 -2
  122. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -1
  123. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +2 -2
  124. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -1
  125. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +2 -2
  126. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -1
  127. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +2 -2
  128. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -1
  129. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +2 -2
  130. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -1
  131. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +2 -2
  132. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -1
  133. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +2 -2
  134. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -1
  135. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +2 -2
  136. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -1
  137. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +2 -2
  138. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -1
  139. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +2 -2
  140. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -1
  141. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +2 -2
  142. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -1
  143. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +2 -2
  144. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -1
  145. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +2 -2
  146. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -1
  147. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +2 -2
  148. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -1
  149. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +1 -1
  160. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  161. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +1 -1
  162. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  163. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +1 -1
  164. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  165. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +1 -1
  166. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  167. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +1 -1
  168. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  169. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +1 -1
  170. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  171. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +1 -1
  172. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  173. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +1 -1
  174. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  175. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +1 -1
  176. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  177. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +1 -1
  178. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  179. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +1 -1
  180. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  181. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +1 -1
  182. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +1 -1
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +1 -1
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +1 -1
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +1 -1
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +1 -1
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +1 -1
  194. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  195. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +1 -1
  196. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  197. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +1 -1
  198. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  199. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +1 -1
  200. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  201. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +1 -1
  202. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  203. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +1 -1
  204. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  205. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +1 -1
  206. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  207. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts +29 -0
  208. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts.map +1 -0
  209. package/lib/stores/core/model/AdhocQueryDataCubeSource.js +35 -0
  210. package/lib/stores/core/model/AdhocQueryDataCubeSource.js.map +1 -0
  211. package/lib/stores/core/model/DataCubeColumn.d.ts.map +1 -0
  212. package/lib/stores/core/model/DataCubeColumn.js.map +1 -0
  213. package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -0
  214. package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -0
  215. package/lib/stores/core/model/DataCubeQuery.d.ts.map +1 -0
  216. package/lib/stores/core/model/DataCubeQuery.js.map +1 -0
  217. package/lib/stores/core/{models → model}/DataCubeSource.d.ts +1 -1
  218. package/lib/stores/core/model/DataCubeSource.d.ts.map +1 -0
  219. package/lib/stores/core/{models → model}/DataCubeSource.js +1 -1
  220. package/lib/stores/core/model/DataCubeSource.js.map +1 -0
  221. package/lib/stores/services/DataCubeAlertService.d.ts +56 -0
  222. package/lib/stores/services/DataCubeAlertService.d.ts.map +1 -0
  223. package/lib/stores/services/DataCubeAlertService.js +89 -0
  224. package/lib/stores/services/DataCubeAlertService.js.map +1 -0
  225. package/lib/stores/services/DataCubeDocumentationService.d.ts +29 -0
  226. package/lib/stores/services/DataCubeDocumentationService.d.ts.map +1 -0
  227. package/lib/stores/services/DataCubeDocumentationService.js +41 -0
  228. package/lib/stores/services/DataCubeDocumentationService.js.map +1 -0
  229. package/lib/stores/{core/DataCubeLayoutManagerState.d.ts → services/DataCubeLayoutService.d.ts} +28 -7
  230. package/lib/stores/services/DataCubeLayoutService.d.ts.map +1 -0
  231. package/lib/stores/{core/DataCubeLayoutManagerState.js → services/DataCubeLayoutService.js} +58 -21
  232. package/lib/stores/services/DataCubeLayoutService.js.map +1 -0
  233. package/lib/stores/services/DataCubeLogService.d.ts +29 -0
  234. package/lib/stores/services/DataCubeLogService.d.ts.map +1 -0
  235. package/lib/stores/services/DataCubeLogService.js +43 -0
  236. package/lib/stores/services/DataCubeLogService.js.map +1 -0
  237. package/lib/stores/services/DataCubeNavigationService.d.ts +22 -0
  238. package/lib/stores/services/DataCubeNavigationService.d.ts.map +1 -0
  239. package/lib/stores/services/DataCubeNavigationService.js +25 -0
  240. package/lib/stores/services/DataCubeNavigationService.js.map +1 -0
  241. package/lib/stores/{view/DataCubeQuerySnapshotManager.d.ts → services/DataCubeQuerySnapshotService.d.ts} +18 -13
  242. package/lib/stores/services/DataCubeQuerySnapshotService.d.ts.map +1 -0
  243. package/lib/stores/{view/DataCubeQuerySnapshotManager.js → services/DataCubeQuerySnapshotService.js} +42 -29
  244. package/lib/stores/services/DataCubeQuerySnapshotService.js.map +1 -0
  245. package/lib/stores/services/DataCubeSettingService.d.ts +75 -0
  246. package/lib/stores/services/DataCubeSettingService.d.ts.map +1 -0
  247. package/lib/stores/services/DataCubeSettingService.js +312 -0
  248. package/lib/stores/services/DataCubeSettingService.js.map +1 -0
  249. package/lib/stores/services/DataCubeTaskService.d.ts +41 -0
  250. package/lib/stores/services/DataCubeTaskService.d.ts.map +1 -0
  251. package/lib/stores/services/DataCubeTaskService.js +84 -0
  252. package/lib/stores/services/DataCubeTaskService.js.map +1 -0
  253. package/lib/stores/services/DataCubeTelemetryService.d.ts +23 -0
  254. package/lib/stores/services/DataCubeTelemetryService.d.ts.map +1 -0
  255. package/lib/stores/services/DataCubeTelemetryService.js +25 -0
  256. package/lib/stores/services/DataCubeTelemetryService.js.map +1 -0
  257. package/lib/stores/view/DataCubeInfoState.d.ts +2 -1
  258. package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -1
  259. package/lib/stores/view/DataCubeInfoState.js +10 -4
  260. package/lib/stores/view/DataCubeInfoState.js.map +1 -1
  261. package/lib/stores/view/DataCubeViewState.d.ts +20 -19
  262. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  263. package/lib/stores/view/DataCubeViewState.js +47 -57
  264. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  265. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +2 -4
  266. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  267. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +3 -5
  268. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  269. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts +1 -3
  270. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts.map +1 -1
  271. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js +3 -5
  272. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js.map +1 -1
  273. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts +2 -4
  274. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  275. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +15 -17
  276. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  277. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +1 -4
  278. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  279. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +0 -4
  280. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  281. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +3 -5
  282. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
  283. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +7 -9
  284. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
  285. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +1 -1
  286. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  287. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +1 -1
  288. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  289. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts +1 -1
  290. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  291. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts +2 -4
  292. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -1
  293. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js +3 -5
  294. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -1
  295. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +1 -4
  296. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  297. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +10 -14
  298. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  299. package/lib/stores/view/editor/DataCubeEditorState.d.ts +4 -3
  300. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
  301. package/lib/stores/view/editor/DataCubeEditorState.js +11 -9
  302. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
  303. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +1 -4
  304. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  305. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +4 -8
  306. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  307. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +4 -4
  308. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  309. package/lib/stores/view/extend/DataCubeColumnEditorState.js +22 -22
  310. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  311. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts +7 -6
  312. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
  313. package/lib/stores/view/extend/DataCubeExtendManagerState.js +18 -20
  314. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
  315. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts +4 -3
  316. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  317. package/lib/stores/view/filter/DataCubeFilterEditorState.js +8 -6
  318. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  319. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +6 -4
  320. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  321. package/lib/stores/view/grid/DataCubeGridClientEngine.js +46 -35
  322. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  323. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts +1 -3
  324. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts.map +1 -1
  325. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js +7 -9
  326. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js.map +1 -1
  327. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +2 -2
  328. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  329. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +5 -5
  330. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  331. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +8 -6
  332. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
  333. package/lib/stores/view/grid/DataCubeGridControllerState.js +8 -3
  334. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
  335. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  336. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +7 -7
  337. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  338. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +1 -1
  339. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  340. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +3 -3
  341. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  342. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts +2 -2
  343. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  344. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +2 -2
  345. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  346. package/lib/stores/view/grid/DataCubeGridState.d.ts +4 -2
  347. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
  348. package/lib/stores/view/grid/DataCubeGridState.js +18 -11
  349. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
  350. package/package.json +6 -6
  351. package/src/__lib__/DataCubeDocumentation.ts +7 -7
  352. package/src/__lib__/DataCubeEvent.ts +21 -0
  353. package/src/__lib__/DataCubeSetting.ts +24 -0
  354. package/src/components/DataCube.tsx +61 -85
  355. package/src/components/DataCubePlaceholder.tsx +97 -0
  356. package/src/components/DataCubeProvider.tsx +1 -1
  357. package/src/components/DataCubeStatusBar.tsx +71 -0
  358. package/src/components/DataCubeTitleBar.tsx +81 -0
  359. package/src/components/DataCubeView.tsx +20 -44
  360. package/src/components/core/DataCubeAlert.tsx +15 -104
  361. package/src/components/core/DataCubeDocumentationPanel.tsx +1 -1
  362. package/src/components/core/DataCubeFormUtils.tsx +256 -24
  363. package/src/components/core/{DataCubeLayoutManager.tsx → DataCubeLayout.tsx} +33 -22
  364. package/src/components/core/DataCubePureCodeEditorUtils.tsx +9 -5
  365. package/src/components/core/DataCubeSettingsPanel.tsx +166 -134
  366. package/src/components/view/editor/DataCubeEditor.tsx +18 -19
  367. package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +24 -22
  368. package/src/components/view/editor/DataCubeEditorColumnsPanel.tsx +14 -18
  369. package/src/components/view/editor/DataCubeEditorGeneralPropertiesPanel.tsx +6 -5
  370. package/src/components/view/extend/DataCubeColumnEditor.tsx +43 -38
  371. package/src/components/view/filter/DataCubeFilterEditor.tsx +14 -20
  372. package/src/components/view/grid/DataCubeGrid.tsx +9 -8
  373. package/src/index.tsx +30 -8
  374. package/src/stores/DataCubeAPI.ts +58 -3
  375. package/src/stores/DataCubeOptions.ts +108 -15
  376. package/src/stores/DataCubeState.tsx +93 -123
  377. package/src/stores/core/DataCubeConfigurationBuilder.ts +2 -2
  378. package/src/stores/core/DataCubeEngine.tsx +51 -234
  379. package/src/stores/core/DataCubeQueryBuilder.ts +3 -2
  380. package/src/stores/core/DataCubeQueryBuilderUtils.ts +19 -2
  381. package/src/stores/core/DataCubeQueryEngine.ts +27 -27
  382. package/src/stores/core/DataCubeQuerySnapshot.ts +2 -2
  383. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +77 -42
  384. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +5 -5
  385. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +2 -2
  386. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +2 -2
  387. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +2 -2
  388. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +2 -2
  389. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +2 -2
  390. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +2 -2
  391. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +2 -2
  392. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +2 -2
  393. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +2 -2
  394. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +2 -2
  395. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +2 -2
  396. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +2 -2
  397. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +2 -2
  398. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +2 -2
  399. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +1 -1
  400. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +1 -1
  401. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +1 -1
  402. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +1 -1
  403. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +1 -1
  404. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +1 -1
  405. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +1 -1
  406. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +1 -1
  407. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +1 -1
  408. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +1 -1
  409. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +1 -1
  410. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +1 -1
  411. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +1 -1
  412. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +1 -1
  413. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +1 -1
  414. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +1 -1
  415. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +1 -1
  416. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +1 -1
  417. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +1 -1
  418. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +1 -1
  419. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +1 -1
  420. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +1 -1
  421. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +1 -1
  422. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +1 -1
  423. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +1 -1
  424. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +1 -1
  425. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +1 -1
  426. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +1 -1
  427. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +1 -1
  428. package/src/stores/core/model/AdhocQueryDataCubeSource.ts +45 -0
  429. package/src/stores/core/{models → model}/DataCubeSource.ts +1 -1
  430. package/src/stores/services/DataCubeAlertService.tsx +169 -0
  431. package/src/stores/services/DataCubeDocumentationService.tsx +74 -0
  432. package/src/stores/{core/DataCubeLayoutManagerState.ts → services/DataCubeLayoutService.tsx} +96 -23
  433. package/src/stores/services/DataCubeLogService.ts +54 -0
  434. package/src/stores/services/DataCubeNavigationService.ts +29 -0
  435. package/src/stores/{view/DataCubeQuerySnapshotManager.ts → services/DataCubeQuerySnapshotService.ts} +62 -40
  436. package/src/stores/services/DataCubeSettingService.tsx +489 -0
  437. package/src/stores/services/DataCubeTaskService.ts +102 -0
  438. package/src/stores/services/DataCubeTelemetryService.ts +30 -0
  439. package/src/stores/view/DataCubeInfoState.ts +12 -4
  440. package/src/stores/view/DataCubeViewState.ts +60 -68
  441. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +4 -6
  442. package/src/stores/view/editor/DataCubeEditorColumnSelectorState.ts +3 -6
  443. package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +16 -18
  444. package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +1 -8
  445. package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +9 -11
  446. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +1 -1
  447. package/src/stores/view/editor/DataCubeEditorPanelState.ts +1 -1
  448. package/src/stores/view/editor/DataCubeEditorPivotLayoutPanelState.ts +4 -7
  449. package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +11 -16
  450. package/src/stores/view/editor/DataCubeEditorState.tsx +23 -15
  451. package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +5 -10
  452. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +30 -28
  453. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +39 -30
  454. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +11 -8
  455. package/src/stores/view/grid/DataCubeGridClientEngine.ts +69 -50
  456. package/src/stores/view/grid/DataCubeGridClientExportEngine.ts +7 -10
  457. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +3 -6
  458. package/src/stores/view/grid/DataCubeGridControllerState.ts +11 -3
  459. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +20 -8
  460. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +9 -3
  461. package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +2 -2
  462. package/src/stores/view/grid/DataCubeGridState.ts +37 -14
  463. package/tsconfig.json +20 -8
  464. package/lib/components/core/DataCubeLayoutManager.d.ts.map +0 -1
  465. package/lib/components/core/DataCubeLayoutManager.js.map +0 -1
  466. package/lib/stores/DataCubeSettings.d.ts +0 -42
  467. package/lib/stores/DataCubeSettings.d.ts.map +0 -1
  468. package/lib/stores/DataCubeSettings.js +0 -76
  469. package/lib/stores/DataCubeSettings.js.map +0 -1
  470. package/lib/stores/core/DataCubeLayoutManagerState.d.ts.map +0 -1
  471. package/lib/stores/core/DataCubeLayoutManagerState.js.map +0 -1
  472. package/lib/stores/core/models/DataCubeColumn.d.ts.map +0 -1
  473. package/lib/stores/core/models/DataCubeColumn.js.map +0 -1
  474. package/lib/stores/core/models/DataCubeConfiguration.d.ts.map +0 -1
  475. package/lib/stores/core/models/DataCubeConfiguration.js.map +0 -1
  476. package/lib/stores/core/models/DataCubeQuery.d.ts.map +0 -1
  477. package/lib/stores/core/models/DataCubeQuery.js.map +0 -1
  478. package/lib/stores/core/models/DataCubeSource.d.ts.map +0 -1
  479. package/lib/stores/core/models/DataCubeSource.js.map +0 -1
  480. package/lib/stores/view/DataCubeQuerySnapshotManager.d.ts.map +0 -1
  481. package/lib/stores/view/DataCubeQuerySnapshotManager.js.map +0 -1
  482. package/src/stores/DataCubeSettings.ts +0 -107
  483. /package/lib/stores/core/{models → model}/DataCubeColumn.d.ts +0 -0
  484. /package/lib/stores/core/{models → model}/DataCubeColumn.js +0 -0
  485. /package/lib/stores/core/{models → model}/DataCubeConfiguration.d.ts +0 -0
  486. /package/lib/stores/core/{models → model}/DataCubeConfiguration.js +0 -0
  487. /package/lib/stores/core/{models → model}/DataCubeQuery.d.ts +0 -0
  488. /package/lib/stores/core/{models → model}/DataCubeQuery.js +0 -0
  489. /package/src/stores/core/{models → model}/DataCubeColumn.ts +0 -0
  490. /package/src/stores/core/{models → model}/DataCubeConfiguration.ts +0 -0
  491. /package/src/stores/core/{models → model}/DataCubeQuery.ts +0 -0
@@ -23,6 +23,13 @@ import {
23
23
  runInAction,
24
24
  } from 'mobx';
25
25
 
26
+ export type WindowSpecification = {
27
+ x: number;
28
+ y: number;
29
+ width: number;
30
+ height: number;
31
+ };
32
+
26
33
  export type WindowConfiguration = {
27
34
  x?: number | undefined;
28
35
  y?: number | undefined;
@@ -51,13 +58,21 @@ export class WindowState {
51
58
  readonly uuid = uuid();
52
59
  readonly configuration: LayoutConfiguration;
53
60
  readonly onClose?: (() => void) | undefined;
61
+ ownerId?: string | undefined;
62
+ specification?: WindowSpecification | undefined;
54
63
 
55
64
  constructor(
56
65
  configuration: LayoutConfiguration,
57
66
  onClose?: (() => void) | undefined,
67
+ ownerId?: string | undefined,
58
68
  ) {
59
69
  this.configuration = configuration;
60
70
  this.onClose = onClose;
71
+ this.ownerId = ownerId;
72
+ }
73
+
74
+ setSpecification(val: WindowSpecification) {
75
+ this.specification = val;
61
76
  }
62
77
  }
63
78
 
@@ -75,7 +90,7 @@ export const DEFAULT_TOOL_PANEL_WINDOW_CONFIG: WindowConfiguration = {
75
90
  center: true,
76
91
  };
77
92
 
78
- export const DEFAULT_SMALL_ALERT_WINDOW_CONFIG: WindowConfiguration = {
93
+ export const DEFAULT_ALERT_WINDOW_CONFIG: WindowConfiguration = {
79
94
  width: 500,
80
95
  height: 200,
81
96
  minWidth: 200,
@@ -83,23 +98,17 @@ export const DEFAULT_SMALL_ALERT_WINDOW_CONFIG: WindowConfiguration = {
83
98
  center: true,
84
99
  };
85
100
 
86
- export const DEFAULT_LARGE_ALERT_WINDOW_CONFIG: WindowConfiguration = {
87
- width: 600,
88
- height: 200,
89
- minWidth: 300,
90
- minHeight: 150,
91
- center: true,
92
- };
93
-
94
101
  export class DisplayState {
95
- private readonly layoutManagerState: LayoutManagerState;
102
+ private readonly layout: LayoutManager;
96
103
  readonly configuration: LayoutConfiguration;
104
+ readonly ownerId?: string | undefined;
97
105
  window?: WindowState | undefined;
98
106
 
99
107
  constructor(
100
- layoutManagerState: LayoutManagerState,
108
+ layout: LayoutManager,
101
109
  title: string,
102
110
  contentRenderer: (config: LayoutConfiguration) => React.ReactNode,
111
+ ownerId?: string | undefined,
103
112
  ) {
104
113
  makeObservable(this, {
105
114
  window: observable,
@@ -108,9 +117,10 @@ export class DisplayState {
108
117
  close: action,
109
118
  });
110
119
 
111
- this.layoutManagerState = layoutManagerState;
120
+ this.layout = layout;
112
121
  this.configuration = new LayoutConfiguration(title, contentRenderer);
113
122
  this.configuration.window = DEFAULT_TOOL_PANEL_WINDOW_CONFIG;
123
+ this.ownerId = ownerId;
114
124
  }
115
125
 
116
126
  get isOpen() {
@@ -119,26 +129,30 @@ export class DisplayState {
119
129
 
120
130
  open() {
121
131
  if (this.window) {
122
- this.layoutManagerState.bringWindowFront(this.window);
132
+ this.layout.bringWindowFront(this.window);
123
133
  } else {
124
- this.window = new WindowState(this.configuration, () =>
125
- runInAction(() => {
126
- this.window = undefined;
127
- }),
134
+ this.window = new WindowState(
135
+ this.configuration,
136
+ () =>
137
+ runInAction(() => {
138
+ this.window = undefined;
139
+ }),
140
+ this.ownerId,
128
141
  );
129
- this.layoutManagerState.newWindow(this.window);
142
+ this.layout.newWindow(this.window, this.ownerId);
130
143
  }
131
144
  }
132
145
 
133
146
  close() {
134
147
  if (this.window) {
135
- this.layoutManagerState.closeWindow(this.window);
148
+ this.layout.closeWindow(this.window);
136
149
  this.window = undefined;
137
150
  }
138
151
  }
139
152
  }
140
153
 
141
- export class LayoutManagerState {
154
+ export class LayoutManager {
155
+ // TODO?: keep a hashmap, in parallel, for faster lookup
142
156
  windows: WindowState[] = [];
143
157
 
144
158
  constructor() {
@@ -147,6 +161,7 @@ export class LayoutManagerState {
147
161
  newWindow: action,
148
162
  bringWindowFront: action,
149
163
  closeWindow: action,
164
+ closeWindows: action,
150
165
  });
151
166
  }
152
167
 
@@ -154,15 +169,17 @@ export class LayoutManagerState {
154
169
  title: string,
155
170
  contentRenderer: (config: LayoutConfiguration) => React.ReactNode,
156
171
  windowConfiguration?: WindowConfiguration | undefined,
157
- ): DisplayState {
158
- const display = new DisplayState(this, title, contentRenderer);
172
+ ownerId?: string | undefined,
173
+ ) {
174
+ const display = new DisplayState(this, title, contentRenderer, ownerId);
159
175
  if (windowConfiguration) {
160
176
  display.configuration.window = windowConfiguration;
161
177
  }
162
178
  return display;
163
179
  }
164
180
 
165
- newWindow(window: WindowState) {
181
+ newWindow(window: WindowState, ownerId?: string | undefined) {
182
+ window.ownerId = window.ownerId ?? ownerId;
166
183
  this.windows.push(window);
167
184
  }
168
185
 
@@ -181,4 +198,60 @@ export class LayoutManagerState {
181
198
  window.onClose?.();
182
199
  }
183
200
  }
201
+
202
+ closeWindows(windows: WindowState[]) {
203
+ this.windows = this.windows.filter(
204
+ (window) => !windows.find((w) => w.uuid === window.uuid),
205
+ );
206
+ windows.forEach((window) => window.onClose?.());
207
+ }
208
+ }
209
+
210
+ export class DataCubeLayoutService {
211
+ readonly uuid = uuid();
212
+ readonly manager: LayoutManager;
213
+
214
+ constructor(manager?: LayoutManager | undefined) {
215
+ makeObservable(this, {
216
+ windows: computed,
217
+ });
218
+
219
+ this.manager = manager ?? new LayoutManager();
220
+ }
221
+
222
+ get windows() {
223
+ return this.manager.windows.filter(
224
+ (window) => window.ownerId === this.uuid,
225
+ );
226
+ }
227
+
228
+ newDisplay(
229
+ title: string,
230
+ contentRenderer: (config: LayoutConfiguration) => React.ReactNode,
231
+ windowConfiguration?: WindowConfiguration | undefined,
232
+ ) {
233
+ return this.manager.newDisplay(
234
+ title,
235
+ contentRenderer,
236
+ windowConfiguration,
237
+ this.uuid,
238
+ );
239
+ }
240
+
241
+ newWindow(window: WindowState) {
242
+ this.manager.newWindow(window, this.uuid);
243
+ }
244
+
245
+ bringWindowFront(window: WindowState) {
246
+ this.manager.bringWindowFront(window);
247
+ }
248
+
249
+ closeWindow(window: WindowState) {
250
+ this.manager.closeWindow(window);
251
+ }
252
+
253
+ dispose() {
254
+ // close all windows owned by this service
255
+ this.manager.closeWindows(this.windows);
256
+ }
184
257
  }
@@ -0,0 +1,54 @@
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 { LogEvent } from '@finos/legend-shared';
18
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
19
+
20
+ export class DataCubeLogService {
21
+ private readonly _engine: DataCubeEngine;
22
+
23
+ constructor(engine: DataCubeEngine) {
24
+ this._engine = engine;
25
+ }
26
+
27
+ logDebug(message: string, ...data: unknown[]) {
28
+ this._engine.logDebug(message, ...data);
29
+ }
30
+
31
+ debugProcess(processName: string, ...data: [string, unknown][]) {
32
+ this._engine.debugProcess(processName, ...data);
33
+ }
34
+
35
+ logInfo(event: LogEvent, ...data: unknown[]) {
36
+ this._engine.logInfo(event, ...data);
37
+ }
38
+
39
+ logWarning(event: LogEvent, ...data: unknown[]) {
40
+ this._engine.logWarning(event, ...data);
41
+ }
42
+
43
+ logError(event: LogEvent, ...data: unknown[]) {
44
+ this._engine.logError(event, ...data);
45
+ }
46
+
47
+ logUnhandledError(error: Error) {
48
+ this._engine.logUnhandledError(error);
49
+ }
50
+
51
+ logIllegalStateError(message: string, error?: Error) {
52
+ this._engine.logIllegalStateError(message, error);
53
+ }
54
+ }
@@ -0,0 +1,29 @@
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 { DataCubeEngine } from '../core/DataCubeEngine.js';
18
+
19
+ export class DataCubeNavigationService {
20
+ private readonly _engine: DataCubeEngine;
21
+
22
+ constructor(engine: DataCubeEngine) {
23
+ this._engine = engine;
24
+ }
25
+
26
+ openLink(url: string) {
27
+ this._engine.openLink(url);
28
+ }
29
+ }
@@ -14,7 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { DataCubeViewState } from './DataCubeViewState.js';
18
17
  import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
19
18
  import {
20
19
  IllegalStateError,
@@ -22,7 +21,11 @@ import {
22
21
  deepDiff,
23
22
  guaranteeNonNullable,
24
23
  } from '@finos/legend-shared';
25
- import type { DataCubeQuery } from '../core/models/DataCubeQuery.js';
24
+ import type { DataCubeQuery } from '../core/model/DataCubeQuery.js';
25
+ import { DataCubeSettingKey } from '../../__lib__/DataCubeSetting.js';
26
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
27
+ import type { DataCubeSettingService } from './DataCubeSettingService.js';
28
+ import type { DataCubeLogService } from './DataCubeLogService.js';
26
29
 
27
30
  // TODO: set a stack depth when we implement undo/redo
28
31
  // const DATA_CUBE_MAX_SNAPSHOT_COUNT = 100;
@@ -36,36 +39,52 @@ interface DataCubeQuerySnapshotSubscriber {
36
39
  export abstract class DataCubeQuerySnapshotController
37
40
  implements DataCubeQuerySnapshotSubscriber
38
41
  {
39
- readonly view!: DataCubeViewState;
42
+ protected readonly _engine: DataCubeEngine;
43
+ protected readonly _settingService: DataCubeSettingService;
44
+ protected readonly _snapshotService: DataCubeQuerySnapshotService;
40
45
 
41
- private latestSnapshot: DataCubeQuerySnapshot | undefined;
46
+ private _latestSnapshot: DataCubeQuerySnapshot | undefined;
42
47
 
43
- constructor(view: DataCubeViewState) {
44
- this.view = view;
48
+ constructor(
49
+ engine: DataCubeEngine,
50
+ settingService: DataCubeSettingService,
51
+ snapshotService: DataCubeQuerySnapshotService,
52
+ ) {
53
+ this._engine = engine;
54
+ this._settingService = settingService;
55
+ this._snapshotService = snapshotService;
45
56
  }
46
57
 
47
58
  abstract getSnapshotSubscriberName(): string;
48
59
 
49
- abstract applySnapshot(
50
- snapshot: DataCubeQuerySnapshot,
51
- previousSnapshot: DataCubeQuerySnapshot | undefined,
52
- ): Promise<void>;
60
+ getLatestSnapshot() {
61
+ return this._latestSnapshot;
62
+ }
53
63
 
54
64
  async receiveSnapshot(snapshot: DataCubeQuerySnapshot) {
55
- const previousSnapshot = this.latestSnapshot;
56
- this.latestSnapshot = snapshot;
65
+ const previousSnapshot = this._latestSnapshot;
66
+ this._latestSnapshot = snapshot;
57
67
 
58
68
  // NOTE: fully clone the snapshot before applying it to avoid any potential
59
69
  // mutation of the snapshot by the subscriber
60
70
  await this.applySnapshot(snapshot.INTERNAL__fullClone(), previousSnapshot);
61
71
  }
62
72
 
63
- publishSnapshot(snapshot: DataCubeQuerySnapshot) {
64
- const previousSnapshot = this.latestSnapshot;
65
- this.latestSnapshot = snapshot;
73
+ abstract applySnapshot(
74
+ snapshot: DataCubeQuerySnapshot,
75
+ previousSnapshot: DataCubeQuerySnapshot | undefined,
76
+ ): Promise<void>;
66
77
 
67
- if (this.view.dataCube.settings.enableDebugMode) {
68
- this.view.engine.debugProcess(
78
+ publishSnapshot(snapshot: DataCubeQuerySnapshot) {
79
+ const previousSnapshot = this._latestSnapshot;
80
+ this._latestSnapshot = snapshot;
81
+
82
+ if (
83
+ this._settingService.getBooleanValue(
84
+ DataCubeSettingKey.DEBUGGER__ENABLE_DEBUG_MODE,
85
+ )
86
+ ) {
87
+ this._engine.debugProcess(
69
88
  `New Snapshot`,
70
89
  ['Publisher', this.getSnapshotSubscriberName()],
71
90
  ['Snapshot', snapshot],
@@ -74,42 +93,47 @@ export abstract class DataCubeQuerySnapshotController
74
93
  );
75
94
  }
76
95
 
77
- this.view.snapshotManager.broadcastSnapshot(snapshot);
78
- }
79
-
80
- getLatestSnapshot() {
81
- return this.latestSnapshot;
96
+ this._snapshotService.broadcastSnapshot(snapshot);
82
97
  }
83
98
  }
84
99
 
85
- export class DataCubeQuerySnapshotManager {
86
- private readonly view: DataCubeViewState;
87
- private readonly subscribers: DataCubeQuerySnapshotSubscriber[] = [];
88
- private readonly snapshots: DataCubeQuerySnapshot[] = [];
100
+ export class DataCubeQuerySnapshotService {
101
+ private readonly _engine: DataCubeEngine;
102
+ private readonly _logService: DataCubeLogService;
89
103
 
104
+ private readonly _subscribers: DataCubeQuerySnapshotSubscriber[] = [];
105
+ private readonly _snapshots: DataCubeQuerySnapshot[] = []; // stack
90
106
  private _initialSnapshot: DataCubeQuerySnapshot | undefined;
91
107
  private _initialQuery: DataCubeQuery | undefined;
92
108
 
93
- constructor(view: DataCubeViewState) {
94
- this.view = view;
109
+ constructor(engine: DataCubeEngine, logService: DataCubeLogService) {
110
+ this._engine = engine;
111
+ this._logService = logService;
95
112
  }
96
113
 
97
114
  get currentSnapshot() {
98
- return guaranteeNonNullable(this.snapshots[this.snapshots.length - 1]);
115
+ return guaranteeNonNullable(this._snapshots[this._snapshots.length - 1]);
99
116
  }
100
117
 
101
118
  registerSubscriber(subscriber: DataCubeQuerySnapshotSubscriber) {
102
- const existingSubscriber = this.subscribers.find(
119
+ const existingSubscriber = this._subscribers.find(
103
120
  (sub) =>
104
121
  sub.getSnapshotSubscriberName() ===
105
122
  subscriber.getSnapshotSubscriberName(),
106
123
  );
107
124
  if (existingSubscriber) {
108
- throw new IllegalStateError(
109
- `Subscriber with name '${subscriber.getSnapshotSubscriberName()}' already exists`,
110
- );
125
+ // eslint-disable-next-line no-process-env
126
+ if (process.env.NODE_ENV === 'development') {
127
+ this._logService.logDebug(
128
+ `Subscriber with name '${subscriber.getSnapshotSubscriberName()}' already exists`,
129
+ );
130
+ } else {
131
+ throw new IllegalStateError(
132
+ `Subscriber with name '${subscriber.getSnapshotSubscriberName()}' already exists`,
133
+ );
134
+ }
111
135
  }
112
- this.subscribers.push(subscriber);
136
+ this._subscribers.push(subscriber);
113
137
  }
114
138
 
115
139
  initialize(
@@ -141,18 +165,18 @@ export class DataCubeQuerySnapshotManager {
141
165
 
142
166
  broadcastSnapshot(snapshot: DataCubeQuerySnapshot) {
143
167
  if (!snapshot.isFinalized()) {
144
- this.view.engine.logIllegalStateError(
168
+ this._logService.logIllegalStateError(
145
169
  `Snapshot must be finalized before broadcasting`,
146
170
  );
147
171
  return;
148
172
  }
149
- this.snapshots.push(snapshot);
150
- this.subscribers.forEach((subscriber) => {
173
+ this._snapshots.push(snapshot);
174
+ this._subscribers.forEach((subscriber) => {
151
175
  const currentSnapshot = subscriber.getLatestSnapshot();
152
176
  if (currentSnapshot?.uuid !== snapshot.uuid) {
153
177
  subscriber.receiveSnapshot(snapshot).catch((error: unknown) => {
154
178
  assertErrorThrown(error);
155
- this.view.engine.logIllegalStateError(
179
+ this._logService.logIllegalStateError(
156
180
  `Error occured while subscribers receiving and applying new snapshot should be handled gracefully`,
157
181
  error,
158
182
  );
@@ -160,6 +184,4 @@ export class DataCubeQuerySnapshotManager {
160
184
  }
161
185
  });
162
186
  }
163
-
164
- // TODO: replace snapshot (for minor modifications such as adjusting the cast columns)
165
187
  }