@finos/legend-application-query 5.1.0 → 5.2.3

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 (599) hide show
  1. package/lib/application/LegendQueryApplicationConfig.d.ts +17 -1
  2. package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
  3. package/lib/application/LegendQueryApplicationConfig.js +23 -1
  4. package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
  5. package/lib/components/QueryBuilder.d.ts.map +1 -1
  6. package/lib/components/QueryBuilder.js +17 -8
  7. package/lib/components/QueryBuilder.js.map +1 -1
  8. package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -1
  9. package/lib/components/QueryBuilderParameterPanel.js +14 -35
  10. package/lib/components/QueryBuilderParameterPanel.js.map +1 -1
  11. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +1 -1
  12. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
  13. package/lib/components/QueryBuilderPropertyExpressionEditor.js +13 -13
  14. package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
  15. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  16. package/lib/components/QueryBuilderResultPanel.js +34 -26
  17. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  18. package/lib/components/QueryBuilderSetupPanel.d.ts.map +1 -1
  19. package/lib/components/QueryBuilderSetupPanel.js +11 -12
  20. package/lib/components/QueryBuilderSetupPanel.js.map +1 -1
  21. package/lib/components/QueryBuilderTextEditor.js +1 -1
  22. package/lib/components/QueryBuilderTextEditor.js.map +1 -1
  23. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -1
  24. package/lib/components/QueryBuilderUnsupportedQueryEditor.js +4 -2
  25. package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -1
  26. package/lib/components/QueryEditor.d.ts.map +1 -1
  27. package/lib/components/QueryEditor.js +16 -4
  28. package/lib/components/QueryEditor.js.map +1 -1
  29. package/lib/components/QueryEditorComponentTestUtils.d.ts.map +1 -1
  30. package/lib/components/QueryEditorComponentTestUtils.js +0 -2
  31. package/lib/components/QueryEditorComponentTestUtils.js.map +1 -1
  32. package/lib/components/{QueryBuilderExplorerPanel.d.ts → explorer/QueryBuilderExplorerPanel.d.ts} +1 -1
  33. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -0
  34. package/lib/components/{QueryBuilderExplorerPanel.js → explorer/QueryBuilderExplorerPanel.js} +19 -81
  35. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -0
  36. package/lib/components/{QueryBuilderFunctionsExplorerPanel.d.ts → explorer/QueryBuilderFunctionsExplorerPanel.d.ts} +1 -1
  37. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -0
  38. package/lib/components/{QueryBuilderFunctionsExplorerPanel.js → explorer/QueryBuilderFunctionsExplorerPanel.js} +9 -39
  39. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -0
  40. package/lib/components/{QueryBuilderMilestoneEditor.d.ts → explorer/QueryBuilderMilestoneEditor.d.ts} +1 -1
  41. package/lib/components/explorer/QueryBuilderMilestoneEditor.d.ts.map +1 -0
  42. package/lib/components/{QueryBuilderMilestoneEditor.js → explorer/QueryBuilderMilestoneEditor.js} +7 -7
  43. package/lib/components/explorer/QueryBuilderMilestoneEditor.js.map +1 -0
  44. package/lib/components/{QueryBuilderPropertySearchPanel.d.ts → explorer/QueryBuilderPropertySearchPanel.d.ts} +1 -1
  45. package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts.map +1 -0
  46. package/lib/components/{QueryBuilderPropertySearchPanel.js → explorer/QueryBuilderPropertySearchPanel.js} +8 -11
  47. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -0
  48. package/lib/components/{QueryBuilderFetchStructurePanel.d.ts → fetch-structure/QueryBuilderFetchStructurePanel.d.ts} +1 -1
  49. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -0
  50. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +135 -0
  51. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -0
  52. package/lib/components/{QueryBuilderGraphFetchTreePanel.d.ts → fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts} +3 -3
  53. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -0
  54. package/lib/components/{QueryBuilderGraphFetchTreePanel.js → fetch-structure/QueryBuilderGraphFetchTreePanel.js} +9 -9
  55. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js.map +1 -0
  56. package/lib/components/{QueryBuilderPostFilterPanel.d.ts → fetch-structure/QueryBuilderPostFilterPanel.d.ts} +3 -3
  57. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -0
  58. package/lib/components/{QueryBuilderPostFilterPanel.js → fetch-structure/QueryBuilderPostFilterPanel.js} +51 -74
  59. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -0
  60. package/lib/components/{QueryBuilderProjectionPanel.d.ts → fetch-structure/QueryBuilderProjectionPanel.d.ts} +1 -1
  61. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts.map +1 -0
  62. package/lib/components/{QueryBuilderProjectionPanel.js → fetch-structure/QueryBuilderProjectionPanel.js} +53 -73
  63. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js.map +1 -0
  64. package/lib/components/{QueryBuilderResultModifierPanel.d.ts → fetch-structure/QueryBuilderResultModifierPanel.d.ts} +1 -1
  65. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -0
  66. package/lib/components/{QueryBuilderResultModifierPanel.js → fetch-structure/QueryBuilderResultModifierPanel.js} +12 -7
  67. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -0
  68. package/lib/components/{QueryBuilderFilterPanel.d.ts → filter/QueryBuilderFilterPanel.d.ts} +1 -1
  69. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -0
  70. package/lib/components/{QueryBuilderFilterPanel.js → filter/QueryBuilderFilterPanel.js} +35 -64
  71. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -0
  72. package/lib/components/{QueryBuilderLambdaEditor.d.ts → shared/QueryBuilderLambdaEditor.d.ts} +2 -1
  73. package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +1 -0
  74. package/lib/components/{QueryBuilderLambdaEditor.js → shared/QueryBuilderLambdaEditor.js} +2 -2
  75. package/lib/components/shared/QueryBuilderLambdaEditor.js.map +1 -0
  76. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.d.ts +20 -0
  77. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.d.ts.map +1 -0
  78. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js +28 -0
  79. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js.map +1 -0
  80. package/lib/components/{QueryBuilderPropertyInfoTooltip.d.ts → shared/QueryBuilderPropertyInfoTooltip.d.ts} +0 -0
  81. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.d.ts.map +1 -0
  82. package/lib/components/{QueryBuilderPropertyInfoTooltip.js → shared/QueryBuilderPropertyInfoTooltip.js} +0 -0
  83. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js.map +1 -0
  84. package/lib/index.css +2 -2
  85. package/lib/index.css.map +1 -1
  86. package/lib/index.d.ts +0 -4
  87. package/lib/index.d.ts.map +1 -1
  88. package/lib/index.js +0 -4
  89. package/lib/index.js.map +1 -1
  90. package/lib/package.json +10 -9
  91. package/lib/stores/QueryBuilderGroupOperationHelper.d.ts +22 -0
  92. package/lib/stores/QueryBuilderGroupOperationHelper.d.ts.map +1 -0
  93. package/lib/stores/QueryBuilderGroupOperationHelper.js +43 -0
  94. package/lib/stores/QueryBuilderGroupOperationHelper.js.map +1 -0
  95. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -1
  96. package/lib/stores/QueryBuilderPreviewDataHelper.js +16 -17
  97. package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -1
  98. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
  99. package/lib/stores/QueryBuilderPropertyEditorState.js +5 -4
  100. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
  101. package/lib/stores/QueryBuilderResultState.js +1 -1
  102. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  103. package/lib/stores/QueryBuilderSetupState.js +1 -1
  104. package/lib/stores/QueryBuilderSetupState.js.map +1 -1
  105. package/lib/stores/QueryBuilderState.d.ts +14 -16
  106. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  107. package/lib/stores/QueryBuilderState.js +27 -34
  108. package/lib/stores/QueryBuilderState.js.map +1 -1
  109. package/lib/stores/QueryBuilderTestUtils.d.ts.map +1 -1
  110. package/lib/stores/QueryBuilderTestUtils.js +2 -1
  111. package/lib/stores/QueryBuilderTestUtils.js.map +1 -1
  112. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts +7 -7
  113. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -1
  114. package/lib/stores/QueryBuilderTypeaheadHelper.js +23 -28
  115. package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
  116. package/lib/stores/{QueryBuilderLambdaBuilder.d.ts → QueryBuilderValueSpecificationBuilder.d.ts} +1 -3
  117. package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -0
  118. package/lib/stores/{QueryBuilderLambdaBuilder.js → QueryBuilderValueSpecificationBuilder.js} +179 -190
  119. package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -0
  120. package/lib/stores/{QueryBuilderOperatorsHelper.d.ts → QueryBuilderValueSpecificationHelper.d.ts} +5 -9
  121. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -0
  122. package/lib/stores/{QueryBuilderOperatorsHelper.js → QueryBuilderValueSpecificationHelper.js} +38 -30
  123. package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -0
  124. package/lib/stores/{QueryBuilderLambdaProcessor.d.ts → QueryBuilderValueSpecificationProcessor.d.ts} +1 -1
  125. package/lib/stores/QueryBuilderValueSpecificationProcessor.d.ts.map +1 -0
  126. package/lib/stores/{QueryBuilderLambdaProcessor.js → QueryBuilderValueSpecificationProcessor.js} +18 -14
  127. package/lib/stores/QueryBuilderValueSpecificationProcessor.js.map +1 -0
  128. package/lib/stores/QueryEditorStore.d.ts.map +1 -1
  129. package/lib/stores/QueryEditorStore.js +14 -3
  130. package/lib/stores/QueryEditorStore.js.map +1 -1
  131. package/lib/stores/QueryParametersState.d.ts +1 -3
  132. package/lib/stores/QueryParametersState.d.ts.map +1 -1
  133. package/lib/stores/QueryParametersState.js +1 -4
  134. package/lib/stores/QueryParametersState.js.map +1 -1
  135. package/lib/stores/{QueryBuilderExplorerState.d.ts → explorer/QueryBuilderExplorerState.d.ts} +3 -2
  136. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -0
  137. package/lib/stores/{QueryBuilderExplorerState.js → explorer/QueryBuilderExplorerState.js} +76 -3
  138. package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -0
  139. package/lib/stores/{QueryBuilderPropertySearchPanelState.d.ts → explorer/QueryBuilderPropertySearchPanelState.d.ts} +2 -2
  140. package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.d.ts.map +1 -0
  141. package/lib/stores/{QueryBuilderPropertySearchPanelState.js → explorer/QueryBuilderPropertySearchPanelState.js} +1 -1
  142. package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.js.map +1 -0
  143. package/lib/stores/{QueryFunctionsExplorerState.d.ts → explorer/QueryFunctionsExplorerState.d.ts} +3 -7
  144. package/lib/stores/explorer/QueryFunctionsExplorerState.d.ts.map +1 -0
  145. package/lib/stores/{QueryFunctionsExplorerState.js → explorer/QueryFunctionsExplorerState.js} +2 -11
  146. package/lib/stores/explorer/QueryFunctionsExplorerState.js.map +1 -0
  147. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +23 -0
  148. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -0
  149. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +24 -0
  150. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -0
  151. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts +44 -0
  152. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -0
  153. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +116 -0
  154. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -0
  155. package/lib/stores/{QueryBuilderGraphFetchTreeState.d.ts → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts} +6 -5
  156. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -0
  157. package/lib/stores/{QueryBuilderGraphFetchTreeState.js → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js} +23 -20
  158. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -0
  159. package/lib/stores/{QueryBuilderGraphFetchTreeUtil.d.ts → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts} +2 -2
  160. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -0
  161. package/lib/stores/{QueryBuilderGraphFetchTreeUtil.js → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js} +1 -1
  162. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -0
  163. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts +19 -0
  164. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts.map +1 -0
  165. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js +49 -0
  166. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js.map +1 -0
  167. package/lib/stores/{QueryBuilderProjectionState.d.ts → fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts} +7 -40
  168. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -0
  169. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +187 -0
  170. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -0
  171. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts +59 -0
  172. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts.map +1 -0
  173. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +203 -0
  174. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -0
  175. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts +21 -0
  176. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -0
  177. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js +73 -0
  178. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -0
  179. package/lib/stores/{QueryResultSetModifierState.d.ts → fetch-structure/projection/QueryResultSetModifierState.d.ts} +5 -14
  180. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts.map +1 -0
  181. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js +77 -0
  182. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js.map +1 -0
  183. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts +32 -0
  184. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts.map +1 -0
  185. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js +36 -0
  186. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js.map +1 -0
  187. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.d.ts +18 -0
  188. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.d.ts.map +1 -0
  189. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.js +38 -0
  190. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.js.map +1 -0
  191. package/lib/stores/{QueryBuilderAggregationState.d.ts → fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts} +4 -15
  192. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts.map +1 -0
  193. package/lib/stores/{QueryBuilderAggregationState.js → fetch-structure/projection/aggregation/QueryBuilderAggregationState.js} +2 -21
  194. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js.map +1 -0
  195. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperatorHelper.d.ts +3 -2
  196. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.d.ts.map +1 -0
  197. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperatorHelper.js +1 -1
  198. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.js.map +1 -0
  199. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Average.d.ts +3 -2
  200. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -0
  201. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Average.js +3 -3
  202. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -0
  203. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Count.d.ts +3 -2
  204. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -0
  205. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Count.js +3 -3
  206. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -0
  207. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Distinct.d.ts +3 -2
  208. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -0
  209. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Distinct.js +3 -3
  210. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -0
  211. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_DistinctCount.d.ts +3 -2
  212. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -0
  213. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_DistinctCount.js +4 -3
  214. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -0
  215. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_JoinString.d.ts +3 -2
  216. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -0
  217. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_JoinString.js +4 -3
  218. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -0
  219. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Max.d.ts +3 -2
  220. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -0
  221. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Max.js +3 -3
  222. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -0
  223. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Min.d.ts +3 -2
  224. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -0
  225. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Min.js +3 -3
  226. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -0
  227. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Population.d.ts +3 -2
  228. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -0
  229. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Population.js +3 -3
  230. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -0
  231. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +3 -2
  232. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -0
  233. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Sample.js +3 -3
  234. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -0
  235. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Sum.d.ts +3 -2
  236. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -0
  237. package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Sum.js +3 -3
  238. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -0
  239. package/lib/stores/{QueryBuilderPostFilterOperator.d.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts} +0 -0
  240. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts.map +1 -0
  241. package/lib/stores/{QueryBuilderPostFilterOperator.js → fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.js} +0 -0
  242. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.js.map +1 -0
  243. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.d.ts +18 -0
  244. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.d.ts.map +1 -0
  245. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.js +44 -0
  246. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.js.map +1 -0
  247. package/lib/stores/{QueryBuilderPostFilterState.d.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts} +10 -10
  248. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -0
  249. package/lib/stores/{QueryBuilderPostFilterState.js → fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js} +24 -21
  250. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js.map +1 -0
  251. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts +19 -0
  252. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -0
  253. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +82 -0
  254. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -0
  255. package/lib/stores/{QueryBuilderPostFilterProcessor.d.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.d.ts} +2 -5
  256. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.d.ts.map +1 -0
  257. package/lib/stores/{QueryBuilderPostFilterProcessor.js → fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.js} +13 -11
  258. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.js.map +1 -0
  259. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperatorHelper.d.ts +2 -2
  260. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -0
  261. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperatorHelper.js +5 -5
  262. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -0
  263. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Contain.d.ts +0 -0
  264. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -0
  265. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Contain.js +7 -8
  266. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -0
  267. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_EndWith.d.ts +0 -0
  268. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -0
  269. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_EndWith.js +7 -8
  270. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -0
  271. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Equal.d.ts +0 -0
  272. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -0
  273. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Equal.js +13 -11
  274. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -0
  275. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThan.d.ts +0 -0
  276. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -0
  277. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThan.js +10 -8
  278. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -0
  279. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +0 -0
  280. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -0
  281. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThanEqual.js +2 -2
  282. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -0
  283. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_In.d.ts +0 -0
  284. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -0
  285. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_In.js +8 -8
  286. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -0
  287. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_IsEmpty.d.ts +0 -0
  288. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -0
  289. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_IsEmpty.js +3 -3
  290. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -0
  291. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThan.d.ts +0 -0
  292. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -0
  293. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThan.js +10 -8
  294. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -0
  295. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +0 -0
  296. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -0
  297. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThanEqual.js +2 -2
  298. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -0
  299. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_StartWith.d.ts +0 -0
  300. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -0
  301. package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_StartWith.js +7 -8
  302. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -0
  303. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts +27 -0
  304. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts.map +1 -0
  305. package/lib/stores/filter/QueryBuilderFilterOperator.js +20 -0
  306. package/lib/stores/filter/QueryBuilderFilterOperator.js.map +1 -0
  307. package/lib/stores/filter/QueryBuilderFilterOperatorLoader.d.ts +18 -0
  308. package/lib/stores/filter/QueryBuilderFilterOperatorLoader.d.ts.map +1 -0
  309. package/lib/stores/filter/QueryBuilderFilterOperatorLoader.js +44 -0
  310. package/lib/stores/filter/QueryBuilderFilterOperatorLoader.js.map +1 -0
  311. package/lib/stores/{QueryBuilderFilterState.d.ts → filter/QueryBuilderFilterState.d.ts} +11 -25
  312. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -0
  313. package/lib/stores/{QueryBuilderFilterState.js → filter/QueryBuilderFilterState.js} +15 -81
  314. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -0
  315. package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.d.ts +19 -0
  316. package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -0
  317. package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.js +78 -0
  318. package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.js.map +1 -0
  319. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperatorHelper.d.ts +2 -1
  320. package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.d.ts.map +1 -0
  321. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperatorHelper.js +3 -3
  322. package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js.map +1 -0
  323. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Contain.d.ts +2 -1
  324. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -0
  325. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Contain.js +3 -4
  326. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -0
  327. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_EndWith.d.ts +2 -1
  328. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -0
  329. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_EndWith.js +3 -4
  330. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -0
  331. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Equal.d.ts +2 -1
  332. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -0
  333. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Equal.js +8 -6
  334. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -0
  335. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThan.d.ts +2 -1
  336. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -0
  337. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThan.js +8 -6
  338. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -0
  339. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +2 -1
  340. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -0
  341. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThanEqual.js +8 -6
  342. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -0
  343. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_In.d.ts +2 -1
  344. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts.map +1 -0
  345. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_In.js +3 -3
  346. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -0
  347. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_IsEmpty.d.ts +2 -1
  348. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -0
  349. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_IsEmpty.js +3 -3
  350. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -0
  351. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThan.d.ts +2 -1
  352. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -0
  353. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThan.js +8 -6
  354. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -0
  355. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThanEqual.d.ts +2 -1
  356. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -0
  357. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThanEqual.js +8 -6
  358. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -0
  359. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_StartWith.d.ts +2 -1
  360. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -0
  361. package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_StartWith.js +3 -4
  362. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -0
  363. package/package.json +17 -16
  364. package/src/application/LegendQueryApplicationConfig.ts +35 -1
  365. package/src/components/QueryBuilder.tsx +30 -12
  366. package/src/components/QueryBuilderParameterPanel.tsx +22 -54
  367. package/src/components/QueryBuilderPropertyExpressionEditor.tsx +63 -59
  368. package/src/components/QueryBuilderResultPanel.tsx +81 -59
  369. package/src/components/QueryBuilderSetupPanel.tsx +11 -12
  370. package/src/components/QueryBuilderTextEditor.tsx +1 -1
  371. package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +4 -2
  372. package/src/components/QueryEditor.tsx +39 -1
  373. package/src/components/QueryEditorComponentTestUtils.tsx +0 -2
  374. package/src/components/{QueryBuilderExplorerPanel.tsx → explorer/QueryBuilderExplorerPanel.tsx} +35 -148
  375. package/src/components/{QueryBuilderFunctionsExplorerPanel.tsx → explorer/QueryBuilderFunctionsExplorerPanel.tsx} +25 -70
  376. package/src/components/{QueryBuilderMilestoneEditor.tsx → explorer/QueryBuilderMilestoneEditor.tsx} +38 -38
  377. package/src/components/{QueryBuilderPropertySearchPanel.tsx → explorer/QueryBuilderPropertySearchPanel.tsx} +14 -15
  378. package/src/components/fetch-structure/QueryBuilderFetchStructurePanel.tsx +246 -0
  379. package/src/components/{QueryBuilderGraphFetchTreePanel.tsx → fetch-structure/QueryBuilderGraphFetchTreePanel.tsx} +40 -31
  380. package/src/components/{QueryBuilderPostFilterPanel.tsx → fetch-structure/QueryBuilderPostFilterPanel.tsx} +228 -266
  381. package/src/components/{QueryBuilderProjectionPanel.tsx → fetch-structure/QueryBuilderProjectionPanel.tsx} +135 -181
  382. package/src/components/{QueryBuilderResultModifierPanel.tsx → fetch-structure/QueryBuilderResultModifierPanel.tsx} +20 -10
  383. package/src/components/{QueryBuilderFilterPanel.tsx → filter/QueryBuilderFilterPanel.tsx} +195 -243
  384. package/src/components/{QueryBuilderLambdaEditor.tsx → shared/QueryBuilderLambdaEditor.tsx} +4 -1
  385. package/src/components/shared/QueryBuilderPanelIssueCountBadge.tsx +38 -0
  386. package/src/components/{QueryBuilderPropertyInfoTooltip.tsx → shared/QueryBuilderPropertyInfoTooltip.tsx} +0 -0
  387. package/src/index.ts +0 -4
  388. package/src/stores/QueryBuilderGroupOperationHelper.ts +54 -0
  389. package/src/stores/QueryBuilderPreviewDataHelper.ts +17 -21
  390. package/src/stores/QueryBuilderPropertyEditorState.ts +6 -3
  391. package/src/stores/QueryBuilderResultState.ts +1 -1
  392. package/src/stores/QueryBuilderSetupState.ts +1 -1
  393. package/src/stores/QueryBuilderState.ts +31 -54
  394. package/src/stores/QueryBuilderTestUtils.ts +4 -1
  395. package/src/stores/QueryBuilderTypeaheadHelper.ts +31 -32
  396. package/src/stores/{QueryBuilderLambdaBuilder.ts → QueryBuilderValueSpecificationBuilder.ts} +331 -347
  397. package/src/stores/{QueryBuilderOperatorsHelper.ts → QueryBuilderValueSpecificationHelper.ts} +66 -47
  398. package/src/stores/{QueryBuilderLambdaProcessor.ts → QueryBuilderValueSpecificationProcessor.ts} +28 -13
  399. package/src/stores/QueryEditorStore.ts +19 -3
  400. package/src/stores/QueryParametersState.ts +1 -3
  401. package/src/stores/{QueryBuilderExplorerState.ts → explorer/QueryBuilderExplorerState.ts} +143 -3
  402. package/src/stores/{QueryBuilderPropertySearchPanelState.ts → explorer/QueryBuilderPropertySearchPanelState.ts} +2 -2
  403. package/src/stores/{QueryFunctionsExplorerState.ts → explorer/QueryFunctionsExplorerState.ts} +2 -12
  404. package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +34 -0
  405. package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +173 -0
  406. package/src/stores/{QueryBuilderGraphFetchTreeState.ts → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts} +43 -33
  407. package/src/stores/{QueryBuilderGraphFetchTreeUtil.ts → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts} +2 -2
  408. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.ts +90 -0
  409. package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +329 -0
  410. package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +390 -0
  411. package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +170 -0
  412. package/src/stores/fetch-structure/projection/QueryResultSetModifierState.ts +95 -0
  413. package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.ts +79 -0
  414. package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.ts +41 -0
  415. package/src/stores/{QueryBuilderAggregationState.ts → fetch-structure/projection/aggregation/QueryBuilderAggregationState.ts} +6 -69
  416. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperatorHelper.ts +3 -5
  417. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Average.ts +4 -6
  418. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Count.ts +4 -6
  419. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Distinct.ts +4 -6
  420. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_DistinctCount.ts +4 -6
  421. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_JoinString.ts +4 -6
  422. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Max.ts +4 -6
  423. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Min.ts +4 -6
  424. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Population.ts +4 -6
  425. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Sample.ts +4 -6
  426. package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Sum.ts +4 -6
  427. package/src/stores/{QueryBuilderPostFilterOperator.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.ts} +0 -0
  428. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.ts +65 -0
  429. package/src/stores/{QueryBuilderPostFilterState.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterState.ts} +42 -35
  430. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +131 -0
  431. package/src/stores/{QueryBuilderPostFilterProcessor.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.ts} +13 -11
  432. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperatorHelper.ts +5 -5
  433. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Contain.ts +12 -12
  434. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_EndWith.ts +12 -12
  435. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Equal.ts +23 -16
  436. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThan.ts +18 -11
  437. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +2 -2
  438. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_In.ts +12 -12
  439. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_IsEmpty.ts +3 -3
  440. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThan.ts +18 -11
  441. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThanEqual.ts +2 -2
  442. package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_StartWith.ts +12 -12
  443. package/src/stores/filter/QueryBuilderFilterOperator.ts +52 -0
  444. package/src/stores/filter/QueryBuilderFilterOperatorLoader.ts +65 -0
  445. package/src/stores/{QueryBuilderFilterState.ts → filter/QueryBuilderFilterState.ts} +33 -160
  446. package/src/stores/filter/QueryBuilderValueSpecificationBuilder.ts +120 -0
  447. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperatorHelper.ts +4 -4
  448. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Contain.ts +8 -8
  449. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_EndWith.ts +8 -8
  450. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Equal.ts +18 -11
  451. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThan.ts +17 -10
  452. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThanEqual.ts +17 -10
  453. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_In.ts +7 -7
  454. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_IsEmpty.ts +6 -6
  455. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThan.ts +17 -10
  456. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThanEqual.ts +17 -10
  457. package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_StartWith.ts +7 -7
  458. package/tsconfig.json +75 -64
  459. package/lib/components/QueryBuilderExplorerPanel.d.ts.map +0 -1
  460. package/lib/components/QueryBuilderExplorerPanel.js.map +0 -1
  461. package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +0 -1
  462. package/lib/components/QueryBuilderFetchStructurePanel.js +0 -121
  463. package/lib/components/QueryBuilderFetchStructurePanel.js.map +0 -1
  464. package/lib/components/QueryBuilderFilterPanel.d.ts.map +0 -1
  465. package/lib/components/QueryBuilderFilterPanel.js.map +0 -1
  466. package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +0 -1
  467. package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +0 -1
  468. package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts.map +0 -1
  469. package/lib/components/QueryBuilderGraphFetchTreePanel.js.map +0 -1
  470. package/lib/components/QueryBuilderLambdaEditor.d.ts.map +0 -1
  471. package/lib/components/QueryBuilderLambdaEditor.js.map +0 -1
  472. package/lib/components/QueryBuilderMilestoneEditor.d.ts.map +0 -1
  473. package/lib/components/QueryBuilderMilestoneEditor.js.map +0 -1
  474. package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +0 -1
  475. package/lib/components/QueryBuilderPostFilterPanel.js.map +0 -1
  476. package/lib/components/QueryBuilderProjectionPanel.d.ts.map +0 -1
  477. package/lib/components/QueryBuilderProjectionPanel.js.map +0 -1
  478. package/lib/components/QueryBuilderPropertyInfoTooltip.d.ts.map +0 -1
  479. package/lib/components/QueryBuilderPropertyInfoTooltip.js.map +0 -1
  480. package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +0 -1
  481. package/lib/components/QueryBuilderPropertySearchPanel.js.map +0 -1
  482. package/lib/components/QueryBuilderResultModifierPanel.d.ts.map +0 -1
  483. package/lib/components/QueryBuilderResultModifierPanel.js.map +0 -1
  484. package/lib/stores/QueryBuilderAggregationState.d.ts.map +0 -1
  485. package/lib/stores/QueryBuilderAggregationState.js.map +0 -1
  486. package/lib/stores/QueryBuilderExplorerState.d.ts.map +0 -1
  487. package/lib/stores/QueryBuilderExplorerState.js.map +0 -1
  488. package/lib/stores/QueryBuilderFetchStructureState.d.ts +0 -34
  489. package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +0 -1
  490. package/lib/stores/QueryBuilderFetchStructureState.js +0 -50
  491. package/lib/stores/QueryBuilderFetchStructureState.js.map +0 -1
  492. package/lib/stores/QueryBuilderFilterState.d.ts.map +0 -1
  493. package/lib/stores/QueryBuilderFilterState.js.map +0 -1
  494. package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts.map +0 -1
  495. package/lib/stores/QueryBuilderGraphFetchTreeState.js.map +0 -1
  496. package/lib/stores/QueryBuilderGraphFetchTreeUtil.d.ts.map +0 -1
  497. package/lib/stores/QueryBuilderGraphFetchTreeUtil.js.map +0 -1
  498. package/lib/stores/QueryBuilderLambdaBuilder.d.ts.map +0 -1
  499. package/lib/stores/QueryBuilderLambdaBuilder.js.map +0 -1
  500. package/lib/stores/QueryBuilderLambdaProcessor.d.ts.map +0 -1
  501. package/lib/stores/QueryBuilderLambdaProcessor.js.map +0 -1
  502. package/lib/stores/QueryBuilderOperatorLoader.d.ts +0 -47
  503. package/lib/stores/QueryBuilderOperatorLoader.d.ts.map +0 -1
  504. package/lib/stores/QueryBuilderOperatorLoader.js +0 -94
  505. package/lib/stores/QueryBuilderOperatorLoader.js.map +0 -1
  506. package/lib/stores/QueryBuilderOperatorsHelper.d.ts.map +0 -1
  507. package/lib/stores/QueryBuilderOperatorsHelper.js.map +0 -1
  508. package/lib/stores/QueryBuilderPostFilterOperator.d.ts.map +0 -1
  509. package/lib/stores/QueryBuilderPostFilterOperator.js.map +0 -1
  510. package/lib/stores/QueryBuilderPostFilterProcessor.d.ts.map +0 -1
  511. package/lib/stores/QueryBuilderPostFilterProcessor.js.map +0 -1
  512. package/lib/stores/QueryBuilderPostFilterState.d.ts.map +0 -1
  513. package/lib/stores/QueryBuilderPostFilterState.js.map +0 -1
  514. package/lib/stores/QueryBuilderProjectionState.d.ts.map +0 -1
  515. package/lib/stores/QueryBuilderProjectionState.js +0 -428
  516. package/lib/stores/QueryBuilderProjectionState.js.map +0 -1
  517. package/lib/stores/QueryBuilderPropertySearchPanelState.d.ts.map +0 -1
  518. package/lib/stores/QueryBuilderPropertySearchPanelState.js.map +0 -1
  519. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts +0 -19
  520. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +0 -1
  521. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +0 -50
  522. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +0 -1
  523. package/lib/stores/QueryFunctionsExplorerState.d.ts.map +0 -1
  524. package/lib/stores/QueryFunctionsExplorerState.js.map +0 -1
  525. package/lib/stores/QueryResultSetModifierState.d.ts.map +0 -1
  526. package/lib/stores/QueryResultSetModifierState.js +0 -165
  527. package/lib/stores/QueryResultSetModifierState.js.map +0 -1
  528. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.d.ts.map +0 -1
  529. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.js.map +0 -1
  530. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.d.ts.map +0 -1
  531. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.js.map +0 -1
  532. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.d.ts.map +0 -1
  533. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.js.map +0 -1
  534. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.d.ts.map +0 -1
  535. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.js.map +0 -1
  536. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +0 -1
  537. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.js.map +0 -1
  538. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.d.ts.map +0 -1
  539. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.js.map +0 -1
  540. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.d.ts.map +0 -1
  541. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.js.map +0 -1
  542. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.d.ts.map +0 -1
  543. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.js.map +0 -1
  544. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +0 -1
  545. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.js.map +0 -1
  546. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +0 -1
  547. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +0 -1
  548. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.d.ts.map +0 -1
  549. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.js.map +0 -1
  550. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.d.ts.map +0 -1
  551. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.js.map +0 -1
  552. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.d.ts.map +0 -1
  553. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.js.map +0 -1
  554. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.d.ts.map +0 -1
  555. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.js.map +0 -1
  556. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +0 -1
  557. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +0 -1
  558. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +0 -1
  559. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +0 -1
  560. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +0 -1
  561. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +0 -1
  562. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.d.ts.map +0 -1
  563. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.js.map +0 -1
  564. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +0 -1
  565. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.js.map +0 -1
  566. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +0 -1
  567. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +0 -1
  568. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +0 -1
  569. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +0 -1
  570. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.d.ts.map +0 -1
  571. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.js.map +0 -1
  572. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.d.ts.map +0 -1
  573. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js.map +0 -1
  574. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.d.ts.map +0 -1
  575. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.js.map +0 -1
  576. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +0 -1
  577. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js.map +0 -1
  578. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +0 -1
  579. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +0 -1
  580. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +0 -1
  581. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +0 -1
  582. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +0 -1
  583. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +0 -1
  584. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.d.ts.map +0 -1
  585. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.js.map +0 -1
  586. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +0 -1
  587. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js.map +0 -1
  588. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +0 -1
  589. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +0 -1
  590. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +0 -1
  591. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +0 -1
  592. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +0 -1
  593. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js.map +0 -1
  594. package/src/components/QueryBuilderFetchStructurePanel.tsx +0 -224
  595. package/src/stores/QueryBuilderFetchStructureState.ts +0 -66
  596. package/src/stores/QueryBuilderOperatorLoader.ts +0 -133
  597. package/src/stores/QueryBuilderProjectionState.ts +0 -794
  598. package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +0 -76
  599. package/src/stores/QueryResultSetModifierState.ts +0 -307
@@ -1,794 +0,0 @@
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
-
17
- import {
18
- action,
19
- flowResult,
20
- makeAutoObservable,
21
- makeObservable,
22
- observable,
23
- flow,
24
- } from 'mobx';
25
- import {
26
- type GeneratorFn,
27
- LogEvent,
28
- assertType,
29
- UnsupportedOperationError,
30
- assertErrorThrown,
31
- changeEntry,
32
- guaranteeType,
33
- uuid,
34
- deleteEntry,
35
- addUniqueEntry,
36
- guaranteeNonNullable,
37
- findLast,
38
- assertTrue,
39
- assertNonEmptyString,
40
- filterByType,
41
- } from '@finos/legend-shared';
42
- import {
43
- type QueryBuilderExplorerTreePropertyNodeData,
44
- buildPropertyExpressionFromExplorerTreeNodeData,
45
- } from './QueryBuilderExplorerState.js';
46
- import {
47
- getPropertyChainName,
48
- QueryBuilderPropertyExpressionState,
49
- } from './QueryBuilderPropertyEditorState.js';
50
- import type { QueryBuilderState } from './QueryBuilderState.js';
51
- import {
52
- type AbstractPropertyExpression,
53
- type CompilationError,
54
- type ExecutionResult,
55
- type Type,
56
- type VariableExpression,
57
- PackageableElementExplicitReference,
58
- GRAPH_MANAGER_EVENT,
59
- TdsExecutionResult,
60
- PRIMITIVE_TYPE,
61
- extractSourceInformationCoordinates,
62
- buildSourceInformationSourceId,
63
- ParserError,
64
- TYPICAL_MULTIPLICITY_TYPE,
65
- RawVariableExpression,
66
- Enumeration,
67
- LAMBDA_PIPE,
68
- RawLambda,
69
- stub_RawLambda,
70
- isStubbed_RawLambda,
71
- } from '@finos/legend-graph';
72
- import {
73
- DEFAULT_LAMBDA_VARIABLE_NAME,
74
- QUERY_BUILDER_SOURCE_ID_LABEL,
75
- } from '../QueryBuilder_Const.js';
76
- import {
77
- type QueryBuilderAggregateOperator,
78
- QueryBuilderAggregationState,
79
- } from './QueryBuilderAggregationState.js';
80
- import { buildGenericLambdaFunctionInstanceValue } from './QueryBuilderValueSpecificationBuilderHelper.js';
81
- import { LambdaEditorState } from '@finos/legend-application';
82
- import {
83
- type QueryBuilderPreviewData,
84
- buildNumericPreviewDataQuery,
85
- buildNonNumericPreviewDataQuery,
86
- } from './QueryBuilderPreviewDataHelper.js';
87
-
88
- export enum QUERY_BUILDER_PROJECTION_DND_TYPE {
89
- PROJECTION_COLUMN = 'PROJECTION_COLUMN',
90
- }
91
-
92
- export interface QueryBuilderProjectionColumnDragSource {
93
- columnState: QueryBuilderProjectionColumnState;
94
- }
95
-
96
- export abstract class QueryBuilderProjectionColumnState {
97
- readonly uuid = uuid();
98
- projectionState: QueryBuilderProjectionState;
99
- isBeingDragged = false;
100
- columnName: string;
101
-
102
- constructor(
103
- projectionState: QueryBuilderProjectionState,
104
- columnName: string,
105
- ) {
106
- makeObservable(this, {
107
- uuid: false,
108
- projectionState: false,
109
- isBeingDragged: observable,
110
- columnName: observable,
111
- setIsBeingDragged: action,
112
- setColumnName: action,
113
- });
114
-
115
- this.projectionState = projectionState;
116
- this.columnName = columnName;
117
- }
118
-
119
- setIsBeingDragged(val: boolean): void {
120
- this.isBeingDragged = val;
121
- }
122
-
123
- setColumnName(val: string): void {
124
- this.columnName = val;
125
- }
126
-
127
- abstract getReturnType(): Type | undefined;
128
- }
129
-
130
- export class QueryBuilderSimpleProjectionColumnState extends QueryBuilderProjectionColumnState {
131
- lambdaParameterName: string = DEFAULT_LAMBDA_VARIABLE_NAME;
132
- propertyExpressionState: QueryBuilderPropertyExpressionState;
133
-
134
- constructor(
135
- projectionState: QueryBuilderProjectionState,
136
- propertyExpression: AbstractPropertyExpression,
137
- humanizePropertyName: boolean,
138
- ) {
139
- super(projectionState, '');
140
-
141
- makeObservable(this, {
142
- lambdaParameterName: observable,
143
- propertyExpressionState: observable,
144
- setLambdaParameterName: action,
145
- changeProperty: action,
146
- });
147
- this.propertyExpressionState = new QueryBuilderPropertyExpressionState(
148
- projectionState.queryBuilderState,
149
- propertyExpression,
150
- );
151
- this.columnName = getPropertyChainName(
152
- this.propertyExpressionState.propertyExpression,
153
- humanizePropertyName,
154
- );
155
- }
156
-
157
- setLambdaParameterName(val: string): void {
158
- this.lambdaParameterName = val;
159
- }
160
-
161
- changeProperty(
162
- node: QueryBuilderExplorerTreePropertyNodeData,
163
- humanizePropertyName: boolean,
164
- ): void {
165
- this.propertyExpressionState = new QueryBuilderPropertyExpressionState(
166
- this.projectionState.queryBuilderState,
167
- buildPropertyExpressionFromExplorerTreeNodeData(
168
- this.projectionState.queryBuilderState.explorerState
169
- .nonNullableTreeData,
170
- node,
171
- this.projectionState.queryBuilderState.graphManagerState.graph,
172
- this.projectionState.queryBuilderState.explorerState
173
- .propertySearchPanelState.allMappedPropertyNodes,
174
- ),
175
- );
176
- this.columnName = getPropertyChainName(
177
- this.propertyExpressionState.propertyExpression,
178
- humanizePropertyName,
179
- );
180
- }
181
-
182
- override getReturnType(): Type | undefined {
183
- return this.propertyExpressionState.propertyExpression.func.genericType
184
- .value.rawType;
185
- }
186
- }
187
-
188
- class QueryBuilderDerivationProjectionLambdaState extends LambdaEditorState {
189
- queryBuilderState: QueryBuilderState;
190
- derivationProjectionColumnState: QueryBuilderDerivationProjectionColumnState;
191
- /**
192
- * This is used to store the JSON string when viewing the query in JSON mode
193
- * TODO: consider moving this to another state if we need to simplify the logic of text-mode
194
- */
195
- readOnlylambdaJson = '';
196
-
197
- constructor(
198
- queryBuilderState: QueryBuilderState,
199
- derivationProjectionColumnState: QueryBuilderDerivationProjectionColumnState,
200
- ) {
201
- super('', '');
202
- this.queryBuilderState = queryBuilderState;
203
- this.derivationProjectionColumnState = derivationProjectionColumnState;
204
- }
205
-
206
- get lambdaId(): string {
207
- return buildSourceInformationSourceId([
208
- // TODO: to be reworked
209
- // See https://github.com/finos/legend-studio/issues/1168
210
- QUERY_BUILDER_SOURCE_ID_LABEL.QUERY_BUILDER,
211
- QUERY_BUILDER_SOURCE_ID_LABEL.PROJECTION,
212
- this.derivationProjectionColumnState.uuid,
213
- ]);
214
- }
215
-
216
- setLambdaJson(lambdaJson: string): void {
217
- this.readOnlylambdaJson = lambdaJson;
218
- }
219
-
220
- *convertLambdaGrammarStringToObject(): GeneratorFn<void> {
221
- const emptyLambda = stub_RawLambda();
222
- if (this.lambdaString) {
223
- try {
224
- const lambda =
225
- (yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(
226
- this.fullLambdaString,
227
- this.lambdaId,
228
- )) as RawLambda;
229
- this.setParserError(undefined);
230
- this.derivationProjectionColumnState.setLambda(lambda);
231
- } catch (error) {
232
- assertErrorThrown(error);
233
- if (error instanceof ParserError) {
234
- this.setParserError(error);
235
- }
236
- this.queryBuilderState.applicationStore.log.error(
237
- LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE),
238
- error,
239
- );
240
- }
241
- } else {
242
- this.clearErrors();
243
- this.derivationProjectionColumnState.setLambda(emptyLambda);
244
- }
245
- }
246
-
247
- *convertLambdaObjectToGrammarString(pretty: boolean): GeneratorFn<void> {
248
- if (this.derivationProjectionColumnState.lambda.body) {
249
- try {
250
- const lambdas = new Map<string, RawLambda>();
251
- lambdas.set(
252
- this.lambdaId,
253
- new RawLambda(
254
- this.derivationProjectionColumnState.lambda.parameters,
255
- this.derivationProjectionColumnState.lambda.body,
256
- ),
257
- );
258
- const isolatedLambdas =
259
- (yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(
260
- lambdas,
261
- pretty,
262
- )) as Map<string, string>;
263
- const grammarText = isolatedLambdas.get(this.lambdaId);
264
- this.setLambdaString(
265
- grammarText !== undefined
266
- ? this.extractLambdaString(grammarText)
267
- : '',
268
- );
269
- this.clearErrors();
270
- } catch (error) {
271
- assertErrorThrown(error);
272
- this.queryBuilderState.applicationStore.log.error(
273
- LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE),
274
- error,
275
- );
276
- }
277
- } else {
278
- this.clearErrors();
279
- this.setLambdaString('');
280
- }
281
- }
282
- }
283
-
284
- export class QueryBuilderDerivationProjectionColumnState extends QueryBuilderProjectionColumnState {
285
- derivationLambdaEditorState: QueryBuilderDerivationProjectionLambdaState;
286
- lambda: RawLambda;
287
- returnType: Type | undefined;
288
-
289
- constructor(projectionState: QueryBuilderProjectionState, lambda: RawLambda) {
290
- super(projectionState, '(derivation)');
291
-
292
- makeObservable(this, {
293
- lambda: observable,
294
- returnType: observable,
295
- setLambda: action,
296
- fetchDerivationLambdaReturnType: flow,
297
- });
298
-
299
- this.derivationLambdaEditorState =
300
- new QueryBuilderDerivationProjectionLambdaState(
301
- projectionState.queryBuilderState,
302
- this,
303
- );
304
- this.lambda = lambda;
305
- }
306
-
307
- setLambda(val: RawLambda): void {
308
- this.lambda = val;
309
- }
310
-
311
- setReturnType(val: Type | undefined): void {
312
- this.returnType = val;
313
- }
314
-
315
- /**
316
- * Fetches lambda return type for derivation column.
317
- * Throws error if unable to fetch type or if type is not primitive or an enumeration
318
- * as expected by a projection column
319
- */
320
- *fetchDerivationLambdaReturnType(): GeneratorFn<void> {
321
- assertTrue(Array.isArray(this.lambda.parameters));
322
- const projectionParameter = this.lambda.parameters as object[];
323
- const graph =
324
- this.projectionState.queryBuilderState.graphManagerState.graph;
325
- const multiplicityOne = graph.getTypicalMultiplicity(
326
- TYPICAL_MULTIPLICITY_TYPE.ONE,
327
- );
328
- assertTrue(projectionParameter.length === 1);
329
- const variable = projectionParameter[0] as VariableExpression;
330
- assertNonEmptyString(variable.name);
331
- // assign variable to query class
332
- const rawVariableExpression = new RawVariableExpression(
333
- variable.name,
334
- multiplicityOne,
335
- PackageableElementExplicitReference.create(
336
- guaranteeNonNullable(
337
- this.projectionState.queryBuilderState.querySetupState._class,
338
- ),
339
- ),
340
- );
341
- const _rawVariableExpression =
342
- this.projectionState.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(
343
- rawVariableExpression,
344
- );
345
- const isolatedLambda = new RawLambda(
346
- [_rawVariableExpression],
347
- this.lambda.body,
348
- );
349
- const type =
350
- (yield this.projectionState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(
351
- isolatedLambda,
352
- graph,
353
- )) as string;
354
- const resolvedType = graph.getType(type);
355
- assertTrue(
356
- Object.values(PRIMITIVE_TYPE).includes(
357
- resolvedType.path as PRIMITIVE_TYPE,
358
- ) || resolvedType instanceof Enumeration,
359
- 'projection column must have primitive return type',
360
- );
361
- this.setReturnType(resolvedType);
362
- }
363
-
364
- override getReturnType(): Type | undefined {
365
- return this.returnType;
366
- }
367
- }
368
-
369
- export class QueryBuilderProjectionState {
370
- queryBuilderState: QueryBuilderState;
371
- columns: QueryBuilderProjectionColumnState[] = [];
372
- aggregationState: QueryBuilderAggregationState;
373
- isConvertDerivationProjectionObjects = false;
374
-
375
- constructor(
376
- queryBuilderState: QueryBuilderState,
377
- operators: QueryBuilderAggregateOperator[],
378
- ) {
379
- makeAutoObservable(this, {
380
- queryBuilderState: false,
381
- removeColumn: action,
382
- addColumn: action,
383
- moveColumn: action,
384
- replaceColumn: action,
385
- });
386
-
387
- this.queryBuilderState = queryBuilderState;
388
- this.aggregationState = new QueryBuilderAggregationState(this, operators);
389
- }
390
-
391
- *convertDerivationProjectionObjects(): GeneratorFn<void> {
392
- const lambdas = new Map<string, RawLambda>();
393
- const derivationProjectionColumnStateMap = new Map<
394
- string,
395
- QueryBuilderDerivationProjectionColumnState
396
- >();
397
- this.derivations.forEach((derivationProjectionColumnState) => {
398
- if (!isStubbed_RawLambda(derivationProjectionColumnState.lambda)) {
399
- lambdas.set(
400
- derivationProjectionColumnState.derivationLambdaEditorState.lambdaId,
401
- derivationProjectionColumnState.lambda,
402
- );
403
- derivationProjectionColumnStateMap.set(
404
- derivationProjectionColumnState.derivationLambdaEditorState.lambdaId,
405
- derivationProjectionColumnState,
406
- );
407
- }
408
- });
409
- if (lambdas.size) {
410
- this.isConvertDerivationProjectionObjects = true;
411
- try {
412
- const isolatedLambdas =
413
- (yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(
414
- lambdas,
415
- )) as Map<string, string>;
416
- isolatedLambdas.forEach((grammarText, key) => {
417
- const derivationProjectionColumnState =
418
- derivationProjectionColumnStateMap.get(key);
419
- derivationProjectionColumnState?.derivationLambdaEditorState.setLambdaString(
420
- derivationProjectionColumnState.derivationLambdaEditorState.extractLambdaString(
421
- grammarText,
422
- ),
423
- );
424
- });
425
- } catch (error) {
426
- assertErrorThrown(error);
427
- this.queryBuilderState.applicationStore.log.error(
428
- LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE),
429
- error,
430
- );
431
- } finally {
432
- this.isConvertDerivationProjectionObjects = false;
433
- }
434
- }
435
- }
436
-
437
- transformSimpleProjectionToDerivation(
438
- simpleProjectionColumnState: QueryBuilderSimpleProjectionColumnState,
439
- ): void {
440
- // setup new derivation column state
441
- const columnColumnLambda = buildGenericLambdaFunctionInstanceValue(
442
- simpleProjectionColumnState.lambdaParameterName,
443
- [simpleProjectionColumnState.propertyExpressionState.propertyExpression],
444
- this.queryBuilderState.graphManagerState.graph,
445
- );
446
- const derivationColumnState =
447
- new QueryBuilderDerivationProjectionColumnState(
448
- this,
449
- guaranteeType(
450
- this.queryBuilderState.graphManagerState.graphManager.buildRawValueSpecification(
451
- columnColumnLambda,
452
- this.queryBuilderState.graphManagerState.graph,
453
- ),
454
- RawLambda,
455
- ),
456
- );
457
- derivationColumnState.setColumnName(simpleProjectionColumnState.columnName);
458
-
459
- this.replaceColumn(simpleProjectionColumnState, derivationColumnState);
460
-
461
- // convert to grammar for display
462
- flowResult(
463
- derivationColumnState.derivationLambdaEditorState.convertLambdaObjectToGrammarString(
464
- false,
465
- ),
466
- ).catch(this.queryBuilderState.applicationStore.alertUnhandledError);
467
- }
468
-
469
- replaceColumn(
470
- oldVal: QueryBuilderProjectionColumnState,
471
- newVal: QueryBuilderProjectionColumnState,
472
- ): void {
473
- // reassociation with column aggregation state if applicable
474
- const corresspondingAggregateColumnState =
475
- this.aggregationState.columns.find(
476
- (aggregateColState) =>
477
- aggregateColState.projectionColumnState === oldVal,
478
- );
479
- if (corresspondingAggregateColumnState) {
480
- corresspondingAggregateColumnState.setColumnState(newVal);
481
- }
482
-
483
- // reassociation with column sorting state if applicable
484
- const corresspondingSortColumnState =
485
- this.queryBuilderState.resultSetModifierState.sortColumns.find(
486
- (sortColState) => sortColState.columnState === oldVal,
487
- );
488
- if (corresspondingSortColumnState) {
489
- corresspondingSortColumnState.setColumnState(newVal);
490
- }
491
-
492
- changeEntry(this.columns, oldVal, newVal);
493
- }
494
-
495
- removeColumn(val: QueryBuilderProjectionColumnState): void {
496
- deleteEntry(this.columns, val);
497
-
498
- // remove aggregation that goes with the projection
499
- const existingAggregateColumnState = this.aggregationState.columns.find(
500
- (column) => column.projectionColumnState === val,
501
- );
502
- if (existingAggregateColumnState) {
503
- this.aggregationState.removeColumn(existingAggregateColumnState);
504
- }
505
-
506
- // TODO: do a check here when we support more types of fetch structure
507
- this.queryBuilderState.resultSetModifierState.updateSortColumns();
508
- }
509
-
510
- addColumn(
511
- val: QueryBuilderProjectionColumnState,
512
- options?: {
513
- /**
514
- * Often time, we would want to enforce doing a sort when adding new column
515
- * to ensure aggregate columns stay at the bottom of the list of projections
516
- * But sometimes, we can opt in to use this flag to disable this sorting behavior,
517
- * such as when we build/process.
518
- */
519
- skipSorting?: boolean | undefined;
520
- },
521
- ): void {
522
- addUniqueEntry(this.columns, val);
523
-
524
- if (!options?.skipSorting) {
525
- // sort columns: aggregate columns go last
526
- this.columns = this.columns
527
- .slice()
528
- .sort(
529
- (colA, colB) =>
530
- (this.aggregationState.columns.find(
531
- (column) => column.projectionColumnState === colA,
532
- )
533
- ? 1
534
- : 0) -
535
- (this.aggregationState.columns.find(
536
- (column) => column.projectionColumnState === colB,
537
- )
538
- ? 1
539
- : 0),
540
- );
541
- }
542
- }
543
-
544
- moveColumn(sourceIndex: number, targetIndex: number): void {
545
- if (
546
- sourceIndex < 0 ||
547
- sourceIndex >= this.columns.length ||
548
- targetIndex < 0 ||
549
- targetIndex >= this.columns.length
550
- ) {
551
- return;
552
- }
553
-
554
- const sourceColumn = guaranteeNonNullable(this.columns[sourceIndex]);
555
-
556
- // find last non aggregate column index for computation
557
- const lastNonAggregateColumn = findLast(
558
- this.columns,
559
- (projectionCol) =>
560
- !this.aggregationState.columns.find(
561
- (column) => column.projectionColumnState === projectionCol,
562
- ),
563
- );
564
-
565
- const lastNonAggregateColumnIndex = lastNonAggregateColumn
566
- ? this.columns.lastIndexOf(lastNonAggregateColumn)
567
- : 0;
568
- if (
569
- this.aggregationState.columns.find(
570
- (column) => column.projectionColumnState === sourceColumn,
571
- )
572
- ) {
573
- // if the column being moved is an aggregate column,
574
- // it cannot be moved to before the first aggregate column
575
- targetIndex = Math.max(
576
- targetIndex,
577
- Math.min(lastNonAggregateColumnIndex + 1, this.columns.length - 1),
578
- );
579
- } else {
580
- // if the column being moved is not an aggregate column,
581
- // it cannot be moved to after the last non-aggregate column
582
- targetIndex = Math.min(targetIndex, lastNonAggregateColumnIndex);
583
- }
584
-
585
- // move
586
- this.columns.splice(sourceIndex, 1);
587
- this.columns.splice(targetIndex, 0, sourceColumn);
588
- }
589
-
590
- addNewBlankDerivation(): void {
591
- const derivation = new QueryBuilderDerivationProjectionColumnState(
592
- this,
593
- this.queryBuilderState.graphManagerState.graphManager.HACKY__createDefaultBlankLambda(),
594
- );
595
- this.addColumn(derivation);
596
- derivation.derivationLambdaEditorState.setLambdaString(
597
- `${DEFAULT_LAMBDA_VARIABLE_NAME}${LAMBDA_PIPE}''`,
598
- );
599
- }
600
-
601
- revealCompilationError(compilationError: CompilationError): boolean {
602
- const elementCoordinates = extractSourceInformationCoordinates(
603
- compilationError.sourceInformation,
604
- );
605
- if (
606
- elementCoordinates &&
607
- elementCoordinates.length === 3 &&
608
- elementCoordinates[0] === QUERY_BUILDER_SOURCE_ID_LABEL.QUERY_BUILDER &&
609
- elementCoordinates[1] === QUERY_BUILDER_SOURCE_ID_LABEL.PROJECTION
610
- ) {
611
- const derivationProjectionState = this.columns.find(
612
- (projectionColumnState) =>
613
- projectionColumnState.uuid === elementCoordinates[2],
614
- );
615
- if (
616
- derivationProjectionState instanceof
617
- QueryBuilderDerivationProjectionColumnState
618
- ) {
619
- derivationProjectionState.derivationLambdaEditorState.setCompilationError(
620
- compilationError,
621
- );
622
- return true;
623
- }
624
- }
625
- return false;
626
- }
627
-
628
- get derivations(): QueryBuilderDerivationProjectionColumnState[] {
629
- return this.columns.filter(
630
- filterByType(QueryBuilderDerivationProjectionColumnState),
631
- );
632
- }
633
-
634
- get hasParserError(): boolean {
635
- return this.derivations.some(
636
- (derivation) => derivation.derivationLambdaEditorState.parserError,
637
- );
638
- }
639
-
640
- clearCompilationError(): void {
641
- this.derivations.forEach((derivationProjectionColumnState) =>
642
- derivationProjectionColumnState.derivationLambdaEditorState.setCompilationError(
643
- undefined,
644
- ),
645
- );
646
- }
647
-
648
- *previewData(
649
- node: QueryBuilderExplorerTreePropertyNodeData,
650
- ): GeneratorFn<void> {
651
- const runtime = this.queryBuilderState.querySetupState.runtimeValue;
652
- if (!runtime) {
653
- this.queryBuilderState.applicationStore.notifyWarning(
654
- `Can't preview data for property '${node.property.name}': runtime is not specified`,
655
- );
656
- return;
657
- }
658
- if (
659
- !node.mappingData.mapped ||
660
- !this.queryBuilderState.querySetupState._class ||
661
- !this.queryBuilderState.querySetupState.mapping
662
- ) {
663
- return;
664
- }
665
- if (
666
- this.queryBuilderState.explorerState.previewDataState
667
- .isGeneratingPreviewData
668
- ) {
669
- this.queryBuilderState.applicationStore.notifyWarning(
670
- `Can't preview data for property '${node.property.name}': another preview request is being executed`,
671
- );
672
- return;
673
- }
674
- this.queryBuilderState.explorerState.previewDataState.setPropertyName(
675
- node.property.name,
676
- );
677
- this.queryBuilderState.explorerState.previewDataState.setIsGeneratingPreviewData(
678
- true,
679
- );
680
- const propertyExpression = buildPropertyExpressionFromExplorerTreeNodeData(
681
- this.queryBuilderState.explorerState.nonNullableTreeData,
682
- node,
683
- this.queryBuilderState.graphManagerState.graph,
684
- this.queryBuilderState.explorerState.propertySearchPanelState
685
- .allMappedPropertyNodes,
686
- );
687
- const propertyType = node.property.genericType.value.rawType;
688
- try {
689
- switch (propertyType.path) {
690
- case PRIMITIVE_TYPE.NUMBER:
691
- case PRIMITIVE_TYPE.INTEGER:
692
- case PRIMITIVE_TYPE.DECIMAL:
693
- case PRIMITIVE_TYPE.FLOAT: {
694
- const previewResult =
695
- (yield this.queryBuilderState.graphManagerState.graphManager.executeMapping(
696
- buildNumericPreviewDataQuery(
697
- this.queryBuilderState,
698
- propertyExpression,
699
- ),
700
- this.queryBuilderState.querySetupState.mapping,
701
- runtime,
702
- this.queryBuilderState.graphManagerState.graph,
703
- )) as ExecutionResult;
704
- assertType(
705
- previewResult,
706
- TdsExecutionResult,
707
- `Unexpected preview data format`,
708
- );
709
- const previewResultData =
710
- previewResult.result as QueryBuilderPreviewData;
711
- // transpose the result
712
- const transposedPreviewResultData = {
713
- columns: ['Aggregation', 'Value'],
714
- rows: previewResultData.columns.map((column, idx) => ({
715
- values: [
716
- column,
717
- guaranteeNonNullable(previewResultData.rows[0]).values[
718
- idx
719
- ] as string,
720
- ],
721
- })),
722
- };
723
- this.queryBuilderState.explorerState.previewDataState.setPreviewData(
724
- transposedPreviewResultData,
725
- );
726
- break;
727
- }
728
- case PRIMITIVE_TYPE.BOOLEAN:
729
- case PRIMITIVE_TYPE.STRING:
730
- case PRIMITIVE_TYPE.DATE:
731
- case PRIMITIVE_TYPE.STRICTDATE:
732
- case PRIMITIVE_TYPE.DATETIME: {
733
- const previewResult =
734
- (yield this.queryBuilderState.graphManagerState.graphManager.executeMapping(
735
- buildNonNumericPreviewDataQuery(
736
- this.queryBuilderState,
737
- propertyExpression,
738
- ),
739
- this.queryBuilderState.querySetupState.mapping,
740
- runtime,
741
- this.queryBuilderState.graphManagerState.graph,
742
- )) as ExecutionResult;
743
- assertType(
744
- previewResult,
745
- TdsExecutionResult,
746
- `Unexpected preview data format`,
747
- );
748
- this.queryBuilderState.explorerState.previewDataState.setPreviewData(
749
- previewResult.result as QueryBuilderPreviewData,
750
- );
751
- break;
752
- }
753
- default:
754
- throw new UnsupportedOperationError(
755
- `No preview support for property of type '${propertyType.path}'`,
756
- );
757
- }
758
- } catch (error) {
759
- assertErrorThrown(error);
760
- this.queryBuilderState.applicationStore.notifyWarning(
761
- `Can't preview data for property '${node.property.name}'. Error: ${error.message}`,
762
- );
763
- this.queryBuilderState.explorerState.previewDataState.setPreviewData(
764
- undefined,
765
- );
766
- } finally {
767
- this.queryBuilderState.explorerState.previewDataState.setIsGeneratingPreviewData(
768
- false,
769
- );
770
- }
771
- }
772
-
773
- isValidProjectionState(): boolean {
774
- return Boolean(!this.getValidationErrorMessage());
775
- }
776
-
777
- getValidationErrorMessage(): string | undefined {
778
- if (this.queryBuilderState.fetchStructureState.isProjectionMode()) {
779
- const hasDuplicatedProjectionColumns = this.columns.some(
780
- (column) =>
781
- this.columns.filter((c) => c.columnName === column.columnName)
782
- .length > 1,
783
- );
784
- if (hasDuplicatedProjectionColumns) {
785
- return 'Query has duplicated projection columns';
786
- }
787
- const hasNoProjectionColumns = this.columns.length === 0;
788
- if (hasNoProjectionColumns) {
789
- return 'Query has no projection columns';
790
- }
791
- }
792
- return undefined;
793
- }
794
- }