@finos/legend-data-cube 0.0.41 → 0.0.43

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 (236) hide show
  1. package/lib/components/DataCube.d.ts.map +1 -1
  2. package/lib/components/DataCube.js +1 -1
  3. package/lib/components/DataCube.js.map +1 -1
  4. package/lib/components/DataCubePlaceholder.d.ts +0 -1
  5. package/lib/components/DataCubePlaceholder.d.ts.map +1 -1
  6. package/lib/components/DataCubePlaceholder.js.map +1 -1
  7. package/lib/components/core/DataCubeCodeCheckErrorAlert.d.ts.map +1 -1
  8. package/lib/components/core/DataCubeCodeCheckErrorAlert.js +5 -1
  9. package/lib/components/core/DataCubeCodeCheckErrorAlert.js.map +1 -1
  10. package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -1
  11. package/lib/components/view/extend/DataCubeColumnEditor.js +5 -2
  12. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
  13. package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -1
  14. package/lib/components/view/filter/DataCubeFilterEditor.js +3 -3
  15. package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -1
  16. package/lib/index.css +2 -2
  17. package/lib/index.css.map +1 -1
  18. package/lib/index.d.ts +1 -0
  19. package/lib/index.d.ts.map +1 -1
  20. package/lib/index.js +1 -0
  21. package/lib/index.js.map +1 -1
  22. package/lib/package.json +4 -4
  23. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  24. package/lib/stores/core/DataCubeQueryBuilder.js +12 -6
  25. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  26. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +5 -5
  27. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  28. package/lib/stores/core/DataCubeQueryBuilderUtils.js +20 -20
  29. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  30. package/lib/stores/core/DataCubeQueryEngine.d.ts +4 -2
  31. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  32. package/lib/stores/core/DataCubeQueryEngine.js +13 -0
  33. package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
  34. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +1 -1
  35. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  36. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +2 -1
  37. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  38. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +86 -53
  39. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  40. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +37 -8
  41. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  42. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +227 -203
  43. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  44. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +3 -3
  45. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
  46. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js +4 -8
  47. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -1
  48. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +7 -3
  49. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  50. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js +16 -1
  51. package/lib/stores/core/filter/DataCubeQueryFilterOperation.js.map +1 -1
  52. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +1 -1
  53. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  54. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +10 -14
  55. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
  56. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +1 -1
  57. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  58. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +10 -14
  59. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
  60. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +1 -1
  61. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  62. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +10 -14
  63. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
  64. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +1 -1
  65. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  66. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +10 -14
  67. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
  68. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +1 -2
  69. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  70. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +15 -90
  71. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  72. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +1 -1
  73. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  74. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +10 -14
  75. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
  76. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +1 -1
  77. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  78. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +6 -14
  79. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
  80. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +1 -1
  81. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  82. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +6 -14
  83. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
  84. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +1 -1
  85. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  86. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +14 -18
  87. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
  88. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +1 -1
  89. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  90. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +6 -14
  91. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
  92. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +1 -1
  93. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  94. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +14 -18
  95. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
  96. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +1 -1
  97. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  98. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +6 -14
  99. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
  100. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +6 -4
  101. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  102. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +15 -15
  103. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
  104. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +6 -4
  105. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  106. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +10 -15
  107. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
  108. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +1 -1
  109. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  110. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +14 -18
  111. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
  112. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +1 -1
  113. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  114. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +6 -14
  115. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
  116. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +1 -1
  117. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  118. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +14 -18
  119. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
  120. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +1 -1
  121. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  122. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +6 -14
  123. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
  124. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +1 -1
  125. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  126. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +14 -14
  127. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
  128. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +1 -1
  129. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  130. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +14 -14
  131. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
  132. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +1 -1
  133. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  134. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +19 -19
  135. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
  136. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +1 -1
  137. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  138. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +14 -14
  139. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
  140. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +1 -1
  141. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  142. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +10 -14
  143. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
  144. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +1 -1
  145. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  146. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +10 -14
  147. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
  148. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +1 -1
  149. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +14 -14
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +1 -1
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +10 -14
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +1 -1
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +10 -14
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
  160. package/lib/stores/core/model/DataCubeConfiguration.d.ts +2 -0
  161. package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -1
  162. package/lib/stores/core/model/DataCubeConfiguration.js +3 -1
  163. package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -1
  164. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  165. package/lib/stores/view/DataCubeViewState.js +1 -1
  166. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  167. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +2 -2
  168. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  169. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  170. package/lib/stores/view/extend/DataCubeColumnEditorState.js +3 -6
  171. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  172. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  173. package/lib/stores/view/filter/DataCubeFilterEditorState.js +3 -3
  174. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  175. package/lib/stores/view/grid/DataCubeGridClientEngine.js +1 -1
  176. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  177. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  178. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +5 -5
  179. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  180. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  181. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +13 -5
  182. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  183. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  184. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +8 -5
  185. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  186. package/package.json +9 -9
  187. package/src/components/DataCube.tsx +1 -0
  188. package/src/components/DataCubePlaceholder.tsx +0 -1
  189. package/src/components/core/DataCubeCodeCheckErrorAlert.tsx +7 -3
  190. package/src/components/view/extend/DataCubeColumnEditor.tsx +7 -4
  191. package/src/components/view/filter/DataCubeFilterEditor.tsx +10 -19
  192. package/src/index.tsx +1 -0
  193. package/src/stores/core/DataCubeQueryBuilder.ts +20 -6
  194. package/src/stores/core/DataCubeQueryBuilderUtils.ts +38 -33
  195. package/src/stores/core/DataCubeQueryEngine.ts +17 -1
  196. package/src/stores/core/DataCubeQuerySnapshot.ts +1 -1
  197. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +148 -75
  198. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +332 -260
  199. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +7 -11
  200. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +28 -6
  201. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +13 -21
  202. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +17 -21
  203. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +17 -21
  204. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +17 -21
  205. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +13 -98
  206. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +17 -21
  207. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +13 -19
  208. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +9 -19
  209. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +17 -21
  210. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +13 -19
  211. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +17 -21
  212. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +13 -19
  213. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +24 -20
  214. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +14 -20
  215. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +17 -21
  216. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +13 -19
  217. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +17 -21
  218. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +13 -19
  219. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +20 -19
  220. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +20 -19
  221. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +20 -19
  222. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +24 -19
  223. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +25 -18
  224. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +21 -18
  225. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +24 -19
  226. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +17 -21
  227. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +17 -21
  228. package/src/stores/core/model/DataCubeConfiguration.ts +9 -1
  229. package/src/stores/view/DataCubeViewState.ts +1 -0
  230. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +2 -2
  231. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +2 -5
  232. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +3 -7
  233. package/src/stores/view/grid/DataCubeGridClientEngine.ts +1 -1
  234. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +6 -6
  235. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +14 -5
  236. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +9 -5
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import {
17
17
  DataCubeQueryFilterOperation,
18
- generateDefaultFilterConditionPrimitiveTypeValue,
18
+ _defaultPrimitiveTypeValue,
19
19
  } from './DataCubeQueryFilterOperation.js';
20
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
21
21
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
@@ -23,6 +23,7 @@ import {
23
23
  DataCubeColumnDataType,
24
24
  DataCubeFunction,
25
25
  DataCubeQueryFilterOperator,
26
+ isPrimitiveType,
26
27
  ofDataType,
27
28
  type DataCubeOperationValue,
28
29
  } from '../DataCubeQueryEngine.js';
@@ -33,15 +34,8 @@ import {
33
34
  _value,
34
35
  } from '../DataCubeQueryBuilderUtils.js';
35
36
  import { guaranteeNonNullable } from '@finos/legend-shared';
36
- import {
37
- V1_PrimitiveValueSpecification,
38
- type V1_AppliedFunction,
39
- type V1_AppliedProperty,
40
- } from '@finos/legend-graph';
41
- import {
42
- _buildConditionSnapshotProperty,
43
- _dataCubeOperationValue,
44
- } from '../DataCubeQuerySnapshotBuilderUtils.js';
37
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
38
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
45
39
 
46
40
  export class DataCubeQueryFilterOperation__LessThanOrEqual extends DataCubeQueryFilterOperation {
47
41
  override get label() {
@@ -70,12 +64,13 @@ export class DataCubeQueryFilterOperation__LessThanOrEqual extends DataCubeQuery
70
64
 
71
65
  isCompatibleWithValue(value: DataCubeOperationValue) {
72
66
  return (
67
+ value.value !== undefined &&
68
+ isPrimitiveType(value.type) &&
73
69
  ofDataType(value.type, [
74
70
  DataCubeColumnDataType.NUMBER,
75
71
  DataCubeColumnDataType.DATE,
76
72
  DataCubeColumnDataType.TIME,
77
73
  ]) &&
78
- value.value !== undefined &&
79
74
  !Array.isArray(value.value)
80
75
  );
81
76
  }
@@ -83,20 +78,21 @@ export class DataCubeQueryFilterOperation__LessThanOrEqual extends DataCubeQuery
83
78
  generateDefaultValue(column: DataCubeColumn) {
84
79
  return {
85
80
  type: column.type,
86
- value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
81
+ value: _defaultPrimitiveTypeValue(column.type),
87
82
  };
88
83
  }
89
84
 
90
- buildConditionSnapshot(expression: V1_AppliedFunction) {
91
- const value = expression.parameters[1];
92
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
93
- expression.parameters[0] as V1_AppliedProperty,
94
- this.operator,
85
+ buildConditionSnapshot(
86
+ expression: V1_AppliedFunction,
87
+ columnGetter: (name: string) => DataCubeColumn,
88
+ ) {
89
+ return this._finalizeConditionSnapshot(
90
+ _baseFilterCondition(
91
+ expression,
92
+ columnGetter,
93
+ DataCubeFunction.LESS_THAN_OR_EQUAL,
94
+ ),
95
95
  );
96
- if (value instanceof V1_PrimitiveValueSpecification) {
97
- filterConditionSnapshot.value = _dataCubeOperationValue(value);
98
- }
99
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
100
96
  }
101
97
 
102
98
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -32,11 +32,8 @@ import {
32
32
  _var,
33
33
  } from '../DataCubeQueryBuilderUtils.js';
34
34
  import { guaranteeNonNullable, isString } from '@finos/legend-shared';
35
- import {
36
- V1_AppliedProperty,
37
- type V1_AppliedFunction,
38
- } from '@finos/legend-graph';
39
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
35
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
36
+ import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
40
37
 
41
38
  export class DataCubeQueryFilterOperation__LessThanOrEqualColumn extends DataCubeQueryFilterOperation {
42
39
  override get label() {
@@ -65,8 +62,8 @@ export class DataCubeQueryFilterOperation__LessThanOrEqualColumn extends DataCub
65
62
 
66
63
  isCompatibleWithValue(value: DataCubeOperationValue) {
67
64
  return (
68
- value.type === DataCubeOperationAdvancedValueType.COLUMN &&
69
65
  value.value !== undefined &&
66
+ value.type === DataCubeOperationAdvancedValueType.COLUMN &&
70
67
  isString(value.value)
71
68
  );
72
69
  }
@@ -78,20 +75,17 @@ export class DataCubeQueryFilterOperation__LessThanOrEqualColumn extends DataCub
78
75
  };
79
76
  }
80
77
 
81
- buildConditionSnapshot(expression: V1_AppliedFunction) {
82
- const value = expression.parameters[1];
83
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
84
- expression.parameters[0] as V1_AppliedProperty,
85
- this.operator,
78
+ buildConditionSnapshot(
79
+ expression: V1_AppliedFunction,
80
+ columnGetter: (name: string) => DataCubeColumn,
81
+ ) {
82
+ return this._finalizeConditionSnapshot(
83
+ _baseFilterCondition(
84
+ expression,
85
+ columnGetter,
86
+ DataCubeFunction.LESS_THAN_OR_EQUAL,
87
+ ),
86
88
  );
87
-
88
- if (value instanceof V1_AppliedProperty) {
89
- filterConditionSnapshot.value = {
90
- value: value.property,
91
- type: DataCubeOperationAdvancedValueType.COLUMN,
92
- } satisfies DataCubeOperationValue;
93
- }
94
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
95
89
  }
96
90
 
97
91
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import {
17
17
  DataCubeQueryFilterOperation,
18
- generateDefaultFilterConditionPrimitiveTypeValue,
18
+ _defaultPrimitiveTypeValue,
19
19
  } from './DataCubeQueryFilterOperation.js';
20
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
21
21
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
@@ -23,6 +23,7 @@ import {
23
23
  DataCubeColumnDataType,
24
24
  DataCubeFunction,
25
25
  DataCubeQueryFilterOperator,
26
+ isPrimitiveType,
26
27
  ofDataType,
27
28
  type DataCubeOperationValue,
28
29
  } from '../DataCubeQueryEngine.js';
@@ -33,15 +34,11 @@ import {
33
34
  _property,
34
35
  _value,
35
36
  } from '../DataCubeQueryBuilderUtils.js';
36
- import { guaranteeNonNullable } from '@finos/legend-shared';
37
+ import { guaranteeNonNullable, returnUndefOnError } from '@finos/legend-shared';
38
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
37
39
  import {
38
- V1_PrimitiveValueSpecification,
39
- type V1_AppliedFunction,
40
- type V1_AppliedProperty,
41
- } from '@finos/legend-graph';
42
- import {
43
- _buildConditionSnapshotProperty,
44
- _dataCubeOperationValue,
40
+ _unwrapNotFilterCondition,
41
+ _baseFilterCondition,
45
42
  } from '../DataCubeQuerySnapshotBuilderUtils.js';
46
43
 
47
44
  export class DataCubeQueryFilterOperation__NotContain extends DataCubeQueryFilterOperation {
@@ -67,8 +64,9 @@ export class DataCubeQueryFilterOperation__NotContain extends DataCubeQueryFilte
67
64
 
68
65
  isCompatibleWithValue(value: DataCubeOperationValue) {
69
66
  return (
70
- ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
71
67
  value.value !== undefined &&
68
+ isPrimitiveType(value.type) &&
69
+ ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
72
70
  !Array.isArray(value.value)
73
71
  );
74
72
  }
@@ -76,20 +74,23 @@ export class DataCubeQueryFilterOperation__NotContain extends DataCubeQueryFilte
76
74
  generateDefaultValue(column: DataCubeColumn) {
77
75
  return {
78
76
  type: column.type,
79
- value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
77
+ value: _defaultPrimitiveTypeValue(column.type),
80
78
  };
81
79
  }
82
80
 
83
- buildConditionSnapshot(expression: V1_AppliedFunction) {
84
- const value = expression.parameters[1];
85
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
86
- expression.parameters[0] as V1_AppliedProperty,
87
- this.operator,
81
+ buildConditionSnapshot(
82
+ expression: V1_AppliedFunction,
83
+ columnGetter: (name: string) => DataCubeColumn,
84
+ ) {
85
+ const unwrapped = returnUndefOnError(() =>
86
+ _unwrapNotFilterCondition(expression),
88
87
  );
89
- if (value instanceof V1_PrimitiveValueSpecification) {
90
- filterConditionSnapshot.value = _dataCubeOperationValue(value);
88
+ if (!unwrapped) {
89
+ return undefined;
91
90
  }
92
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
91
+ return this._finalizeConditionSnapshot(
92
+ _baseFilterCondition(unwrapped, columnGetter, DataCubeFunction.CONTAINS),
93
+ );
93
94
  }
94
95
 
95
96
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import {
17
17
  DataCubeQueryFilterOperation,
18
- generateDefaultFilterConditionPrimitiveTypeValue,
18
+ _defaultPrimitiveTypeValue,
19
19
  } from './DataCubeQueryFilterOperation.js';
20
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
21
21
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
@@ -23,6 +23,7 @@ import {
23
23
  DataCubeColumnDataType,
24
24
  DataCubeFunction,
25
25
  DataCubeQueryFilterOperator,
26
+ isPrimitiveType,
26
27
  ofDataType,
27
28
  type DataCubeOperationValue,
28
29
  } from '../DataCubeQueryEngine.js';
@@ -33,15 +34,11 @@ import {
33
34
  _property,
34
35
  _value,
35
36
  } from '../DataCubeQueryBuilderUtils.js';
36
- import { guaranteeNonNullable } from '@finos/legend-shared';
37
+ import { guaranteeNonNullable, returnUndefOnError } from '@finos/legend-shared';
38
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
37
39
  import {
38
- V1_PrimitiveValueSpecification,
39
- type V1_AppliedFunction,
40
- type V1_AppliedProperty,
41
- } from '@finos/legend-graph';
42
- import {
43
- _buildConditionSnapshotProperty,
44
- _dataCubeOperationValue,
40
+ _unwrapNotFilterCondition,
41
+ _baseFilterCondition,
45
42
  } from '../DataCubeQuerySnapshotBuilderUtils.js';
46
43
 
47
44
  export class DataCubeQueryFilterOperation__NotEndWith extends DataCubeQueryFilterOperation {
@@ -67,8 +64,9 @@ export class DataCubeQueryFilterOperation__NotEndWith extends DataCubeQueryFilte
67
64
 
68
65
  isCompatibleWithValue(value: DataCubeOperationValue) {
69
66
  return (
70
- ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
71
67
  value.value !== undefined &&
68
+ isPrimitiveType(value.type) &&
69
+ ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
72
70
  !Array.isArray(value.value)
73
71
  );
74
72
  }
@@ -76,20 +74,23 @@ export class DataCubeQueryFilterOperation__NotEndWith extends DataCubeQueryFilte
76
74
  generateDefaultValue(column: DataCubeColumn) {
77
75
  return {
78
76
  type: column.type,
79
- value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
77
+ value: _defaultPrimitiveTypeValue(column.type),
80
78
  };
81
79
  }
82
80
 
83
- buildConditionSnapshot(expression: V1_AppliedFunction) {
84
- const value = expression.parameters[1];
85
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
86
- expression.parameters[0] as V1_AppliedProperty,
87
- this.operator,
81
+ buildConditionSnapshot(
82
+ expression: V1_AppliedFunction,
83
+ columnGetter: (name: string) => DataCubeColumn,
84
+ ) {
85
+ const unwrapped = returnUndefOnError(() =>
86
+ _unwrapNotFilterCondition(expression),
88
87
  );
89
- if (value instanceof V1_PrimitiveValueSpecification) {
90
- filterConditionSnapshot.value = _dataCubeOperationValue(value);
88
+ if (!unwrapped) {
89
+ return undefined;
91
90
  }
92
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
91
+ return this._finalizeConditionSnapshot(
92
+ _baseFilterCondition(unwrapped, columnGetter, DataCubeFunction.ENDS_WITH),
93
+ );
93
94
  }
94
95
 
95
96
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import {
17
17
  DataCubeQueryFilterOperation,
18
- generateDefaultFilterConditionPrimitiveTypeValue,
18
+ _defaultPrimitiveTypeValue,
19
19
  } from './DataCubeQueryFilterOperation.js';
20
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
21
21
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
@@ -23,6 +23,7 @@ import {
23
23
  DataCubeColumnDataType,
24
24
  DataCubeFunction,
25
25
  DataCubeQueryFilterOperator,
26
+ isPrimitiveType,
26
27
  ofDataType,
27
28
  type DataCubeOperationValue,
28
29
  } from '../DataCubeQueryEngine.js';
@@ -33,15 +34,11 @@ import {
33
34
  _property,
34
35
  _value,
35
36
  } from '../DataCubeQueryBuilderUtils.js';
36
- import { guaranteeNonNullable } from '@finos/legend-shared';
37
+ import { guaranteeNonNullable, returnUndefOnError } from '@finos/legend-shared';
38
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
37
39
  import {
38
- V1_PrimitiveValueSpecification,
39
- type V1_AppliedFunction,
40
- type V1_AppliedProperty,
41
- } from '@finos/legend-graph';
42
- import {
43
- _buildConditionSnapshotProperty,
44
- _dataCubeOperationValue,
40
+ _unwrapNotFilterCondition,
41
+ _baseFilterCondition,
45
42
  } from '../DataCubeQuerySnapshotBuilderUtils.js';
46
43
 
47
44
  export class DataCubeQueryFilterOperation__NotEqual extends DataCubeQueryFilterOperation {
@@ -72,13 +69,14 @@ export class DataCubeQueryFilterOperation__NotEqual extends DataCubeQueryFilterO
72
69
 
73
70
  isCompatibleWithValue(value: DataCubeOperationValue) {
74
71
  return (
72
+ value.value !== undefined &&
73
+ isPrimitiveType(value.type) &&
75
74
  ofDataType(value.type, [
76
75
  DataCubeColumnDataType.TEXT,
77
76
  DataCubeColumnDataType.NUMBER,
78
77
  DataCubeColumnDataType.DATE,
79
78
  DataCubeColumnDataType.TIME,
80
79
  ]) &&
81
- value.value !== undefined &&
82
80
  !Array.isArray(value.value)
83
81
  );
84
82
  }
@@ -86,20 +84,23 @@ export class DataCubeQueryFilterOperation__NotEqual extends DataCubeQueryFilterO
86
84
  generateDefaultValue(column: DataCubeColumn) {
87
85
  return {
88
86
  type: column.type,
89
- value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
87
+ value: _defaultPrimitiveTypeValue(column.type),
90
88
  };
91
89
  }
92
90
 
93
- buildConditionSnapshot(expression: V1_AppliedFunction) {
94
- const value = expression.parameters[1];
95
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
96
- expression.parameters[0] as V1_AppliedProperty,
97
- this.operator,
91
+ buildConditionSnapshot(
92
+ expression: V1_AppliedFunction,
93
+ columnGetter: (name: string) => DataCubeColumn,
94
+ ) {
95
+ const unwrapped = returnUndefOnError(() =>
96
+ _unwrapNotFilterCondition(expression),
98
97
  );
99
- if (value instanceof V1_PrimitiveValueSpecification) {
100
- filterConditionSnapshot.value = _dataCubeOperationValue(value);
98
+ if (!unwrapped) {
99
+ return undefined;
101
100
  }
102
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
101
+ return this._finalizeConditionSnapshot(
102
+ _baseFilterCondition(unwrapped, columnGetter, DataCubeFunction.EQUAL),
103
+ );
103
104
  }
104
105
 
105
106
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import {
17
17
  DataCubeQueryFilterOperation,
18
- generateDefaultFilterConditionPrimitiveTypeValue,
18
+ _defaultPrimitiveTypeValue,
19
19
  } from './DataCubeQueryFilterOperation.js';
20
20
  import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
21
21
  import type { DataCubeColumn } from '../model/DataCubeColumn.js';
@@ -23,6 +23,7 @@ import {
23
23
  DataCubeColumnDataType,
24
24
  DataCubeFunction,
25
25
  DataCubeQueryFilterOperator,
26
+ isPrimitiveType,
26
27
  ofDataType,
27
28
  type DataCubeOperationValue,
28
29
  } from '../DataCubeQueryEngine.js';
@@ -34,15 +35,11 @@ import {
34
35
  _value,
35
36
  _var,
36
37
  } from '../DataCubeQueryBuilderUtils.js';
37
- import { guaranteeNonNullable } from '@finos/legend-shared';
38
+ import { guaranteeNonNullable, returnUndefOnError } from '@finos/legend-shared';
39
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
38
40
  import {
39
- V1_PrimitiveValueSpecification,
40
- type V1_AppliedFunction,
41
- type V1_AppliedProperty,
42
- } from '@finos/legend-graph';
43
- import {
44
- _buildConditionSnapshotProperty,
45
- _dataCubeOperationValue,
41
+ _caseSensitiveBaseFilterCondition,
42
+ _unwrapNotFilterCondition,
46
43
  } from '../DataCubeQuerySnapshotBuilderUtils.js';
47
44
 
48
45
  export class DataCubeQueryFilterOperation__NotEqualCaseInsensitive extends DataCubeQueryFilterOperation {
@@ -68,8 +65,9 @@ export class DataCubeQueryFilterOperation__NotEqualCaseInsensitive extends DataC
68
65
 
69
66
  isCompatibleWithValue(value: DataCubeOperationValue) {
70
67
  return (
71
- ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
72
68
  value.value !== undefined &&
69
+ isPrimitiveType(value.type) &&
70
+ ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
73
71
  !Array.isArray(value.value)
74
72
  );
75
73
  }
@@ -77,20 +75,27 @@ export class DataCubeQueryFilterOperation__NotEqualCaseInsensitive extends DataC
77
75
  generateDefaultValue(column: DataCubeColumn) {
78
76
  return {
79
77
  type: column.type,
80
- value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
78
+ value: _defaultPrimitiveTypeValue(column.type),
81
79
  };
82
80
  }
83
81
 
84
- buildConditionSnapshot(expression: V1_AppliedFunction) {
85
- const value = expression.parameters[1];
86
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
87
- expression.parameters[0] as V1_AppliedProperty,
88
- this.operator,
82
+ buildConditionSnapshot(
83
+ expression: V1_AppliedFunction,
84
+ columnGetter: (name: string) => DataCubeColumn,
85
+ ) {
86
+ const unwrapped = returnUndefOnError(() =>
87
+ _unwrapNotFilterCondition(expression),
89
88
  );
90
- if (value instanceof V1_PrimitiveValueSpecification) {
91
- filterConditionSnapshot.value = _dataCubeOperationValue(value);
89
+ if (!unwrapped) {
90
+ return undefined;
92
91
  }
93
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
92
+ return this._finalizeConditionSnapshot(
93
+ _caseSensitiveBaseFilterCondition(
94
+ unwrapped,
95
+ columnGetter,
96
+ DataCubeFunction.EQUAL,
97
+ ),
98
+ );
94
99
  }
95
100
 
96
101
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -32,12 +32,16 @@ import {
32
32
  _value,
33
33
  _var,
34
34
  } from '../DataCubeQueryBuilderUtils.js';
35
- import { guaranteeNonNullable, isString } from '@finos/legend-shared';
36
35
  import {
37
- V1_AppliedProperty,
38
- type V1_AppliedFunction,
39
- } from '@finos/legend-graph';
40
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
36
+ guaranteeNonNullable,
37
+ isString,
38
+ returnUndefOnError,
39
+ } from '@finos/legend-shared';
40
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
41
+ import {
42
+ _caseSensitiveBaseFilterCondition,
43
+ _unwrapNotFilterCondition,
44
+ } from '../DataCubeQuerySnapshotBuilderUtils.js';
41
45
 
42
46
  export class DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn extends DataCubeQueryFilterOperation {
43
47
  override get label() {
@@ -62,8 +66,8 @@ export class DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn extends
62
66
 
63
67
  isCompatibleWithValue(value: DataCubeOperationValue) {
64
68
  return (
65
- value.type === DataCubeOperationAdvancedValueType.COLUMN &&
66
69
  value.value !== undefined &&
70
+ value.type === DataCubeOperationAdvancedValueType.COLUMN &&
67
71
  isString(value.value)
68
72
  );
69
73
  }
@@ -75,20 +79,23 @@ export class DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn extends
75
79
  };
76
80
  }
77
81
 
78
- buildConditionSnapshot(expression: V1_AppliedFunction) {
79
- const value = expression.parameters[1];
80
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
81
- expression.parameters[0] as V1_AppliedProperty,
82
- this.operator,
82
+ buildConditionSnapshot(
83
+ expression: V1_AppliedFunction,
84
+ columnGetter: (name: string) => DataCubeColumn,
85
+ ) {
86
+ const unwrapped = returnUndefOnError(() =>
87
+ _unwrapNotFilterCondition(expression),
83
88
  );
84
-
85
- if (value instanceof V1_AppliedProperty) {
86
- filterConditionSnapshot.value = {
87
- value: value.property,
88
- type: DataCubeOperationAdvancedValueType.COLUMN,
89
- } satisfies DataCubeOperationValue;
89
+ if (!unwrapped) {
90
+ return undefined;
90
91
  }
91
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
92
+ return this._finalizeConditionSnapshot(
93
+ _caseSensitiveBaseFilterCondition(
94
+ unwrapped,
95
+ columnGetter,
96
+ DataCubeFunction.EQUAL,
97
+ ),
98
+ );
92
99
  }
93
100
 
94
101
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
@@ -32,12 +32,16 @@ import {
32
32
  _value,
33
33
  _var,
34
34
  } from '../DataCubeQueryBuilderUtils.js';
35
- import { guaranteeNonNullable, isString } from '@finos/legend-shared';
36
35
  import {
37
- V1_AppliedProperty,
38
- type V1_AppliedFunction,
39
- } from '@finos/legend-graph';
40
- import { _buildConditionSnapshotProperty } from '../DataCubeQuerySnapshotBuilderUtils.js';
36
+ guaranteeNonNullable,
37
+ isString,
38
+ returnUndefOnError,
39
+ } from '@finos/legend-shared';
40
+ import { type V1_AppliedFunction } from '@finos/legend-graph';
41
+ import {
42
+ _baseFilterCondition,
43
+ _unwrapNotFilterCondition,
44
+ } from '../DataCubeQuerySnapshotBuilderUtils.js';
41
45
 
42
46
  export class DataCubeQueryFilterOperation__NotEqualColumn extends DataCubeQueryFilterOperation {
43
47
  override get label() {
@@ -67,8 +71,8 @@ export class DataCubeQueryFilterOperation__NotEqualColumn extends DataCubeQueryF
67
71
 
68
72
  isCompatibleWithValue(value: DataCubeOperationValue) {
69
73
  return (
70
- value.type === DataCubeOperationAdvancedValueType.COLUMN &&
71
74
  value.value !== undefined &&
75
+ value.type === DataCubeOperationAdvancedValueType.COLUMN &&
72
76
  isString(value.value)
73
77
  );
74
78
  }
@@ -80,20 +84,19 @@ export class DataCubeQueryFilterOperation__NotEqualColumn extends DataCubeQueryF
80
84
  };
81
85
  }
82
86
 
83
- buildConditionSnapshot(expression: V1_AppliedFunction) {
84
- const value = expression.parameters[1];
85
- const filterConditionSnapshot = _buildConditionSnapshotProperty(
86
- expression.parameters[0] as V1_AppliedProperty,
87
- this.operator,
87
+ buildConditionSnapshot(
88
+ expression: V1_AppliedFunction,
89
+ columnGetter: (name: string) => DataCubeColumn,
90
+ ) {
91
+ const unwrapped = returnUndefOnError(() =>
92
+ _unwrapNotFilterCondition(expression),
88
93
  );
89
-
90
- if (value instanceof V1_AppliedProperty) {
91
- filterConditionSnapshot.value = {
92
- value: value.property,
93
- type: DataCubeOperationAdvancedValueType.COLUMN,
94
- } satisfies DataCubeOperationValue;
94
+ if (!unwrapped) {
95
+ return undefined;
95
96
  }
96
- return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
97
+ return this._finalizeConditionSnapshot(
98
+ _baseFilterCondition(unwrapped, columnGetter, DataCubeFunction.EQUAL),
99
+ );
97
100
  }
98
101
 
99
102
  buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {