@finos/legend-application-query 5.2.2 → 5.2.5

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