@finos/legend-data-cube 0.0.7 → 0.0.9

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 (556) hide show
  1. package/lib/__lib__/DataCubeDocumentation.d.ts.map +1 -0
  2. package/lib/__lib__/DataCubeDocumentation.js.map +1 -0
  3. package/lib/components/DataCube.d.ts.map +1 -1
  4. package/lib/components/DataCube.js +4 -4
  5. package/lib/components/DataCube.js.map +1 -1
  6. package/lib/components/DataCubeProvider.d.ts +2 -2
  7. package/lib/components/DataCubeProvider.d.ts.map +1 -1
  8. package/lib/components/core/DataCubeAlert.d.ts.map +1 -0
  9. package/lib/components/core/DataCubeAlert.js.map +1 -0
  10. package/lib/components/core/DataCubeCodeCheckErrorAlert.d.ts +24 -0
  11. package/lib/components/core/DataCubeCodeCheckErrorAlert.d.ts.map +1 -0
  12. package/lib/components/core/DataCubeCodeCheckErrorAlert.js +78 -0
  13. package/lib/components/core/DataCubeCodeCheckErrorAlert.js.map +1 -0
  14. package/lib/components/core/DataCubeDocumentationPanel.d.ts.map +1 -0
  15. package/lib/components/core/DataCubeDocumentationPanel.js.map +1 -0
  16. package/lib/components/core/DataCubeFormUtils.d.ts.map +1 -0
  17. package/lib/components/core/DataCubeFormUtils.js.map +1 -0
  18. package/lib/components/{application → core}/DataCubeLayoutManager.d.ts +1 -1
  19. package/lib/components/core/DataCubeLayoutManager.d.ts.map +1 -0
  20. package/lib/components/{application → core}/DataCubeLayoutManager.js +1 -1
  21. package/lib/components/core/DataCubeLayoutManager.js.map +1 -0
  22. package/lib/components/{shared → core}/DataCubePureCodeEditorUtils.d.ts +2 -2
  23. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts.map +1 -0
  24. package/lib/components/{shared → core}/DataCubePureCodeEditorUtils.js +2 -2
  25. package/lib/components/core/DataCubePureCodeEditorUtils.js.map +1 -0
  26. package/lib/components/core/DataCubeSettingsPanel.d.ts.map +1 -0
  27. package/lib/components/{application → core}/DataCubeSettingsPanel.js +3 -6
  28. package/lib/components/core/DataCubeSettingsPanel.js.map +1 -0
  29. package/lib/components/{editor → view/editor}/DataCubeEditor.d.ts +1 -1
  30. package/lib/components/view/editor/DataCubeEditor.d.ts.map +1 -0
  31. package/lib/components/{editor → view/editor}/DataCubeEditor.js +1 -1
  32. package/lib/components/view/editor/DataCubeEditor.js.map +1 -0
  33. package/lib/components/{editor → view/editor}/DataCubeEditorColumnPropertiesPanel.d.ts +1 -1
  34. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -0
  35. package/lib/components/{editor → view/editor}/DataCubeEditorColumnPropertiesPanel.js +11 -11
  36. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -0
  37. package/lib/components/{editor/DataCubeEditorColumnsSelector.d.ts → view/editor/DataCubeEditorColumnSelector.d.ts} +6 -6
  38. package/lib/components/view/editor/DataCubeEditorColumnSelector.d.ts.map +1 -0
  39. package/lib/components/{editor/DataCubeEditorColumnsSelector.js → view/editor/DataCubeEditorColumnSelector.js} +4 -4
  40. package/lib/components/view/editor/DataCubeEditorColumnSelector.js.map +1 -0
  41. package/lib/components/{editor → view/editor}/DataCubeEditorColumnsPanel.d.ts +1 -1
  42. package/lib/components/view/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -0
  43. package/lib/components/{editor → view/editor}/DataCubeEditorColumnsPanel.js +4 -4
  44. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js.map +1 -0
  45. package/lib/components/{editor → view/editor}/DataCubeEditorGeneralPropertiesPanel.d.ts +1 -1
  46. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -0
  47. package/lib/components/{editor → view/editor}/DataCubeEditorGeneralPropertiesPanel.js +5 -5
  48. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -0
  49. package/lib/components/{editor → view/editor}/DataCubeEditorHorizontalPivotsPanel.d.ts +1 -1
  50. package/lib/components/view/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +1 -0
  51. package/lib/components/{editor → view/editor}/DataCubeEditorHorizontalPivotsPanel.js +3 -3
  52. package/lib/components/view/editor/DataCubeEditorHorizontalPivotsPanel.js.map +1 -0
  53. package/lib/components/{editor → view/editor}/DataCubeEditorSortsPanel.d.ts +1 -1
  54. package/lib/components/view/editor/DataCubeEditorSortsPanel.d.ts.map +1 -0
  55. package/lib/components/view/editor/DataCubeEditorSortsPanel.js +51 -0
  56. package/lib/components/view/editor/DataCubeEditorSortsPanel.js.map +1 -0
  57. package/lib/components/{editor → view/editor}/DataCubeEditorVerticalPivotsPanel.d.ts +1 -1
  58. package/lib/components/view/editor/DataCubeEditorVerticalPivotsPanel.d.ts.map +1 -0
  59. package/lib/components/{editor → view/editor}/DataCubeEditorVerticalPivotsPanel.js +2 -2
  60. package/lib/components/view/editor/DataCubeEditorVerticalPivotsPanel.js.map +1 -0
  61. package/lib/components/{extend → view/extend}/DataCubeColumnEditor.d.ts +2 -2
  62. package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -0
  63. package/lib/components/{extend → view/extend}/DataCubeColumnEditor.js +15 -7
  64. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -0
  65. package/lib/components/{filter → view/filter}/DataCubeFilterEditor.d.ts +1 -1
  66. package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -0
  67. package/lib/components/{filter → view/filter}/DataCubeFilterEditor.js +17 -17
  68. package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -0
  69. package/lib/components/{grid → view/grid}/DataCubeGrid.d.ts +1 -1
  70. package/lib/components/view/grid/DataCubeGrid.d.ts.map +1 -0
  71. package/lib/components/{grid → view/grid}/DataCubeGrid.js +3 -3
  72. package/lib/components/view/grid/DataCubeGrid.js.map +1 -0
  73. package/lib/components/view/grid/DataCubeGridShared.d.ts.map +1 -0
  74. package/lib/components/{grid → view/grid}/DataCubeGridShared.js +1 -1
  75. package/lib/components/view/grid/DataCubeGridShared.js.map +1 -0
  76. package/lib/index.css +2 -2
  77. package/lib/index.css.map +1 -1
  78. package/lib/index.d.ts +5 -5
  79. package/lib/index.d.ts.map +1 -1
  80. package/lib/index.js +5 -5
  81. package/lib/index.js.map +1 -1
  82. package/lib/package.json +1 -1
  83. package/lib/stores/DataCubeState.d.ts +4 -5
  84. package/lib/stores/DataCubeState.d.ts.map +1 -1
  85. package/lib/stores/DataCubeState.js +11 -12
  86. package/lib/stores/DataCubeState.js.map +1 -1
  87. package/lib/stores/{engine → core}/DataCubeApplicationEngine.d.ts +15 -7
  88. package/lib/stores/core/DataCubeApplicationEngine.d.ts.map +1 -0
  89. package/lib/stores/core/DataCubeApplicationEngine.js +94 -0
  90. package/lib/stores/core/DataCubeApplicationEngine.js.map +1 -0
  91. package/lib/stores/core/DataCubeConfiguration.d.ts +3 -0
  92. package/lib/stores/core/DataCubeConfiguration.d.ts.map +1 -1
  93. package/lib/stores/core/DataCubeConfiguration.js +9 -0
  94. package/lib/stores/core/DataCubeConfiguration.js.map +1 -1
  95. package/lib/stores/core/DataCubeConfigurationBuilder.js +4 -4
  96. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  97. package/lib/stores/{engine → core}/DataCubeEngine.d.ts +17 -6
  98. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -0
  99. package/lib/stores/{engine → core}/DataCubeEngine.js +35 -11
  100. package/lib/stores/core/DataCubeEngine.js.map +1 -0
  101. package/lib/stores/core/DataCubeEngineUtils.d.ts +2 -0
  102. package/lib/stores/core/DataCubeEngineUtils.d.ts.map +1 -0
  103. package/lib/stores/core/DataCubeEngineUtils.js +2 -0
  104. package/lib/stores/core/DataCubeEngineUtils.js.map +1 -0
  105. package/lib/stores/core/DataCubeLayoutManagerState.d.ts.map +1 -0
  106. package/lib/stores/core/DataCubeLayoutManagerState.js.map +1 -0
  107. package/lib/stores/core/DataCubeQuery.d.ts.map +1 -0
  108. package/lib/stores/core/DataCubeQuery.js.map +1 -0
  109. package/lib/stores/core/DataCubeQueryBuilder.d.ts +3 -2
  110. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  111. package/lib/stores/core/DataCubeQueryBuilder.js +25 -26
  112. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  113. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +3 -2
  114. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  115. package/lib/stores/core/DataCubeQueryBuilderUtils.js +12 -6
  116. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  117. package/lib/stores/core/DataCubeQueryEngine.d.ts +5 -7
  118. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  119. package/lib/stores/core/DataCubeQueryEngine.js +32 -37
  120. package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
  121. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +32 -10
  122. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  123. package/lib/stores/core/DataCubeQuerySnapshot.js +42 -4
  124. package/lib/stores/core/DataCubeQuerySnapshot.js.map +1 -1
  125. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +1 -1
  126. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  127. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +10 -12
  128. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  129. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +2 -1
  130. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -1
  131. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js +2 -2
  132. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js.map +1 -1
  133. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +2 -1
  134. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -1
  135. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js +2 -2
  136. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js.map +1 -1
  137. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +2 -1
  138. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -1
  139. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js +2 -2
  140. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js.map +1 -1
  141. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +2 -1
  142. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -1
  143. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js +2 -2
  144. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js.map +1 -1
  145. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +2 -1
  146. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -1
  147. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js +2 -2
  148. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js.map +1 -1
  149. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +2 -1
  150. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -1
  151. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js +2 -2
  152. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js.map +1 -1
  153. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +2 -1
  154. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -1
  155. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js +2 -2
  156. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js.map +1 -1
  157. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +2 -1
  158. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -1
  159. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js +2 -2
  160. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js.map +1 -1
  161. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +2 -1
  162. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -1
  163. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js +2 -2
  164. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js.map +1 -1
  165. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +2 -1
  166. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -1
  167. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js +2 -2
  168. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js.map +1 -1
  169. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +2 -1
  170. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -1
  171. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js +2 -2
  172. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js.map +1 -1
  173. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +2 -1
  174. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -1
  175. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js +2 -2
  176. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js.map +1 -1
  177. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +2 -1
  178. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -1
  179. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js +2 -2
  180. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js.map +1 -1
  181. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js +2 -2
  182. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -1
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +2 -2
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +2 -2
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +2 -2
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +2 -2
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +2 -2
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +1 -1
  194. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  195. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +2 -2
  196. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  197. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +2 -2
  198. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  199. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +2 -2
  200. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  201. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +2 -2
  202. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  203. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +2 -2
  204. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  205. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +2 -2
  206. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  207. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +2 -2
  208. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  209. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +2 -2
  210. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  211. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +2 -2
  212. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  213. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +2 -2
  214. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  215. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +2 -2
  216. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  217. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +2 -2
  218. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  219. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +2 -2
  220. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  221. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +2 -2
  222. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  223. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +2 -2
  224. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  225. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +2 -2
  226. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  227. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +2 -2
  228. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  229. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +2 -2
  230. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  231. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +2 -2
  232. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  233. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +2 -2
  234. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  235. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +2 -2
  236. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  237. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +2 -2
  238. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  239. package/lib/stores/{core → view}/DataCubeInfoState.d.ts +4 -3
  240. package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -0
  241. package/lib/stores/{core → view}/DataCubeInfoState.js +4 -1
  242. package/lib/stores/view/DataCubeInfoState.js.map +1 -0
  243. package/lib/stores/{core → view}/DataCubeQuerySnapshotManager.d.ts +5 -3
  244. package/lib/stores/view/DataCubeQuerySnapshotManager.d.ts.map +1 -0
  245. package/lib/stores/{core → view}/DataCubeQuerySnapshotManager.js +11 -3
  246. package/lib/stores/view/DataCubeQuerySnapshotManager.js.map +1 -0
  247. package/lib/stores/{DataCubeViewState.d.ts → view/DataCubeViewState.d.ts} +5 -5
  248. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -0
  249. package/lib/stores/{DataCubeViewState.js → view/DataCubeViewState.js} +6 -6
  250. package/lib/stores/view/DataCubeViewState.js.map +1 -0
  251. package/lib/stores/{editor → view/editor}/DataCubeEditorColumnPropertiesPanelState.d.ts +2 -2
  252. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -0
  253. package/lib/stores/{editor → view/editor}/DataCubeEditorColumnPropertiesPanelState.js +1 -1
  254. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -0
  255. package/lib/stores/{editor/DataCubeEditorColumnsSelectorState.d.ts → view/editor/DataCubeEditorColumnSelectorState.d.ts} +5 -5
  256. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts.map +1 -0
  257. package/lib/stores/{editor/DataCubeEditorColumnsSelectorState.js → view/editor/DataCubeEditorColumnSelectorState.js} +4 -4
  258. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js.map +1 -0
  259. package/lib/stores/{editor → view/editor}/DataCubeEditorColumnsPanelState.d.ts +10 -10
  260. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -0
  261. package/lib/stores/{editor → view/editor}/DataCubeEditorColumnsPanelState.js +8 -8
  262. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -0
  263. package/lib/stores/{editor → view/editor}/DataCubeEditorGeneralPropertiesPanelState.d.ts +2 -2
  264. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -0
  265. package/lib/stores/{editor → view/editor}/DataCubeEditorGeneralPropertiesPanelState.js +1 -1
  266. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -0
  267. package/lib/stores/{editor → view/editor}/DataCubeEditorHorizontalPivotsPanelState.d.ts +7 -7
  268. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -0
  269. package/lib/stores/{editor → view/editor}/DataCubeEditorHorizontalPivotsPanelState.js +8 -8
  270. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -0
  271. package/lib/stores/{editor → view/editor}/DataCubeEditorMutableConfiguration.d.ts +4 -7
  272. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -0
  273. package/lib/stores/{editor → view/editor}/DataCubeEditorMutableConfiguration.js +5 -14
  274. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -0
  275. package/lib/stores/{editor → view/editor}/DataCubeEditorPanelState.d.ts +2 -2
  276. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -0
  277. package/lib/stores/view/editor/DataCubeEditorPanelState.js.map +1 -0
  278. package/lib/stores/{editor → view/editor}/DataCubeEditorPivotLayoutPanelState.d.ts +2 -2
  279. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -0
  280. package/lib/stores/{editor → view/editor}/DataCubeEditorPivotLayoutPanelState.js +2 -2
  281. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -0
  282. package/lib/stores/{editor → view/editor}/DataCubeEditorSortsPanelState.d.ts +9 -9
  283. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -0
  284. package/lib/stores/{editor → view/editor}/DataCubeEditorSortsPanelState.js +7 -8
  285. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -0
  286. package/lib/stores/{editor → view/editor}/DataCubeEditorState.d.ts +4 -3
  287. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -0
  288. package/lib/stores/{editor → view/editor}/DataCubeEditorState.js +37 -26
  289. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -0
  290. package/lib/stores/{editor → view/editor}/DataCubeEditorVerticalPivotsPanelState.d.ts +7 -7
  291. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -0
  292. package/lib/stores/{editor → view/editor}/DataCubeEditorVerticalPivotsPanelState.js +8 -8
  293. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -0
  294. package/lib/stores/{extend → view/extend}/DataCubeColumnEditorState.d.ts +35 -10
  295. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -0
  296. package/lib/stores/{extend → view/extend}/DataCubeColumnEditorState.js +135 -38
  297. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -0
  298. package/lib/stores/{extend → view/extend}/DataCubeExtendManagerState.d.ts +18 -10
  299. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -0
  300. package/lib/stores/view/extend/DataCubeExtendManagerState.js +305 -0
  301. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -0
  302. package/lib/stores/{filter → view/filter}/DataCubeFilterEditorState.d.ts +6 -5
  303. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -0
  304. package/lib/stores/{filter → view/filter}/DataCubeFilterEditorState.js +8 -5
  305. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -0
  306. package/lib/stores/{grid → view/grid}/DataCubeGridClientEngine.d.ts +2 -2
  307. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -0
  308. package/lib/stores/{grid → view/grid}/DataCubeGridClientEngine.js +25 -13
  309. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -0
  310. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts.map +1 -0
  311. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js.map +1 -0
  312. package/lib/stores/{grid → view/grid}/DataCubeGridConfigurationBuilder.d.ts +3 -3
  313. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -0
  314. package/lib/stores/{grid → view/grid}/DataCubeGridConfigurationBuilder.js +12 -9
  315. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -0
  316. package/lib/stores/{grid → view/grid}/DataCubeGridControllerState.d.ts +9 -9
  317. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -0
  318. package/lib/stores/{grid → view/grid}/DataCubeGridControllerState.js +28 -36
  319. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -0
  320. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -0
  321. package/lib/stores/{grid → view/grid}/DataCubeGridMenuBuilder.js +23 -61
  322. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -0
  323. package/lib/stores/{grid → view/grid}/DataCubeGridQueryBuilder.d.ts +5 -5
  324. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -0
  325. package/lib/stores/{grid → view/grid}/DataCubeGridQueryBuilder.js +41 -9
  326. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -0
  327. package/lib/stores/{grid → view/grid}/DataCubeGridQuerySnapshotBuilder.d.ts +3 -3
  328. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -0
  329. package/lib/stores/{grid → view/grid}/DataCubeGridQuerySnapshotBuilder.js +9 -9
  330. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -0
  331. package/lib/stores/{grid → view/grid}/DataCubeGridState.d.ts +4 -3
  332. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -0
  333. package/lib/stores/{grid → view/grid}/DataCubeGridState.js +9 -3
  334. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -0
  335. package/package.json +5 -5
  336. package/src/components/DataCube.tsx +6 -5
  337. package/src/components/DataCubeProvider.tsx +2 -2
  338. package/src/components/core/DataCubeCodeCheckErrorAlert.tsx +127 -0
  339. package/src/components/{application → core}/DataCubeLayoutManager.tsx +1 -1
  340. package/src/components/{shared → core}/DataCubePureCodeEditorUtils.tsx +6 -4
  341. package/src/components/{application → core}/DataCubeSettingsPanel.tsx +2 -20
  342. package/src/components/{editor → view/editor}/DataCubeEditor.tsx +2 -2
  343. package/src/components/{editor → view/editor}/DataCubeEditorColumnPropertiesPanel.tsx +23 -23
  344. package/src/components/{editor/DataCubeEditorColumnsSelector.tsx → view/editor/DataCubeEditorColumnSelector.tsx} +14 -14
  345. package/src/components/{editor → view/editor}/DataCubeEditorColumnsPanel.tsx +11 -11
  346. package/src/components/{editor → view/editor}/DataCubeEditorGeneralPropertiesPanel.tsx +11 -11
  347. package/src/components/{editor → view/editor}/DataCubeEditorHorizontalPivotsPanel.tsx +4 -4
  348. package/src/components/{editor → view/editor}/DataCubeEditorSortsPanel.tsx +35 -63
  349. package/src/components/{editor → view/editor}/DataCubeEditorVerticalPivotsPanel.tsx +3 -3
  350. package/src/components/{extend → view/extend}/DataCubeColumnEditor.tsx +34 -7
  351. package/src/components/{filter → view/filter}/DataCubeFilterEditor.tsx +37 -37
  352. package/src/components/{grid → view/grid}/DataCubeGrid.tsx +5 -5
  353. package/src/components/{grid → view/grid}/DataCubeGridShared.tsx +1 -1
  354. package/src/index.tsx +5 -6
  355. package/src/stores/DataCubeState.tsx +12 -14
  356. package/src/stores/{engine → core}/DataCubeApplicationEngine.tsx +108 -28
  357. package/src/stores/core/DataCubeConfiguration.ts +12 -0
  358. package/src/stores/core/DataCubeConfigurationBuilder.ts +4 -4
  359. package/src/stores/{engine → core}/DataCubeEngine.ts +65 -14
  360. package/src/stores/core/DataCubeEngineUtils.ts +0 -0
  361. package/src/stores/core/DataCubeQueryBuilder.ts +28 -44
  362. package/src/stores/core/DataCubeQueryBuilderUtils.ts +20 -7
  363. package/src/stores/core/DataCubeQueryEngine.ts +5 -10
  364. package/src/stores/core/DataCubeQuerySnapshot.ts +65 -17
  365. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +11 -14
  366. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +3 -3
  367. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +3 -3
  368. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +3 -3
  369. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +3 -3
  370. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +3 -3
  371. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +3 -3
  372. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +3 -3
  373. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +3 -3
  374. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +3 -3
  375. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +3 -3
  376. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +3 -3
  377. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +3 -3
  378. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +3 -3
  379. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +2 -2
  380. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +2 -2
  381. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +2 -2
  382. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +2 -2
  383. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +2 -2
  384. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +3 -3
  385. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +2 -2
  386. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +2 -2
  387. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +2 -2
  388. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +2 -2
  389. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +2 -2
  390. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +2 -2
  391. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +2 -2
  392. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +2 -2
  393. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +2 -2
  394. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +2 -2
  395. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +2 -2
  396. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +2 -2
  397. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +2 -2
  398. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +2 -2
  399. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +2 -2
  400. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +2 -2
  401. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +2 -2
  402. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +2 -2
  403. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +2 -2
  404. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +2 -2
  405. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +2 -2
  406. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +2 -2
  407. package/src/stores/{core → view}/DataCubeInfoState.ts +8 -4
  408. package/src/stores/{core → view}/DataCubeQuerySnapshotManager.ts +28 -11
  409. package/src/stores/{DataCubeViewState.ts → view/DataCubeViewState.ts} +8 -8
  410. package/src/stores/{editor → view/editor}/DataCubeEditorColumnPropertiesPanelState.ts +2 -2
  411. package/src/stores/{editor/DataCubeEditorColumnsSelectorState.ts → view/editor/DataCubeEditorColumnSelectorState.ts} +6 -6
  412. package/src/stores/{editor → view/editor}/DataCubeEditorColumnsPanelState.ts +15 -15
  413. package/src/stores/{editor → view/editor}/DataCubeEditorGeneralPropertiesPanelState.ts +2 -2
  414. package/src/stores/{editor → view/editor}/DataCubeEditorHorizontalPivotsPanelState.ts +14 -14
  415. package/src/stores/{editor → view/editor}/DataCubeEditorMutableConfiguration.ts +5 -17
  416. package/src/stores/{editor → view/editor}/DataCubeEditorPanelState.ts +2 -2
  417. package/src/stores/{editor → view/editor}/DataCubeEditorPivotLayoutPanelState.ts +3 -3
  418. package/src/stores/{editor → view/editor}/DataCubeEditorSortsPanelState.ts +20 -14
  419. package/src/stores/{editor → view/editor}/DataCubeEditorState.tsx +58 -39
  420. package/src/stores/{editor → view/editor}/DataCubeEditorVerticalPivotsPanelState.ts +14 -14
  421. package/src/stores/{extend → view/extend}/DataCubeColumnEditorState.tsx +208 -48
  422. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +470 -0
  423. package/src/stores/{filter → view/filter}/DataCubeFilterEditorState.tsx +11 -7
  424. package/src/stores/{grid → view/grid}/DataCubeGridClientEngine.ts +47 -20
  425. package/src/stores/{grid → view/grid}/DataCubeGridConfigurationBuilder.tsx +18 -13
  426. package/src/stores/{grid → view/grid}/DataCubeGridControllerState.ts +34 -43
  427. package/src/stores/{grid → view/grid}/DataCubeGridMenuBuilder.tsx +24 -62
  428. package/src/stores/{grid → view/grid}/DataCubeGridQueryBuilder.ts +87 -12
  429. package/src/stores/{grid → view/grid}/DataCubeGridQuerySnapshotBuilder.ts +13 -15
  430. package/src/stores/{grid → view/grid}/DataCubeGridState.ts +11 -4
  431. package/tsconfig.json +50 -48
  432. package/lib/application/DataCubeDocumentation.d.ts.map +0 -1
  433. package/lib/application/DataCubeDocumentation.js.map +0 -1
  434. package/lib/components/application/DataCubeAlert.d.ts.map +0 -1
  435. package/lib/components/application/DataCubeAlert.js.map +0 -1
  436. package/lib/components/application/DataCubeDocumentationPanel.d.ts.map +0 -1
  437. package/lib/components/application/DataCubeDocumentationPanel.js.map +0 -1
  438. package/lib/components/application/DataCubeLayoutManager.d.ts.map +0 -1
  439. package/lib/components/application/DataCubeLayoutManager.js.map +0 -1
  440. package/lib/components/application/DataCubeSettingsPanel.d.ts.map +0 -1
  441. package/lib/components/application/DataCubeSettingsPanel.js.map +0 -1
  442. package/lib/components/editor/DataCubeEditor.d.ts.map +0 -1
  443. package/lib/components/editor/DataCubeEditor.js.map +0 -1
  444. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +0 -1
  445. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js.map +0 -1
  446. package/lib/components/editor/DataCubeEditorColumnsPanel.d.ts.map +0 -1
  447. package/lib/components/editor/DataCubeEditorColumnsPanel.js.map +0 -1
  448. package/lib/components/editor/DataCubeEditorColumnsSelector.d.ts.map +0 -1
  449. package/lib/components/editor/DataCubeEditorColumnsSelector.js.map +0 -1
  450. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +0 -1
  451. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js.map +0 -1
  452. package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +0 -1
  453. package/lib/components/editor/DataCubeEditorHorizontalPivotsPanel.js.map +0 -1
  454. package/lib/components/editor/DataCubeEditorSortsPanel.d.ts.map +0 -1
  455. package/lib/components/editor/DataCubeEditorSortsPanel.js +0 -62
  456. package/lib/components/editor/DataCubeEditorSortsPanel.js.map +0 -1
  457. package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.d.ts.map +0 -1
  458. package/lib/components/editor/DataCubeEditorVerticalPivotsPanel.js.map +0 -1
  459. package/lib/components/extend/DataCubeColumnEditor.d.ts.map +0 -1
  460. package/lib/components/extend/DataCubeColumnEditor.js.map +0 -1
  461. package/lib/components/filter/DataCubeFilterEditor.d.ts.map +0 -1
  462. package/lib/components/filter/DataCubeFilterEditor.js.map +0 -1
  463. package/lib/components/grid/DataCubeGrid.d.ts.map +0 -1
  464. package/lib/components/grid/DataCubeGrid.js.map +0 -1
  465. package/lib/components/grid/DataCubeGridShared.d.ts.map +0 -1
  466. package/lib/components/grid/DataCubeGridShared.js.map +0 -1
  467. package/lib/components/shared/DataCubeFormUtils.d.ts.map +0 -1
  468. package/lib/components/shared/DataCubeFormUtils.js.map +0 -1
  469. package/lib/components/shared/DataCubePureCodeEditorUtils.d.ts.map +0 -1
  470. package/lib/components/shared/DataCubePureCodeEditorUtils.js.map +0 -1
  471. package/lib/stores/DataCubeViewState.d.ts.map +0 -1
  472. package/lib/stores/DataCubeViewState.js.map +0 -1
  473. package/lib/stores/core/DataCubeInfoState.d.ts.map +0 -1
  474. package/lib/stores/core/DataCubeInfoState.js.map +0 -1
  475. package/lib/stores/core/DataCubeQuerySnapshotManager.d.ts.map +0 -1
  476. package/lib/stores/core/DataCubeQuerySnapshotManager.js.map +0 -1
  477. package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +0 -1
  478. package/lib/stores/editor/DataCubeEditorColumnPropertiesPanelState.js.map +0 -1
  479. package/lib/stores/editor/DataCubeEditorColumnsPanelState.d.ts.map +0 -1
  480. package/lib/stores/editor/DataCubeEditorColumnsPanelState.js.map +0 -1
  481. package/lib/stores/editor/DataCubeEditorColumnsSelectorState.d.ts.map +0 -1
  482. package/lib/stores/editor/DataCubeEditorColumnsSelectorState.js.map +0 -1
  483. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +0 -1
  484. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +0 -1
  485. package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +0 -1
  486. package/lib/stores/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +0 -1
  487. package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts.map +0 -1
  488. package/lib/stores/editor/DataCubeEditorMutableConfiguration.js.map +0 -1
  489. package/lib/stores/editor/DataCubeEditorPanelState.d.ts.map +0 -1
  490. package/lib/stores/editor/DataCubeEditorPanelState.js.map +0 -1
  491. package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +0 -1
  492. package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.js.map +0 -1
  493. package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts.map +0 -1
  494. package/lib/stores/editor/DataCubeEditorSortsPanelState.js.map +0 -1
  495. package/lib/stores/editor/DataCubeEditorState.d.ts.map +0 -1
  496. package/lib/stores/editor/DataCubeEditorState.js.map +0 -1
  497. package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +0 -1
  498. package/lib/stores/editor/DataCubeEditorVerticalPivotsPanelState.js.map +0 -1
  499. package/lib/stores/engine/DataCubeApplicationEngine.d.ts.map +0 -1
  500. package/lib/stores/engine/DataCubeApplicationEngine.js +0 -33
  501. package/lib/stores/engine/DataCubeApplicationEngine.js.map +0 -1
  502. package/lib/stores/engine/DataCubeEngine.d.ts.map +0 -1
  503. package/lib/stores/engine/DataCubeEngine.js.map +0 -1
  504. package/lib/stores/engine/DataCubeLayoutManagerState.d.ts.map +0 -1
  505. package/lib/stores/engine/DataCubeLayoutManagerState.js.map +0 -1
  506. package/lib/stores/engine/DataCubeQuery.d.ts.map +0 -1
  507. package/lib/stores/engine/DataCubeQuery.js.map +0 -1
  508. package/lib/stores/extend/DataCubeColumnEditorState.d.ts.map +0 -1
  509. package/lib/stores/extend/DataCubeColumnEditorState.js.map +0 -1
  510. package/lib/stores/extend/DataCubeExtendManagerState.d.ts.map +0 -1
  511. package/lib/stores/extend/DataCubeExtendManagerState.js +0 -119
  512. package/lib/stores/extend/DataCubeExtendManagerState.js.map +0 -1
  513. package/lib/stores/filter/DataCubeFilterEditorState.d.ts.map +0 -1
  514. package/lib/stores/filter/DataCubeFilterEditorState.js.map +0 -1
  515. package/lib/stores/grid/DataCubeGridClientEngine.d.ts.map +0 -1
  516. package/lib/stores/grid/DataCubeGridClientEngine.js.map +0 -1
  517. package/lib/stores/grid/DataCubeGridClientExportEngine.d.ts.map +0 -1
  518. package/lib/stores/grid/DataCubeGridClientExportEngine.js.map +0 -1
  519. package/lib/stores/grid/DataCubeGridConfigurationBuilder.d.ts.map +0 -1
  520. package/lib/stores/grid/DataCubeGridConfigurationBuilder.js.map +0 -1
  521. package/lib/stores/grid/DataCubeGridControllerState.d.ts.map +0 -1
  522. package/lib/stores/grid/DataCubeGridControllerState.js.map +0 -1
  523. package/lib/stores/grid/DataCubeGridMenuBuilder.d.ts.map +0 -1
  524. package/lib/stores/grid/DataCubeGridMenuBuilder.js.map +0 -1
  525. package/lib/stores/grid/DataCubeGridQueryBuilder.d.ts.map +0 -1
  526. package/lib/stores/grid/DataCubeGridQueryBuilder.js.map +0 -1
  527. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +0 -1
  528. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js.map +0 -1
  529. package/lib/stores/grid/DataCubeGridState.d.ts.map +0 -1
  530. package/lib/stores/grid/DataCubeGridState.js.map +0 -1
  531. package/src/stores/extend/DataCubeExtendManagerState.tsx +0 -175
  532. /package/lib/{application → __lib__}/DataCubeDocumentation.d.ts +0 -0
  533. /package/lib/{application → __lib__}/DataCubeDocumentation.js +0 -0
  534. /package/lib/components/{application → core}/DataCubeAlert.d.ts +0 -0
  535. /package/lib/components/{application → core}/DataCubeAlert.js +0 -0
  536. /package/lib/components/{application → core}/DataCubeDocumentationPanel.d.ts +0 -0
  537. /package/lib/components/{application → core}/DataCubeDocumentationPanel.js +0 -0
  538. /package/lib/components/{shared → core}/DataCubeFormUtils.d.ts +0 -0
  539. /package/lib/components/{shared → core}/DataCubeFormUtils.js +0 -0
  540. /package/lib/components/{application → core}/DataCubeSettingsPanel.d.ts +0 -0
  541. /package/lib/components/{grid → view/grid}/DataCubeGridShared.d.ts +0 -0
  542. /package/lib/stores/{engine → core}/DataCubeLayoutManagerState.d.ts +0 -0
  543. /package/lib/stores/{engine → core}/DataCubeLayoutManagerState.js +0 -0
  544. /package/lib/stores/{engine → core}/DataCubeQuery.d.ts +0 -0
  545. /package/lib/stores/{engine → core}/DataCubeQuery.js +0 -0
  546. /package/lib/stores/{editor → view/editor}/DataCubeEditorPanelState.js +0 -0
  547. /package/lib/stores/{grid → view/grid}/DataCubeGridClientExportEngine.d.ts +0 -0
  548. /package/lib/stores/{grid → view/grid}/DataCubeGridClientExportEngine.js +0 -0
  549. /package/lib/stores/{grid → view/grid}/DataCubeGridMenuBuilder.d.ts +0 -0
  550. /package/src/{application → __lib__}/DataCubeDocumentation.ts +0 -0
  551. /package/src/components/{application → core}/DataCubeAlert.tsx +0 -0
  552. /package/src/components/{application → core}/DataCubeDocumentationPanel.tsx +0 -0
  553. /package/src/components/{shared → core}/DataCubeFormUtils.tsx +0 -0
  554. /package/src/stores/{engine → core}/DataCubeLayoutManagerState.ts +0 -0
  555. /package/src/stores/{engine → core}/DataCubeQuery.ts +0 -0
  556. /package/src/stores/{grid → view/grid}/DataCubeGridClientExportEngine.ts +0 -0
@@ -20,6 +20,7 @@ import {
20
20
  type TDSExecutionResult,
21
21
  V1_deserializeValueSpecification,
22
22
  V1_serializeValueSpecification,
23
+ V1_CString,
23
24
  } from '@finos/legend-graph';
24
25
  import { getFilterOperation } from '../core/filter/DataCubeQueryFilterOperation.js';
25
26
  import { getAggregateOperation } from '../core/aggregation/DataCubeQueryAggregateOperation.js';
@@ -63,7 +64,6 @@ import { DataCubeQueryFilterOperation__EndWithCaseInsensitive } from '../core/fi
63
64
  import { DataCubeQueryFilterOperation__NotEndWith } from '../core/filter/DataCubeQueryFilterOperation__NotEndWith.js';
64
65
  import { DataCubeQueryFilterOperation__IsNull } from '../core/filter/DataCubeQueryFilterOperation__IsNull.js';
65
66
  import { DataCubeQueryFilterOperation__IsNotNull } from '../core/filter/DataCubeQueryFilterOperation__IsNotNull.js';
66
- import type { DataCubeViewState } from '../DataCubeViewState.js';
67
67
  import { LicenseManager } from '@ag-grid-enterprise/core';
68
68
  import {
69
69
  configureCodeEditor,
@@ -73,6 +73,10 @@ import { SerializationFactory, usingModelSchema } from '@finos/legend-shared';
73
73
  import { createModelSchema, custom, primitive } from 'serializr';
74
74
  import { type DataCubeQueryColumn, DataCubeQuery } from './DataCubeQuery.js';
75
75
  import { DataCubeFont } from '../core/DataCubeQueryEngine.js';
76
+ import { action, makeObservable, observable } from 'mobx';
77
+ import type { GridApi } from '@ag-grid-community/core';
78
+ import type { DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
79
+ import { buildExecutableQuery } from './DataCubeQueryBuilder.js';
76
80
 
77
81
  export type CompletionItem = {
78
82
  completion: string;
@@ -92,6 +96,8 @@ export type DataCubeQueryBuilderError = {
92
96
 
93
97
  export type DataCubeInfrastructureInfo = {
94
98
  gridClientLicense?: string | undefined;
99
+ simpleSampleDataTableName: string;
100
+ complexSampleDataTableName: string;
95
101
  };
96
102
 
97
103
  export type RelationType = {
@@ -121,16 +127,14 @@ export class DataCubeGetBaseQueryResult {
121
127
  }
122
128
 
123
129
  export const DEFAULT_ENABLE_DEBUG_MODE = false;
124
- export const DEFAULT_ENABLE_ENGINE_DEBUG_MODE = false;
125
-
126
130
  export const DEFAULT_GRID_CLIENT_ROW_BUFFER = 50;
127
131
  export const DEFAULT_GRID_CLIENT_PURGE_CLOSED_ROW_NODES = false;
128
132
  export const DEFAULT_GRID_CLIENT_SUPPRESS_LARGE_DATASET_WARNING = false;
129
133
 
130
134
  export abstract class DataCubeEngine {
131
135
  gridClientLicense?: string | undefined;
132
- viewTaskRunner?:
133
- | ((task: (view: DataCubeViewState) => void) => void)
136
+ gridClientTaskRunner?:
137
+ | ((task: (gridClient: GridApi) => void) => void)
134
138
  | undefined;
135
139
 
136
140
  readonly filterOperations = [
@@ -182,13 +186,28 @@ export abstract class DataCubeEngine {
182
186
  ];
183
187
 
184
188
  enableDebugMode = DEFAULT_ENABLE_DEBUG_MODE;
185
- enableEngineDebugMode = DEFAULT_ENABLE_ENGINE_DEBUG_MODE;
186
189
 
187
190
  gridClientRowBuffer = DEFAULT_GRID_CLIENT_ROW_BUFFER;
188
191
  gridClientPurgeClosedRowNodes = DEFAULT_GRID_CLIENT_PURGE_CLOSED_ROW_NODES;
189
192
  gridClientSuppressLargeDatasetWarning =
190
193
  DEFAULT_GRID_CLIENT_SUPPRESS_LARGE_DATASET_WARNING;
191
194
 
195
+ constructor() {
196
+ makeObservable(this, {
197
+ enableDebugMode: observable,
198
+ setEnableDebugMode: action,
199
+
200
+ gridClientRowBuffer: observable,
201
+ setGridClientRowBuffer: action,
202
+
203
+ gridClientPurgeClosedRowNodes: observable,
204
+ setGridClientPurgeClosedRowNodes: action,
205
+
206
+ gridClientSuppressLargeDatasetWarning: observable,
207
+ setGridClientSuppressLargeDatasetWarning: action,
208
+ });
209
+ }
210
+
192
211
  getFilterOperation(value: string) {
193
212
  return getFilterOperation(value, this.filterOperations);
194
213
  }
@@ -201,9 +220,6 @@ export abstract class DataCubeEngine {
201
220
  this.enableDebugMode = value;
202
221
  }
203
222
 
204
- setEnableEngineDebugMode(value: boolean) {
205
- this.enableEngineDebugMode = value;
206
- }
207
223
  setGridClientRowBuffer(value: number) {
208
224
  this.gridClientRowBuffer = value;
209
225
  this.propagateGridOptionUpdates();
@@ -232,8 +248,8 @@ export abstract class DataCubeEngine {
232
248
  }
233
249
 
234
250
  private propagateGridOptionUpdates() {
235
- this.viewTaskRunner?.((view) => {
236
- view.grid.client.updateGridOptions({
251
+ this.gridClientTaskRunner?.((client) => {
252
+ client.updateGridOptions({
237
253
  rowBuffer: this.gridClientRowBuffer,
238
254
  purgeClosedRowNodes: this.gridClientPurgeClosedRowNodes,
239
255
  });
@@ -241,12 +257,13 @@ export abstract class DataCubeEngine {
241
257
  }
242
258
 
243
259
  refreshFailedDataFetches() {
244
- this.viewTaskRunner?.((view) => {
245
- view.grid.client.retryServerSideLoads();
260
+ this.gridClientTaskRunner?.((client) => {
261
+ client.retryServerSideLoads();
246
262
  });
247
263
  }
248
264
 
249
265
  abstract getInfrastructureInfo(): Promise<DataCubeInfrastructureInfo>;
266
+
250
267
  abstract getQueryTypeahead(
251
268
  code: string,
252
269
  query: V1_ValueSpecification,
@@ -254,9 +271,14 @@ export abstract class DataCubeEngine {
254
271
 
255
272
  abstract parseQuery(
256
273
  code: string,
257
- returnSourceInformation?: boolean,
274
+ returnSourceInformation?: boolean | undefined,
258
275
  ): Promise<V1_ValueSpecification>;
259
276
 
277
+ abstract getQueryCode(
278
+ query: V1_ValueSpecification,
279
+ pretty?: boolean | undefined,
280
+ ): Promise<string>;
281
+
260
282
  abstract getBaseQuery(): Promise<DataCubeGetBaseQueryResult>;
261
283
 
262
284
  abstract getQueryRelationType(
@@ -273,4 +295,33 @@ export abstract class DataCubeEngine {
273
295
  executedQuery: string;
274
296
  executedSQL: string;
275
297
  }>;
298
+
299
+ /**
300
+ * By default, for a function chain, Pure grammar composer will extract the first parameter of the first function
301
+ * and render it as the caller of that function rather than a parameter
302
+ * e.g. fx(fy(p1, p2), p3) will be rendered as p1->fy(p2)->fx(p3) instead of fy(p1, p2)-> fx(p3)
303
+ *
304
+ * We do a hack to get around this by setting a dummy value as the first parameter of the first function in the chain.
305
+ * Then remove this dummy value from the final code.
306
+ */
307
+ async getPartialQueryCode(
308
+ snapshot: DataCubeQuerySnapshot,
309
+ pretty?: boolean | undefined,
310
+ ) {
311
+ const dummySourceQuery = new V1_CString();
312
+ dummySourceQuery.value = '';
313
+ return (
314
+ await this.getQueryCode(
315
+ buildExecutableQuery(
316
+ snapshot,
317
+ this.filterOperations,
318
+ this.aggregateOperations,
319
+ {
320
+ sourceQuery: dummySourceQuery,
321
+ },
322
+ ),
323
+ true,
324
+ )
325
+ ).substring(`''->`.length);
326
+ }
276
327
  }
File without changes
@@ -24,19 +24,12 @@
24
24
  import {
25
25
  PRIMITIVE_TYPE,
26
26
  type V1_AppliedFunction,
27
+ type V1_ValueSpecification,
27
28
  V1_deserializeValueSpecification,
28
29
  } from '@finos/legend-graph';
30
+ import { type DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
31
+ import { guaranteeNonNullable, isNonNullable } from '@finos/legend-shared';
29
32
  import {
30
- type DataCubeQuerySnapshot,
31
- type DataCubeQuerySnapshotSimpleExtendedColumn,
32
- } from './DataCubeQuerySnapshot.js';
33
- import {
34
- guaranteeNonNullable,
35
- isNonNullable,
36
- UnsupportedOperationError,
37
- } from '@finos/legend-shared';
38
- import {
39
- DataCubeExtendedColumnType,
40
33
  DataCubeFunction,
41
34
  DataCubeQuerySortDirection,
42
35
  type DataCubeQueryFunctionMap,
@@ -48,7 +41,7 @@ import {
48
41
  _collection,
49
42
  _cols,
50
43
  _colSpec,
51
- _deserializeToLambda,
44
+ _deserializeLambda,
52
45
  _elementPtr,
53
46
  _filter,
54
47
  _function,
@@ -67,6 +60,7 @@ export function buildExecutableQuery(
67
60
  filterOperations: DataCubeQueryFilterOperation[],
68
61
  aggregateOperations: DataCubeQueryAggregateOperation[],
69
62
  options?: {
63
+ sourceQuery?: V1_ValueSpecification | null | undefined;
70
64
  postProcessor?: (
71
65
  snapshot: DataCubeQuerySnapshot,
72
66
  sequence: V1_AppliedFunction[],
@@ -95,22 +89,15 @@ export function buildExecutableQuery(
95
89
  // --------------------------------- LEAF-LEVEL EXTEND ---------------------------------
96
90
 
97
91
  if (data.leafExtendedColumns.length) {
98
- _process(
99
- 'leafExtend',
92
+ const leafExtendedFuncs = data.leafExtendedColumns.map((col) =>
100
93
  _function(DataCubeFunction.EXTEND, [
101
- _cols(
102
- data.leafExtendedColumns.map((col) => {
103
- if (col._type === DataCubeExtendedColumnType.SIMPLE) {
104
- const column = col as DataCubeQuerySnapshotSimpleExtendedColumn;
105
- return _colSpec(column.name, _deserializeToLambda(column.lambda));
106
- }
107
- throw new UnsupportedOperationError(
108
- `Can't build extended column of type '${col._type}'`,
109
- );
110
- }),
111
- ),
94
+ _col(col.name, _deserializeLambda(col.mapFn)),
112
95
  ]),
113
96
  );
97
+ _process('leafExtend', guaranteeNonNullable(leafExtendedFuncs[0]));
98
+ leafExtendedFuncs.slice(1).forEach((func) => {
99
+ sequence.push(func);
100
+ });
114
101
  }
115
102
 
116
103
  // --------------------------------- FILTER ---------------------------------
@@ -146,7 +133,7 @@ export function buildExecutableQuery(
146
133
  _function(DataCubeFunction.SORT, [
147
134
  _collection(
148
135
  data.pivot.columns.map((col) =>
149
- _function(DataCubeFunction.ASC, [_col(col.name)]),
136
+ _function(DataCubeFunction.ASCENDING, [_col(col.name)]),
150
137
  ),
151
138
  ),
152
139
  ]),
@@ -201,8 +188,8 @@ export function buildExecutableQuery(
201
188
  _function(
202
189
  configuration.treeColumnSortDirection ===
203
190
  DataCubeQuerySortDirection.ASCENDING
204
- ? DataCubeFunction.ASC
205
- : DataCubeFunction.DESC,
191
+ ? DataCubeFunction.ASCENDING
192
+ : DataCubeFunction.DESCENDING,
206
193
  [_col(col.name)],
207
194
  ),
208
195
  ),
@@ -214,22 +201,15 @@ export function buildExecutableQuery(
214
201
  // --------------------------------- GROUP-LEVEL EXTEND ---------------------------------
215
202
 
216
203
  if (data.groupExtendedColumns.length) {
217
- _process(
218
- 'groupExtend',
204
+ const groupExtendedFuncs = data.groupExtendedColumns.map((col) =>
219
205
  _function(DataCubeFunction.EXTEND, [
220
- _cols(
221
- data.groupExtendedColumns.map((col) => {
222
- if (col._type === DataCubeExtendedColumnType.SIMPLE) {
223
- const column = col as DataCubeQuerySnapshotSimpleExtendedColumn;
224
- return _colSpec(column.name, _deserializeToLambda(column.lambda));
225
- }
226
- throw new UnsupportedOperationError(
227
- `Can't build extended column of type '${col._type}'`,
228
- );
229
- }),
230
- ),
206
+ _col(col.name, _deserializeLambda(col.mapFn)),
231
207
  ]),
232
208
  );
209
+ _process('groupExtend', guaranteeNonNullable(groupExtendedFuncs[0]));
210
+ groupExtendedFuncs.slice(1).forEach((func) => {
211
+ sequence.push(func);
212
+ });
233
213
  }
234
214
 
235
215
  // --------------------------------- SORT ---------------------------------
@@ -242,8 +222,8 @@ export function buildExecutableQuery(
242
222
  data.sortColumns.map((col) =>
243
223
  _function(
244
224
  col.direction === DataCubeQuerySortDirection.ASCENDING
245
- ? DataCubeFunction.ASC
246
- : DataCubeFunction.DESC,
225
+ ? DataCubeFunction.ASCENDING
226
+ : DataCubeFunction.DESCENDING,
247
227
  [_col(col.name)],
248
228
  ),
249
229
  ),
@@ -300,9 +280,13 @@ export function buildExecutableQuery(
300
280
  if (!sequence.length) {
301
281
  return sourceQuery;
302
282
  }
303
- for (let i = 0; i < sequence.length; i++) {
283
+
284
+ const omitSourceQuery = options?.sourceQuery === null;
285
+ for (let i = omitSourceQuery ? 1 : 0; i < sequence.length; i++) {
304
286
  guaranteeNonNullable(sequence[i]).parameters.unshift(
305
- i === 0 ? sourceQuery : guaranteeNonNullable(sequence[i - 1]),
287
+ i === 0
288
+ ? (options?.sourceQuery ?? sourceQuery)
289
+ : guaranteeNonNullable(sequence[i - 1]),
306
290
  );
307
291
  }
308
292
  return guaranteeNonNullable(sequence[sequence.length - 1]);
@@ -108,10 +108,17 @@ export function _functionCompositionUnProcessor(
108
108
  };
109
109
  }
110
110
 
111
- export function _deserializeToLambda(json: PlainObject<V1_Lambda>) {
111
+ export function _deserializeLambda(json: PlainObject<V1_Lambda>) {
112
112
  return guaranteeType(V1_deserializeValueSpecification(json, []), V1_Lambda);
113
113
  }
114
114
 
115
+ export function _deserializeFunction(json: PlainObject<V1_Lambda>) {
116
+ return guaranteeType(
117
+ V1_deserializeValueSpecification(json, []),
118
+ V1_AppliedFunction,
119
+ );
120
+ }
121
+
115
122
  export function _var(name?: string | undefined) {
116
123
  const variable = new V1_Variable();
117
124
  variable.name = name ?? DEFAULT_LAMBDA_VARIABLE_NAME;
@@ -247,11 +254,13 @@ export function _colSpec(
247
254
  name: string,
248
255
  function1?: V1_Lambda | undefined,
249
256
  function2?: V1_Lambda | undefined,
257
+ type?: string | undefined,
250
258
  ) {
251
259
  const colSpec = new V1_ColSpec();
252
260
  colSpec.name = name;
253
261
  colSpec.function1 = function1;
254
262
  colSpec.function2 = function2;
263
+ colSpec.type = type;
255
264
  return colSpec;
256
265
  }
257
266
 
@@ -376,7 +385,11 @@ export function _pivotAggCols(
376
385
  export function _castCols(columns: DataCubeQuerySnapshotColumn[]) {
377
386
  const genericType = new V1_GenericTypeInstance();
378
387
  genericType.fullPath = CORE_PURE_PATH.RELATION;
379
- genericType.typeArguments = [_cols(columns)];
388
+ genericType.typeArguments = [
389
+ _cols(
390
+ columns.map((col) => _colSpec(col.name, undefined, undefined, col.type)),
391
+ ),
392
+ ];
380
393
  return genericType;
381
394
  }
382
395
 
@@ -437,9 +450,9 @@ export function _groupByAggCols(
437
450
  .map((column) => {
438
451
  const columnConfiguration =
439
452
  DataCubeColumnConfiguration.serialization.fromJson(
440
- DataCubeColumnConfiguration.serialization.toJson(
441
- guaranteeNonNullable(column.matchingColumnConfiguration),
442
- ),
453
+ guaranteeNonNullable(
454
+ column.matchingColumnConfiguration,
455
+ ).serialize(),
443
456
  );
444
457
  columnConfiguration.name = column.name;
445
458
  const operation = aggregateOperations.find(
@@ -501,12 +514,12 @@ export function _filter(
501
514
  } else {
502
515
  const filterCondition = filter;
503
516
  const operation = filterOperations.find(
504
- (op) => op.operator === filterCondition.operation,
517
+ (op) => op.operator === filterCondition.operator,
505
518
  );
506
519
  const condition = operation?.buildConditionExpression(filterCondition);
507
520
  if (!condition) {
508
521
  throw new UnsupportedOperationError(
509
- `Unsupported filter operation '${filterCondition.operation}'`,
522
+ `Unsupported filter operation '${filterCondition.operator}'`,
510
523
  );
511
524
  }
512
525
  return filterCondition.not ? _not(condition) : condition;
@@ -35,8 +35,9 @@ export enum DataCubeFunction {
35
35
  FROM = 'meta::pure::mapping::from',
36
36
 
37
37
  // sort
38
- ASC = 'meta::pure::functions::relation::ascending',
39
- DESC = 'meta::pure::functions::relation::descending',
38
+ ASCENDING = 'meta::pure::functions::relation::ascending',
39
+ DESCENDING = 'meta::pure::functions::relation::descending',
40
+ ABS = 'meta::pure::functions::math::abs',
40
41
 
41
42
  // filter
42
43
  AND = 'meta::pure::functions::boolean::and',
@@ -149,7 +150,7 @@ export type DataCubeOperationValue = {
149
150
  type: string;
150
151
  };
151
152
 
152
- export enum DataCubeAggregateOperator {
153
+ export enum DataCubeQueryAggregateOperator {
153
154
  SUM = 'sum',
154
155
  AVERAGE = 'avg',
155
156
  COUNT = 'count',
@@ -183,7 +184,7 @@ export enum DataCubeAggregateOperator {
183
184
  // custom
184
185
  }
185
186
 
186
- export enum DataCubeClientSideAggregateOperator {
187
+ export enum DataCubeQueryClientSideAggregateOperator {
187
188
  SUM = 'sum',
188
189
  AVERAGE = 'avg',
189
190
  MEDIAN = 'median',
@@ -248,12 +249,6 @@ export enum DataCubeColumnPinPlacement {
248
249
  RIGHT = 'Right',
249
250
  }
250
251
 
251
- // TODO: support more classifications of this column, it can also be aggregation with map/reduce or
252
- // OLAP window aggregation, or custom groupings, etc.
253
- export enum DataCubeExtendedColumnType {
254
- SIMPLE = 'simple',
255
- }
256
-
257
252
  export enum DataCubeColumnDataType {
258
253
  NUMBER = 'Numeric',
259
254
  TEXT = 'Text',
@@ -14,7 +14,11 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { V1_Lambda, V1_ValueSpecification } from '@finos/legend-graph';
17
+ import type {
18
+ V1_AppliedFunction,
19
+ V1_Lambda,
20
+ V1_ValueSpecification,
21
+ } from '@finos/legend-graph';
18
22
  import type { DataCubeConfiguration } from './DataCubeConfiguration.js';
19
23
  import {
20
24
  IllegalStateError,
@@ -24,12 +28,15 @@ import {
24
28
  type PlainObject,
25
29
  type Writable,
26
30
  } from '@finos/legend-shared';
27
- import type { DataCubeOperationValue } from './DataCubeQueryEngine.js';
31
+ import type {
32
+ DataCubeOperationValue,
33
+ DataCubeQuerySortDirection,
34
+ } from './DataCubeQueryEngine.js';
28
35
 
29
36
  export type DataCubeQuerySnapshotFilterCondition =
30
37
  DataCubeQuerySnapshotColumn & {
31
38
  value: DataCubeOperationValue | undefined;
32
- operation: string;
39
+ operator: string;
33
40
  not?: boolean | undefined;
34
41
  };
35
42
 
@@ -49,16 +56,13 @@ export type DataCubeQuerySnapshotColumn = {
49
56
 
50
57
  export type DataCubeQuerySnapshotExtendedColumn =
51
58
  DataCubeQuerySnapshotColumn & {
52
- _type: string;
53
- };
54
-
55
- export type DataCubeQuerySnapshotSimpleExtendedColumn =
56
- DataCubeQuerySnapshotExtendedColumn & {
57
- lambda: PlainObject<V1_Lambda>;
59
+ windowFn?: PlainObject<V1_AppliedFunction> | undefined;
60
+ mapFn: PlainObject<V1_Lambda>;
61
+ reduceFn?: PlainObject<V1_Lambda> | undefined;
58
62
  };
59
63
 
60
64
  export type DataCubeQuerySnapshotSortColumn = DataCubeQuerySnapshotColumn & {
61
- direction: string;
65
+ direction: DataCubeQuerySortDirection;
62
66
  };
63
67
 
64
68
  export type DataCubeQuerySnapshotGroupBy = {
@@ -89,9 +93,10 @@ export type DataCubeQuerySnapshotData = {
89
93
 
90
94
  export class DataCubeQuerySnapshot {
91
95
  readonly uuid = uuid();
92
- timestamp = Date.now();
96
+ readonly timestamp = Date.now();
93
97
  readonly data: DataCubeQuerySnapshotData;
94
98
 
99
+ private _isPatchChange = false;
95
100
  private _finalized = false;
96
101
  private _hashCode?: string | undefined;
97
102
 
@@ -136,12 +141,21 @@ export class DataCubeQuerySnapshot {
136
141
  );
137
142
  }
138
143
 
139
- clone() {
140
- const clone = new DataCubeQuerySnapshot('', '', '', {}, {});
141
- (clone.data as Writable<DataCubeQuerySnapshotData>) = JSON.parse(
142
- JSON.stringify(this.data),
143
- ) as DataCubeQuerySnapshotData;
144
- return clone;
144
+ /**
145
+ * When we support undo/redo, patch changes should be grouped
146
+ * together with the most recent non-patch change snapshot and treated
147
+ * as a single step.
148
+ *
149
+ * e.g. if we have a stack of snapshots [A, B, C, D] where D is the current
150
+ * snapshot and C is a patch change. When undo, we should go back to C.
151
+ * When undo again, we should go back to A instead of B.
152
+ */
153
+ markAsPatchChange() {
154
+ this._isPatchChange = true;
155
+ }
156
+
157
+ isPatchChange() {
158
+ return this._isPatchChange;
145
159
  }
146
160
 
147
161
  isFinalized() {
@@ -171,6 +185,40 @@ export class DataCubeQuerySnapshot {
171
185
  }
172
186
  return this._hashCode;
173
187
  }
188
+
189
+ clone() {
190
+ const clone = new DataCubeQuerySnapshot('', '', '', {}, {});
191
+ (clone.data as Writable<DataCubeQuerySnapshotData>) = JSON.parse(
192
+ JSON.stringify(this.data),
193
+ ) as DataCubeQuerySnapshotData;
194
+ return clone;
195
+ }
196
+
197
+ /**
198
+ * Only use this if an absolute identical clone is needed.
199
+ * This should rarely be used, and ideally by core engine only.
200
+ */
201
+ INTERNAL__fullClone() {
202
+ const clone = new DataCubeQuerySnapshot('', '', '', {}, {});
203
+ (clone as Writable<DataCubeQuerySnapshot>).uuid = this.uuid;
204
+ (clone as Writable<DataCubeQuerySnapshot>).timestamp = this.timestamp;
205
+ (clone as Writable<DataCubeQuerySnapshot>).data = JSON.parse(
206
+ JSON.stringify(this.data),
207
+ ) as DataCubeQuerySnapshotData;
208
+ clone._isPatchChange = this._isPatchChange;
209
+ clone._finalized = this._finalized;
210
+ clone._hashCode = this._hashCode;
211
+ return clone;
212
+ }
213
+
214
+ /**
215
+ * Only use this if programatic setting of timestamp is needed.
216
+ * e.g. for the first-ever snapshot where we want to sync the timestamp
217
+ * to the timestamp provided by the engine.
218
+ */
219
+ INTERNAL__setTimestamp(timestamp: number) {
220
+ (this as Writable<DataCubeQuerySnapshot>).timestamp = timestamp;
221
+ }
174
222
  }
175
223
 
176
224
  export function _findCol<T extends DataCubeQuerySnapshotColumn>(
@@ -32,7 +32,7 @@ import {
32
32
  matchFunctionName,
33
33
  type V1_ValueSpecification,
34
34
  } from '@finos/legend-graph';
35
- import type { DataCubeQuery } from '../engine/DataCubeQuery.js';
35
+ import type { DataCubeQuery } from '../core/DataCubeQuery.js';
36
36
  import {
37
37
  _toCol,
38
38
  DataCubeQuerySnapshot,
@@ -59,7 +59,7 @@ const _SUPPORTED_TOP_LEVEL_FUNCTIONS: {
59
59
  func: string;
60
60
  parameters: number;
61
61
  }[] = [
62
- { func: DataCubeFunction.EXTEND, parameters: 1 },
62
+ { func: DataCubeFunction.EXTEND, parameters: 2 }, // support both signatures of extend()
63
63
  { func: DataCubeFunction.FILTER, parameters: 1 },
64
64
  { func: DataCubeFunction.SELECT, parameters: 1 },
65
65
  { func: DataCubeFunction.GROUP_BY, parameters: 3 },
@@ -101,12 +101,12 @@ enum _FUNCTION_SEQUENCE_COMPOSITION_PART {
101
101
 
102
102
  // This corresponds to the function sequence that we currently support:
103
103
  //
104
- // -> extend()
104
+ // ->extend()*
105
105
  // ->filter()
106
106
  // ->select()
107
107
  // ->sort()->pivot()->cast()
108
108
  // ->groupBy()->sort()
109
- // ->extend()
109
+ // ->extend()*
110
110
  // ->sort()
111
111
  // ->limit()
112
112
  //
@@ -118,6 +118,7 @@ const _FUNCTION_SEQUENCE_COMPOSITION_PATTERN: (
118
118
  // leaf-level extend
119
119
  name: _FUNCTION_SEQUENCE_COMPOSITION_PART.LEAF_EXTEND,
120
120
  func: DataCubeFunction.EXTEND,
121
+ repeat: true,
121
122
  },
122
123
  {
123
124
  name: _FUNCTION_SEQUENCE_COMPOSITION_PART.FILTER,
@@ -169,6 +170,7 @@ const _FUNCTION_SEQUENCE_COMPOSITION_PATTERN: (
169
170
  // group-level extend
170
171
  name: _FUNCTION_SEQUENCE_COMPOSITION_PART.GROUP_EXTEND,
171
172
  func: DataCubeFunction.EXTEND,
173
+ repeat: true,
172
174
  },
173
175
  {
174
176
  name: _FUNCTION_SEQUENCE_COMPOSITION_PART.SORT,
@@ -318,11 +320,7 @@ export function validateAndBuildQuerySnapshot(
318
320
  /** TODO: @datacube roundtrip */
319
321
 
320
322
  // --------------------------------- FILTER ---------------------------------
321
-
322
- if (funcMap.filter) {
323
- /** TODO: @datacube roundtrip */
324
- data.filter = undefined;
325
- }
323
+ /** TODO: @datacube roundtrip */
326
324
 
327
325
  // --------------------------------- SELECT ---------------------------------
328
326
 
@@ -357,13 +355,13 @@ export function validateAndBuildQuerySnapshot(
357
355
  data.sortColumns = _param(funcMap.sort, 0, V1_Collection).values.map(
358
356
  (value) => {
359
357
  const sortColFunc = _funcMatch(value, [
360
- DataCubeFunction.ASC,
361
- DataCubeFunction.DESC,
358
+ DataCubeFunction.ASCENDING,
359
+ DataCubeFunction.DESCENDING,
362
360
  ]);
363
361
  return {
364
362
  ..._col(_colSpecParam(sortColFunc, 0)),
365
363
  direction:
366
- _name(sortColFunc.function) === DataCubeFunction.ASC
364
+ _name(sortColFunc.function) === DataCubeFunction.ASCENDING
367
365
  ? DataCubeQuerySortDirection.ASCENDING
368
366
  : DataCubeQuerySortDirection.DESCENDING,
369
367
  };
@@ -404,8 +402,7 @@ export function validateAndBuildQuerySnapshot(
404
402
  ...data.leafExtendedColumns,
405
403
  ...data.groupExtendedColumns,
406
404
  ]);
407
- data.configuration =
408
- DataCubeConfiguration.serialization.toJson(configuration);
405
+ data.configuration = configuration.serialize();
409
406
  /**
410
407
  * TODO: @datacube roundtrip - implement the logic to reconcile the configuration with the query
411
408
  * - [ ] columns (missing/extra columns - remove or generate default column configuration)
@@ -17,7 +17,7 @@
17
17
  import type { DataCubeQuerySnapshotColumn } from '../DataCubeQuerySnapshot.js';
18
18
  import { DataCubeQueryAggregateOperation } from './DataCubeQueryAggregateOperation.js';
19
19
  import {
20
- DataCubeAggregateOperator,
20
+ DataCubeQueryAggregateOperator,
21
21
  DataCubeColumnDataType,
22
22
  DataCubeFunction,
23
23
  ofDataType,
@@ -38,8 +38,8 @@ export class DataCubeQueryAggregateOperation__Average extends DataCubeQueryAggre
38
38
  return 'average';
39
39
  }
40
40
 
41
- override get operator(): string {
42
- return DataCubeAggregateOperator.AVERAGE;
41
+ override get operator() {
42
+ return DataCubeQueryAggregateOperator.AVERAGE;
43
43
  }
44
44
 
45
45
  isCompatibleWithColumn(column: DataCubeQuerySnapshotColumn) {
@@ -17,7 +17,7 @@
17
17
  import type { DataCubeQuerySnapshotColumn } from '../DataCubeQuerySnapshot.js';
18
18
  import { DataCubeQueryAggregateOperation } from './DataCubeQueryAggregateOperation.js';
19
19
  import {
20
- DataCubeAggregateOperator,
20
+ DataCubeQueryAggregateOperator,
21
21
  DataCubeColumnDataType,
22
22
  DataCubeFunction,
23
23
  ofDataType,
@@ -38,8 +38,8 @@ export class DataCubeQueryAggregateOperation__Count extends DataCubeQueryAggrega
38
38
  return 'count';
39
39
  }
40
40
 
41
- override get operator(): string {
42
- return DataCubeAggregateOperator.COUNT;
41
+ override get operator() {
42
+ return DataCubeQueryAggregateOperator.COUNT;
43
43
  }
44
44
 
45
45
  isCompatibleWithColumn(column: DataCubeQuerySnapshotColumn) {