@finos/legend-data-cube 0.0.37 → 0.0.39

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 (534) 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 +3 -3
  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 +4 -3
  101. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  102. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +34 -15
  103. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  104. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +9 -2
  105. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  106. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +233 -8
  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 +3 -3
  141. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  142. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +8 -3
  143. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
  144. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +3 -3
  145. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  146. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +8 -3
  147. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
  148. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +3 -3
  149. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +8 -3
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +3 -3
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +8 -3
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +4 -3
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +79 -70
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  160. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +3 -3
  161. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  162. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +8 -3
  163. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
  164. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +3 -3
  165. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  166. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +11 -3
  167. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
  168. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +3 -3
  169. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  170. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +11 -3
  171. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
  172. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +3 -3
  173. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  174. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +8 -3
  175. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
  176. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +3 -3
  177. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  178. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +11 -3
  179. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
  180. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +3 -3
  181. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  182. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +8 -3
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +3 -3
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +11 -3
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +3 -3
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +4 -3
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +3 -3
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  194. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +4 -3
  195. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
  196. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +3 -3
  197. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  198. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +8 -3
  199. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
  200. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +3 -3
  201. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  202. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +11 -3
  203. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
  204. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +3 -3
  205. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  206. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +8 -3
  207. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
  208. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +3 -3
  209. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  210. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +11 -3
  211. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
  212. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +3 -3
  213. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  214. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +8 -3
  215. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
  216. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +3 -3
  217. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  218. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +8 -3
  219. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
  220. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +3 -3
  221. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  222. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +8 -3
  223. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
  224. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +3 -3
  225. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  226. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +8 -3
  227. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
  228. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +3 -3
  229. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  230. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +11 -3
  231. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
  232. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +3 -3
  233. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  234. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +11 -3
  235. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
  236. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +3 -3
  237. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  238. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +8 -3
  239. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
  240. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +3 -3
  241. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  242. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +8 -3
  243. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
  244. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +3 -3
  245. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  246. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +8 -3
  247. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
  248. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts.map +1 -0
  249. package/lib/stores/core/model/AdhocQueryDataCubeSource.js.map +1 -0
  250. package/lib/stores/core/model/DataCubeColumn.d.ts.map +1 -0
  251. package/lib/stores/core/model/DataCubeColumn.js.map +1 -0
  252. package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -0
  253. package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -0
  254. package/lib/stores/core/model/DataCubeQuery.d.ts.map +1 -0
  255. package/lib/stores/core/model/DataCubeQuery.js.map +1 -0
  256. package/lib/stores/core/model/DataCubeSource.d.ts.map +1 -0
  257. package/lib/stores/core/model/DataCubeSource.js.map +1 -0
  258. package/lib/stores/services/DataCubeAlertService.d.ts +56 -0
  259. package/lib/stores/services/DataCubeAlertService.d.ts.map +1 -0
  260. package/lib/stores/services/DataCubeAlertService.js +89 -0
  261. package/lib/stores/services/DataCubeAlertService.js.map +1 -0
  262. package/lib/stores/services/DataCubeDocumentationService.d.ts +29 -0
  263. package/lib/stores/services/DataCubeDocumentationService.d.ts.map +1 -0
  264. package/lib/stores/services/DataCubeDocumentationService.js +41 -0
  265. package/lib/stores/services/DataCubeDocumentationService.js.map +1 -0
  266. package/lib/stores/{core/DataCubeLayoutManagerState.d.ts → services/DataCubeLayoutService.d.ts} +28 -7
  267. package/lib/stores/services/DataCubeLayoutService.d.ts.map +1 -0
  268. package/lib/stores/{core/DataCubeLayoutManagerState.js → services/DataCubeLayoutService.js} +58 -21
  269. package/lib/stores/services/DataCubeLayoutService.js.map +1 -0
  270. package/lib/stores/services/DataCubeLogService.d.ts +29 -0
  271. package/lib/stores/services/DataCubeLogService.d.ts.map +1 -0
  272. package/lib/stores/services/DataCubeLogService.js +43 -0
  273. package/lib/stores/services/DataCubeLogService.js.map +1 -0
  274. package/lib/stores/services/DataCubeNavigationService.d.ts +22 -0
  275. package/lib/stores/services/DataCubeNavigationService.d.ts.map +1 -0
  276. package/lib/stores/services/DataCubeNavigationService.js +25 -0
  277. package/lib/stores/services/DataCubeNavigationService.js.map +1 -0
  278. package/lib/stores/{view/DataCubeQuerySnapshotManager.d.ts → services/DataCubeQuerySnapshotService.d.ts} +18 -13
  279. package/lib/stores/services/DataCubeQuerySnapshotService.d.ts.map +1 -0
  280. package/lib/stores/{view/DataCubeQuerySnapshotManager.js → services/DataCubeQuerySnapshotService.js} +36 -30
  281. package/lib/stores/services/DataCubeQuerySnapshotService.js.map +1 -0
  282. package/lib/stores/services/DataCubeSettingService.d.ts +75 -0
  283. package/lib/stores/services/DataCubeSettingService.d.ts.map +1 -0
  284. package/lib/stores/{DataCubeSettings.js → services/DataCubeSettingService.js} +99 -51
  285. package/lib/stores/services/DataCubeSettingService.js.map +1 -0
  286. package/lib/stores/services/DataCubeTaskService.d.ts +41 -0
  287. package/lib/stores/services/DataCubeTaskService.d.ts.map +1 -0
  288. package/lib/stores/services/DataCubeTaskService.js +84 -0
  289. package/lib/stores/services/DataCubeTaskService.js.map +1 -0
  290. package/lib/stores/services/DataCubeTelemetryService.d.ts +23 -0
  291. package/lib/stores/services/DataCubeTelemetryService.d.ts.map +1 -0
  292. package/lib/stores/services/DataCubeTelemetryService.js +25 -0
  293. package/lib/stores/services/DataCubeTelemetryService.js.map +1 -0
  294. package/lib/stores/view/DataCubeInfoState.d.ts +2 -1
  295. package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -1
  296. package/lib/stores/view/DataCubeInfoState.js +10 -4
  297. package/lib/stores/view/DataCubeInfoState.js.map +1 -1
  298. package/lib/stores/view/DataCubeViewState.d.ts +19 -18
  299. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  300. package/lib/stores/view/DataCubeViewState.js +43 -44
  301. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  302. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +2 -4
  303. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  304. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +3 -5
  305. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  306. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts +1 -3
  307. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts.map +1 -1
  308. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js +3 -5
  309. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js.map +1 -1
  310. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts +2 -4
  311. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  312. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +15 -17
  313. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  314. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +1 -4
  315. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  316. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +0 -4
  317. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  318. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +3 -5
  319. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
  320. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +7 -9
  321. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
  322. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +1 -1
  323. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  324. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +1 -1
  325. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  326. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts +1 -1
  327. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  328. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts +2 -4
  329. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -1
  330. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js +3 -5
  331. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -1
  332. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +1 -4
  333. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  334. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +10 -14
  335. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  336. package/lib/stores/view/editor/DataCubeEditorState.d.ts +4 -3
  337. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
  338. package/lib/stores/view/editor/DataCubeEditorState.js +11 -9
  339. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
  340. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +1 -4
  341. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  342. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +4 -8
  343. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  344. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +4 -4
  345. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  346. package/lib/stores/view/extend/DataCubeColumnEditorState.js +17 -17
  347. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  348. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts +7 -6
  349. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
  350. package/lib/stores/view/extend/DataCubeExtendManagerState.js +18 -20
  351. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
  352. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts +4 -3
  353. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  354. package/lib/stores/view/filter/DataCubeFilterEditorState.js +8 -6
  355. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  356. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +5 -3
  357. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  358. package/lib/stores/view/grid/DataCubeGridClientEngine.js +42 -35
  359. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  360. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts +1 -3
  361. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts.map +1 -1
  362. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js +7 -9
  363. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js.map +1 -1
  364. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +2 -2
  365. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  366. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +5 -5
  367. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  368. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +8 -6
  369. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
  370. package/lib/stores/view/grid/DataCubeGridControllerState.js +8 -3
  371. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
  372. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  373. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +7 -7
  374. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  375. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +1 -1
  376. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  377. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +1 -1
  378. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  379. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts +2 -2
  380. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  381. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +2 -2
  382. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  383. package/lib/stores/view/grid/DataCubeGridState.d.ts +3 -2
  384. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
  385. package/lib/stores/view/grid/DataCubeGridState.js +14 -12
  386. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
  387. package/package.json +7 -7
  388. package/src/__lib__/DataCubeDocumentation.ts +7 -7
  389. package/src/__lib__/DataCubeSetting.ts +24 -0
  390. package/src/components/DataCube.tsx +55 -85
  391. package/src/components/DataCubePlaceholder.tsx +97 -0
  392. package/src/components/DataCubeStatusBar.tsx +71 -0
  393. package/src/components/DataCubeTitleBar.tsx +81 -0
  394. package/src/components/DataCubeView.tsx +20 -44
  395. package/src/components/core/DataCubeAlert.tsx +5 -99
  396. package/src/components/core/DataCubeDocumentationPanel.tsx +1 -1
  397. package/src/components/core/DataCubeFormUtils.tsx +11 -8
  398. package/src/components/core/{DataCubeLayoutManager.tsx → DataCubeLayout.tsx} +32 -21
  399. package/src/components/core/DataCubePureCodeEditorUtils.tsx +9 -5
  400. package/src/components/core/DataCubeSettingsPanel.tsx +9 -9
  401. package/src/components/view/editor/DataCubeEditor.tsx +6 -3
  402. package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +18 -17
  403. package/src/components/view/editor/DataCubeEditorColumnsPanel.tsx +14 -18
  404. package/src/components/view/editor/DataCubeEditorGeneralPropertiesPanel.tsx +2 -2
  405. package/src/components/view/extend/DataCubeColumnEditor.tsx +20 -11
  406. package/src/components/view/filter/DataCubeFilterEditor.tsx +4 -2
  407. package/src/components/view/grid/DataCubeGrid.tsx +1 -1
  408. package/src/index.tsx +23 -12
  409. package/src/stores/DataCubeAPI.ts +58 -3
  410. package/src/stores/DataCubeOptions.ts +101 -12
  411. package/src/stores/DataCubeState.tsx +74 -91
  412. package/src/stores/core/DataCubeConfigurationBuilder.ts +2 -2
  413. package/src/stores/core/DataCubeEngine.tsx +15 -181
  414. package/src/stores/core/DataCubeQueryBuilder.ts +2 -2
  415. package/src/stores/core/DataCubeQueryBuilderUtils.ts +2 -2
  416. package/src/stores/core/DataCubeQueryEngine.ts +27 -27
  417. package/src/stores/core/DataCubeQuerySnapshot.ts +2 -2
  418. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +54 -15
  419. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +321 -8
  420. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +2 -2
  421. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +2 -2
  422. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +2 -2
  423. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +2 -2
  424. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +2 -2
  425. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +2 -2
  426. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +2 -2
  427. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +2 -2
  428. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +2 -2
  429. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +2 -2
  430. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +2 -2
  431. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +2 -2
  432. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +2 -2
  433. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +2 -2
  434. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +1 -1
  435. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +1 -1
  436. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +19 -5
  437. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +19 -5
  438. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +19 -5
  439. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +19 -5
  440. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +92 -73
  441. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +19 -5
  442. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +19 -5
  443. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +19 -5
  444. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +19 -5
  445. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +19 -5
  446. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +19 -5
  447. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +19 -5
  448. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +12 -5
  449. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +12 -5
  450. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +19 -4
  451. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +19 -5
  452. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +19 -5
  453. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +19 -5
  454. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +19 -5
  455. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +19 -5
  456. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +19 -5
  457. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +19 -5
  458. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +19 -5
  459. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +19 -5
  460. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +19 -5
  461. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +19 -5
  462. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +19 -5
  463. package/src/stores/services/DataCubeAlertService.tsx +169 -0
  464. package/src/stores/services/DataCubeDocumentationService.tsx +74 -0
  465. package/src/stores/{core/DataCubeLayoutManagerState.ts → services/DataCubeLayoutService.tsx} +96 -23
  466. package/src/stores/services/DataCubeLogService.ts +54 -0
  467. package/src/stores/services/DataCubeNavigationService.ts +29 -0
  468. package/src/stores/{view/DataCubeQuerySnapshotManager.ts → services/DataCubeQuerySnapshotService.ts} +48 -38
  469. package/src/stores/{DataCubeSettings.tsx → services/DataCubeSettingService.tsx} +155 -87
  470. package/src/stores/services/DataCubeTaskService.ts +102 -0
  471. package/src/stores/services/DataCubeTelemetryService.ts +30 -0
  472. package/src/stores/view/DataCubeInfoState.ts +12 -4
  473. package/src/stores/view/DataCubeViewState.ts +55 -53
  474. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +4 -6
  475. package/src/stores/view/editor/DataCubeEditorColumnSelectorState.ts +3 -6
  476. package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +16 -18
  477. package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +1 -8
  478. package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +9 -11
  479. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +1 -1
  480. package/src/stores/view/editor/DataCubeEditorPanelState.ts +1 -1
  481. package/src/stores/view/editor/DataCubeEditorPivotLayoutPanelState.ts +4 -7
  482. package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +11 -16
  483. package/src/stores/view/editor/DataCubeEditorState.tsx +23 -15
  484. package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +5 -10
  485. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +22 -22
  486. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +39 -30
  487. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +11 -8
  488. package/src/stores/view/grid/DataCubeGridClientEngine.ts +53 -45
  489. package/src/stores/view/grid/DataCubeGridClientExportEngine.ts +7 -10
  490. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +3 -6
  491. package/src/stores/view/grid/DataCubeGridControllerState.ts +11 -3
  492. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +20 -8
  493. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +2 -2
  494. package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +2 -2
  495. package/src/stores/view/grid/DataCubeGridState.ts +24 -15
  496. package/tsconfig.json +19 -10
  497. package/lib/components/core/DataCubeLayoutManager.d.ts.map +0 -1
  498. package/lib/components/core/DataCubeLayoutManager.js.map +0 -1
  499. package/lib/stores/DataCubeSettings.d.ts +0 -45
  500. package/lib/stores/DataCubeSettings.d.ts.map +0 -1
  501. package/lib/stores/DataCubeSettings.js.map +0 -1
  502. package/lib/stores/core/DataCubeLayoutManagerState.d.ts.map +0 -1
  503. package/lib/stores/core/DataCubeLayoutManagerState.js.map +0 -1
  504. package/lib/stores/core/DataCubeSetting.d.ts +0 -51
  505. package/lib/stores/core/DataCubeSetting.d.ts.map +0 -1
  506. package/lib/stores/core/DataCubeSetting.js.map +0 -1
  507. package/lib/stores/core/models/AdhocQueryDataCubeSource.d.ts.map +0 -1
  508. package/lib/stores/core/models/AdhocQueryDataCubeSource.js.map +0 -1
  509. package/lib/stores/core/models/DataCubeColumn.d.ts.map +0 -1
  510. package/lib/stores/core/models/DataCubeColumn.js.map +0 -1
  511. package/lib/stores/core/models/DataCubeConfiguration.d.ts.map +0 -1
  512. package/lib/stores/core/models/DataCubeConfiguration.js.map +0 -1
  513. package/lib/stores/core/models/DataCubeQuery.d.ts.map +0 -1
  514. package/lib/stores/core/models/DataCubeQuery.js.map +0 -1
  515. package/lib/stores/core/models/DataCubeSource.d.ts.map +0 -1
  516. package/lib/stores/core/models/DataCubeSource.js.map +0 -1
  517. package/lib/stores/view/DataCubeQuerySnapshotManager.d.ts.map +0 -1
  518. package/lib/stores/view/DataCubeQuerySnapshotManager.js.map +0 -1
  519. package/src/stores/core/DataCubeSetting.ts +0 -63
  520. /package/lib/stores/core/{models → model}/AdhocQueryDataCubeSource.d.ts +0 -0
  521. /package/lib/stores/core/{models → model}/AdhocQueryDataCubeSource.js +0 -0
  522. /package/lib/stores/core/{models → model}/DataCubeColumn.d.ts +0 -0
  523. /package/lib/stores/core/{models → model}/DataCubeColumn.js +0 -0
  524. /package/lib/stores/core/{models → model}/DataCubeConfiguration.d.ts +0 -0
  525. /package/lib/stores/core/{models → model}/DataCubeConfiguration.js +0 -0
  526. /package/lib/stores/core/{models → model}/DataCubeQuery.d.ts +0 -0
  527. /package/lib/stores/core/{models → model}/DataCubeQuery.js +0 -0
  528. /package/lib/stores/core/{models → model}/DataCubeSource.d.ts +0 -0
  529. /package/lib/stores/core/{models → model}/DataCubeSource.js +0 -0
  530. /package/src/stores/core/{models → model}/AdhocQueryDataCubeSource.ts +0 -0
  531. /package/src/stores/core/{models → model}/DataCubeColumn.ts +0 -0
  532. /package/src/stores/core/{models → model}/DataCubeConfiguration.ts +0 -0
  533. /package/src/stores/core/{models → model}/DataCubeQuery.ts +0 -0
  534. /package/src/stores/core/{models → model}/DataCubeSource.ts +0 -0
@@ -13,11 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
-
17
- import { type V1_AppliedFunction } from '@finos/legend-graph';
18
16
  import { DataCubeQueryFilterOperation } from './DataCubeQueryFilterOperation.js';
19
17
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
20
- import type { DataCubeColumn } from '../models/DataCubeColumn.js';
18
+ import type { DataCubeColumn } from '../model/DataCubeColumn.js';
21
19
  import {
22
20
  DataCubeColumnDataType,
23
21
  DataCubeFunction,
@@ -35,6 +33,11 @@ import {
35
33
  _var,
36
34
  } from '../DataCubeQueryBuilderUtils.js';
37
35
  import { guaranteeNonNullable, isString } from '@finos/legend-shared';
36
+ import {
37
+ V1_AppliedProperty,
38
+ type V1_AppliedFunction,
39
+ } from '@finos/legend-graph';
40
+ import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
38
41
 
39
42
  export class DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn extends DataCubeQueryFilterOperation {
40
43
  override get label() {
@@ -73,8 +76,19 @@ export class DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn extends
73
76
  }
74
77
 
75
78
  buildConditionSnapshot(expression: V1_AppliedFunction) {
76
- /** TODO: @datacube roundtrip */
77
- return undefined;
79
+ const value = expression.parameters[1];
80
+ const filterConditionSnapshot = _buildConditionSnapshotProperty(
81
+ expression.parameters[0] as V1_AppliedProperty,
82
+ this.operator,
83
+ );
84
+
85
+ if (value instanceof V1_AppliedProperty) {
86
+ filterConditionSnapshot.value = {
87
+ value: value.property,
88
+ type: DataCubeOperationAdvancedValueType.COLUMN,
89
+ } satisfies DataCubeOperationValue;
90
+ }
91
+ return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
78
92
  }
79
93
 
80
94
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -13,11 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
-
17
- import { type V1_AppliedFunction } from '@finos/legend-graph';
18
16
  import { DataCubeQueryFilterOperation } from './DataCubeQueryFilterOperation.js';
19
17
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
20
- import type { DataCubeColumn } from '../models/DataCubeColumn.js';
18
+ import type { DataCubeColumn } from '../model/DataCubeColumn.js';
21
19
  import {
22
20
  DataCubeColumnDataType,
23
21
  DataCubeFunction,
@@ -35,6 +33,11 @@ import {
35
33
  _var,
36
34
  } from '../DataCubeQueryBuilderUtils.js';
37
35
  import { guaranteeNonNullable, isString } from '@finos/legend-shared';
36
+ import {
37
+ V1_AppliedProperty,
38
+ type V1_AppliedFunction,
39
+ } from '@finos/legend-graph';
40
+ import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
38
41
 
39
42
  export class DataCubeQueryFilterOperation__NotEqualColumn extends DataCubeQueryFilterOperation {
40
43
  override get label() {
@@ -78,8 +81,19 @@ export class DataCubeQueryFilterOperation__NotEqualColumn extends DataCubeQueryF
78
81
  }
79
82
 
80
83
  buildConditionSnapshot(expression: V1_AppliedFunction) {
81
- /** TODO: @datacube roundtrip */
82
- return undefined;
84
+ const value = expression.parameters[1];
85
+ const filterConditionSnapshot = _buildConditionSnapshotProperty(
86
+ expression.parameters[0] as V1_AppliedProperty,
87
+ this.operator,
88
+ );
89
+
90
+ if (value instanceof V1_AppliedProperty) {
91
+ filterConditionSnapshot.value = {
92
+ value: value.property,
93
+ type: DataCubeOperationAdvancedValueType.COLUMN,
94
+ } satisfies DataCubeOperationValue;
95
+ }
96
+ return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
83
97
  }
84
98
 
85
99
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -13,14 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
-
17
- import { type V1_AppliedFunction } from '@finos/legend-graph';
18
16
  import {
19
17
  DataCubeQueryFilterOperation,
20
18
  generateDefaultFilterConditionPrimitiveTypeValue,
21
19
  } from './DataCubeQueryFilterOperation.js';
22
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
23
- import type { DataCubeColumn } from '../models/DataCubeColumn.js';
21
+ import type { DataCubeColumn } from '../model/DataCubeColumn.js';
24
22
  import {
25
23
  DataCubeColumnDataType,
26
24
  DataCubeFunction,
@@ -36,6 +34,15 @@ import {
36
34
  _value,
37
35
  } from '../DataCubeQueryBuilderUtils.js';
38
36
  import { guaranteeNonNullable } from '@finos/legend-shared';
37
+ import {
38
+ V1_PrimitiveValueSpecification,
39
+ type V1_AppliedFunction,
40
+ type V1_AppliedProperty,
41
+ } from '@finos/legend-graph';
42
+ import {
43
+ _buildConditionSnapshotProperty,
44
+ _dataCubeOperationValue,
45
+ } from '../DataCubeQuerySnapshotBuilderUtils.js';
39
46
 
40
47
  export class DataCubeQueryFilterOperation__NotStartWith extends DataCubeQueryFilterOperation {
41
48
  override get label() {
@@ -74,8 +81,15 @@ export class DataCubeQueryFilterOperation__NotStartWith extends DataCubeQueryFil
74
81
  }
75
82
 
76
83
  buildConditionSnapshot(expression: V1_AppliedFunction) {
77
- /** TODO: @datacube roundtrip */
78
- return undefined;
84
+ const value = expression.parameters[1];
85
+ const filterConditionSnapshot = _buildConditionSnapshotProperty(
86
+ expression.parameters[0] as V1_AppliedProperty,
87
+ this.operator,
88
+ );
89
+ if (value instanceof V1_PrimitiveValueSpecification) {
90
+ filterConditionSnapshot.value = _dataCubeOperationValue(value);
91
+ }
92
+ return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
79
93
  }
80
94
 
81
95
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -13,14 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
-
17
- import { type V1_AppliedFunction } from '@finos/legend-graph';
18
16
  import {
19
17
  DataCubeQueryFilterOperation,
20
18
  generateDefaultFilterConditionPrimitiveTypeValue,
21
19
  } from './DataCubeQueryFilterOperation.js';
22
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
23
- import type { DataCubeColumn } from '../models/DataCubeColumn.js';
21
+ import type { DataCubeColumn } from '../model/DataCubeColumn.js';
24
22
  import {
25
23
  DataCubeColumnDataType,
26
24
  DataCubeFunction,
@@ -35,6 +33,15 @@ import {
35
33
  _value,
36
34
  } from '../DataCubeQueryBuilderUtils.js';
37
35
  import { guaranteeNonNullable } from '@finos/legend-shared';
36
+ import {
37
+ V1_PrimitiveValueSpecification,
38
+ type V1_AppliedFunction,
39
+ type V1_AppliedProperty,
40
+ } from '@finos/legend-graph';
41
+ import {
42
+ _buildConditionSnapshotProperty,
43
+ _dataCubeOperationValue,
44
+ } from '../DataCubeQuerySnapshotBuilderUtils.js';
38
45
 
39
46
  export class DataCubeQueryFilterOperation__StartWith extends DataCubeQueryFilterOperation {
40
47
  override get label() {
@@ -73,8 +80,15 @@ export class DataCubeQueryFilterOperation__StartWith extends DataCubeQueryFilter
73
80
  }
74
81
 
75
82
  buildConditionSnapshot(expression: V1_AppliedFunction) {
76
- /** TODO: @datacube roundtrip */
77
- return undefined;
83
+ const value = expression.parameters[1];
84
+ const filterConditionSnapshot = _buildConditionSnapshotProperty(
85
+ expression.parameters[0] as V1_AppliedProperty,
86
+ this.operator,
87
+ );
88
+ if (value instanceof V1_PrimitiveValueSpecification) {
89
+ filterConditionSnapshot.value = _dataCubeOperationValue(value);
90
+ }
91
+ return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
78
92
  }
79
93
 
80
94
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -13,14 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
-
17
- import { type V1_AppliedFunction } from '@finos/legend-graph';
18
16
  import {
19
17
  DataCubeQueryFilterOperation,
20
18
  generateDefaultFilterConditionPrimitiveTypeValue,
21
19
  } from './DataCubeQueryFilterOperation.js';
22
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
23
- import type { DataCubeColumn } from '../models/DataCubeColumn.js';
21
+ import type { DataCubeColumn } from '../model/DataCubeColumn.js';
24
22
  import {
25
23
  DataCubeColumnDataType,
26
24
  DataCubeFunction,
@@ -36,6 +34,15 @@ import {
36
34
  _var,
37
35
  } from '../DataCubeQueryBuilderUtils.js';
38
36
  import { guaranteeNonNullable } from '@finos/legend-shared';
37
+ import {
38
+ V1_PrimitiveValueSpecification,
39
+ type V1_AppliedFunction,
40
+ type V1_AppliedProperty,
41
+ } from '@finos/legend-graph';
42
+ import {
43
+ _buildConditionSnapshotProperty,
44
+ _dataCubeOperationValue,
45
+ } from '../DataCubeQuerySnapshotBuilderUtils.js';
39
46
 
40
47
  export class DataCubeQueryFilterOperation__StartWithCaseInsensitive extends DataCubeQueryFilterOperation {
41
48
  override get label() {
@@ -74,8 +81,15 @@ export class DataCubeQueryFilterOperation__StartWithCaseInsensitive extends Data
74
81
  }
75
82
 
76
83
  buildConditionSnapshot(expression: V1_AppliedFunction) {
77
- /** TODO: @datacube roundtrip */
78
- return undefined;
84
+ const value = expression.parameters[1];
85
+ const filterConditionSnapshot = _buildConditionSnapshotProperty(
86
+ expression.parameters[0] as V1_AppliedProperty,
87
+ this.operator,
88
+ );
89
+ if (value instanceof V1_PrimitiveValueSpecification) {
90
+ filterConditionSnapshot.value = _dataCubeOperationValue(value);
91
+ }
92
+ return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
79
93
  }
80
94
 
81
95
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -0,0 +1,169 @@
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 { CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
18
+ import {
19
+ type DataCubeLayoutService,
20
+ DEFAULT_ALERT_WINDOW_CONFIG,
21
+ LayoutConfiguration,
22
+ WindowState,
23
+ type WindowConfiguration,
24
+ } from './DataCubeLayoutService.js';
25
+ import { Alert } from '../../components/core/DataCubeAlert.js';
26
+ import type { EngineError } from '@finos/legend-graph';
27
+ import { editor as monacoEditorAPI, Uri } from 'monaco-editor';
28
+ import { DataCubeCodeCheckErrorAlert } from '../../components/core/DataCubeCodeCheckErrorAlert.js';
29
+ import { uuid } from '@finos/legend-shared';
30
+ import type { DataCubeLogService } from './DataCubeLogService.js';
31
+
32
+ export enum AlertType {
33
+ ERROR = 'ERROR',
34
+ INFO = 'INFO',
35
+ SUCCESS = 'SUCCESS',
36
+ WARNING = 'WARNING',
37
+ }
38
+
39
+ export type ActionAlertAction = { label: string; handler: () => void };
40
+
41
+ export type ActionAlert = {
42
+ title?: string | undefined;
43
+ message: string;
44
+ prompt?: string | undefined;
45
+ type: AlertType;
46
+ text?: string | undefined;
47
+ actions?: ActionAlertAction[] | undefined;
48
+ onClose?: () => void;
49
+ };
50
+
51
+ export type ActionAlertOptions = {
52
+ message: string;
53
+ text?: string | undefined;
54
+ actions?: ActionAlertAction[] | undefined;
55
+ windowTitle?: string | undefined;
56
+ windowConfig?: WindowConfiguration | undefined;
57
+ };
58
+
59
+ export class DataCubeAlertService {
60
+ private readonly _logService: DataCubeLogService;
61
+ private readonly _layoutService: DataCubeLayoutService;
62
+
63
+ constructor(
64
+ logService: DataCubeLogService,
65
+ layoutService: DataCubeLayoutService,
66
+ ) {
67
+ this._logService = logService;
68
+ this._layoutService = layoutService;
69
+ }
70
+
71
+ alert(
72
+ options: ActionAlertOptions & {
73
+ type: AlertType;
74
+ },
75
+ ) {
76
+ const { message, type, text, actions, windowTitle, windowConfig } = options;
77
+ const window = new WindowState(
78
+ new LayoutConfiguration(windowTitle ?? '', () => (
79
+ <Alert
80
+ type={type}
81
+ message={message}
82
+ text={text}
83
+ actions={actions}
84
+ onClose={() => this._layoutService.closeWindow(window)}
85
+ />
86
+ )),
87
+ );
88
+ window.configuration.window = windowConfig ?? DEFAULT_ALERT_WINDOW_CONFIG;
89
+ this._layoutService.newWindow(window);
90
+ }
91
+
92
+ alertError(error: Error, options: ActionAlertOptions) {
93
+ const { message, text, actions, windowTitle, windowConfig } = options;
94
+ const window = new WindowState(
95
+ new LayoutConfiguration(windowTitle ?? 'Error', () => (
96
+ <Alert
97
+ type={AlertType.ERROR}
98
+ message={message}
99
+ text={text}
100
+ actions={actions}
101
+ />
102
+ )),
103
+ );
104
+ window.configuration.window = windowConfig ?? DEFAULT_ALERT_WINDOW_CONFIG;
105
+ this._layoutService.newWindow(window);
106
+ }
107
+
108
+ alertUnhandledError(error: Error) {
109
+ this._logService.logUnhandledError(error);
110
+ this.alertError(error, {
111
+ message: error.message,
112
+ });
113
+ }
114
+
115
+ alertCodeCheckError(
116
+ error: EngineError,
117
+ code: string,
118
+ codePrefix: string,
119
+ options: ActionAlertOptions,
120
+ ) {
121
+ const { message, text, windowTitle, windowConfig } = options;
122
+ // correct the source information since we added prefix to the code
123
+ // and reveal error in the editor
124
+ if (error.sourceInformation) {
125
+ error.sourceInformation.startColumn -=
126
+ error.sourceInformation.startLine === 1 ? codePrefix.length : 0;
127
+ error.sourceInformation.endColumn -=
128
+ error.sourceInformation.endLine === 1 ? codePrefix.length : 0;
129
+ const editorModel = monacoEditorAPI.createModel(
130
+ code,
131
+ CODE_EDITOR_LANGUAGE.PURE,
132
+ Uri.file(`/${uuid()}.pure`),
133
+ );
134
+
135
+ const fullRange = editorModel.getFullModelRange();
136
+ if (
137
+ error.sourceInformation.startLine < 1 ||
138
+ (error.sourceInformation.startLine === 1 &&
139
+ error.sourceInformation.startColumn < 1) ||
140
+ error.sourceInformation.endLine > fullRange.endLineNumber ||
141
+ (error.sourceInformation.endLine === fullRange.endLineNumber &&
142
+ error.sourceInformation.endColumn > fullRange.endColumn)
143
+ ) {
144
+ error.sourceInformation.startColumn = fullRange.startColumn;
145
+ error.sourceInformation.startLine = fullRange.startLineNumber;
146
+ error.sourceInformation.endColumn = fullRange.endColumn;
147
+ error.sourceInformation.endLine = fullRange.endLineNumber;
148
+ }
149
+ const window = new WindowState(
150
+ new LayoutConfiguration(windowTitle ?? 'Error', () => (
151
+ <DataCubeCodeCheckErrorAlert
152
+ editorModel={editorModel}
153
+ error={error}
154
+ message={message}
155
+ text={text}
156
+ />
157
+ )),
158
+ );
159
+ window.configuration.window = windowConfig ?? {
160
+ width: 500,
161
+ height: 400,
162
+ minWidth: 300,
163
+ minHeight: 300,
164
+ center: true,
165
+ };
166
+ this._layoutService.newWindow(window);
167
+ }
168
+ }
169
+ }
@@ -0,0 +1,74 @@
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 { DocumentationEntry } from '@finos/legend-shared';
18
+ import { makeObservable, observable, action } from 'mobx';
19
+ import { DocumentationPanel } from '../../components/core/DataCubeDocumentationPanel.js';
20
+ import type {
21
+ DataCubeLayoutService,
22
+ DisplayState,
23
+ } from './DataCubeLayoutService.js';
24
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
25
+
26
+ export class DataCubeDocumentationService {
27
+ private readonly _engine: DataCubeEngine;
28
+ private readonly _layoutService: DataCubeLayoutService;
29
+
30
+ readonly display: DisplayState;
31
+
32
+ currentEntry?: DocumentationEntry | undefined;
33
+
34
+ constructor(engine: DataCubeEngine, layoutService: DataCubeLayoutService) {
35
+ makeObservable(this, {
36
+ currentEntry: observable,
37
+ setCurrentEntry: action,
38
+ });
39
+
40
+ this._engine = engine;
41
+ this._layoutService = layoutService;
42
+ this.display = this._layoutService.newDisplay(
43
+ 'Documentation',
44
+ () => <DocumentationPanel />,
45
+ {
46
+ x: -50,
47
+ y: -50,
48
+ width: 400,
49
+ height: 400,
50
+ minWidth: 300,
51
+ minHeight: 200,
52
+ center: false,
53
+ },
54
+ );
55
+ }
56
+
57
+ getEntry(key: string) {
58
+ return this._engine.getDocumentationEntry(key);
59
+ }
60
+
61
+ setCurrentEntry(entry: DocumentationEntry | undefined) {
62
+ this.currentEntry = entry;
63
+ }
64
+
65
+ shouldDisplayDocumentationEntry(entry: DocumentationEntry) {
66
+ return (
67
+ /**
68
+ * Since we're displaying the documentation entry, we want only user-friendly docs
69
+ * and discard anything that doesn't come with a title, or does not have any content
70
+ */
71
+ Boolean(entry.title && (entry.text ?? entry.markdownText))
72
+ );
73
+ }
74
+ }
@@ -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
  }