@finos/legend-data-cube 0.1.3 → 0.1.5

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 (408) hide show
  1. package/lib/__lib__/DataCubeSetting.d.ts +2 -0
  2. package/lib/__lib__/DataCubeSetting.d.ts.map +1 -1
  3. package/lib/__lib__/DataCubeSetting.js +2 -0
  4. package/lib/__lib__/DataCubeSetting.js.map +1 -1
  5. package/lib/components/DataCube.d.ts +2 -2
  6. package/lib/components/DataCube.d.ts.map +1 -1
  7. package/lib/components/DataCube.js +12 -11
  8. package/lib/components/DataCube.js.map +1 -1
  9. package/lib/components/DataCubePlaceholder.d.ts +2 -2
  10. package/lib/components/DataCubePlaceholder.d.ts.map +1 -1
  11. package/lib/components/DataCubePlaceholder.js.map +1 -1
  12. package/lib/components/DataCubeTitleBar.d.ts +3 -2
  13. package/lib/components/DataCubeTitleBar.d.ts.map +1 -1
  14. package/lib/components/DataCubeTitleBar.js +29 -9
  15. package/lib/components/DataCubeTitleBar.js.map +1 -1
  16. package/lib/index.css +1 -1
  17. package/lib/index.d.ts +3 -3
  18. package/lib/index.d.ts.map +1 -1
  19. package/lib/index.js +2 -2
  20. package/lib/index.js.map +1 -1
  21. package/lib/package.json +1 -1
  22. package/lib/stores/DataCubeAPI.d.ts +17 -4
  23. package/lib/stores/DataCubeAPI.d.ts.map +1 -1
  24. package/lib/stores/DataCubeAPI.js +9 -3
  25. package/lib/stores/DataCubeAPI.js.map +1 -1
  26. package/lib/stores/DataCubeOptions.d.ts +11 -8
  27. package/lib/stores/DataCubeOptions.d.ts.map +1 -1
  28. package/lib/stores/DataCubeOptions.js +4 -1
  29. package/lib/stores/DataCubeOptions.js.map +1 -1
  30. package/lib/stores/DataCubeState.d.ts +3 -3
  31. package/lib/stores/DataCubeState.d.ts.map +1 -1
  32. package/lib/stores/DataCubeState.js +3 -3
  33. package/lib/stores/DataCubeState.js.map +1 -1
  34. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +3 -3
  35. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  36. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  37. package/lib/stores/core/DataCubeEngine.d.ts +5 -5
  38. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
  39. package/lib/stores/core/DataCubeEngine.js +6 -6
  40. package/lib/stores/core/DataCubeEngine.js.map +1 -1
  41. package/lib/stores/core/DataCubeQueryBuilder.d.ts +4 -4
  42. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  43. package/lib/stores/core/DataCubeQueryBuilder.js +2 -2
  44. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  45. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +5 -5
  46. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  47. package/lib/stores/core/DataCubeQueryBuilderUtils.js +2 -2
  48. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  49. package/lib/stores/core/{DataCubeQuerySnapshot.d.ts → DataCubeSnapshot.d.ts} +28 -28
  50. package/lib/stores/core/DataCubeSnapshot.d.ts.map +1 -0
  51. package/lib/stores/core/{DataCubeQuerySnapshot.js → DataCubeSnapshot.js} +5 -5
  52. package/lib/stores/core/DataCubeSnapshot.js.map +1 -0
  53. package/lib/stores/core/{DataCubeQuerySnapshotBuilder.d.ts → DataCubeSnapshotBuilder.d.ts} +8 -8
  54. package/lib/stores/core/DataCubeSnapshotBuilder.d.ts.map +1 -0
  55. package/lib/stores/core/{DataCubeQuerySnapshotBuilder.js → DataCubeSnapshotBuilder.js} +12 -12
  56. package/lib/stores/core/DataCubeSnapshotBuilder.js.map +1 -0
  57. package/lib/stores/core/{DataCubeQuerySnapshotBuilderUtils.d.ts → DataCubeSnapshotBuilderUtils.d.ts} +6 -6
  58. package/lib/stores/core/DataCubeSnapshotBuilderUtils.d.ts.map +1 -0
  59. package/lib/stores/core/{DataCubeQuerySnapshotBuilderUtils.js → DataCubeSnapshotBuilderUtils.js} +16 -10
  60. package/lib/stores/core/DataCubeSnapshotBuilderUtils.js.map +1 -0
  61. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +3 -3
  62. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -1
  63. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +1 -1
  64. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js +1 -1
  65. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js.map +1 -1
  66. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +1 -1
  67. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js +1 -1
  68. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js.map +1 -1
  69. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +1 -1
  70. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js +1 -1
  71. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js.map +1 -1
  72. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +1 -1
  73. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js +1 -1
  74. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js.map +1 -1
  75. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +1 -1
  76. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js +1 -1
  77. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js.map +1 -1
  78. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +1 -1
  79. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js +1 -1
  80. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js.map +1 -1
  81. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +1 -1
  82. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js +1 -1
  83. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js.map +1 -1
  84. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +1 -1
  85. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js +1 -1
  86. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js.map +1 -1
  87. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +1 -1
  88. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js +1 -1
  89. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js.map +1 -1
  90. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +1 -1
  91. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js +1 -1
  92. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js.map +1 -1
  93. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +1 -1
  94. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js +1 -1
  95. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js.map +1 -1
  96. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +1 -1
  97. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js +1 -1
  98. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js.map +1 -1
  99. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +1 -1
  100. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js +1 -1
  101. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js.map +1 -1
  102. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +3 -3
  103. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
  104. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js +2 -2
  105. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -1
  106. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +4 -4
  107. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  108. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +3 -3
  109. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  110. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +1 -1
  111. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
  112. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +3 -3
  113. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  114. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +1 -1
  115. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
  116. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +3 -3
  117. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  118. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +1 -1
  119. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
  120. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +3 -3
  121. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  122. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +1 -1
  123. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
  124. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +3 -3
  125. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  126. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +1 -1
  127. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  128. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +3 -3
  129. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  130. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +1 -1
  131. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
  132. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +3 -3
  133. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  134. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +1 -1
  135. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
  136. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +3 -3
  137. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  138. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +1 -1
  139. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
  140. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +3 -3
  141. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  142. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +1 -1
  143. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
  144. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +3 -3
  145. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  146. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +1 -1
  147. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
  148. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +3 -3
  149. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +1 -1
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +3 -3
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +1 -1
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +3 -3
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +1 -1
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
  160. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +3 -3
  161. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  162. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +1 -1
  163. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
  164. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +3 -3
  165. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  166. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +1 -1
  167. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
  168. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +3 -3
  169. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  170. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +1 -1
  171. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
  172. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +3 -3
  173. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  174. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +1 -1
  175. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
  176. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +3 -3
  177. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  178. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +1 -1
  179. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
  180. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +3 -3
  181. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  182. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +1 -1
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +3 -3
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +1 -1
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +3 -3
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +1 -1
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +3 -3
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  194. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +1 -1
  195. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
  196. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +3 -3
  197. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  198. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +1 -1
  199. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
  200. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +3 -3
  201. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  202. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +1 -1
  203. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
  204. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +3 -3
  205. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  206. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +1 -1
  207. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
  208. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +3 -3
  209. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  210. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +1 -1
  211. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
  212. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +3 -3
  213. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  214. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +1 -1
  215. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
  216. package/lib/stores/core/model/DataCubeConfiguration.d.ts +1 -1
  217. package/lib/stores/core/model/DataCubeConfiguration.js +1 -1
  218. package/lib/stores/core/model/{DataCubeQuery.d.ts → DataCubeSpecification.d.ts} +8 -3
  219. package/lib/stores/core/model/DataCubeSpecification.d.ts.map +1 -0
  220. package/lib/stores/core/model/{DataCubeQuery.js → DataCubeSpecification.js} +12 -4
  221. package/lib/stores/core/model/DataCubeSpecification.js.map +1 -0
  222. package/lib/stores/services/DataCubeSettingService.d.ts +1 -0
  223. package/lib/stores/services/DataCubeSettingService.d.ts.map +1 -1
  224. package/lib/stores/services/DataCubeSettingService.js +22 -0
  225. package/lib/stores/services/DataCubeSettingService.js.map +1 -1
  226. package/lib/stores/services/DataCubeSnapshotService.d.ts +59 -0
  227. package/lib/stores/services/DataCubeSnapshotService.d.ts.map +1 -0
  228. package/lib/stores/services/{DataCubeQuerySnapshotService.js → DataCubeSnapshotService.js} +77 -31
  229. package/lib/stores/services/DataCubeSnapshotService.js.map +1 -0
  230. package/lib/stores/view/DataCubeInfoState.d.ts +4 -4
  231. package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -1
  232. package/lib/stores/view/DataCubeInfoState.js +2 -2
  233. package/lib/stores/view/DataCubeInfoState.js.map +1 -1
  234. package/lib/stores/view/DataCubeViewState.d.ts +12 -9
  235. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  236. package/lib/stores/view/DataCubeViewState.js +107 -19
  237. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  238. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +3 -3
  239. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  240. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +1 -1
  241. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  242. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts +3 -3
  243. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  244. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +1 -1
  245. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  246. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +3 -3
  247. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  248. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +1 -1
  249. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  250. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +3 -3
  251. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
  252. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +1 -1
  253. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
  254. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +2 -2
  255. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  256. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +1 -1
  257. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  258. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts +3 -3
  259. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  260. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts +3 -3
  261. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -1
  262. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js +2 -2
  263. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -1
  264. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +3 -3
  265. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  266. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +1 -1
  267. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  268. package/lib/stores/view/editor/DataCubeEditorState.d.ts +6 -6
  269. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
  270. package/lib/stores/view/editor/DataCubeEditorState.js +3 -3
  271. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
  272. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +3 -3
  273. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  274. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +1 -1
  275. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  276. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +2 -2
  277. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  278. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  279. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts +8 -8
  280. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
  281. package/lib/stores/view/extend/DataCubeExtendManagerState.js +3 -3
  282. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
  283. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts +4 -4
  284. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  285. package/lib/stores/view/filter/DataCubeFilterEditorState.js +4 -4
  286. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  287. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +3 -3
  288. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  289. package/lib/stores/view/grid/DataCubeGridClientEngine.js +23 -27
  290. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  291. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +4 -4
  292. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  293. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +3 -3
  294. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  295. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +5 -5
  296. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
  297. package/lib/stores/view/grid/DataCubeGridControllerState.js +6 -6
  298. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
  299. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +2 -2
  300. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  301. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +9 -8
  302. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  303. package/lib/stores/view/grid/{DataCubeGridQuerySnapshotBuilder.d.ts → DataCubeGridSnapshotBuilder.d.ts} +5 -5
  304. package/lib/stores/view/grid/DataCubeGridSnapshotBuilder.d.ts.map +1 -0
  305. package/lib/stores/view/grid/{DataCubeGridQuerySnapshotBuilder.js → DataCubeGridSnapshotBuilder.js} +6 -6
  306. package/lib/stores/view/grid/DataCubeGridSnapshotBuilder.js.map +1 -0
  307. package/lib/stores/view/grid/DataCubeGridState.d.ts +7 -5
  308. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
  309. package/lib/stores/view/grid/DataCubeGridState.js +7 -6
  310. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
  311. package/package.json +3 -3
  312. package/src/__lib__/DataCubeSetting.ts +2 -0
  313. package/src/components/DataCube.tsx +14 -12
  314. package/src/components/DataCubePlaceholder.tsx +5 -2
  315. package/src/components/DataCubeTitleBar.tsx +49 -19
  316. package/src/index.tsx +3 -2
  317. package/src/stores/DataCubeAPI.ts +25 -6
  318. package/src/stores/DataCubeOptions.ts +13 -11
  319. package/src/stores/DataCubeState.tsx +4 -4
  320. package/src/stores/core/DataCubeConfigurationBuilder.ts +3 -3
  321. package/src/stores/core/DataCubeEngine.tsx +8 -8
  322. package/src/stores/core/DataCubeQueryBuilder.ts +4 -4
  323. package/src/stores/core/DataCubeQueryBuilderUtils.ts +8 -8
  324. package/src/stores/core/{DataCubeQuerySnapshot.ts → DataCubeSnapshot.ts} +31 -34
  325. package/src/stores/core/{DataCubeQuerySnapshotBuilder.ts → DataCubeSnapshotBuilder.ts} +22 -22
  326. package/src/stores/core/{DataCubeQuerySnapshotBuilderUtils.ts → DataCubeSnapshotBuilderUtils.ts} +39 -25
  327. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +3 -3
  328. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +1 -1
  329. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +1 -1
  330. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +1 -1
  331. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +1 -1
  332. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +1 -1
  333. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +1 -1
  334. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +1 -1
  335. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +1 -1
  336. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +1 -1
  337. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +1 -1
  338. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +1 -1
  339. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +1 -1
  340. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +1 -1
  341. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +8 -8
  342. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +4 -4
  343. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +3 -3
  344. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +3 -3
  345. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +3 -3
  346. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +3 -3
  347. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +3 -3
  348. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +3 -3
  349. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +3 -3
  350. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +3 -3
  351. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +3 -3
  352. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +3 -3
  353. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +3 -3
  354. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +3 -3
  355. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +3 -3
  356. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +3 -3
  357. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +3 -3
  358. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +3 -3
  359. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +3 -3
  360. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +3 -3
  361. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +3 -3
  362. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +3 -3
  363. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +3 -3
  364. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +3 -3
  365. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +3 -3
  366. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +3 -3
  367. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +3 -3
  368. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +3 -3
  369. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +3 -3
  370. package/src/stores/core/model/DataCubeConfiguration.ts +1 -1
  371. package/src/stores/core/model/{DataCubeQuery.ts → DataCubeSpecification.ts} +17 -3
  372. package/src/stores/services/DataCubeSettingService.tsx +23 -0
  373. package/src/stores/services/{DataCubeQuerySnapshotService.ts → DataCubeSnapshotService.ts} +116 -65
  374. package/src/stores/view/DataCubeInfoState.ts +5 -5
  375. package/src/stores/view/DataCubeViewState.ts +143 -23
  376. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +3 -6
  377. package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +3 -6
  378. package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +3 -6
  379. package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +3 -6
  380. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +2 -2
  381. package/src/stores/view/editor/DataCubeEditorPanelState.ts +4 -4
  382. package/src/stores/view/editor/DataCubeEditorPivotLayoutPanelState.ts +4 -7
  383. package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +3 -6
  384. package/src/stores/view/editor/DataCubeEditorState.tsx +9 -9
  385. package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +3 -6
  386. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +2 -2
  387. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +11 -11
  388. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +7 -7
  389. package/src/stores/view/grid/DataCubeGridClientEngine.ts +39 -39
  390. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +12 -12
  391. package/src/stores/view/grid/DataCubeGridControllerState.ts +12 -12
  392. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +15 -9
  393. package/src/stores/view/grid/{DataCubeGridQuerySnapshotBuilder.ts → DataCubeGridSnapshotBuilder.ts} +6 -6
  394. package/src/stores/view/grid/DataCubeGridState.ts +15 -9
  395. package/tsconfig.json +6 -6
  396. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +0 -1
  397. package/lib/stores/core/DataCubeQuerySnapshot.js.map +0 -1
  398. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +0 -1
  399. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +0 -1
  400. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +0 -1
  401. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +0 -1
  402. package/lib/stores/core/model/DataCubeQuery.d.ts.map +0 -1
  403. package/lib/stores/core/model/DataCubeQuery.js.map +0 -1
  404. package/lib/stores/services/DataCubeQuerySnapshotService.d.ts +0 -54
  405. package/lib/stores/services/DataCubeQuerySnapshotService.d.ts.map +0 -1
  406. package/lib/stores/services/DataCubeQuerySnapshotService.js.map +0 -1
  407. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +0 -1
  408. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +0 -1
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { DataCubeQueryFilterOperation } from './DataCubeQueryFilterOperation.js';
17
- import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
17
+ import type { DataCubeSnapshotFilterCondition } from '../DataCubeSnapshot.js';
18
18
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
19
19
  import {
20
20
  DataCubeColumnDataType,
@@ -36,7 +36,7 @@ import { type V1_AppliedFunction } from '@finos/legend-graph';
36
36
  import {
37
37
  _filterCondition_caseSensitive,
38
38
  _unwrapNotFilterCondition,
39
- } from '../DataCubeQuerySnapshotBuilderUtils.js';
39
+ } from '../DataCubeSnapshotBuilderUtils.js';
40
40
 
41
41
  export class DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn extends DataCubeQueryFilterOperation {
42
42
  override get label() {
@@ -87,7 +87,7 @@ export class DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn extends
87
87
  );
88
88
  }
89
89
 
90
- buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
90
+ buildConditionExpression(condition: DataCubeSnapshotFilterCondition) {
91
91
  return _not(
92
92
  _function(_functionName(DataCubeFunction.EQUAL), [
93
93
  _function(_functionName(DataCubeFunction.TO_LOWERCASE), [
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { DataCubeQueryFilterOperation } from './DataCubeQueryFilterOperation.js';
17
- import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
17
+ import type { DataCubeSnapshotFilterCondition } from '../DataCubeSnapshot.js';
18
18
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
19
19
  import {
20
20
  DataCubeColumnDataType,
@@ -36,7 +36,7 @@ import { type V1_AppliedFunction } from '@finos/legend-graph';
36
36
  import {
37
37
  _filterCondition_base,
38
38
  _unwrapNotFilterCondition,
39
- } from '../DataCubeQuerySnapshotBuilderUtils.js';
39
+ } from '../DataCubeSnapshotBuilderUtils.js';
40
40
 
41
41
  export class DataCubeQueryFilterOperation__NotEqualColumn extends DataCubeQueryFilterOperation {
42
42
  override get label() {
@@ -92,7 +92,7 @@ export class DataCubeQueryFilterOperation__NotEqualColumn extends DataCubeQueryF
92
92
  );
93
93
  }
94
94
 
95
- buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
95
+ buildConditionExpression(condition: DataCubeSnapshotFilterCondition) {
96
96
  return _not(
97
97
  _function(_functionName(DataCubeFunction.EQUAL), [
98
98
  _property(condition.name),
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { DataCubeQueryFilterOperation } from './DataCubeQueryFilterOperation.js';
17
- import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
17
+ import type { DataCubeSnapshotFilterCondition } from '../DataCubeSnapshot.js';
18
18
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
19
19
  import {
20
20
  DataCubeColumnDataType,
@@ -37,7 +37,7 @@ import { type V1_AppliedFunction } from '@finos/legend-graph';
37
37
  import {
38
38
  _unwrapNotFilterCondition,
39
39
  _filterCondition_base,
40
- } from '../DataCubeQuerySnapshotBuilderUtils.js';
40
+ } from '../DataCubeSnapshotBuilderUtils.js';
41
41
 
42
42
  export class DataCubeQueryFilterOperation__NotStartWith extends DataCubeQueryFilterOperation {
43
43
  override get label() {
@@ -90,7 +90,7 @@ export class DataCubeQueryFilterOperation__NotStartWith extends DataCubeQueryFil
90
90
  );
91
91
  }
92
92
 
93
- buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
93
+ buildConditionExpression(condition: DataCubeSnapshotFilterCondition) {
94
94
  return _not(
95
95
  _function(_functionName(DataCubeFunction.STARTS_WITH), [
96
96
  _property(condition.name),
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { DataCubeQueryFilterOperation } from './DataCubeQueryFilterOperation.js';
17
- import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
17
+ import type { DataCubeSnapshotFilterCondition } from '../DataCubeSnapshot.js';
18
18
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
19
19
  import {
20
20
  DataCubeColumnDataType,
@@ -32,7 +32,7 @@ import {
32
32
  _value,
33
33
  } from '../DataCubeQueryBuilderUtils.js';
34
34
  import { type V1_AppliedFunction } from '@finos/legend-graph';
35
- import { _filterCondition_base } from '../DataCubeQuerySnapshotBuilderUtils.js';
35
+ import { _filterCondition_base } from '../DataCubeSnapshotBuilderUtils.js';
36
36
  import { isString } from '@finos/legend-shared';
37
37
 
38
38
  export class DataCubeQueryFilterOperation__StartWith extends DataCubeQueryFilterOperation {
@@ -86,7 +86,7 @@ export class DataCubeQueryFilterOperation__StartWith extends DataCubeQueryFilter
86
86
  );
87
87
  }
88
88
 
89
- buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
89
+ buildConditionExpression(condition: DataCubeSnapshotFilterCondition) {
90
90
  return _function(_functionName(DataCubeFunction.STARTS_WITH), [
91
91
  _property(condition.name),
92
92
  _value(condition.value),
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { DataCubeQueryFilterOperation } from './DataCubeQueryFilterOperation.js';
17
- import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
17
+ import type { DataCubeSnapshotFilterCondition } from '../DataCubeSnapshot.js';
18
18
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
19
19
  import {
20
20
  DataCubeColumnDataType,
@@ -32,7 +32,7 @@ import {
32
32
  _value,
33
33
  } from '../DataCubeQueryBuilderUtils.js';
34
34
  import { type V1_AppliedFunction } from '@finos/legend-graph';
35
- import { _filterCondition_caseSensitive } from '../DataCubeQuerySnapshotBuilderUtils.js';
35
+ import { _filterCondition_caseSensitive } from '../DataCubeSnapshotBuilderUtils.js';
36
36
  import { isString } from '@finos/legend-shared';
37
37
 
38
38
  export class DataCubeQueryFilterOperation__StartWithCaseInsensitive extends DataCubeQueryFilterOperation {
@@ -86,7 +86,7 @@ export class DataCubeQueryFilterOperation__StartWithCaseInsensitive extends Data
86
86
  );
87
87
  }
88
88
 
89
- buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
89
+ buildConditionExpression(condition: DataCubeSnapshotFilterCondition) {
90
90
  return _function(_functionName(DataCubeFunction.STARTS_WITH), [
91
91
  _function(_functionName(DataCubeFunction.TO_LOWERCASE), [
92
92
  _property(condition.name),
@@ -98,7 +98,7 @@ export class DataCubeColumnConfiguration {
98
98
  /**
99
99
  * Unlike `isSelected`, this is used to indicate if the column is to be displayed
100
100
  * in the grid or not, this would not influence data-fetching, i.e. the column
101
- * is still fetched and used in various part of the queries, but the column associated
101
+ * is still fetched and used in various part of the query, but the column associated
102
102
  * will not be displayed in the result grid.
103
103
  */
104
104
  hideFromView = false;
@@ -19,19 +19,33 @@ import {
19
19
  usingModelSchema,
20
20
  type PlainObject,
21
21
  } from '@finos/legend-shared';
22
- import { createModelSchema, primitive, raw } from 'serializr';
22
+ import { createModelSchema, optional, primitive, raw } from 'serializr';
23
23
  import { DataCubeConfiguration } from './DataCubeConfiguration.js';
24
24
 
25
- export class DataCubeQuery {
25
+ export class DataCubeSpecificationOptions {
26
+ autoEnableCache?: boolean | undefined;
27
+
28
+ static readonly serialization = new SerializationFactory(
29
+ createModelSchema(DataCubeSpecificationOptions, {
30
+ autoEnableCache: optional(primitive()),
31
+ }),
32
+ );
33
+ }
34
+
35
+ export class DataCubeSpecification {
26
36
  query!: string;
27
37
  configuration?: DataCubeConfiguration | undefined;
28
38
  source!: PlainObject;
39
+ options?: DataCubeSpecificationOptions | undefined;
29
40
 
30
41
  static readonly serialization = new SerializationFactory(
31
- createModelSchema(DataCubeQuery, {
42
+ createModelSchema(DataCubeSpecification, {
32
43
  configuration: usingModelSchema(
33
44
  DataCubeConfiguration.serialization.schema,
34
45
  ),
46
+ options: optional(
47
+ usingModelSchema(DataCubeSpecificationOptions.serialization.schema),
48
+ ),
35
49
  query: primitive(),
36
50
  source: raw(),
37
51
  }),
@@ -55,6 +55,7 @@ export type DataCubeSettingValues = {
55
55
 
56
56
  export enum DataCubeSettingGroup {
57
57
  DEBUG = 'Debug',
58
+ EDITOR = 'Editor',
58
59
  GRID = 'Grid',
59
60
  }
60
61
 
@@ -169,6 +170,28 @@ export class DataCubeSettingService {
169
170
  type: DataCubeSettingType.BOOLEAN,
170
171
  defaultValue: true,
171
172
  } satisfies DataCubeSetting<boolean>,
173
+ {
174
+ key: DataCubeSettingKey.GRID_CLIENT__SHOW_AUTO_ENABLE_CACHE_PERFORMANCE_WARNING,
175
+ title: `Caching (Auto-Enabled) Performance Warning: Enabled`,
176
+ description: `Alerts user that caching is auto-enabled for the DataCube and of potential performance and resource-related issues that caching can cause when enabled.`,
177
+ group: DataCubeSettingGroup.GRID,
178
+ type: DataCubeSettingType.BOOLEAN,
179
+ defaultValue: true,
180
+ } satisfies DataCubeSetting<boolean>,
181
+ {
182
+ key: DataCubeSettingKey.EDITOR__MAX_HISTORY_STACK_SIZE,
183
+ title: `Max History Stack Size`,
184
+ description: `Sets the number of maximum snapshots to store in edit history.`,
185
+ group: DataCubeSettingGroup.EDITOR,
186
+ type: DataCubeSettingType.NUMERIC,
187
+ defaultValue: 100,
188
+ numericValueMin: 10,
189
+ numericValueStep: 10,
190
+ action: (api, newValue) =>
191
+ (api as INTERNAL__DataCubeAPI)._runTaskForEachView((view) => {
192
+ view.snapshotService.adjustHistorySize(newValue);
193
+ }),
194
+ } satisfies DataCubeSetting<number>,
172
195
  {
173
196
  key: DataCubeSettingKey.GRID_CLIENT__SUPPRESS_LARGE_DATASET_WARNING,
174
197
  title: `Large Dataset Warning: Disabled`,
@@ -14,42 +14,38 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
17
+ import type { DataCubeSnapshot } from '../core/DataCubeSnapshot.js';
18
18
  import {
19
19
  IllegalStateError,
20
20
  assertErrorThrown,
21
21
  at,
22
22
  deepDiff,
23
- guaranteeNonNullable,
24
23
  } from '@finos/legend-shared';
25
- import type { DataCubeQuery } from '../core/model/DataCubeQuery.js';
26
24
  import { DataCubeSettingKey } from '../../__lib__/DataCubeSetting.js';
27
25
  import type { DataCubeEngine } from '../core/DataCubeEngine.js';
28
26
  import type { DataCubeSettingService } from './DataCubeSettingService.js';
29
27
  import type { DataCubeLogService } from './DataCubeLogService.js';
28
+ import { action, computed, makeObservable, observable } from 'mobx';
30
29
 
31
- // TODO: set a stack depth when we implement undo/redo
32
- // const DATA_CUBE_MAX_SNAPSHOT_COUNT = 100;
33
-
34
- interface DataCubeQuerySnapshotSubscriber {
30
+ interface DataCubeSnapshotSubscriber {
35
31
  getSnapshotSubscriberName(): string;
36
- getLatestSnapshot(): DataCubeQuerySnapshot | undefined;
37
- receiveSnapshot(snapshot: DataCubeQuerySnapshot): Promise<void>;
32
+ getLatestSnapshot(): DataCubeSnapshot | undefined;
33
+ receiveSnapshot(snapshot: DataCubeSnapshot): Promise<void>;
38
34
  }
39
35
 
40
- export abstract class DataCubeQuerySnapshotController
41
- implements DataCubeQuerySnapshotSubscriber
36
+ export abstract class DataCubeSnapshotController
37
+ implements DataCubeSnapshotSubscriber
42
38
  {
43
39
  protected readonly _engine: DataCubeEngine;
44
40
  protected readonly _settingService: DataCubeSettingService;
45
- protected readonly _snapshotService: DataCubeQuerySnapshotService;
41
+ protected readonly _snapshotService: DataCubeSnapshotService;
46
42
 
47
- private _latestSnapshot: DataCubeQuerySnapshot | undefined;
43
+ private _latestSnapshot: DataCubeSnapshot | undefined;
48
44
 
49
45
  constructor(
50
46
  engine: DataCubeEngine,
51
47
  settingService: DataCubeSettingService,
52
- snapshotService: DataCubeQuerySnapshotService,
48
+ snapshotService: DataCubeSnapshotService,
53
49
  ) {
54
50
  this._engine = engine;
55
51
  this._settingService = settingService;
@@ -62,7 +58,7 @@ export abstract class DataCubeQuerySnapshotController
62
58
  return this._latestSnapshot;
63
59
  }
64
60
 
65
- async receiveSnapshot(snapshot: DataCubeQuerySnapshot) {
61
+ async receiveSnapshot(snapshot: DataCubeSnapshot) {
66
62
  const previousSnapshot = this._latestSnapshot;
67
63
  this._latestSnapshot = snapshot;
68
64
 
@@ -72,11 +68,11 @@ export abstract class DataCubeQuerySnapshotController
72
68
  }
73
69
 
74
70
  abstract applySnapshot(
75
- snapshot: DataCubeQuerySnapshot,
76
- previousSnapshot: DataCubeQuerySnapshot | undefined,
71
+ snapshot: DataCubeSnapshot,
72
+ previousSnapshot: DataCubeSnapshot | undefined,
77
73
  ): Promise<void>;
78
74
 
79
- publishSnapshot(snapshot: DataCubeQuerySnapshot) {
75
+ publishSnapshot(snapshot: DataCubeSnapshot) {
80
76
  const previousSnapshot = this._latestSnapshot;
81
77
  this._latestSnapshot = snapshot;
82
78
 
@@ -98,25 +94,44 @@ export abstract class DataCubeQuerySnapshotController
98
94
  }
99
95
  }
100
96
 
101
- export class DataCubeQuerySnapshotService {
102
- private readonly _engine: DataCubeEngine;
97
+ const MINIMUM_HISTORY_SIZE = 10;
98
+
99
+ export class DataCubeSnapshotService {
103
100
  private readonly _logService: DataCubeLogService;
101
+ private readonly _settingService: DataCubeSettingService;
104
102
 
105
- private readonly _subscribers: DataCubeQuerySnapshotSubscriber[] = [];
106
- private readonly _snapshots: DataCubeQuerySnapshot[] = []; // stack
107
- private _initialSnapshot: DataCubeQuerySnapshot | undefined;
108
- private _initialQuery: DataCubeQuery | undefined;
103
+ private readonly _subscribers: DataCubeSnapshotSubscriber[] = [];
109
104
 
110
- constructor(engine: DataCubeEngine, logService: DataCubeLogService) {
111
- this._engine = engine;
105
+ private _snapshots: DataCubeSnapshot[] = []; // stack
106
+ private _pointer = -1;
107
+ private _historySize;
108
+
109
+ constructor(
110
+ logService: DataCubeLogService,
111
+ settingService: DataCubeSettingService,
112
+ ) {
113
+ makeObservable<DataCubeSnapshotService, '_snapshots' | '_pointer'>(this, {
114
+ _snapshots: observable.struct,
115
+ _pointer: observable,
116
+ canUndo: computed,
117
+ canRedo: computed,
118
+ undo: action,
119
+ redo: action,
120
+ adjustHistorySize: action,
121
+ broadcastSnapshot: action,
122
+ });
112
123
  this._logService = logService;
113
- }
124
+ this._settingService = settingService;
114
125
 
115
- get currentSnapshot() {
116
- return at(this._snapshots, this._snapshots.length - 1);
126
+ this._historySize = Math.max(
127
+ this._settingService.getNumericValue(
128
+ DataCubeSettingKey.EDITOR__MAX_HISTORY_STACK_SIZE,
129
+ ),
130
+ MINIMUM_HISTORY_SIZE,
131
+ );
117
132
  }
118
133
 
119
- registerSubscriber(subscriber: DataCubeQuerySnapshotSubscriber) {
134
+ registerSubscriber(subscriber: DataCubeSnapshotSubscriber) {
120
135
  const existingSubscriber = this._subscribers.find(
121
136
  (sub) =>
122
137
  sub.getSnapshotSubscriberName() ===
@@ -137,41 +152,7 @@ export class DataCubeQuerySnapshotService {
137
152
  this._subscribers.push(subscriber);
138
153
  }
139
154
 
140
- initialize(
141
- initialSnapshot: DataCubeQuerySnapshot,
142
- initialQuery: DataCubeQuery,
143
- ) {
144
- if (this._initialSnapshot || this._initialQuery) {
145
- throw new IllegalStateError(
146
- `Snapshot manager has already been initialized`,
147
- );
148
- }
149
- this._initialSnapshot = initialSnapshot;
150
- this._initialQuery = initialQuery;
151
- }
152
-
153
- get initialSnapshot() {
154
- return guaranteeNonNullable(
155
- this._initialSnapshot,
156
- `Snapshot manager has not been initialized`,
157
- );
158
- }
159
-
160
- get initialQuery() {
161
- return guaranteeNonNullable(
162
- this._initialQuery,
163
- `Snapshot manager has not been initialized`,
164
- );
165
- }
166
-
167
- broadcastSnapshot(snapshot: DataCubeQuerySnapshot) {
168
- if (!snapshot.isFinalized()) {
169
- this._logService.logIllegalStateError(
170
- `Snapshot must be finalized before broadcasting`,
171
- );
172
- return;
173
- }
174
- this._snapshots.push(snapshot);
155
+ private propagateSnapshot(snapshot: DataCubeSnapshot): void {
175
156
  this._subscribers.forEach((subscriber) => {
176
157
  const currentSnapshot = subscriber.getLatestSnapshot();
177
158
  if (currentSnapshot?.uuid !== snapshot.uuid) {
@@ -185,4 +166,74 @@ export class DataCubeQuerySnapshotService {
185
166
  }
186
167
  });
187
168
  }
169
+
170
+ getCurrentSnapshot() {
171
+ return at(this._snapshots, this._pointer);
172
+ }
173
+
174
+ getHistory(options?: { full?: boolean }) {
175
+ return options?.full
176
+ ? [...this._snapshots]
177
+ : this._snapshots.slice(0, this._pointer + 1);
178
+ }
179
+
180
+ get canUndo() {
181
+ return this._pointer > 0;
182
+ }
183
+
184
+ get canRedo() {
185
+ return this._pointer < this._snapshots.length - 1;
186
+ }
187
+
188
+ undo() {
189
+ // Always leave one snapshot in the stack
190
+ this._pointer = Math.max(this._pointer - 1, 0);
191
+ this.propagateSnapshot(this.getCurrentSnapshot());
192
+ }
193
+
194
+ redo() {
195
+ this._pointer = Math.min(this._pointer + 1, this._snapshots.length - 1);
196
+ this.propagateSnapshot(this.getCurrentSnapshot());
197
+ }
198
+
199
+ adjustHistorySize(size: number): void {
200
+ let newSize = size;
201
+ if (size <= MINIMUM_HISTORY_SIZE) {
202
+ this._logService.logIllegalStateError(
203
+ `Can't adjust history size to ${size}: value must be greator than ${MINIMUM_HISTORY_SIZE}`,
204
+ );
205
+ newSize = Math.max(size, MINIMUM_HISTORY_SIZE);
206
+ }
207
+ const snapshots = this.getHistory();
208
+ if (snapshots.length > newSize) {
209
+ this._snapshots = snapshots.slice(-newSize);
210
+ this._pointer = Math.min(
211
+ Math.max(this._pointer - (snapshots.length - newSize), 0),
212
+ snapshots.length - 1,
213
+ );
214
+ } else {
215
+ this._snapshots = snapshots;
216
+ this._pointer = snapshots.length - 1;
217
+ }
218
+ this._historySize = newSize;
219
+ }
220
+
221
+ broadcastSnapshot(snapshot: DataCubeSnapshot) {
222
+ if (!snapshot.isFinalized()) {
223
+ this._logService.logIllegalStateError(
224
+ `Snapshot must be finalized before broadcasting`,
225
+ );
226
+ return;
227
+ }
228
+
229
+ this._snapshots = [
230
+ ...this._snapshots.slice(0, this._pointer + 1),
231
+ snapshot,
232
+ ];
233
+ this._pointer += 1;
234
+ // always adjust to history size after adding a new snapshot
235
+ this.adjustHistorySize(this._historySize);
236
+
237
+ this.propagateSnapshot(snapshot);
238
+ }
188
239
  }
@@ -16,8 +16,8 @@
16
16
 
17
17
  import { action, makeObservable, observable } from 'mobx';
18
18
  import type { DataCubeViewState } from './DataCubeViewState.js';
19
- import { DataCubeQuerySnapshotController } from '../services/DataCubeQuerySnapshotService.js';
20
- import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
19
+ import { DataCubeSnapshotController } from '../services/DataCubeSnapshotService.js';
20
+ import type { DataCubeSnapshot } from '../core/DataCubeSnapshot.js';
21
21
  import { DataCubeConfiguration } from '../core/model/DataCubeConfiguration.js';
22
22
 
23
23
  /**
@@ -25,7 +25,7 @@ import { DataCubeConfiguration } from '../core/model/DataCubeConfiguration.js';
25
25
  * modification to the query, it simplies subscribe to extract information
26
26
  * from the latest snapshot to help display latest static info about the query.
27
27
  */
28
- export class DataCubeInfoState extends DataCubeQuerySnapshotController {
28
+ export class DataCubeInfoState extends DataCubeSnapshotController {
29
29
  private readonly _view: DataCubeViewState;
30
30
 
31
31
  name = '';
@@ -48,8 +48,8 @@ export class DataCubeInfoState extends DataCubeQuerySnapshotController {
48
48
  }
49
49
 
50
50
  override async applySnapshot(
51
- snapshot: DataCubeQuerySnapshot,
52
- previousSnapshot: DataCubeQuerySnapshot | undefined,
51
+ snapshot: DataCubeSnapshot,
52
+ previousSnapshot: DataCubeSnapshot | undefined,
53
53
  ) {
54
54
  const data = snapshot.data;
55
55
  const configuration = DataCubeConfiguration.serialization.fromJson(