@finos/legend-application-repl 0.0.53 → 0.0.55

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 (412) hide show
  1. package/lib/components/dataCube/DataCube.d.ts.map +1 -1
  2. package/lib/components/dataCube/DataCube.js +3 -2
  3. package/lib/components/dataCube/DataCube.js.map +1 -1
  4. package/lib/components/dataCube/editor/DataCubeEditor.d.ts.map +1 -1
  5. package/lib/components/dataCube/editor/DataCubeEditor.js +9 -4
  6. package/lib/components/dataCube/editor/DataCubeEditor.js.map +1 -1
  7. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts.map +1 -1
  8. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js +3 -167
  9. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js.map +1 -1
  10. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  11. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js +39 -18
  12. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  13. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
  14. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js +13 -9
  15. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  16. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts +6 -2
  17. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts.map +1 -1
  18. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js +13 -17
  19. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js.map +1 -1
  20. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +1 -1
  21. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.js +3 -5
  22. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.js.map +1 -1
  23. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js +1 -1
  24. package/lib/components/dataCube/{editor/DataCubeEditorExtendedColumnsPanel.d.ts → extend/DataCubeColumnEditor.d.ts} +4 -4
  25. package/lib/components/dataCube/extend/DataCubeColumnEditor.d.ts.map +1 -0
  26. package/lib/components/dataCube/extend/DataCubeColumnEditor.js +165 -0
  27. package/lib/components/dataCube/extend/DataCubeColumnEditor.js.map +1 -0
  28. package/lib/components/dataCube/filter/{DataCubeEditorFilter.d.ts → DataCubeFilterEditor.d.ts} +1 -1
  29. package/lib/components/dataCube/filter/DataCubeFilterEditor.d.ts.map +1 -0
  30. package/lib/components/dataCube/filter/{DataCubeEditorFilter.js → DataCubeFilterEditor.js} +1 -1
  31. package/lib/components/dataCube/filter/{DataCubeEditorFilter.js.map → DataCubeFilterEditor.js.map} +1 -1
  32. package/lib/components/repl/PureCodeEditor.d.ts +22 -0
  33. package/lib/components/repl/PureCodeEditor.d.ts.map +1 -0
  34. package/lib/components/repl/PureCodeEditor.js +64 -0
  35. package/lib/components/repl/PureCodeEditor.js.map +1 -0
  36. package/lib/index.css +1 -1
  37. package/lib/package.json +4 -4
  38. package/lib/server/DataCubeQuery.d.ts +1 -0
  39. package/lib/server/DataCubeQuery.d.ts.map +1 -1
  40. package/lib/server/DataCubeQuery.js +5 -2
  41. package/lib/server/DataCubeQuery.js.map +1 -1
  42. package/lib/server/REPLEngine.d.ts +27 -17
  43. package/lib/server/REPLEngine.d.ts.map +1 -1
  44. package/lib/server/REPLEngine.js +3 -31
  45. package/lib/server/REPLEngine.js.map +1 -1
  46. package/lib/server/REPLServerClient.d.ts +3 -2
  47. package/lib/server/REPLServerClient.d.ts.map +1 -1
  48. package/lib/server/REPLServerClient.js +4 -2
  49. package/lib/server/REPLServerClient.js.map +1 -1
  50. package/lib/stores/LayoutManagerState.d.ts +1 -1
  51. package/lib/stores/LayoutManagerState.d.ts.map +1 -1
  52. package/lib/stores/LayoutManagerState.js +2 -2
  53. package/lib/stores/LayoutManagerState.js.map +1 -1
  54. package/lib/stores/REPLStore.d.ts +3 -3
  55. package/lib/stores/REPLStore.d.ts.map +1 -1
  56. package/lib/stores/REPLStore.js +4 -4
  57. package/lib/stores/REPLStore.js.map +1 -1
  58. package/lib/stores/dataCube/DataCubeEngine.d.ts +20 -4
  59. package/lib/stores/dataCube/DataCubeEngine.d.ts.map +1 -1
  60. package/lib/stores/dataCube/DataCubeEngine.js +48 -4
  61. package/lib/stores/dataCube/DataCubeEngine.js.map +1 -1
  62. package/lib/stores/dataCube/DataCubeState.d.ts +7 -4
  63. package/lib/stores/dataCube/DataCubeState.d.ts.map +1 -1
  64. package/lib/stores/dataCube/DataCubeState.js +12 -9
  65. package/lib/stores/dataCube/DataCubeState.js.map +1 -1
  66. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts +5 -1
  67. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts.map +1 -1
  68. package/lib/stores/dataCube/core/DataCubeConfiguration.js +9 -1
  69. package/lib/stores/dataCube/core/DataCubeConfiguration.js.map +1 -1
  70. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  71. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.js +6 -1
  72. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.js.map +1 -1
  73. package/lib/stores/dataCube/core/{DataCubeStaticContentDisplayState.d.ts → DataCubeInfoState.d.ts} +9 -4
  74. package/lib/stores/dataCube/core/DataCubeInfoState.d.ts.map +1 -0
  75. package/lib/stores/dataCube/core/{DataCubeStaticContentDisplayState.js → DataCubeInfoState.js} +11 -6
  76. package/lib/stores/dataCube/core/DataCubeInfoState.js.map +1 -0
  77. package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts +3 -2
  78. package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts.map +1 -1
  79. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js +27 -20
  80. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js.map +1 -1
  81. package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.d.ts +7 -5
  82. package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  83. package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.js +61 -50
  84. package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.js.map +1 -1
  85. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts +19 -12
  86. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts.map +1 -1
  87. package/lib/stores/dataCube/core/DataCubeQueryEngine.js +26 -15
  88. package/lib/stores/dataCube/core/DataCubeQueryEngine.js.map +1 -1
  89. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts +5 -8
  90. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  91. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js +7 -7
  92. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js.map +1 -1
  93. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  94. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js +38 -25
  95. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  96. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.d.ts +1 -2
  97. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  98. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.js +9 -26
  99. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  100. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation.d.ts +28 -0
  101. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -0
  102. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation.js +25 -0
  103. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation.js.map +1 -0
  104. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +27 -0
  105. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -0
  106. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Average.js +39 -0
  107. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Average.js.map +1 -0
  108. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +27 -0
  109. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -0
  110. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Count.js +47 -0
  111. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Count.js.map +1 -0
  112. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +27 -0
  113. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -0
  114. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__First.js +44 -0
  115. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__First.js.map +1 -0
  116. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +27 -0
  117. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -0
  118. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js +53 -0
  119. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js.map +1 -0
  120. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +27 -0
  121. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -0
  122. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Last.js +44 -0
  123. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Last.js.map +1 -0
  124. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +27 -0
  125. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -0
  126. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Max.js +39 -0
  127. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Max.js.map +1 -0
  128. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +27 -0
  129. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -0
  130. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Min.js +39 -0
  131. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Min.js.map +1 -0
  132. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +27 -0
  133. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -0
  134. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js +39 -0
  135. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js.map +1 -0
  136. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +27 -0
  137. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -0
  138. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js +39 -0
  139. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js.map +1 -0
  140. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +27 -0
  141. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -0
  142. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Sum.js +39 -0
  143. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Sum.js.map +1 -0
  144. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +27 -0
  145. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -0
  146. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js +44 -0
  147. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js.map +1 -0
  148. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +27 -0
  149. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -0
  150. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js +39 -0
  151. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js.map +1 -0
  152. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +27 -0
  153. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -0
  154. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js +39 -0
  155. package/lib/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js.map +1 -0
  156. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.d.ts +1 -1
  157. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  158. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.js +3 -19
  159. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.js.map +1 -1
  160. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  161. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.js +5 -5
  162. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
  163. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  164. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +5 -5
  165. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
  166. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  167. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.js +5 -5
  168. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
  169. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  170. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +5 -5
  171. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
  172. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  173. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.js +15 -5
  174. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  175. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  176. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +5 -5
  177. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
  178. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  179. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +4 -4
  180. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
  181. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  182. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +9 -4
  183. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
  184. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  185. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +13 -5
  186. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
  187. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  188. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +8 -4
  189. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
  190. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  191. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +13 -5
  192. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
  193. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  194. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +8 -4
  195. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
  196. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  197. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +15 -5
  198. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
  199. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  200. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.js +15 -5
  201. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
  202. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  203. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.js +13 -5
  204. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
  205. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  206. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +8 -4
  207. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
  208. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  209. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +13 -5
  210. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
  211. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  212. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +8 -4
  213. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
  214. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  215. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.js +5 -5
  216. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
  217. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  218. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +5 -5
  219. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
  220. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  221. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.js +15 -5
  222. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
  223. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  224. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +5 -5
  225. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
  226. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  227. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +4 -4
  228. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
  229. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  230. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +9 -4
  231. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
  232. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  233. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +5 -5
  234. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
  235. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  236. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.js +5 -5
  237. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
  238. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  239. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +5 -5
  240. package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
  241. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +6 -7
  242. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  243. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js +11 -41
  244. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  245. package/lib/stores/dataCube/editor/DataCubeEditorColumnsPanelState.d.ts +18 -2
  246. package/lib/stores/dataCube/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  247. package/lib/stores/dataCube/editor/DataCubeEditorColumnsPanelState.js +83 -24
  248. package/lib/stores/dataCube/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  249. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.d.ts +0 -8
  250. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.d.ts.map +1 -1
  251. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.js +2 -23
  252. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.js.map +1 -1
  253. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +3 -3
  254. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  255. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.js +3 -3
  256. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  257. package/lib/stores/dataCube/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +34 -0
  258. package/lib/stores/dataCube/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -0
  259. package/lib/stores/dataCube/editor/DataCubeEditorHorizontalPivotsPanelState.js +57 -0
  260. package/lib/stores/dataCube/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -0
  261. package/lib/stores/dataCube/editor/{DataCubeMutableConfiguration.d.ts → DataCubeEditorMutableConfiguration.d.ts} +12 -13
  262. package/lib/stores/dataCube/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -0
  263. package/lib/stores/dataCube/editor/{DataCubeMutableConfiguration.js → DataCubeEditorMutableConfiguration.js} +24 -26
  264. package/lib/stores/dataCube/editor/DataCubeEditorMutableConfiguration.js.map +1 -0
  265. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  266. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js +4 -1
  267. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  268. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts +18 -3
  269. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts.map +1 -1
  270. package/lib/stores/dataCube/editor/DataCubeEditorState.js +44 -4
  271. package/lib/stores/dataCube/editor/DataCubeEditorState.js.map +1 -1
  272. package/lib/stores/dataCube/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  273. package/lib/stores/dataCube/editor/DataCubeEditorVerticalPivotsPanelState.js +5 -15
  274. package/lib/stores/dataCube/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  275. package/lib/stores/dataCube/extend/DataCubeColumnEditorState.d.ts +61 -0
  276. package/lib/stores/dataCube/extend/DataCubeColumnEditorState.d.ts.map +1 -0
  277. package/lib/stores/dataCube/extend/DataCubeColumnEditorState.js +262 -0
  278. package/lib/stores/dataCube/extend/DataCubeColumnEditorState.js.map +1 -0
  279. package/lib/stores/dataCube/extend/DataCubeExtendManagerState.d.ts +45 -0
  280. package/lib/stores/dataCube/extend/DataCubeExtendManagerState.d.ts.map +1 -0
  281. package/lib/stores/dataCube/extend/DataCubeExtendManagerState.js +115 -0
  282. package/lib/stores/dataCube/extend/DataCubeExtendManagerState.js.map +1 -0
  283. package/lib/stores/dataCube/filter/DataCubeFilterEditorState.d.ts +6 -2
  284. package/lib/stores/dataCube/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  285. package/lib/stores/dataCube/filter/DataCubeFilterEditorState.js +18 -5
  286. package/lib/stores/dataCube/filter/DataCubeFilterEditorState.js.map +1 -1
  287. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js +2 -3
  288. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js.map +1 -1
  289. package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.js +1 -1
  290. package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.js.map +1 -1
  291. package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  292. package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.js +13 -9
  293. package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  294. package/lib/stores/dataCube/grid/DataCubeGridControllerState.d.ts +16 -10
  295. package/lib/stores/dataCube/grid/DataCubeGridControllerState.d.ts.map +1 -1
  296. package/lib/stores/dataCube/grid/DataCubeGridControllerState.js +28 -16
  297. package/lib/stores/dataCube/grid/DataCubeGridControllerState.js.map +1 -1
  298. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  299. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.js +34 -20
  300. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.js.map +1 -1
  301. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts +2 -1
  302. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  303. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js +5 -13
  304. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js.map +1 -1
  305. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.d.ts +1 -3
  306. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  307. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js +6 -18
  308. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  309. package/lib/stores/dataCube/grid/DataCubeGridState.d.ts +15 -0
  310. package/lib/stores/dataCube/grid/DataCubeGridState.d.ts.map +1 -1
  311. package/lib/stores/dataCube/grid/DataCubeGridState.js +15 -0
  312. package/lib/stores/dataCube/grid/DataCubeGridState.js.map +1 -1
  313. package/package.json +10 -10
  314. package/src/components/dataCube/DataCube.tsx +4 -1
  315. package/src/components/dataCube/editor/DataCubeEditor.tsx +10 -3
  316. package/src/components/dataCube/editor/DataCubeEditorCodePanel.tsx +2 -176
  317. package/src/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.tsx +160 -90
  318. package/src/components/dataCube/editor/DataCubeEditorColumnsPanel.tsx +58 -12
  319. package/src/components/dataCube/editor/DataCubeEditorColumnsSelector.tsx +38 -34
  320. package/src/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.tsx +5 -7
  321. package/src/components/dataCube/editor/DataCubeEditorSortsPanel.tsx +1 -1
  322. package/src/components/dataCube/extend/DataCubeColumnEditor.tsx +362 -0
  323. package/src/components/repl/PureCodeEditor.tsx +91 -0
  324. package/src/server/DataCubeQuery.ts +5 -1
  325. package/src/server/REPLEngine.ts +33 -43
  326. package/src/server/REPLServerClient.ts +11 -2
  327. package/src/stores/LayoutManagerState.ts +2 -2
  328. package/src/stores/REPLStore.tsx +8 -10
  329. package/src/stores/dataCube/DataCubeEngine.ts +59 -9
  330. package/src/stores/dataCube/DataCubeState.ts +13 -9
  331. package/src/stores/dataCube/core/DataCubeConfiguration.ts +11 -1
  332. package/src/stores/dataCube/core/DataCubeConfigurationBuilder.ts +6 -0
  333. package/src/stores/dataCube/core/{DataCubeStaticContentDisplayState.ts → DataCubeInfoState.ts} +12 -7
  334. package/src/stores/dataCube/core/DataCubeQueryBuilder.ts +50 -23
  335. package/src/stores/dataCube/core/DataCubeQueryBuilderUtils.ts +87 -77
  336. package/src/stores/dataCube/core/DataCubeQueryEngine.ts +31 -17
  337. package/src/stores/dataCube/core/DataCubeQuerySnapshot.ts +21 -13
  338. package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilder.ts +37 -27
  339. package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.ts +20 -34
  340. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation.ts +47 -0
  341. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +52 -0
  342. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +61 -0
  343. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +57 -0
  344. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +81 -0
  345. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +57 -0
  346. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +52 -0
  347. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +52 -0
  348. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +55 -0
  349. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +52 -0
  350. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +52 -0
  351. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +57 -0
  352. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +52 -0
  353. package/src/stores/dataCube/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +52 -0
  354. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation.ts +12 -21
  355. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.tsx +5 -4
  356. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +5 -4
  357. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +5 -4
  358. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +5 -4
  359. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.tsx +15 -4
  360. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +5 -4
  361. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +5 -6
  362. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +10 -6
  363. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +13 -4
  364. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +9 -6
  365. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +13 -4
  366. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +9 -6
  367. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +16 -7
  368. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +16 -7
  369. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +13 -4
  370. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +9 -6
  371. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +13 -4
  372. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +9 -6
  373. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +5 -4
  374. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +5 -4
  375. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +15 -4
  376. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +5 -4
  377. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +5 -6
  378. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +10 -6
  379. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +5 -4
  380. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +5 -4
  381. package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +5 -4
  382. package/src/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.ts +23 -54
  383. package/src/stores/dataCube/editor/DataCubeEditorColumnsPanelState.ts +145 -36
  384. package/src/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.ts +2 -40
  385. package/src/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.ts +4 -4
  386. package/src/stores/dataCube/editor/DataCubeEditorHorizontalPivotsPanelState.ts +99 -0
  387. package/src/stores/dataCube/editor/{DataCubeMutableConfiguration.ts → DataCubeEditorMutableConfiguration.ts} +42 -30
  388. package/src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts +9 -1
  389. package/src/stores/dataCube/editor/DataCubeEditorState.tsx +59 -5
  390. package/src/stores/dataCube/editor/DataCubeEditorVerticalPivotsPanelState.ts +9 -23
  391. package/src/stores/dataCube/extend/DataCubeColumnEditorState.tsx +365 -0
  392. package/src/stores/dataCube/extend/DataCubeExtendManagerState.tsx +171 -0
  393. package/src/stores/dataCube/filter/DataCubeFilterEditorState.tsx +21 -10
  394. package/src/stores/dataCube/grid/DataCubeGridClientEngine.ts +2 -2
  395. package/src/stores/dataCube/grid/DataCubeGridClientExportEngine.ts +1 -1
  396. package/src/stores/dataCube/grid/DataCubeGridConfigurationBuilder.tsx +21 -11
  397. package/src/stores/dataCube/grid/DataCubeGridControllerState.ts +37 -28
  398. package/src/stores/dataCube/grid/DataCubeGridMenuBuilder.tsx +36 -20
  399. package/src/stores/dataCube/grid/DataCubeGridQueryBuilder.ts +10 -16
  400. package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.ts +6 -34
  401. package/src/stores/dataCube/grid/DataCubeGridState.ts +15 -0
  402. package/tsconfig.json +23 -4
  403. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.d.ts.map +0 -1
  404. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js +0 -27
  405. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js.map +0 -1
  406. package/lib/components/dataCube/filter/DataCubeEditorFilter.d.ts.map +0 -1
  407. package/lib/stores/dataCube/core/DataCubeStaticContentDisplayState.d.ts.map +0 -1
  408. package/lib/stores/dataCube/core/DataCubeStaticContentDisplayState.js.map +0 -1
  409. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts.map +0 -1
  410. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js.map +0 -1
  411. package/src/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.tsx +0 -45
  412. /package/src/components/dataCube/filter/{DataCubeEditorFilter.tsx → DataCubeFilterEditor.tsx} +0 -0
@@ -31,7 +31,7 @@ import {
31
31
  DEFAULT_SMALL_ALERT_WINDOW_CONFIG,
32
32
  LayoutConfiguration,
33
33
  LayoutManagerState,
34
- SingletonModeDisplayState,
34
+ DisplayState,
35
35
  WindowState,
36
36
  type WindowConfiguration,
37
37
  } from './LayoutManagerState.js';
@@ -48,8 +48,8 @@ export class REPLStore {
48
48
  readonly client: REPLServerClient;
49
49
  readonly layout: LayoutManagerState;
50
50
  readonly initState = ActionState.create();
51
- readonly settingsDisplay: SingletonModeDisplayState;
52
- readonly documentationDisplay: SingletonModeDisplayState;
51
+ readonly settingsDisplay: DisplayState;
52
+ readonly documentationDisplay: DisplayState;
53
53
 
54
54
  dataCubeEngine!: DataCubeEngine;
55
55
 
@@ -73,11 +73,9 @@ export class REPLStore {
73
73
  this.layout = new LayoutManagerState(this.application);
74
74
  this.dataCubeEngine = new DataCubeEngine(this);
75
75
  this.dataCube = new DataCubeState(this);
76
- this.settingsDisplay = new SingletonModeDisplayState(
77
- this.layout,
78
- 'Settings',
79
- () => <SettingsPanel />,
80
- );
76
+ this.settingsDisplay = new DisplayState(this.layout, 'Settings', () => (
77
+ <SettingsPanel />
78
+ ));
81
79
  this.settingsDisplay.configuration.window = {
82
80
  x: -50,
83
81
  y: 50,
@@ -87,7 +85,7 @@ export class REPLStore {
87
85
  minHeight: 200,
88
86
  center: false,
89
87
  };
90
- this.documentationDisplay = new SingletonModeDisplayState(
88
+ this.documentationDisplay = new DisplayState(
91
89
  this.layout,
92
90
  'Documentation',
93
91
  () => <DocumentationPanel />,
@@ -181,7 +179,7 @@ export class REPLStore {
181
179
  } catch (error: unknown) {
182
180
  assertErrorThrown(error);
183
181
  this.application.alertService.setActionAlertInfo({
184
- message: `Initialization failure: ${error.message}`,
182
+ message: `Initialization Failure: ${error.message}`,
185
183
  prompt: `Resolve the issue and reload the application.`,
186
184
  type: ActionAlertType.ERROR,
187
185
  actions: [],
@@ -28,8 +28,9 @@ import {
28
28
  DataCubeGetBaseQueryResult,
29
29
  type DataCubeInfrastructureInfo,
30
30
  type CompletionItem,
31
+ type RelationType,
31
32
  } from '../../server/REPLEngine.js';
32
- import { guaranteeNonNullable, guaranteeType } from '@finos/legend-shared';
33
+ import { guaranteeType } from '@finos/legend-shared';
33
34
  import type { LegendREPLApplicationStore } from '../LegendREPLBaseStore.js';
34
35
  import type { REPLStore } from '../REPLStore.js';
35
36
  import { action, makeObservable, observable } from 'mobx';
@@ -60,7 +61,21 @@ import { DataCubeQueryFilterOperation__EndWithCaseInsensitive } from './core/fil
60
61
  import { DataCubeQueryFilterOperation__NotEndWith } from './core/filter/DataCubeQueryFilterOperation__NotEndWith.js';
61
62
  import { DataCubeQueryFilterOperation__IsNull } from './core/filter/DataCubeQueryFilterOperation__IsNull.js';
62
63
  import { DataCubeQueryFilterOperation__IsNotNull } from './core/filter/DataCubeQueryFilterOperation__IsNotNull.js';
63
- import type { DataCubeQueryFilterOperation } from './core/filter/DataCubeQueryFilterOperation.js';
64
+ import { getFilterOperation } from './core/filter/DataCubeQueryFilterOperation.js';
65
+ import { DataCubeQueryAggregateOperation__Sum } from './core/aggregation/DataCubeQueryAggregateOperation__Sum.js';
66
+ import { DataCubeQueryAggregateOperation__Average } from './core/aggregation/DataCubeQueryAggregateOperation__Average.js';
67
+ import { DataCubeQueryAggregateOperation__Count } from './core/aggregation/DataCubeQueryAggregateOperation__Count.js';
68
+ import { DataCubeQueryAggregateOperation__Min } from './core/aggregation/DataCubeQueryAggregateOperation__Min.js';
69
+ import { DataCubeQueryAggregateOperation__Max } from './core/aggregation/DataCubeQueryAggregateOperation__Max.js';
70
+ import { DataCubeQueryAggregateOperation__UniqueValue } from './core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js';
71
+ import { DataCubeQueryAggregateOperation__First } from './core/aggregation/DataCubeQueryAggregateOperation__First.js';
72
+ import { DataCubeQueryAggregateOperation__Last } from './core/aggregation/DataCubeQueryAggregateOperation__Last.js';
73
+ import { DataCubeQueryAggregateOperation__VariancePopulation } from './core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js';
74
+ import { DataCubeQueryAggregateOperation__VarianceSample } from './core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js';
75
+ import { DataCubeQueryAggregateOperation__StdDevPopulation } from './core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js';
76
+ import { DataCubeQueryAggregateOperation__StdDevSample } from './core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js';
77
+ import { DataCubeQueryAggregateOperation__JoinStrings } from './core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js';
78
+ import { getAggregateOperation } from './core/aggregation/DataCubeQueryAggregateOperation.js';
64
79
 
65
80
  export const DEFAULT_ENABLE_DEBUG_MODE = false;
66
81
  export const DEFAULT_GRID_CLIENT_ROW_BUFFER = 50;
@@ -105,6 +120,22 @@ export class DataCubeEngine {
105
120
  new DataCubeQueryFilterOperation__GreaterThanOrEqualColumn(),
106
121
  ];
107
122
 
123
+ readonly aggregateOperations = [
124
+ new DataCubeQueryAggregateOperation__Sum(),
125
+ new DataCubeQueryAggregateOperation__Average(),
126
+ new DataCubeQueryAggregateOperation__Count(),
127
+ new DataCubeQueryAggregateOperation__Min(),
128
+ new DataCubeQueryAggregateOperation__Max(),
129
+ new DataCubeQueryAggregateOperation__UniqueValue(),
130
+ new DataCubeQueryAggregateOperation__First(),
131
+ new DataCubeQueryAggregateOperation__Last(),
132
+ new DataCubeQueryAggregateOperation__VariancePopulation(),
133
+ new DataCubeQueryAggregateOperation__VarianceSample(),
134
+ new DataCubeQueryAggregateOperation__StdDevPopulation(),
135
+ new DataCubeQueryAggregateOperation__StdDevSample(),
136
+ new DataCubeQueryAggregateOperation__JoinStrings(),
137
+ ];
138
+
108
139
  enableDebugMode = DEFAULT_ENABLE_DEBUG_MODE;
109
140
  gridClientRowBuffer = DEFAULT_GRID_CLIENT_ROW_BUFFER;
110
141
  gridClientPurgeClosedRowNodes = DEFAULT_GRID_CLIENT_PURGE_CLOSED_ROW_NODES;
@@ -130,11 +161,12 @@ export class DataCubeEngine {
130
161
  this.client = repl.client;
131
162
  }
132
163
 
133
- getFilterOperation(operator: string): DataCubeQueryFilterOperation {
134
- return guaranteeNonNullable(
135
- this.filterOperations.find((op) => op.operator === operator),
136
- `Can't find filter operation '${operator}'`,
137
- );
164
+ getFilterOperation(operator: string) {
165
+ return getFilterOperation(operator, this.filterOperations);
166
+ }
167
+
168
+ getAggregateOperation(operator: string) {
169
+ return getAggregateOperation(operator, this.aggregateOperations);
138
170
  }
139
171
 
140
172
  setEnableDebugMode(enableDebugMode: boolean) {
@@ -176,11 +208,11 @@ export class DataCubeEngine {
176
208
 
177
209
  async getQueryTypeahead(
178
210
  code: string,
179
- isPartial?: boolean,
211
+ query: V1_ValueSpecification,
180
212
  ): Promise<CompletionItem[]> {
181
213
  return (await this.client.getQueryTypeahead({
182
214
  code,
183
- isPartial,
215
+ baseQuery: V1_serializeValueSpecification(query, []),
184
216
  })) as CompletionItem[];
185
217
  }
186
218
 
@@ -200,6 +232,24 @@ export class DataCubeEngine {
200
232
  );
201
233
  }
202
234
 
235
+ async getQueryRelationType(
236
+ query: V1_ValueSpecification,
237
+ ): Promise<RelationType> {
238
+ return this.client.getQueryRelationReturnType({
239
+ query: V1_serializeValueSpecification(query, []),
240
+ });
241
+ }
242
+
243
+ async getQueryCodeRelationReturnType(
244
+ code: string,
245
+ query: V1_ValueSpecification,
246
+ ): Promise<RelationType> {
247
+ return this.client.getQueryCodeRelationReturnType({
248
+ code,
249
+ baseQuery: V1_serializeValueSpecification(query, []),
250
+ });
251
+ }
252
+
203
253
  async executeQuery(query: V1_Lambda): Promise<{
204
254
  result: TDSExecutionResult;
205
255
  executedQuery: string;
@@ -20,14 +20,15 @@ import { DataCubeEditorState } from './editor/DataCubeEditorState.js';
20
20
  import { assertErrorThrown, uuid } from '@finos/legend-shared';
21
21
  import { DataCubeQuerySnapshotManager } from './core/DataCubeQuerySnapshotManager.js';
22
22
  import type { LegendREPLApplicationStore } from '../LegendREPLBaseStore.js';
23
- import { DataCubeStaticContentDisplayState } from './core/DataCubeStaticContentDisplayState.js';
23
+ import { DataCubeInfoState } from './core/DataCubeInfoState.js';
24
24
  import { validateAndBuildQuerySnapshot } from './core/DataCubeQuerySnapshotBuilder.js';
25
25
  import { action, makeObservable, observable } from 'mobx';
26
26
  import type { DataCubeEngine } from './DataCubeEngine.js';
27
27
  import { ActionAlertType } from '@finos/legend-application';
28
28
  import { DataCubeFilterEditorState } from './filter/DataCubeFilterEditorState.js';
29
+ import { DataCubeExtendManagerState } from './extend/DataCubeExtendManagerState.js';
29
30
 
30
- export class DataCubeTask {
31
+ class DataCubeTask {
31
32
  uuid = uuid();
32
33
  name: string;
33
34
  startTime = Date.now();
@@ -48,10 +49,11 @@ export class DataCubeState {
48
49
  readonly engine: DataCubeEngine;
49
50
  readonly snapshotManager: DataCubeQuerySnapshotManager;
50
51
 
51
- readonly staticContent: DataCubeStaticContentDisplayState;
52
- readonly grid: DataCubeGridState;
52
+ readonly info: DataCubeInfoState;
53
53
  readonly editor: DataCubeEditorState;
54
+ readonly grid: DataCubeGridState;
54
55
  readonly filter: DataCubeFilterEditorState;
56
+ readonly extend: DataCubeExtendManagerState;
55
57
 
56
58
  readonly runningTasks = new Map<string, DataCubeTask>();
57
59
 
@@ -68,10 +70,12 @@ export class DataCubeState {
68
70
 
69
71
  // NOTE: snapshot manager must be instantiated before subscribers
70
72
  this.snapshotManager = new DataCubeQuerySnapshotManager(this);
71
- this.staticContent = new DataCubeStaticContentDisplayState(this);
73
+
74
+ this.info = new DataCubeInfoState(this);
72
75
  this.editor = new DataCubeEditorState(this);
73
- this.filter = new DataCubeFilterEditorState(this);
74
76
  this.grid = new DataCubeGridState(this);
77
+ this.filter = new DataCubeFilterEditorState(this);
78
+ this.extend = new DataCubeExtendManagerState(this);
75
79
  }
76
80
 
77
81
  newTask(name: string) {
@@ -91,12 +95,12 @@ export class DataCubeState {
91
95
  try {
92
96
  await Promise.all(
93
97
  [
94
- this.staticContent,
98
+ this.info,
95
99
  this.editor,
96
100
  this.grid,
97
101
  this.grid.controller,
98
102
  this.filter,
99
- // TODO this.editor.extendedColumns,
103
+ this.extend,
100
104
  ].map(async (state) => {
101
105
  this.snapshotManager.registerSubscriber(state);
102
106
  }),
@@ -112,7 +116,7 @@ export class DataCubeState {
112
116
  } catch (error: unknown) {
113
117
  assertErrorThrown(error);
114
118
  this.repl.application.alertService.setActionAlertInfo({
115
- message: `Initialization failure: ${error.message}`,
119
+ message: `Initialization Failure: ${error.message}`,
116
120
  prompt: `Resolve the issue and reload the application.`,
117
121
  type: ActionAlertType.ERROR,
118
122
  actions: [],
@@ -38,9 +38,10 @@ import {
38
38
  type DataCubeSelectionStat,
39
39
  type DataCubeColumnPinPlacement,
40
40
  type DataCubeFontCase,
41
+ type DataCubeOperationValue,
41
42
  } from './DataCubeQueryEngine.js';
42
43
  import { SerializationFactory, usingModelSchema } from '@finos/legend-shared';
43
- import { createModelSchema, list, optional, primitive } from 'serializr';
44
+ import { createModelSchema, list, optional, primitive, raw } from 'serializr';
44
45
 
45
46
  export type DataCubeConfigurationColorKey =
46
47
  | 'normal'
@@ -89,6 +90,11 @@ export class DataCubeColumnConfiguration {
89
90
  displayAsLink = false;
90
91
  linkLabelParameter?: string | undefined;
91
92
 
93
+ aggregateOperator!: string;
94
+ aggregationParameters: DataCubeOperationValue[] = [];
95
+ excludedFromHorizontalPivot = true; // this agrees with default column kind set as Dimension
96
+ horizontalPivotSortFunction?: string | undefined;
97
+
92
98
  constructor(name: string, type: string) {
93
99
  this.name = name;
94
100
  this.type = type;
@@ -96,6 +102,8 @@ export class DataCubeColumnConfiguration {
96
102
 
97
103
  static readonly serialization = new SerializationFactory(
98
104
  createModelSchema(DataCubeColumnConfiguration, {
105
+ aggregateOperator: primitive(),
106
+ aggregationParameters: list(raw()),
99
107
  blur: primitive(),
100
108
  decimals: optional(primitive()),
101
109
  displayAsLink: primitive(),
@@ -103,6 +111,7 @@ export class DataCubeColumnConfiguration {
103
111
  displayName: optional(primitive()),
104
112
  errorBackgroundColor: optional(primitive()),
105
113
  errorForegroundColor: optional(primitive()),
114
+ excludedFromHorizontalPivot: primitive(),
106
115
  fixedWidth: optional(primitive()),
107
116
  fontBold: optional(primitive()),
108
117
  fontCase: optional(primitive()),
@@ -112,6 +121,7 @@ export class DataCubeColumnConfiguration {
112
121
  fontStrikethrough: optional(primitive()),
113
122
  fontUnderline: optional(primitive()),
114
123
  hideFromView: primitive(),
124
+ horizontalPivotSortFunction: optional(primitive()),
115
125
  kind: primitive(),
116
126
  linkLabelParameter: optional(primitive()),
117
127
  maxWidth: optional(primitive()),
@@ -20,6 +20,7 @@ import {
20
20
  DataCubeConfiguration,
21
21
  } from './DataCubeConfiguration.js';
22
22
  import {
23
+ DataCubeAggregateOperator,
23
24
  DataCubeColumnKind,
24
25
  DataCubeFontTextAlignment,
25
26
  } from './DataCubeQueryEngine.js';
@@ -40,9 +41,14 @@ export function buildDefaultColumnConfiguration(column: {
40
41
  config.displayCommas = true;
41
42
  config.negativeNumberInParens = true;
42
43
  config.textAlign = DataCubeFontTextAlignment.RIGHT; // always align number to the right
44
+ config.excludedFromHorizontalPivot = false;
45
+ config.aggregateOperator = DataCubeAggregateOperator.SUM;
43
46
  break;
44
47
  }
45
48
  default: {
49
+ config.kind = DataCubeColumnKind.DIMENSION;
50
+ config.excludedFromHorizontalPivot = true;
51
+ config.aggregateOperator = DataCubeAggregateOperator.UNIQUE;
46
52
  break;
47
53
  }
48
54
  }
@@ -22,21 +22,26 @@ import type { DataCubeQuery } from '../../../server/DataCubeQuery.js';
22
22
  import { formatDate } from '@finos/legend-shared';
23
23
  import { DEFAULT_REPORT_NAME } from './DataCubeQueryEngine.js';
24
24
 
25
- export class DataCubeStaticContentDisplayState extends DataCubeQuerySnapshotController {
25
+ /**
26
+ * Unlike other query editor state, this state does not support making any
27
+ * modification to the query, it simplies subscribe to extract information
28
+ * from the latest snapshot to help display latest static info about the query.
29
+ */
30
+ export class DataCubeInfoState extends DataCubeQuerySnapshotController {
26
31
  baseQuery!: DataCubeQuery;
27
32
  name = DEFAULT_REPORT_NAME;
28
- private startTime?: number | undefined;
33
+ private editionStartTime?: number | undefined;
29
34
 
30
35
  constructor(dataCube: DataCubeState) {
31
36
  super(dataCube);
32
37
 
33
- makeObservable(this, {
38
+ makeObservable<DataCubeInfoState, 'setName'>(this, {
34
39
  name: observable,
35
40
  setName: action,
36
41
  });
37
42
  }
38
43
 
39
- setName(val: string) {
44
+ private setName(val: string) {
40
45
  this.name = val;
41
46
  }
42
47
 
@@ -46,11 +51,11 @@ export class DataCubeStaticContentDisplayState extends DataCubeQuerySnapshotCont
46
51
  ) {
47
52
  const data = snapshot.data;
48
53
  this.setName(data.name);
49
- if (!this.startTime) {
50
- this.startTime = snapshot.timestamp;
54
+ if (!this.editionStartTime) {
55
+ this.editionStartTime = snapshot.timestamp;
51
56
  }
52
57
  this.application.layoutService.setWindowTitle(
53
- `\u229E ${data.name}${this.startTime ? ` - ${formatDate(new Date(this.startTime), 'HH:mm:ss EEE MMM dd yyyy')}` : ''}`,
58
+ `\u229E ${data.name}${this.editionStartTime ? ` - ${formatDate(new Date(this.editionStartTime), 'HH:mm:ss EEE MMM dd yyyy')}` : ''}`,
54
59
  );
55
60
  }
56
61
  }
@@ -27,9 +27,17 @@ import {
27
27
  V1_deserializeValueSpecification,
28
28
  extractElementNameFromPath as _name,
29
29
  } from '@finos/legend-graph';
30
- import { type DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
31
- import { guaranteeNonNullable } from '@finos/legend-shared';
32
30
  import {
31
+ type DataCubeQuerySnapshot,
32
+ type DataCubeQuerySnapshotSimpleExtendedColumn,
33
+ } from './DataCubeQuerySnapshot.js';
34
+ import {
35
+ guaranteeNonNullable,
36
+ isNonNullable,
37
+ UnsupportedOperationError,
38
+ } from '@finos/legend-shared';
39
+ import {
40
+ DataCubeExtendedColumnType,
33
41
  DataCubeFunction,
34
42
  DataCubeQuerySortOperator,
35
43
  type DataCubeQueryFunctionMap,
@@ -46,15 +54,16 @@ import {
46
54
  _filter,
47
55
  _function,
48
56
  _groupByAggCols,
49
- _groupByExtend,
50
57
  _lambda,
51
58
  _primitiveValue,
52
59
  _var,
53
60
  } from './DataCubeQueryBuilderUtils.js';
61
+ import type { DataCubeQueryAggregateOperation } from './aggregation/DataCubeQueryAggregateOperation.js';
54
62
 
55
63
  export function buildExecutableQuery(
56
64
  snapshot: DataCubeQuerySnapshot,
57
65
  filterOperations: DataCubeQueryFilterOperation[],
66
+ aggregateOperations: DataCubeQueryAggregateOperation[],
58
67
  options?: {
59
68
  postProcessor?: (
60
69
  snapshot: DataCubeQuerySnapshot,
@@ -62,6 +71,7 @@ export function buildExecutableQuery(
62
71
  funcMap: DataCubeQueryFunctionMap,
63
72
  configuration: DataCubeConfiguration,
64
73
  filterOperations: DataCubeQueryFilterOperation[],
74
+ aggregateOperations: DataCubeQueryAggregateOperation[],
65
75
  ) => void;
66
76
  pagination?:
67
77
  | {
@@ -86,16 +96,22 @@ export function buildExecutableQuery(
86
96
  funcMap[funcMapKey] = func;
87
97
  };
88
98
 
89
- // --------------------------------- LEAF EXTEND ---------------------------------
99
+ // --------------------------------- LEAF-LEVEL EXTEND ---------------------------------
90
100
 
91
101
  if (data.leafExtendedColumns.length) {
92
102
  _process(
93
103
  'leafExtend',
94
104
  _function(_name(DataCubeFunction.EXTEND), [
95
105
  _cols(
96
- data.leafExtendedColumns.map((col) =>
97
- _colSpec(col.name, _deserializeToLambda(col.lambda)),
98
- ),
106
+ data.leafExtendedColumns.map((eCol) => {
107
+ if (eCol._type === DataCubeExtendedColumnType.SIMPLE) {
108
+ const col = eCol as DataCubeQuerySnapshotSimpleExtendedColumn;
109
+ return _colSpec(col.name, _deserializeToLambda(col.lambda));
110
+ }
111
+ throw new UnsupportedOperationError(
112
+ `Can't build extended column of type '${eCol._type}'`,
113
+ );
114
+ }),
99
115
  ),
100
116
  ]),
101
117
  );
@@ -131,33 +147,37 @@ export function buildExecutableQuery(
131
147
  'groupBy',
132
148
  _function(_name(DataCubeFunction.GROUP_BY), [
133
149
  _cols(groupBy.columns.map((col) => _colSpec(col.name))),
134
- _cols(_groupByAggCols(groupBy.aggColumns)),
150
+ _cols(
151
+ _groupByAggCols(
152
+ groupBy.columns,
153
+ snapshot,
154
+ configuration,
155
+ aggregateOperations,
156
+ ),
157
+ ),
135
158
  ]),
136
159
  );
137
-
138
- // extend columns to maintain the same set of columns prior to groupBy()
139
- const groupByExtend = _groupByExtend(snapshot.stageCols('aggregation'), [
140
- ...groupBy.columns,
141
- ...groupBy.aggColumns,
142
- ]);
143
- if (groupByExtend) {
144
- _process('groupByExtend', groupByExtend);
145
- }
146
160
  }
147
161
 
148
162
  // --------------------------------- PIVOT ---------------------------------
149
- // TODO: @akphi - implement this and CAST
163
+ /** TODO: @datacube pivot - implement this and CAST */
150
164
 
151
- // --------------------------------- GROUP EXTEND ---------------------------------
165
+ // --------------------------------- GROUP-LEVEL EXTEND ---------------------------------
152
166
 
153
167
  if (data.groupExtendedColumns.length) {
154
168
  _process(
155
169
  'groupExtend',
156
170
  _function(_name(DataCubeFunction.EXTEND), [
157
171
  _cols(
158
- data.groupExtendedColumns.map((col) =>
159
- _colSpec(col.name, _deserializeToLambda(col.lambda)),
160
- ),
172
+ data.groupExtendedColumns.map((eCol) => {
173
+ if (eCol._type === DataCubeExtendedColumnType.SIMPLE) {
174
+ const col = eCol as DataCubeQuerySnapshotSimpleExtendedColumn;
175
+ return _colSpec(col.name, _deserializeToLambda(col.lambda));
176
+ }
177
+ throw new UnsupportedOperationError(
178
+ `Can't build extended column of type '${eCol._type}'`,
179
+ );
180
+ }),
161
181
  ),
162
182
  ]),
163
183
  );
@@ -210,7 +230,13 @@ export function buildExecutableQuery(
210
230
  // --------------------------------- FROM ---------------------------------
211
231
 
212
232
  sequence.push(
213
- _function(_name(DataCubeFunction.FROM), [_elementPtr(data.runtime)]),
233
+ _function(
234
+ _name(DataCubeFunction.FROM),
235
+ [
236
+ data.mapping ? _elementPtr(data.mapping) : undefined,
237
+ _elementPtr(data.runtime),
238
+ ].filter(isNonNullable),
239
+ ),
214
240
  );
215
241
 
216
242
  // --------------------------------- FINALIZE ---------------------------------
@@ -221,6 +247,7 @@ export function buildExecutableQuery(
221
247
  funcMap,
222
248
  configuration,
223
249
  filterOperations,
250
+ aggregateOperations,
224
251
  );
225
252
 
226
253
  if (!sequence.length) {