@finos/legend-query-builder 0.2.3 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. package/lib/components/QueryBuilder.d.ts +0 -1
  2. package/lib/components/QueryBuilder.d.ts.map +1 -1
  3. package/lib/components/QueryBuilder.js +42 -9
  4. package/lib/components/QueryBuilder.js.map +1 -1
  5. package/lib/components/QueryBuilderComponentTestUtils.d.ts.map +1 -1
  6. package/lib/components/QueryBuilderComponentTestUtils.js +2 -5
  7. package/lib/components/QueryBuilderComponentTestUtils.js.map +1 -1
  8. package/lib/components/QueryBuilderDiffPanel.d.ts +0 -1
  9. package/lib/components/QueryBuilderDiffPanel.d.ts.map +1 -1
  10. package/lib/components/QueryBuilderDiffPanel.js +2 -2
  11. package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
  12. package/lib/components/QueryBuilderParametersPanel.d.ts +0 -1
  13. package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
  14. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +0 -1
  15. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
  16. package/lib/components/QueryBuilderResultPanel.d.ts +0 -1
  17. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  18. package/lib/components/QueryBuilderResultPanel.js +3 -3
  19. package/lib/components/QueryBuilderSideBar.d.ts +0 -1
  20. package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
  21. package/lib/components/QueryBuilderSideBar.js +2 -1
  22. package/lib/components/QueryBuilderSideBar.js.map +1 -1
  23. package/lib/components/QueryBuilderTextEditor.d.ts +0 -1
  24. package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -1
  25. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +0 -1
  26. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -1
  27. package/lib/components/QueryBuilder_TestID.d.ts +1 -0
  28. package/lib/components/QueryBuilder_TestID.d.ts.map +1 -1
  29. package/lib/components/QueryBuilder_TestID.js +1 -0
  30. package/lib/components/QueryBuilder_TestID.js.map +1 -1
  31. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts +0 -1
  32. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
  33. package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts +0 -1
  34. package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
  35. package/lib/components/explorer/QueryBuilderMilestoningEditor.js +2 -2
  36. package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
  37. package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts +0 -1
  38. package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
  39. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts +0 -1
  40. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
  41. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +0 -1
  42. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
  43. package/lib/components/fetch-structure/QueryBuilderOlapGroupByPanel.d.ts +22 -0
  44. package/lib/components/fetch-structure/QueryBuilderOlapGroupByPanel.d.ts.map +1 -0
  45. package/lib/components/fetch-structure/QueryBuilderOlapGroupByPanel.js +363 -0
  46. package/lib/components/fetch-structure/QueryBuilderOlapGroupByPanel.js.map +1 -0
  47. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts +0 -1
  48. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  49. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +21 -53
  50. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  51. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.d.ts +22 -0
  52. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.d.ts.map +1 -0
  53. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js +32 -0
  54. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js.map +1 -0
  55. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +0 -1
  56. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
  57. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +2 -1
  58. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
  59. package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.d.ts +27 -0
  60. package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.d.ts.map +1 -0
  61. package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.js +61 -0
  62. package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.js.map +1 -0
  63. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts +0 -1
  64. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
  65. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +4 -13
  66. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
  67. package/lib/components/filter/QueryBuilderFilterPanel.d.ts +0 -1
  68. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
  69. package/lib/components/shared/LambdaEditor.d.ts +0 -1
  70. package/lib/components/shared/LambdaEditor.d.ts.map +1 -1
  71. package/lib/components/shared/LambdaEditor.js +23 -7
  72. package/lib/components/shared/LambdaEditor.js.map +1 -1
  73. package/lib/components/shared/LambdaParameterValuesEditor.d.ts +0 -1
  74. package/lib/components/shared/LambdaParameterValuesEditor.d.ts.map +1 -1
  75. package/lib/components/workflows/ServiceQueryBuilder.d.ts.map +1 -1
  76. package/lib/components/workflows/ServiceQueryBuilder.js +5 -1
  77. package/lib/components/workflows/ServiceQueryBuilder.js.map +1 -1
  78. package/lib/graphManager/QueryBuilderHashUtils.d.ts +14 -0
  79. package/lib/graphManager/QueryBuilderHashUtils.d.ts.map +1 -1
  80. package/lib/graphManager/QueryBuilderHashUtils.js +15 -0
  81. package/lib/graphManager/QueryBuilderHashUtils.js.map +1 -1
  82. package/lib/graphManager/QueryBuilderSupportedFunctions.d.ts +7 -1
  83. package/lib/graphManager/QueryBuilderSupportedFunctions.d.ts.map +1 -1
  84. package/lib/graphManager/QueryBuilderSupportedFunctions.js +7 -0
  85. package/lib/graphManager/QueryBuilderSupportedFunctions.js.map +1 -1
  86. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
  87. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +4 -1
  88. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
  89. package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts +1 -0
  90. package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -1
  91. package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js +50 -0
  92. package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -1
  93. package/lib/index.css +2 -2
  94. package/lib/index.css.map +1 -1
  95. package/lib/package.json +6 -6
  96. package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
  97. package/lib/stores/QueryBuilderStateBuilder.js +7 -1
  98. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
  99. package/lib/stores/QueryBuilderStateTestUtils.d.ts.map +1 -1
  100. package/lib/stores/QueryBuilderStateTestUtils.js +2 -4
  101. package/lib/stores/QueryBuilderStateTestUtils.js.map +1 -1
  102. package/lib/stores/QueryBuilderTypeaheadHelper.js +2 -2
  103. package/lib/stores/explorer/QueryBuilderExplorerState.js +3 -3
  104. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +1 -0
  105. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
  106. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +3 -0
  107. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
  108. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
  109. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +2 -1
  110. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
  111. package/lib/stores/fetch-structure/tds/QueryBuilderTDSColumnState_.d.ts +24 -0
  112. package/lib/stores/fetch-structure/tds/QueryBuilderTDSColumnState_.d.ts.map +1 -0
  113. package/lib/stores/fetch-structure/tds/QueryBuilderTDSColumnState_.js +20 -0
  114. package/lib/stores/fetch-structure/tds/QueryBuilderTDSColumnState_.js.map +1 -0
  115. package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.d.ts +23 -0
  116. package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.d.ts.map +1 -0
  117. package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.js +41 -0
  118. package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.js.map +1 -0
  119. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +11 -0
  120. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
  121. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +44 -1
  122. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
  123. package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.d.ts +2 -2
  124. package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.d.ts.map +1 -1
  125. package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.js +2 -2
  126. package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.js.map +1 -1
  127. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateOperator.js +1 -1
  128. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.d.ts +4 -4
  129. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.d.ts.map +1 -1
  130. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.js +8 -7
  131. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.js.map +1 -1
  132. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByOperatorLoader.d.ts +18 -0
  133. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByOperatorLoader.d.ts.map +1 -0
  134. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByOperatorLoader.js +36 -0
  135. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByOperatorLoader.js.map +1 -0
  136. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByState.d.ts +91 -0
  137. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByState.d.ts.map +1 -0
  138. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByState.js +272 -0
  139. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByState.js.map +1 -0
  140. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByStateBuilder.d.ts +19 -0
  141. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByStateBuilder.d.ts.map +1 -0
  142. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByStateBuilder.js +100 -0
  143. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByStateBuilder.js.map +1 -0
  144. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByValueSpecificationBuilder.d.ts +19 -0
  145. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByValueSpecificationBuilder.d.ts.map +1 -0
  146. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByValueSpecificationBuilder.js +83 -0
  147. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByValueSpecificationBuilder.js.map +1 -0
  148. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_.d.ts +29 -0
  149. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_.d.ts.map +1 -0
  150. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_.js +30 -0
  151. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_.js.map +1 -0
  152. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Average.d.ts +25 -0
  153. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Average.d.ts.map +1 -0
  154. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Average.js +50 -0
  155. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Average.js.map +1 -0
  156. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Count.d.ts +25 -0
  157. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Count.d.ts.map +1 -0
  158. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Count.js +51 -0
  159. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Count.js.map +1 -0
  160. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Max.d.ts +25 -0
  161. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Max.d.ts.map +1 -0
  162. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Max.js +50 -0
  163. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Max.js.map +1 -0
  164. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Min.d.ts +25 -0
  165. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Min.d.ts.map +1 -0
  166. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Min.js +50 -0
  167. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Min.js.map +1 -0
  168. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Sum.d.ts +25 -0
  169. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Sum.d.ts.map +1 -0
  170. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Sum.js +51 -0
  171. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Sum.js.map +1 -0
  172. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_AverageRank_.d.ts +24 -0
  173. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_AverageRank_.d.ts.map +1 -0
  174. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_AverageRank_.js +48 -0
  175. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_AverageRank_.js.map +1 -0
  176. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_DenseRank_.d.ts +24 -0
  177. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_DenseRank_.d.ts.map +1 -0
  178. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_DenseRank_.js +48 -0
  179. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_DenseRank_.js.map +1 -0
  180. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_Rank_.d.ts +24 -0
  181. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_Rank_.d.ts.map +1 -0
  182. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_Rank_.js +48 -0
  183. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_Rank_.js.map +1 -0
  184. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_RowNumber_.d.ts +24 -0
  185. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_RowNumber_.d.ts.map +1 -0
  186. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_RowNumber_.js +48 -0
  187. package/lib/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_RowNumber_.js.map +1 -0
  188. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterOperator.d.ts +1 -1
  189. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterOperator.js +2 -2
  190. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.d.ts +6 -4
  191. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -1
  192. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.js +14 -3
  193. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.js.map +1 -1
  194. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.d.ts.map +1 -1
  195. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.js +8 -11
  196. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -1
  197. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts +2 -2
  198. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -1
  199. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js +5 -1
  200. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -1
  201. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js +4 -4
  202. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +1 -1
  203. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +1 -1
  204. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +3 -3
  205. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +3 -3
  206. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +1 -1
  207. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.js +2 -2
  208. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts +2 -2
  209. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +3 -3
  210. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +3 -3
  211. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +1 -1
  212. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +1 -1
  213. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.d.ts +4 -6
  214. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
  215. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js +6 -5
  216. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js.map +1 -1
  217. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -1
  218. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js +1 -0
  219. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
  220. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
  221. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js +6 -3
  222. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
  223. package/lib/stores/filter/QueryBuilderFilterState.d.ts +2 -0
  224. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  225. package/lib/stores/filter/QueryBuilderFilterState.js +6 -0
  226. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  227. package/package.json +13 -13
  228. package/src/components/QueryBuilder.tsx +110 -35
  229. package/src/components/QueryBuilderComponentTestUtils.tsx +9 -11
  230. package/src/components/QueryBuilderDiffPanel.tsx +2 -2
  231. package/src/components/QueryBuilderResultPanel.tsx +4 -4
  232. package/src/components/QueryBuilderSideBar.tsx +4 -1
  233. package/src/components/QueryBuilder_TestID.ts +1 -0
  234. package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +2 -3
  235. package/src/components/fetch-structure/QueryBuilderOlapGroupByPanel.tsx +1140 -0
  236. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +31 -106
  237. package/src/components/fetch-structure/QueryBuilderPostTDSPanel.tsx +69 -0
  238. package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +4 -1
  239. package/src/components/fetch-structure/QueryBuilderTDSComponentHelper.tsx +118 -0
  240. package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +4 -23
  241. package/src/components/shared/LambdaEditor.tsx +25 -22
  242. package/src/components/workflows/ServiceQueryBuilder.tsx +10 -2
  243. package/src/graphManager/QueryBuilderHashUtils.ts +16 -0
  244. package/src/graphManager/QueryBuilderSupportedFunctions.ts +7 -0
  245. package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +14 -0
  246. package/src/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.ts +129 -0
  247. package/src/stores/QueryBuilderStateBuilder.ts +14 -1
  248. package/src/stores/QueryBuilderStateTestUtils.ts +9 -13
  249. package/src/stores/QueryBuilderTypeaheadHelper.ts +2 -2
  250. package/src/stores/explorer/QueryBuilderExplorerState.ts +3 -3
  251. package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +4 -0
  252. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +2 -1
  253. package/src/stores/fetch-structure/tds/QueryBuilderTDSColumnState_.ts +28 -0
  254. package/src/stores/fetch-structure/tds/QueryBuilderTDSHelper.ts +79 -0
  255. package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +68 -1
  256. package/src/stores/fetch-structure/tds/QueryResultSetModifierState.ts +2 -2
  257. package/src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateOperator.ts +1 -1
  258. package/src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.ts +11 -9
  259. package/src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByOperatorLoader.ts +39 -0
  260. package/src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByState.ts +377 -0
  261. package/src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByStateBuilder.ts +237 -0
  262. package/src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByValueSpecificationBuilder.ts +148 -0
  263. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_.ts +43 -0
  264. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Average.ts +56 -0
  265. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Count.ts +57 -0
  266. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Max.ts +56 -0
  267. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Min.ts +56 -0
  268. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapOperator_Sum.ts +57 -0
  269. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_AverageRank_.ts +54 -0
  270. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_DenseRank_.ts +54 -0
  271. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_Rank_.ts +54 -0
  272. package/src/stores/fetch-structure/tds/olapGroupBy/operators/QueryBuilderTDSOlapRankOperator_RowNumber_.ts +54 -0
  273. package/src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterOperator.ts +2 -2
  274. package/src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.ts +22 -10
  275. package/src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.ts +11 -19
  276. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.ts +8 -7
  277. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.ts +4 -4
  278. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +1 -1
  279. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +1 -1
  280. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +3 -3
  281. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +3 -3
  282. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +1 -1
  283. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +2 -2
  284. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +3 -3
  285. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +3 -3
  286. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +1 -1
  287. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +1 -1
  288. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.ts +9 -11
  289. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.ts +1 -0
  290. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +8 -4
  291. package/src/stores/filter/QueryBuilderFilterState.ts +7 -0
  292. package/tsconfig.json +19 -0
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderAggregationState.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderAggregationState.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { QueryBuilderTDSOlapOperator } from './operators/QueryBuilderTDSOlapOperator_.js';
17
+ export declare const getQueryBuilderCoreOlapGroupByOperators: () => QueryBuilderTDSOlapOperator[];
18
+ //# sourceMappingURL=QueryBuilderOlapGroupByOperatorLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderOlapGroupByOperatorLoader.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByOperatorLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAW/F,eAAO,MAAM,uCAAuC,QAC9C,2BAA2B,EAU9B,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { QueryBuilderTDSOlapRankOperator_AverageRank } from './operators/QueryBuilderTDSOlapRankOperator_AverageRank_.js';
17
+ import { QueryBuilderTDSOlapRankOperator_DenseRank } from './operators/QueryBuilderTDSOlapRankOperator_DenseRank_.js';
18
+ import { QueryBuilderTDSOlapRankOperator_Rank } from './operators/QueryBuilderTDSOlapRankOperator_Rank_.js';
19
+ import { QueryBuilderTDSOlapRankOperator_RowNumber } from './operators/QueryBuilderTDSOlapRankOperator_RowNumber_.js';
20
+ import { QueryBuilderTDSOlapOperator_Sum } from './operators/QueryBuilderTDSOlapOperator_Sum.js';
21
+ import { QueryBuilderTDSOlapOperator_Count } from './operators/QueryBuilderTDSOlapOperator_Count.js';
22
+ import { QueryBuilderTDSOlapOperator_Max } from './operators/QueryBuilderTDSOlapOperator_Max.js';
23
+ import { QueryBuilderTDSOlapOperator_Min } from './operators/QueryBuilderTDSOlapOperator_Min.js';
24
+ import { QueryBuilderTDSOlapOperator_Average } from './operators/QueryBuilderTDSOlapOperator_Average.js';
25
+ export const getQueryBuilderCoreOlapGroupByOperators = () => [
26
+ new QueryBuilderTDSOlapOperator_Sum(),
27
+ new QueryBuilderTDSOlapOperator_Count(),
28
+ new QueryBuilderTDSOlapOperator_Max(),
29
+ new QueryBuilderTDSOlapOperator_Min(),
30
+ new QueryBuilderTDSOlapOperator_Average(),
31
+ new QueryBuilderTDSOlapRankOperator_AverageRank(),
32
+ new QueryBuilderTDSOlapRankOperator_DenseRank(),
33
+ new QueryBuilderTDSOlapRankOperator_Rank(),
34
+ new QueryBuilderTDSOlapRankOperator_RowNumber(),
35
+ ];
36
+ //# sourceMappingURL=QueryBuilderOlapGroupByOperatorLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderOlapGroupByOperatorLoader.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByOperatorLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,2CAA2C,EAAE,MAAM,6DAA6D,CAAC;AAC1H,OAAO,EAAE,yCAAyC,EAAE,MAAM,2DAA2D,CAAC;AACtH,OAAO,EAAE,oCAAoC,EAAE,MAAM,sDAAsD,CAAC;AAC5G,OAAO,EAAE,yCAAyC,EAAE,MAAM,2DAA2D,CAAC;AACtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,mCAAmC,EAAE,MAAM,oDAAoD,CAAC;AAEzG,MAAM,CAAC,MAAM,uCAAuC,GAClD,GAAkC,EAAE,CAAC;IACnC,IAAI,+BAA+B,EAAE;IACrC,IAAI,iCAAiC,EAAE;IACvC,IAAI,+BAA+B,EAAE;IACrC,IAAI,+BAA+B,EAAE;IACrC,IAAI,mCAAmC,EAAE;IACzC,IAAI,2CAA2C,EAAE;IACjD,IAAI,yCAAyC,EAAE;IAC/C,IAAI,oCAAoC,EAAE;IAC1C,IAAI,yCAAyC,EAAE;CAChD,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { type Type } from '@finos/legend-graph';
17
+ import { type Hashable } from '@finos/legend-shared';
18
+ import type { QueryBuilderProjectionColumnDragSource } from '../projection/QueryBuilderProjectionColumnState.js';
19
+ import { QueryBuilderTDSColumnState } from '../QueryBuilderTDSColumnState_.js';
20
+ import type { QueryBuilderTDSState } from '../QueryBuilderTDSState.js';
21
+ import type { COLUMN_SORT_TYPE } from '../QueryResultSetModifierState.js';
22
+ import type { QueryBuilderTDSOlapOperator } from './operators/QueryBuilderTDSOlapOperator_.js';
23
+ export declare const QUERY_BUILDER_OLAP_COLUMN_DND_TYPE = "OLAP_COLUMN";
24
+ export interface QueryBuilderOlapColumnDragSource {
25
+ columnState: QueryBuilderOlapGroupByColumnState;
26
+ }
27
+ export declare type QueryBuilderOlapDropTarget = QueryBuilderProjectionColumnDragSource | QueryBuilderOlapColumnDragSource;
28
+ export declare class OlapGroupByColumnSortByState implements Hashable {
29
+ columnState: QueryBuilderTDSColumnState;
30
+ sortType: COLUMN_SORT_TYPE;
31
+ constructor(columnState: QueryBuilderTDSColumnState, sortType: COLUMN_SORT_TYPE);
32
+ setColumnState(colState: QueryBuilderTDSColumnState): void;
33
+ setSortType(type: COLUMN_SORT_TYPE): void;
34
+ get hashCode(): string;
35
+ }
36
+ export declare abstract class QueryBuilderTDSOlapOperatorState implements Hashable {
37
+ readonly olapState: QueryBuilderOlapGroupByState;
38
+ lambdaParameterName: string;
39
+ operator: QueryBuilderTDSOlapOperator;
40
+ constructor(olapState: QueryBuilderOlapGroupByState, operator: QueryBuilderTDSOlapOperator);
41
+ setLambdaParameterName(paramName: string): void;
42
+ setOperator(val: QueryBuilderTDSOlapOperator): void;
43
+ get hashCode(): string;
44
+ }
45
+ export declare class QueryBuilderTDSOlapRankOperatorState extends QueryBuilderTDSOlapOperatorState {
46
+ constructor(olapState: QueryBuilderOlapGroupByState, operator: QueryBuilderTDSOlapOperator);
47
+ }
48
+ export declare class QueryBuilderTDSOlapAggreationOperatorState extends QueryBuilderTDSOlapOperatorState {
49
+ columnState: QueryBuilderTDSColumnState;
50
+ constructor(olapState: QueryBuilderOlapGroupByState, operator: QueryBuilderTDSOlapOperator, columnState: QueryBuilderTDSColumnState);
51
+ setColumnState(val: QueryBuilderTDSColumnState): void;
52
+ get hashCode(): string;
53
+ }
54
+ export declare class QueryBuilderOlapGroupByColumnState extends QueryBuilderTDSColumnState implements Hashable {
55
+ readonly olapState: QueryBuilderOlapGroupByState;
56
+ windowColumns: QueryBuilderTDSColumnState[];
57
+ sortByState: OlapGroupByColumnSortByState | undefined;
58
+ operationState: QueryBuilderTDSOlapOperatorState;
59
+ columnName: string;
60
+ constructor(olapState: QueryBuilderOlapGroupByState, windowColumns: QueryBuilderTDSColumnState[], sortType: OlapGroupByColumnSortByState | undefined, operationState: QueryBuilderTDSOlapOperatorState, columnName: string);
61
+ get columnOlapGroupIdx(): number;
62
+ get possibleReferencedColumns(): QueryBuilderTDSColumnState[];
63
+ get referencedTDSColumns(): QueryBuilderTDSColumnState[];
64
+ getColumnType(): Type | undefined;
65
+ setColumnName(val: string): void;
66
+ setOperatorState(op: QueryBuilderTDSOlapOperatorState): void;
67
+ setSortBy(val: OlapGroupByColumnSortByState | undefined): void;
68
+ changeWindow(val: QueryBuilderTDSColumnState, idx: number): void;
69
+ addWindow(val: QueryBuilderTDSColumnState): void;
70
+ deleteWindow(val: QueryBuilderTDSColumnState): void;
71
+ possibleAggregatedColumns(op: QueryBuilderTDSOlapOperator): QueryBuilderTDSColumnState[];
72
+ changeOperator(olapOp: QueryBuilderTDSOlapOperator): void;
73
+ changeSortBy(sortOp: COLUMN_SORT_TYPE | undefined): void;
74
+ get hashCode(): string;
75
+ }
76
+ export declare class QueryBuilderOlapGroupByState implements Hashable {
77
+ readonly tdsState: QueryBuilderTDSState;
78
+ olapColumns: QueryBuilderOlapGroupByColumnState[];
79
+ operators: QueryBuilderTDSOlapOperator[];
80
+ editColumn: QueryBuilderOlapGroupByColumnState | undefined;
81
+ constructor(tdsState: QueryBuilderTDSState, operators: QueryBuilderTDSOlapOperator[]);
82
+ get isEmpty(): boolean;
83
+ get referencedTDSColumns(): QueryBuilderTDSColumnState[];
84
+ setEditColumn(col: QueryBuilderOlapGroupByColumnState | undefined): void;
85
+ findOperator(func: string): QueryBuilderTDSOlapOperator | undefined;
86
+ addOlapColumn(olapGroupByCol: QueryBuilderOlapGroupByColumnState): void;
87
+ removeColumn(column: QueryBuilderOlapGroupByColumnState): void;
88
+ moveColumn(fromIndex: number, toIndex: number): void;
89
+ get hashCode(): string;
90
+ }
91
+ //# sourceMappingURL=QueryBuilderOlapGroupByState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderOlapGroupByState.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,272 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { matchFunctionName } from '@finos/legend-graph';
17
+ import { addUniqueEntry, deleteEntry, guaranteeNonNullable, hashArray, uniq, } from '@finos/legend-shared';
18
+ import { action, makeObservable, observable } from 'mobx';
19
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../graphManager/QueryBuilderHashUtils.js';
20
+ import { DEFAULT_LAMBDA_VARIABLE_NAME } from '../../../QueryBuilderConfig.js';
21
+ import { QueryBuilderTDSColumnState } from '../QueryBuilderTDSColumnState_.js';
22
+ export const QUERY_BUILDER_OLAP_COLUMN_DND_TYPE = 'OLAP_COLUMN';
23
+ export class OlapGroupByColumnSortByState {
24
+ columnState;
25
+ sortType;
26
+ constructor(columnState, sortType) {
27
+ makeObservable(this, {
28
+ columnState: observable,
29
+ sortType: observable,
30
+ setColumnState: action,
31
+ setSortType: action,
32
+ });
33
+ this.columnState = columnState;
34
+ this.sortType = sortType;
35
+ }
36
+ setColumnState(colState) {
37
+ this.columnState = colState;
38
+ }
39
+ setSortType(type) {
40
+ this.sortType = type;
41
+ }
42
+ get hashCode() {
43
+ return hashArray([
44
+ QUERY_BUILDER_HASH_STRUCTURE.OLAP_GROUPBY_COLUMN_SORTBY_STATE,
45
+ this.sortType,
46
+ this.columnState.columnName,
47
+ ]);
48
+ }
49
+ }
50
+ export class QueryBuilderTDSOlapOperatorState {
51
+ olapState;
52
+ lambdaParameterName = DEFAULT_LAMBDA_VARIABLE_NAME;
53
+ operator;
54
+ constructor(olapState, operator) {
55
+ this.olapState = olapState;
56
+ this.operator = operator;
57
+ }
58
+ setLambdaParameterName(paramName) {
59
+ this.lambdaParameterName = paramName;
60
+ }
61
+ setOperator(val) {
62
+ this.operator = val;
63
+ }
64
+ get hashCode() {
65
+ return hashArray([
66
+ QUERY_BUILDER_HASH_STRUCTURE.OLAP_GROUPBY_OPERATION_STATE,
67
+ this.lambdaParameterName,
68
+ this.operator,
69
+ ]);
70
+ }
71
+ }
72
+ export class QueryBuilderTDSOlapRankOperatorState extends QueryBuilderTDSOlapOperatorState {
73
+ constructor(olapState, operator) {
74
+ super(olapState, operator);
75
+ makeObservable(this, {
76
+ setLambdaParameterName: action,
77
+ });
78
+ }
79
+ }
80
+ export class QueryBuilderTDSOlapAggreationOperatorState extends QueryBuilderTDSOlapOperatorState {
81
+ columnState;
82
+ constructor(olapState, operator, columnState) {
83
+ super(olapState, operator);
84
+ makeObservable(this, {
85
+ columnState: observable,
86
+ setColumnState: action,
87
+ setLambdaParameterName: action,
88
+ });
89
+ this.columnState = columnState;
90
+ }
91
+ setColumnState(val) {
92
+ this.columnState = val;
93
+ }
94
+ get hashCode() {
95
+ return hashArray([
96
+ QUERY_BUILDER_HASH_STRUCTURE.OLAP_GROUPBY_AGG_OPERATION_STATE,
97
+ this.lambdaParameterName,
98
+ this.operator,
99
+ this.columnState.columnName,
100
+ ]);
101
+ }
102
+ }
103
+ export class QueryBuilderOlapGroupByColumnState extends QueryBuilderTDSColumnState {
104
+ olapState;
105
+ windowColumns = [];
106
+ sortByState;
107
+ operationState;
108
+ columnName;
109
+ constructor(olapState, windowColumns, sortType, operationState, columnName) {
110
+ super();
111
+ makeObservable(this, {
112
+ windowColumns: observable,
113
+ sortByState: observable,
114
+ operationState: observable,
115
+ columnName: observable,
116
+ setOperatorState: observable,
117
+ setColumnName: action,
118
+ setSortBy: action,
119
+ changeWindow: action,
120
+ deleteWindow: action,
121
+ addWindow: action,
122
+ changeOperator: action,
123
+ changeSortBy: action,
124
+ });
125
+ this.olapState = olapState;
126
+ this.windowColumns = windowColumns;
127
+ this.sortByState = sortType;
128
+ this.operationState = operationState;
129
+ this.columnName = columnName;
130
+ }
131
+ get columnOlapGroupIdx() {
132
+ return this.olapState.olapColumns.findIndex((e) => e === this);
133
+ }
134
+ get possibleReferencedColumns() {
135
+ // column can only reference TDS columns already defined, i.e in an earlier index of the olap columns
136
+ const idx = this.olapState.tdsState.tdsColumns.findIndex((e) => e === this);
137
+ if (idx === -1) {
138
+ return this.olapState.tdsState.tdsColumns;
139
+ }
140
+ return this.olapState.tdsState.tdsColumns.slice(0, idx);
141
+ }
142
+ get referencedTDSColumns() {
143
+ const operatorReference = this.operationState instanceof QueryBuilderTDSOlapAggreationOperatorState
144
+ ? [this.operationState.columnState]
145
+ : [];
146
+ const soryByReference = this.sortByState
147
+ ? [this.sortByState.columnState]
148
+ : [];
149
+ return [...this.windowColumns, ...soryByReference, ...operatorReference];
150
+ }
151
+ getColumnType() {
152
+ return this.operationState.operator.getOperatorReturnType(this.olapState.tdsState.queryBuilderState.graphManagerState.graph);
153
+ }
154
+ setColumnName(val) {
155
+ this.columnName = val;
156
+ }
157
+ setOperatorState(op) {
158
+ this.operationState = op;
159
+ }
160
+ setSortBy(val) {
161
+ this.sortByState = val;
162
+ }
163
+ changeWindow(val, idx) {
164
+ this.windowColumns[idx] = val;
165
+ }
166
+ addWindow(val) {
167
+ addUniqueEntry(this.windowColumns, val);
168
+ }
169
+ deleteWindow(val) {
170
+ deleteEntry(this.windowColumns, val);
171
+ }
172
+ possibleAggregatedColumns(op) {
173
+ if (op.isColumnAggregator()) {
174
+ return this.possibleReferencedColumns.filter((col) => op.isCompatibleWithColumn(col));
175
+ }
176
+ return [];
177
+ }
178
+ changeOperator(olapOp) {
179
+ const currentOperator = this.operationState.operator;
180
+ const currentAggregateColumn = this.operationState instanceof QueryBuilderTDSOlapAggreationOperatorState
181
+ ? this.operationState.columnState
182
+ : undefined;
183
+ if (currentOperator !== olapOp) {
184
+ if (olapOp.isColumnAggregator()) {
185
+ const compatibleAggCol = currentAggregateColumn &&
186
+ olapOp.isCompatibleWithColumn(currentAggregateColumn)
187
+ ? currentAggregateColumn
188
+ : this.possibleAggregatedColumns(olapOp)[0];
189
+ if (compatibleAggCol) {
190
+ this.setOperatorState(new QueryBuilderTDSOlapAggreationOperatorState(this.olapState, olapOp, compatibleAggCol));
191
+ }
192
+ }
193
+ else {
194
+ this.setOperatorState(new QueryBuilderTDSOlapRankOperatorState(this.olapState, olapOp));
195
+ }
196
+ }
197
+ }
198
+ changeSortBy(sortOp) {
199
+ const sortByState = this.sortByState;
200
+ if (sortByState?.sortType !== sortOp) {
201
+ if (sortOp) {
202
+ const sortInfoOpState = sortByState ??
203
+ new OlapGroupByColumnSortByState(guaranteeNonNullable(this.possibleReferencedColumns[0]), sortOp);
204
+ sortInfoOpState.setSortType(sortOp);
205
+ this.setSortBy(sortInfoOpState);
206
+ }
207
+ else {
208
+ this.setSortBy(undefined);
209
+ }
210
+ }
211
+ }
212
+ get hashCode() {
213
+ return hashArray([
214
+ QUERY_BUILDER_HASH_STRUCTURE.OLAP_GROUPBY_COLUMN_STATE,
215
+ hashArray(this.windowColumns),
216
+ this.sortByState ?? '',
217
+ this.operationState,
218
+ this.columnName,
219
+ ]);
220
+ }
221
+ }
222
+ export class QueryBuilderOlapGroupByState {
223
+ tdsState;
224
+ olapColumns = [];
225
+ operators;
226
+ editColumn;
227
+ constructor(tdsState, operators) {
228
+ makeObservable(this, {
229
+ olapColumns: observable,
230
+ editColumn: observable,
231
+ addOlapColumn: action,
232
+ removeColumn: action,
233
+ moveColumn: action,
234
+ setEditColumn: action,
235
+ });
236
+ this.tdsState = tdsState;
237
+ this.operators = operators;
238
+ }
239
+ get isEmpty() {
240
+ return !this.olapColumns.length;
241
+ }
242
+ get referencedTDSColumns() {
243
+ return uniq(this.olapColumns.map((c) => c.referencedTDSColumns).flat());
244
+ }
245
+ setEditColumn(col) {
246
+ this.editColumn = col;
247
+ }
248
+ findOperator(func) {
249
+ return this.operators.find((o) => matchFunctionName(func, o.pureFunc));
250
+ }
251
+ addOlapColumn(olapGroupByCol) {
252
+ addUniqueEntry(this.olapColumns, olapGroupByCol);
253
+ }
254
+ removeColumn(column) {
255
+ deleteEntry(this.olapColumns, column);
256
+ }
257
+ moveColumn(fromIndex, toIndex) {
258
+ const fromCol = this.olapColumns[fromIndex];
259
+ const toCol = this.olapColumns[toIndex];
260
+ if (fromCol && toCol) {
261
+ this.olapColumns[fromIndex] = toCol;
262
+ this.olapColumns[toIndex] = fromCol;
263
+ }
264
+ }
265
+ get hashCode() {
266
+ return hashArray([
267
+ QUERY_BUILDER_HASH_STRUCTURE.OLAP_GROUPBY_STATE,
268
+ hashArray(this.olapColumns),
269
+ ]);
270
+ }
271
+ }
272
+ //# sourceMappingURL=QueryBuilderOlapGroupByState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderOlapGroupByState.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { SimpleFunctionExpression } from '@finos/legend-graph';
17
+ import type { QueryBuilderState } from '../../../QueryBuilderState.js';
18
+ export declare const processTDSOlapGroupByExpression: (expression: SimpleFunctionExpression, queryBuilderState: QueryBuilderState) => void;
19
+ //# sourceMappingURL=QueryBuilderOlapGroupByStateBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderOlapGroupByStateBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAML,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAevE,eAAO,MAAM,+BAA+B,eAC9B,wBAAwB,qBACjB,iBAAiB,KACnC,IAyLF,CAAC"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CollectionInstanceValue, LambdaFunction, LambdaFunctionInstanceValue, matchFunctionName, PrimitiveInstanceValue, SimpleFunctionExpression, VariableExpression, } from '@finos/legend-graph';
17
+ import { assertTrue, assertType, guaranteeIsString, guaranteeNonNullable, guaranteeType, } from '@finos/legend-shared';
18
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../graphManager/QueryBuilderSupportedFunctions.js';
19
+ import { QueryBuilderValueSpecificationProcessor } from '../../../QueryBuilderStateBuilder.js';
20
+ import { getTDSColumnState, getTDSColSortTypeFromFunctionName, } from '../QueryBuilderTDSHelper.js';
21
+ import { QueryBuilderTDSState } from '../QueryBuilderTDSState.js';
22
+ import { OlapGroupByColumnSortByState, QueryBuilderOlapGroupByColumnState, QueryBuilderTDSOlapAggreationOperatorState, QueryBuilderTDSOlapRankOperatorState, } from './QueryBuilderOlapGroupByState.js';
23
+ export const processTDSOlapGroupByExpression = (expression, queryBuilderState) => {
24
+ // check parameters
25
+ const parametersLength = expression.parametersValues.length;
26
+ assertTrue(parametersLength === 4 || parametersLength === 5, `Can't process sort() expression: olapGroupBy() expects 3 or 4 argument`);
27
+ // expected expressions
28
+ const containsSortByExpression = parametersLength === 5;
29
+ const windowColumnsExpression = expression.parametersValues[1];
30
+ const sortByValueSpec = containsSortByExpression
31
+ ? expression.parametersValues[2]
32
+ : undefined;
33
+ const olapOperationExpression = containsSortByExpression
34
+ ? expression.parametersValues[3]
35
+ : expression.parametersValues[2];
36
+ const olapColumnExpression = containsSortByExpression
37
+ ? expression.parametersValues[4]
38
+ : expression.parametersValues[3];
39
+ // check preceding expression
40
+ const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression`);
41
+ assertTrue(matchFunctionName(precedingExpression.functionName, [
42
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE,
43
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DISTINCT,
44
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT,
45
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
46
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
47
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER,
48
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.OLAP_GROUPBY,
49
+ ]), `Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression`);
50
+ QueryBuilderValueSpecificationProcessor.process(precedingExpression, queryBuilderState);
51
+ // process window columns
52
+ const tdsState = guaranteeType(queryBuilderState.fetchStructureState.implementation, QueryBuilderTDSState);
53
+ assertType(windowColumnsExpression, CollectionInstanceValue, `Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection`);
54
+ const windowColumns = windowColumnsExpression.values.map((value) => {
55
+ const columnName = guaranteeIsString(guaranteeType(value, PrimitiveInstanceValue, 'Can`t process OLAP window column expression: Column should be a primitive instance value').values[0], 'Can`t process OLAP window column expression: Column should be a string primitive instance value');
56
+ return getTDSColumnState(tdsState, columnName);
57
+ });
58
+ // process sortBy
59
+ let sortByState;
60
+ if (containsSortByExpression) {
61
+ const sortByExpression = guaranteeType(sortByValueSpec, SimpleFunctionExpression, `Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'`);
62
+ const sortByFunctionName = sortByExpression.functionName;
63
+ const colSortType = getTDSColSortTypeFromFunctionName(sortByFunctionName);
64
+ const colSortVal = guaranteeIsString(guaranteeType(sortByExpression.parametersValues[0], PrimitiveInstanceValue, 'Can`t process OLAP sort column : OLAP sort column should be a primitive instance value').values[0], 'Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value');
65
+ const sortColState = getTDSColumnState(tdsState, colSortVal);
66
+ sortByState = new OlapGroupByColumnSortByState(sortColState, colSortType);
67
+ }
68
+ // process olap operation
69
+ let operatorState;
70
+ if (olapOperationExpression instanceof SimpleFunctionExpression) {
71
+ assertTrue(matchFunctionName(olapOperationExpression.functionName, [
72
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FUNC,
73
+ ]), `Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'`);
74
+ const olapOperationExpressionParams = olapOperationExpression.parametersValues;
75
+ const columnName = guaranteeIsString(guaranteeType(olapOperationExpressionParams[0], PrimitiveInstanceValue, 'Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value').values[0], 'Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value');
76
+ const oppColumnState = getTDSColumnState(tdsState, columnName);
77
+ const operationLambda = guaranteeType(guaranteeType(olapOperationExpressionParams[1], LambdaFunctionInstanceValue).values[0], LambdaFunction);
78
+ assertTrue(operationLambda.expressionSequence.length === 1);
79
+ const operationFunctionExp = guaranteeType(operationLambda.expressionSequence[0], SimpleFunctionExpression);
80
+ const operation = guaranteeNonNullable(tdsState.olapGroupByState.findOperator(operationFunctionExp.functionName), `olapGroupBy() operator '${operationFunctionExp.functionName}' not supported`);
81
+ operatorState = new QueryBuilderTDSOlapAggreationOperatorState(tdsState.olapGroupByState, operation, oppColumnState);
82
+ operatorState.setLambdaParameterName(guaranteeType(operationLambda.functionType.parameters[0], VariableExpression, `Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'`).name);
83
+ }
84
+ else {
85
+ const operationLambda = guaranteeType(guaranteeType(olapOperationExpression, LambdaFunctionInstanceValue)
86
+ .values[0], LambdaFunction);
87
+ assertTrue(operationLambda.expressionSequence.length === 1);
88
+ const operationFunctionExp = guaranteeType(operationLambda.expressionSequence[0], SimpleFunctionExpression);
89
+ const operation = guaranteeNonNullable(tdsState.olapGroupByState.findOperator(operationFunctionExp.functionName), `olapGroupBy() operator '${operationFunctionExp.functionName}' not supported`);
90
+ assertTrue(!operation.isColumnAggregator(), `Operator '${operation.getLabel()}' expects a TDS column to aggregate against`);
91
+ operatorState = new QueryBuilderTDSOlapRankOperatorState(tdsState.olapGroupByState, operation);
92
+ operatorState.setLambdaParameterName(guaranteeType(operationLambda.functionType.parameters[0], VariableExpression, `Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'`).name);
93
+ }
94
+ // main col
95
+ const olapColumnValue = guaranteeIsString(guaranteeType(olapColumnExpression, PrimitiveInstanceValue, 'Can`t process OLAP column: OLAP column should be a primitive instance value').values[0], 'Can`t process OLAP column: OLAP column should be a string primitive instance value');
96
+ const olapGroupByColumnState = new QueryBuilderOlapGroupByColumnState(tdsState.olapGroupByState, windowColumns, sortByState, operatorState, olapColumnValue);
97
+ tdsState.olapGroupByState.addOlapColumn(olapGroupByColumnState);
98
+ tdsState.setShowOlapGroupByPanel(true);
99
+ };
100
+ //# sourceMappingURL=QueryBuilderOlapGroupByStateBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderOlapGroupByStateBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByStateBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { type LambdaFunction } from '@finos/legend-graph';
17
+ import { type QueryBuilderOlapGroupByState } from './QueryBuilderOlapGroupByState.js';
18
+ export declare const appendOlapGroupByState: (olapGroupByState: QueryBuilderOlapGroupByState, lambda: LambdaFunction) => LambdaFunction;
19
+ //# sourceMappingURL=QueryBuilderOlapGroupByValueSpecificationBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderOlapGroupByValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOlapGroupByValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,cAAc,EAUpB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAEL,KAAK,4BAA4B,EAElC,MAAM,mCAAmC,CAAC;AAuG3C,eAAO,MAAM,sBAAsB,qBACf,4BAA4B,UACtC,cAAc,KACrB,cAKF,CAAC"}