@finos/legend-data-cube 0.0.7 → 0.0.8

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 +3 -3
  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
@@ -17,29 +17,31 @@
17
17
  import { action, makeObservable, observable } from 'mobx';
18
18
  import type { DataCubeViewState } from '../DataCubeViewState.js';
19
19
  import { DataCubeEditorSortsPanelState } from './DataCubeEditorSortsPanelState.js';
20
- import { DataCubeQuerySnapshotController } from '../core/DataCubeQuerySnapshotManager.js';
20
+ import { DataCubeQuerySnapshotController } from '../DataCubeQuerySnapshotManager.js';
21
21
  import {
22
22
  _toCol,
23
23
  type DataCubeQuerySnapshot,
24
24
  type DataCubeQuerySnapshotColumn,
25
25
  type DataCubeQuerySnapshotExtendedColumn,
26
- } from '../core/DataCubeQuerySnapshot.js';
26
+ } from '../../core/DataCubeQuerySnapshot.js';
27
27
  import {
28
28
  ActionState,
29
29
  assertErrorThrown,
30
30
  guaranteeNonNullable,
31
+ HttpStatus,
32
+ NetworkClientError,
31
33
  } from '@finos/legend-shared';
32
34
  import { DataCubeEditorGeneralPropertiesPanelState } from './DataCubeEditorGeneralPropertiesPanelState.js';
33
35
  import { DataCubeEditorColumnPropertiesPanelState } from './DataCubeEditorColumnPropertiesPanelState.js';
34
36
  import { DataCubeEditorColumnsPanelState } from './DataCubeEditorColumnsPanelState.js';
35
- import { DataCubeConfiguration } from '../core/DataCubeConfiguration.js';
37
+ import { DataCubeConfiguration } from '../../core/DataCubeConfiguration.js';
36
38
  import { DataCubeEditorVerticalPivotsPanelState } from './DataCubeEditorVerticalPivotsPanelState.js';
37
- import type { DisplayState } from '../engine/DataCubeLayoutManagerState.js';
38
- import { DataCubeEditor } from '../../components/editor/DataCubeEditor.js';
39
- import { buildExecutableQuery } from '../core/DataCubeQueryBuilder.js';
40
- import { _lambda } from '../core/DataCubeQueryBuilderUtils.js';
39
+ import type { DisplayState } from '../../core/DataCubeLayoutManagerState.js';
40
+ import { DataCubeEditor } from '../../../components/view/editor/DataCubeEditor.js';
41
41
  import { DataCubeEditorHorizontalPivotsPanelState } from './DataCubeEditorHorizontalPivotsPanelState.js';
42
42
  import { DataCubeEditorPivotLayoutPanelState } from './DataCubeEditorPivotLayoutPanelState.js';
43
+ import type { DataCubeQueryBuilderError } from '../../core/DataCubeEngine.js';
44
+ import { V1_deserializeValueSpecification } from '@finos/legend-graph';
43
45
 
44
46
  export enum DataCubeEditorTab {
45
47
  GENERAL_PROPERTIES = 'General Properties',
@@ -132,8 +134,11 @@ export class DataCubeEditorState extends DataCubeQuerySnapshotController {
132
134
  this.sorts.applySnaphot(snapshot, configuration);
133
135
  }
134
136
 
137
+ override getSnapshotSubscriberName() {
138
+ return 'editor';
139
+ }
140
+
135
141
  async applyChanges(options?: { closeAfterApply?: boolean | undefined }) {
136
- const task = this.view.newTask('Validate query');
137
142
  this.finalizationState.inProgress();
138
143
 
139
144
  const baseSnapshot = guaranteeNonNullable(this.getLatestSnapshot());
@@ -155,46 +160,61 @@ export class DataCubeEditorState extends DataCubeQuerySnapshotController {
155
160
  // finalize
156
161
  newSnapshot.finalize();
157
162
  if (newSnapshot.hashCode !== baseSnapshot.hashCode) {
163
+ const task = this.view.newTask('Validate query');
158
164
  // NOTE: Compile the query to validate. This is a helpful check for a lot of different scenarios
159
165
  // where the consistency of the query might be thrown off by changes from various parts that the
160
166
  // editor does not have full control over (i.e. extended columns, pivot cast columns, etc.)
161
167
  // e.g. when a column that group-level extended columns' expressions depend on has been unselected.
168
+ const tempSnapshot = newSnapshot.clone();
169
+ // NOTE: in order to obtain the actual pivot result columns information, we need to execute
170
+ // the query which is expensive in certain cases, so here, we just compute the "optimistic" set
171
+ // of pivot result columns for casting to guarantee validation is not thronn off.
172
+ if (tempSnapshot.data.pivot) {
173
+ tempSnapshot.data.pivot.castColumns =
174
+ this.sorts.selector.availableColumns
175
+ .filter(
176
+ (col) =>
177
+ !tempSnapshot.data.groupExtendedColumns.find(
178
+ (column) => column.name === col.name,
179
+ ),
180
+ )
181
+ .map(_toCol);
182
+ }
183
+
184
+ const codePrefix = `->`;
185
+ const code = await this.view.engine.getPartialQueryCode(
186
+ tempSnapshot,
187
+ true,
188
+ );
162
189
  try {
163
- const tempSnapshot = newSnapshot.clone();
164
- // NOTE: in order to obtain the actual pivot result columns information, we need to execute
165
- // the query which is expensive in certain cases, so here, we just compute the "optimistic" set
166
- // of pivot result columns for casting to guarantee validation is not thronn off.
167
- if (tempSnapshot.data.pivot) {
168
- tempSnapshot.data.pivot.castColumns =
169
- this.sorts.selector.availableColumns
170
- .filter(
171
- (col) =>
172
- !tempSnapshot.data.groupExtendedColumns.find(
173
- (column) => column.name === col.name,
174
- ),
175
- )
176
- .map(_toCol);
177
- }
178
- await this.view.engine.getQueryRelationType(
179
- _lambda(
180
- [],
181
- [
182
- buildExecutableQuery(
183
- tempSnapshot,
184
- this.view.engine.filterOperations,
185
- this.view.engine.aggregateOperations,
186
- ),
187
- ],
188
- ),
190
+ await this.view.engine.getQueryCodeRelationReturnType(
191
+ codePrefix + code,
192
+ V1_deserializeValueSpecification(tempSnapshot.data.sourceQuery, []),
189
193
  );
190
194
  } catch (error) {
191
195
  assertErrorThrown(error);
192
- this.view.application.alertError(error, {
193
- message: `Query Validation Failure: ${error.message}`,
194
- });
195
- this.view.endTask(task);
196
+ if (
197
+ error instanceof NetworkClientError &&
198
+ error.response.status === HttpStatus.BAD_REQUEST
199
+ ) {
200
+ this.view.application.alertCodeCheckError(
201
+ error.payload as DataCubeQueryBuilderError,
202
+ code,
203
+ codePrefix,
204
+ {
205
+ message: `Query Validation Failure: Can't safely apply changes. Check the query code below for more details.`,
206
+ text: `Error: ${error.message}`,
207
+ },
208
+ );
209
+ } else {
210
+ this.view.application.alertError(error, {
211
+ message: `Query Validation Failure: Can't safely apply changes.`,
212
+ text: `Error: ${error.message}`,
213
+ });
214
+ }
196
215
  return;
197
216
  } finally {
217
+ this.view.endTask(task);
198
218
  this.finalizationState.complete();
199
219
  }
200
220
 
@@ -206,6 +226,5 @@ export class DataCubeEditorState extends DataCubeQuerySnapshotController {
206
226
  if (options?.closeAfterApply) {
207
227
  this.display.close();
208
228
  }
209
- this.view.endTask(task);
210
229
  }
211
230
  }
@@ -16,24 +16,24 @@
16
16
 
17
17
  import { uniqBy } from '@finos/legend-shared';
18
18
  import type { DataCubeViewState } from '../DataCubeViewState.js';
19
- import type { DataCubeConfiguration } from '../core/DataCubeConfiguration.js';
20
- import { DataCubeColumnKind } from '../core/DataCubeQueryEngine.js';
19
+ import type { DataCubeConfiguration } from '../../core/DataCubeConfiguration.js';
20
+ import { DataCubeColumnKind } from '../../core/DataCubeQueryEngine.js';
21
21
  import {
22
22
  _toCol,
23
23
  type DataCubeQuerySnapshot,
24
- } from '../core/DataCubeQuerySnapshot.js';
24
+ } from '../../core/DataCubeQuerySnapshot.js';
25
25
  import {
26
- DataCubeEditorColumnsSelectorColumnState,
27
- DataCubeEditorColumnsSelectorState,
28
- } from './DataCubeEditorColumnsSelectorState.js';
26
+ DataCubeEditorColumnSelectorColumnState,
27
+ DataCubeEditorColumnSelectorState,
28
+ } from './DataCubeEditorColumnSelectorState.js';
29
29
  import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.js';
30
30
  import type { DataCubeEditorState } from './DataCubeEditorState.js';
31
31
 
32
- export class DataCubeEditorVerticalPivotColumnsSelectorState extends DataCubeEditorColumnsSelectorState<DataCubeEditorColumnsSelectorColumnState> {
32
+ export class DataCubeEditorVerticalPivotColumnSelectorState extends DataCubeEditorColumnSelectorState<DataCubeEditorColumnSelectorColumnState> {
33
33
  override cloneColumn(
34
- column: DataCubeEditorColumnsSelectorColumnState,
35
- ): DataCubeEditorColumnsSelectorColumnState {
36
- return new DataCubeEditorColumnsSelectorColumnState(
34
+ column: DataCubeEditorColumnSelectorColumnState,
35
+ ): DataCubeEditorColumnSelectorColumnState {
36
+ return new DataCubeEditorColumnSelectorColumnState(
37
37
  column.name,
38
38
  column.type,
39
39
  );
@@ -55,7 +55,7 @@ export class DataCubeEditorVerticalPivotColumnsSelectorState extends DataCubeEdi
55
55
  )
56
56
  .map(
57
57
  (col) =>
58
- new DataCubeEditorColumnsSelectorColumnState(col.name, col.type),
58
+ new DataCubeEditorColumnSelectorColumnState(col.name, col.type),
59
59
  );
60
60
  }
61
61
  }
@@ -65,12 +65,12 @@ export class DataCubeEditorVerticalPivotsPanelState
65
65
  {
66
66
  readonly view!: DataCubeViewState;
67
67
  readonly editor!: DataCubeEditorState;
68
- readonly selector!: DataCubeEditorVerticalPivotColumnsSelectorState;
68
+ readonly selector!: DataCubeEditorVerticalPivotColumnSelectorState;
69
69
 
70
70
  constructor(editor: DataCubeEditorState) {
71
71
  this.editor = editor;
72
72
  this.view = editor.view;
73
- this.selector = new DataCubeEditorVerticalPivotColumnsSelectorState(editor);
73
+ this.selector = new DataCubeEditorVerticalPivotColumnSelectorState(editor);
74
74
  }
75
75
 
76
76
  adaptPropagatedChanges(): void {
@@ -88,7 +88,7 @@ export class DataCubeEditorVerticalPivotsPanelState
88
88
  this.selector.setSelectedColumns(
89
89
  (snapshot.data.groupBy?.columns ?? []).map(
90
90
  (col) =>
91
- new DataCubeEditorColumnsSelectorColumnState(col.name, col.type),
91
+ new DataCubeEditorColumnSelectorColumnState(col.name, col.type),
92
92
  ),
93
93
  );
94
94
  }
@@ -14,10 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { action, computed, makeObservable, observable } from 'mobx';
17
+ import { action, computed, makeObservable, observable, override } from 'mobx';
18
18
  import type { DataCubeViewState } from '../DataCubeViewState.js';
19
- import type { DisplayState } from '../engine/DataCubeLayoutManagerState.js';
20
- import { DataCubeColumnCreator } from '../../components/extend/DataCubeColumnEditor.js';
19
+ import type { DisplayState } from '../../core/DataCubeLayoutManagerState.js';
20
+ import { DataCubeColumnCreator } from '../../../components/view/extend/DataCubeColumnEditor.js';
21
21
  import { editor as monacoEditorAPI, Uri } from 'monaco-editor';
22
22
  import {
23
23
  ActionState,
@@ -26,31 +26,33 @@ import {
26
26
  HttpStatus,
27
27
  NetworkClientError,
28
28
  uuid,
29
+ type PlainObject,
29
30
  } from '@finos/legend-shared';
30
- import { buildExecutableQuery } from '../core/DataCubeQueryBuilder.js';
31
+ import { buildExecutableQuery } from '../../core/DataCubeQueryBuilder.js';
31
32
  import {
32
33
  DataCubeColumnDataType,
33
34
  DataCubeColumnKind,
34
- DataCubeExtendedColumnType,
35
35
  DEFAULT_LAMBDA_VARIABLE_NAME,
36
36
  getDataType,
37
- } from '../core/DataCubeQueryEngine.js';
37
+ } from '../../core/DataCubeQueryEngine.js';
38
38
  import {
39
39
  clearMarkers,
40
40
  CODE_EDITOR_LANGUAGE,
41
41
  setErrorMarkers,
42
42
  } from '@finos/legend-code-editor';
43
- import type { DataCubeQueryBuilderError } from '../engine/DataCubeEngine.js';
43
+ import type { DataCubeQueryBuilderError } from '../../core/DataCubeEngine.js';
44
44
  import type { DataCubeExtendManagerState } from './DataCubeExtendManagerState.js';
45
45
  import {
46
46
  PRIMITIVE_TYPE,
47
+ V1_deserializeValueSpecification,
47
48
  V1_Lambda,
48
49
  V1_serializeValueSpecification,
49
50
  type V1_ValueSpecification,
50
51
  } from '@finos/legend-graph';
51
- import type { DataCubeColumnConfiguration } from '../core/DataCubeConfiguration.js';
52
+ import type { DataCubeColumnConfiguration } from '../../core/DataCubeConfiguration.js';
53
+ import type { DataCubeQuerySnapshotExtendedColumn } from '../../core/DataCubeQuerySnapshot.js';
52
54
 
53
- export class DataCubeNewColumnState {
55
+ export abstract class DataCubeColumnBaseEditorState {
54
56
  readonly uuid = uuid();
55
57
  readonly view: DataCubeViewState;
56
58
  readonly manager: DataCubeExtendManagerState;
@@ -67,7 +69,7 @@ export class DataCubeNewColumnState {
67
69
  isGroupLevel: boolean;
68
70
  columnKind?: DataCubeColumnKind | undefined;
69
71
 
70
- code: string;
72
+ code = '';
71
73
  codePrefix: string;
72
74
  codeSuffix: string;
73
75
 
@@ -79,7 +81,10 @@ export class DataCubeNewColumnState {
79
81
 
80
82
  constructor(
81
83
  manager: DataCubeExtendManagerState,
82
- referenceColumn?: DataCubeColumnConfiguration | undefined,
84
+ name: string,
85
+ expectedType: string,
86
+ isGroupLevel: boolean,
87
+ columnKind: DataCubeColumnKind | undefined,
83
88
  ) {
84
89
  makeObservable(this, {
85
90
  name: observable,
@@ -107,43 +112,35 @@ export class DataCubeNewColumnState {
107
112
 
108
113
  this.manager = manager;
109
114
  this.view = manager.view;
110
- this.display = this.view.application.layout.newDisplay(
111
- 'Add New Column',
112
- () => <DataCubeColumnCreator state={this} />,
113
- {
114
- x: 50,
115
- y: 50,
116
- width: 500,
117
- height: 300,
118
- minWidth: 300,
119
- minHeight: 200,
120
- center: false,
121
- },
122
- );
115
+ this.display = this.newDisplay(this);
123
116
 
124
- this.name = `col_${manager.allColumnNames.length + 1}`;
125
- this.expectedType = DataCubeColumnDataType.NUMBER;
126
- this.isGroupLevel = false;
127
- this.columnKind = DataCubeColumnKind.MEASURE;
117
+ this.name = name;
118
+ this.expectedType = expectedType;
119
+ this.isGroupLevel = isGroupLevel;
120
+ this.columnKind = columnKind;
128
121
 
129
- this.code = `${DEFAULT_LAMBDA_VARIABLE_NAME}|`;
130
122
  this.codePrefix = `->extend(~${this._name}:`;
131
123
  this.codeSuffix = `)`;
132
124
 
133
- if (referenceColumn) {
134
- this.expectedType = getDataType(referenceColumn.type);
135
- this.columnKind = referenceColumn.kind;
136
- this.code = `${DEFAULT_LAMBDA_VARIABLE_NAME}|$${DEFAULT_LAMBDA_VARIABLE_NAME}.${referenceColumn.name}`;
137
- }
138
-
139
125
  this.editorModelUri = Uri.file(`/${this.uuid}.pure`);
140
126
  this.editorModel = monacoEditorAPI.createModel(
141
- this.code,
127
+ '',
142
128
  CODE_EDITOR_LANGUAGE.PURE,
143
129
  this.editorModelUri,
144
130
  );
145
131
  }
146
132
 
133
+ abstract getInitialCode(): Promise<string>;
134
+
135
+ async initialize() {
136
+ this.code = await this.getInitialCode();
137
+ this.editorModel.setValue(this.code);
138
+ }
139
+
140
+ protected abstract newDisplay(
141
+ state: DataCubeColumnBaseEditorState,
142
+ ): DisplayState;
143
+
147
144
  setName(value: string) {
148
145
  this.name = value;
149
146
  }
@@ -171,10 +168,6 @@ export class DataCubeNewColumnState {
171
168
  this.columnKind = columnKind;
172
169
  }
173
170
 
174
- setCode(value: string) {
175
- this.code = value;
176
- }
177
-
178
171
  setEditor(editor: monacoEditorAPI.IStandaloneCodeEditor) {
179
172
  this.editor = editor;
180
173
  }
@@ -298,7 +291,60 @@ export class DataCubeNewColumnState {
298
291
  return undefined;
299
292
  }
300
293
 
301
- async applyChanges() {
294
+ abstract applyChanges(): Promise<void>;
295
+
296
+ close() {
297
+ // dispose the editor and its model to avoid memory leak
298
+ this.editorModel.dispose();
299
+ this.editor?.dispose();
300
+
301
+ this.display.close();
302
+ }
303
+ }
304
+
305
+ export class DataCubeNewColumnState extends DataCubeColumnBaseEditorState {
306
+ private initialCode: string;
307
+
308
+ constructor(
309
+ manager: DataCubeExtendManagerState,
310
+ referenceColumn?: DataCubeColumnConfiguration | undefined,
311
+ ) {
312
+ super(
313
+ manager,
314
+ `col_${manager.allColumnNames.length + 1}`,
315
+ referenceColumn
316
+ ? getDataType(referenceColumn.type)
317
+ : DataCubeColumnDataType.NUMBER,
318
+ false,
319
+ referenceColumn ? referenceColumn.kind : DataCubeColumnKind.MEASURE,
320
+ );
321
+
322
+ this.initialCode = referenceColumn
323
+ ? `${DEFAULT_LAMBDA_VARIABLE_NAME}|$${DEFAULT_LAMBDA_VARIABLE_NAME}.${referenceColumn.name}`
324
+ : `${DEFAULT_LAMBDA_VARIABLE_NAME}|`;
325
+ }
326
+
327
+ override async getInitialCode(): Promise<string> {
328
+ return this.initialCode;
329
+ }
330
+
331
+ override newDisplay(state: DataCubeColumnBaseEditorState): DisplayState {
332
+ return this.view.application.layout.newDisplay(
333
+ 'Add New Column',
334
+ () => <DataCubeColumnCreator state={this} />,
335
+ {
336
+ x: 50,
337
+ y: 50,
338
+ width: 500,
339
+ height: 300,
340
+ minWidth: 300,
341
+ minHeight: 200,
342
+ center: false,
343
+ },
344
+ );
345
+ }
346
+
347
+ override async applyChanges() {
302
348
  if (
303
349
  !this.validationState.hasCompleted ||
304
350
  !this.isNameValid ||
@@ -342,10 +388,9 @@ export class DataCubeNewColumnState {
342
388
 
343
389
  this.manager.addNewColumn(
344
390
  {
345
- _type: DataCubeExtendedColumnType.SIMPLE,
346
391
  name: this.name,
347
392
  type: returnType,
348
- lambda: V1_serializeValueSpecification(query, []),
393
+ mapFn: V1_serializeValueSpecification(query, []),
349
394
  },
350
395
  this.isGroupLevel,
351
396
  this.columnKind,
@@ -354,12 +399,127 @@ export class DataCubeNewColumnState {
354
399
 
355
400
  this.close();
356
401
  }
402
+ }
357
403
 
358
- close() {
359
- // dispose the editor and its model to avoid memory leak
360
- this.editorModel.dispose();
361
- this.editor?.dispose();
404
+ export class DataCubeExistingColumnEditorState extends DataCubeColumnBaseEditorState {
405
+ readonly initialData: {
406
+ name: string;
407
+ type: string;
408
+ kind: DataCubeColumnKind;
409
+ isGroupLevel: boolean;
410
+ mapFn: PlainObject<V1_Lambda>;
411
+ };
362
412
 
363
- this.display.close();
413
+ constructor(
414
+ manager: DataCubeExtendManagerState,
415
+ column: DataCubeQuerySnapshotExtendedColumn,
416
+ kind: DataCubeColumnKind,
417
+ isGroupLevel: boolean,
418
+ ) {
419
+ super(manager, column.name, getDataType(column.type), isGroupLevel, kind);
420
+
421
+ makeObservable(this, {
422
+ initialData: observable.ref,
423
+ isNameValid: override,
424
+ });
425
+
426
+ this.initialData = {
427
+ name: column.name,
428
+ type: column.type,
429
+ kind,
430
+ isGroupLevel: isGroupLevel,
431
+ mapFn: column.mapFn,
432
+ };
433
+ }
434
+
435
+ override get isNameValid(): boolean {
436
+ return !this.manager.allColumnNames
437
+ .filter((colName) => colName !== this.initialData.name)
438
+ .includes(this.name);
439
+ }
440
+
441
+ override async getInitialCode(): Promise<string> {
442
+ return this.view.engine.getQueryCode(
443
+ V1_deserializeValueSpecification(this.initialData.mapFn, []),
444
+ true,
445
+ );
446
+ }
447
+
448
+ override newDisplay(state: DataCubeColumnBaseEditorState): DisplayState {
449
+ return this.view.application.layout.newDisplay(
450
+ 'Edit Column',
451
+ () => <DataCubeColumnCreator state={this} />,
452
+ {
453
+ x: 50,
454
+ y: 50,
455
+ width: 500,
456
+ height: 300,
457
+ minWidth: 300,
458
+ minHeight: 200,
459
+ center: false,
460
+ },
461
+ );
462
+ }
463
+
464
+ async reset() {
465
+ this.setName(this.initialData.name);
466
+ this.setExpectedType(getDataType(this.initialData.type));
467
+ this.setColumnKind(this.initialData.isGroupLevel, this.initialData.kind);
468
+ await this.initialize();
469
+ await this.getReturnType();
470
+ }
471
+
472
+ override async applyChanges() {
473
+ if (
474
+ !this.validationState.hasCompleted ||
475
+ !this.isNameValid ||
476
+ !this.isTypeValid
477
+ ) {
478
+ return;
479
+ }
480
+
481
+ this.finalizationState.inProgress();
482
+
483
+ let query: V1_ValueSpecification;
484
+ let returnType: string | undefined;
485
+ try {
486
+ [query, returnType] = await Promise.all([
487
+ this.view.engine.parseQuery(this.code, false),
488
+ this.getReturnType(), // recompile to get the return type
489
+ ]);
490
+ } catch (error) {
491
+ assertErrorThrown(error);
492
+ this.view.application.alertError(error, {
493
+ message: `Expression Validation Failure: ${error.message}`,
494
+ });
495
+ return;
496
+ } finally {
497
+ this.finalizationState.complete();
498
+ }
499
+
500
+ if (!(query instanceof V1_Lambda)) {
501
+ this.view.application.alertError(new Error(), {
502
+ message: `Expression Validation Failure: Expression must be a lambda.`,
503
+ });
504
+ return;
505
+ }
506
+
507
+ if (!returnType) {
508
+ this.view.application.alertError(new Error(), {
509
+ message: `Expression Validation Failure: Can't compute expression return type.`,
510
+ });
511
+ return;
512
+ }
513
+
514
+ await this.manager.updateColumn(
515
+ this.initialData.name,
516
+ {
517
+ name: this.name,
518
+ type: returnType,
519
+ mapFn: V1_serializeValueSpecification(query, []),
520
+ },
521
+ this.isGroupLevel,
522
+ this.columnKind,
523
+ );
364
524
  }
365
525
  }