@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
@@ -14,14 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import {
18
- useEffect,
19
- useRef,
20
- useState,
21
- useCallback,
22
- forwardRef,
23
- useMemo,
24
- } from 'react';
17
+ import { useRef, useState, useCallback, forwardRef, useMemo } from 'react';
25
18
  import { observer } from 'mobx-react-lite';
26
19
  import {
27
20
  type TreeNodeContainerProps,
@@ -45,103 +38,60 @@ import {
45
38
  ChevronRightIcon,
46
39
  PlusCircleIcon,
47
40
  TimesIcon,
41
+ PanelDropZone,
42
+ DragPreviewLayer,
43
+ PanelEntryDropZonePlaceholder,
44
+ useDragPreviewLayer,
48
45
  } from '@finos/legend-art';
49
46
  import {
50
47
  type QueryBuilderFilterConditionDragSource,
51
48
  type QueryBuilderFilterDropTarget,
52
49
  type QueryBuilderFilterTreeNodeData,
53
- type QueryBuilderFilterOperator,
54
50
  QUERY_BUILDER_FILTER_DND_TYPE,
55
51
  FilterConditionState,
56
52
  QueryBuilderFilterTreeConditionNodeData,
57
53
  QueryBuilderFilterTreeBlankConditionNodeData,
58
54
  QueryBuilderFilterTreeGroupNodeData,
59
- } from '../stores/QueryBuilderFilterState.js';
60
- import {
61
- type DropTargetMonitor,
62
- useDragLayer,
63
- useDrag,
64
- useDrop,
65
- } from 'react-dnd';
66
- import { getEmptyImage } from 'react-dnd-html5-backend';
55
+ } from '../../stores/filter/QueryBuilderFilterState.js';
56
+ import { useDrag, useDrop } from 'react-dnd';
67
57
  import {
68
58
  type QueryBuilderExplorerTreeDragSource,
69
59
  type QueryBuilderExplorerTreePropertyNodeData,
70
60
  buildPropertyExpressionFromExplorerTreeNodeData,
71
61
  QUERY_BUILDER_EXPLORER_TREE_DND_TYPE,
72
- } from '../stores/QueryBuilderExplorerState.js';
73
- import { QueryBuilderPropertyExpressionBadge } from './QueryBuilderPropertyExpressionEditor.js';
74
- import type { QueryBuilderState } from '../stores/QueryBuilderState.js';
62
+ } from '../../stores/explorer/QueryBuilderExplorerState.js';
63
+ import { QueryBuilderPropertyExpressionBadge } from '../QueryBuilderPropertyExpressionEditor.js';
64
+ import type { QueryBuilderState } from '../../stores/QueryBuilderState.js';
75
65
  import {
76
66
  assertErrorThrown,
77
67
  debounce,
78
68
  UnsupportedOperationError,
79
69
  } from '@finos/legend-shared';
80
- import { QUERY_BUILDER_TEST_ID } from './QueryBuilder_TestID.js';
70
+ import { QUERY_BUILDER_TEST_ID } from '../QueryBuilder_TestID.js';
81
71
  import {
82
72
  useApplicationStore,
83
73
  BasicValueSpecificationEditor,
84
74
  } from '@finos/legend-application';
85
75
  import {
86
76
  type QueryBuilderParameterDragSource,
87
- QUERY_BUILDER_PARAMETER_TREE_DND_TYPE,
88
- } from '../stores/QueryParametersState.js';
89
- import {
90
- isTypeCompatibleWithConditionValueType,
91
- QUERY_BUILDER_GROUP_OPERATION,
92
- } from '../stores/QueryBuilderOperatorsHelper.js';
77
+ QUERY_BUILDER_PARAMETER_DND_TYPE,
78
+ } from '../../stores/QueryParametersState.js';
93
79
  import type { ValueSpecification } from '@finos/legend-graph';
94
80
  import {
95
81
  type QueryBuilderProjectionColumnDragSource,
96
82
  QueryBuilderSimpleProjectionColumnState,
97
- QUERY_BUILDER_PROJECTION_DND_TYPE,
98
- } from '../stores/QueryBuilderProjectionState.js';
99
-
100
- const FilterConditionDragLayer: React.FC = () => {
101
- const { itemType, item, isDragging, currentPosition } = useDragLayer(
102
- (monitor) => ({
103
- itemType: monitor.getItemType() as QUERY_BUILDER_FILTER_DND_TYPE,
104
- item: monitor.getItem<QueryBuilderFilterConditionDragSource | null>(),
105
- isDragging: monitor.isDragging(),
106
- initialOffset: monitor.getInitialSourceClientOffset(),
107
- currentPosition: monitor.getClientOffset(),
108
- }),
109
- );
110
-
111
- if (
112
- !isDragging ||
113
- !item ||
114
- !Object.values(QUERY_BUILDER_FILTER_DND_TYPE).includes(itemType)
115
- ) {
116
- return null;
117
- }
118
- return (
119
- <div className="query-builder-filter-tree__drag-preview-layer">
120
- <div
121
- className="query-builder-filter-tree__drag-preview"
122
- // added some offset so the mouse doesn't overlap the label too much
123
- style={
124
- !currentPosition
125
- ? { display: 'none' }
126
- : {
127
- transform: `translate(${currentPosition.x + 20}px, ${
128
- currentPosition.y + 10
129
- }px)`,
130
- }
131
- }
132
- >
133
- {item.node.dragLayerLabel}
134
- </div>
135
- </div>
136
- );
137
- };
83
+ QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE,
84
+ } from '../../stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js';
85
+ import type { QueryBuilderFilterOperator } from '../../stores/filter/QueryBuilderFilterOperator.js';
86
+ import { isTypeCompatibleForAssignment } from '../../stores/QueryBuilderValueSpecificationHelper.js';
87
+ import { QUERY_BUILDER_GROUP_OPERATION } from '../../stores/QueryBuilderGroupOperationHelper.js';
138
88
 
139
89
  const QueryBuilderFilterGroupConditionEditor = observer(
140
90
  (props: {
141
91
  node: QueryBuilderFilterTreeGroupNodeData;
142
- isPropertyDragOver: boolean;
92
+ isDragOver: boolean;
143
93
  }) => {
144
- const { node, isPropertyDragOver } = props;
94
+ const { node, isDragOver } = props;
145
95
  const switchOperation: React.MouseEventHandler<HTMLDivElement> = (
146
96
  event,
147
97
  ): void => {
@@ -153,29 +103,30 @@ const QueryBuilderFilterGroupConditionEditor = observer(
153
103
  );
154
104
  };
155
105
  return (
156
- <div className="query-builder-filter-tree__node__label__content dnd__overlay__container">
157
- {isPropertyDragOver && (
158
- <div className="query-builder-filter-tree__node__dnd__overlay">
159
- Add to Logical Group
160
- </div>
161
- )}
162
- <div
163
- className={clsx('query-builder-filter-tree__group-node', {
164
- 'query-builder-filter-tree__group-node--and':
165
- node.groupOperation === QUERY_BUILDER_GROUP_OPERATION.AND,
166
- 'query-builder-filter-tree__group-node--or':
167
- node.groupOperation === QUERY_BUILDER_GROUP_OPERATION.OR,
168
- })}
169
- title="Switch Operation"
170
- onClick={switchOperation}
106
+ <div className="query-builder-filter-tree__node__label__content">
107
+ <PanelEntryDropZonePlaceholder
108
+ showPlaceholder={isDragOver}
109
+ label="Add to Logical Group"
110
+ className="query-builder__dnd__placeholder"
171
111
  >
172
- <div className="query-builder-filter-tree__group-node__label">
173
- {node.groupOperation}
112
+ <div
113
+ className={clsx('query-builder-filter-tree__group-node', {
114
+ 'query-builder-filter-tree__group-node--and':
115
+ node.groupOperation === QUERY_BUILDER_GROUP_OPERATION.AND,
116
+ 'query-builder-filter-tree__group-node--or':
117
+ node.groupOperation === QUERY_BUILDER_GROUP_OPERATION.OR,
118
+ })}
119
+ title="Switch Operation"
120
+ onClick={switchOperation}
121
+ >
122
+ <div className="query-builder-filter-tree__group-node__label">
123
+ {node.groupOperation}
124
+ </div>
125
+ <button className="query-builder-filter-tree__group-node__action">
126
+ <FilledTriangleIcon />
127
+ </button>
174
128
  </div>
175
- <button className="query-builder-filter-tree__group-node__action">
176
- <FilledTriangleIcon />
177
- </button>
178
- </div>
129
+ </PanelEntryDropZonePlaceholder>
179
130
  </div>
180
131
  );
181
132
  },
@@ -184,9 +135,9 @@ const QueryBuilderFilterGroupConditionEditor = observer(
184
135
  const QueryBuilderFilterConditionEditor = observer(
185
136
  (props: {
186
137
  node: QueryBuilderFilterTreeConditionNodeData;
187
- isPropertyDragOver: boolean;
138
+ isDragOver: boolean;
188
139
  }) => {
189
- const { node, isPropertyDragOver } = props;
140
+ const { node, isDragOver } = props;
190
141
  const graph =
191
142
  node.condition.filterState.queryBuilderState.graphManagerState.graph;
192
143
  const applicationStore = useApplicationStore();
@@ -213,12 +164,7 @@ const QueryBuilderFilterConditionEditor = observer(
213
164
  const conditionValueType =
214
165
  node.condition.propertyExpressionState.propertyExpression.func
215
166
  .genericType.value.rawType;
216
- if (
217
- isTypeCompatibleWithConditionValueType(
218
- parameterType,
219
- conditionValueType,
220
- )
221
- ) {
167
+ if (isTypeCompatibleForAssignment(parameterType, conditionValueType)) {
222
168
  node.condition.setValue(item.variable.parameter);
223
169
  } else {
224
170
  applicationStore.notifyWarning(
@@ -228,18 +174,19 @@ const QueryBuilderFilterConditionEditor = observer(
228
174
  },
229
175
  [applicationStore, node.condition],
230
176
  );
231
- const [{ isFilterValueDragOver }, dropConnector] = useDrop(
177
+ const [{ isFilterValueDragOver }, dropConnector] = useDrop<
178
+ QueryBuilderParameterDragSource,
179
+ void,
180
+ { isFilterValueDragOver: boolean }
181
+ >(
232
182
  () => ({
233
- accept: [QUERY_BUILDER_PARAMETER_TREE_DND_TYPE.VARIABLE],
234
- drop: (
235
- item: QueryBuilderParameterDragSource,
236
- monitor: DropTargetMonitor,
237
- ): void => {
183
+ accept: [QUERY_BUILDER_PARAMETER_DND_TYPE],
184
+ drop: (item, monitor): void => {
238
185
  if (!monitor.didDrop()) {
239
186
  handleDrop(item);
240
- }
187
+ } // prevent drop event propagation to accomondate for nested DnD
241
188
  },
242
- collect: (monitor): { isFilterValueDragOver: boolean } => ({
189
+ collect: (monitor) => ({
243
190
  isFilterValueDragOver: monitor.isOver({ shallow: true }),
244
191
  }),
245
192
  }),
@@ -272,76 +219,78 @@ const QueryBuilderFilterConditionEditor = observer(
272
219
  };
273
220
 
274
221
  return (
275
- <div className="query-builder-filter-tree__node__label__content dnd__overlay__container">
276
- {isPropertyDragOver && (
277
- <div className="query-builder-filter-tree__node__dnd__overlay">
278
- Add New Logical Group
279
- </div>
280
- )}
281
- <div className="query-builder-filter-tree__condition-node">
282
- <div className="query-builder-filter-tree__condition-node__property">
283
- <QueryBuilderPropertyExpressionBadge
284
- propertyExpressionState={node.condition.propertyExpressionState}
285
- onPropertyExpressionChange={changeProperty}
286
- />
287
- </div>
288
- <DropdownMenu
289
- className="query-builder-filter-tree__condition-node__operator"
290
- content={
291
- <MenuContent>
292
- {node.condition.operators.map((op) => (
293
- <MenuContentItem
294
- key={op.uuid}
295
- className="query-builder-filter-tree__condition-node__operator__dropdown__option"
296
- onClick={changeOperator(op)}
297
- >
298
- {op.getLabel(node.condition)}
299
- </MenuContentItem>
300
- ))}
301
- </MenuContent>
302
- }
303
- menuProps={{
304
- anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
305
- transformOrigin: { vertical: 'top', horizontal: 'left' },
306
- elevation: 7,
307
- }}
308
- >
309
- <div className="query-builder-filter-tree__condition-node__operator__label">
310
- {node.condition.operator.getLabel(node.condition)}
311
- </div>
312
- <button
313
- className="query-builder-filter-tree__condition-node__operator__dropdown__trigger"
314
- tabIndex={-1}
315
- title="Choose Operator..."
316
- >
317
- <CaretDownIcon />
318
- </button>
319
- </DropdownMenu>
320
- {node.condition.value && (
321
- <div
322
- ref={dropConnector}
323
- className="query-builder-filter-tree__condition-node__value dnd__overlay__container"
324
- >
325
- {isFilterValueDragOver && (
326
- <div className="query-builder-filter-tree__node__dnd__overlay">
327
- Change Filter Value
328
- </div>
329
- )}
330
- <BasicValueSpecificationEditor
331
- valueSpecification={node.condition.value}
332
- setValueSpecification={changeValueSpecification}
333
- graph={graph}
334
- typeCheckOption={{
335
- expectedType:
336
- node.condition.propertyExpressionState.propertyExpression
337
- .func.genericType.value.rawType,
338
- }}
339
- resetValue={resetNode}
340
- selectorConfig={selectorConfig}
222
+ <div className="query-builder-filter-tree__node__label__content">
223
+ <PanelEntryDropZonePlaceholder
224
+ showPlaceholder={isDragOver}
225
+ label="Add New Logical Group"
226
+ className="query-builder__dnd__placeholder"
227
+ >
228
+ <div className="query-builder-filter-tree__condition-node">
229
+ <div className="query-builder-filter-tree__condition-node__property">
230
+ <QueryBuilderPropertyExpressionBadge
231
+ propertyExpressionState={node.condition.propertyExpressionState}
232
+ onPropertyExpressionChange={changeProperty}
341
233
  />
342
234
  </div>
343
- )}
344
- </div>
235
+ <DropdownMenu
236
+ className="query-builder-filter-tree__condition-node__operator"
237
+ content={
238
+ <MenuContent>
239
+ {node.condition.operators.map((op) => (
240
+ <MenuContentItem
241
+ key={op.uuid}
242
+ className="query-builder-filter-tree__condition-node__operator__dropdown__option"
243
+ onClick={changeOperator(op)}
244
+ >
245
+ {op.getLabel(node.condition)}
246
+ </MenuContentItem>
247
+ ))}
248
+ </MenuContent>
249
+ }
250
+ menuProps={{
251
+ anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
252
+ transformOrigin: { vertical: 'top', horizontal: 'left' },
253
+ elevation: 7,
254
+ }}
255
+ >
256
+ <div className="query-builder-filter-tree__condition-node__operator__label">
257
+ {node.condition.operator.getLabel(node.condition)}
258
+ </div>
259
+ <button
260
+ className="query-builder-filter-tree__condition-node__operator__dropdown__trigger"
261
+ tabIndex={-1}
262
+ title="Choose Operator..."
263
+ >
264
+ <CaretDownIcon />
265
+ </button>
266
+ </DropdownMenu>
267
+ {node.condition.value && (
268
+ <div
269
+ ref={dropConnector}
270
+ className="query-builder-filter-tree__condition-node__value"
271
+ >
272
+ <PanelEntryDropZonePlaceholder
273
+ showPlaceholder={isFilterValueDragOver}
274
+ label="Change Filter Value"
275
+ className="query-builder__dnd__placeholder"
276
+ >
277
+ <BasicValueSpecificationEditor
278
+ valueSpecification={node.condition.value}
279
+ setValueSpecification={changeValueSpecification}
280
+ graph={graph}
281
+ typeCheckOption={{
282
+ expectedType:
283
+ node.condition.propertyExpressionState
284
+ .propertyExpression.func.genericType.value.rawType,
285
+ }}
286
+ resetValue={resetNode}
287
+ selectorConfig={selectorConfig}
288
+ />
289
+ </PanelEntryDropZonePlaceholder>
290
+ </div>
291
+ )}
292
+ </div>
293
+ </PanelEntryDropZonePlaceholder>
345
294
  </div>
346
295
  );
347
296
  },
@@ -350,17 +299,18 @@ const QueryBuilderFilterConditionEditor = observer(
350
299
  const QueryBuilderFilterBlankConditionEditor = observer(
351
300
  (props: {
352
301
  node: QueryBuilderFilterTreeBlankConditionNodeData;
353
- isPropertyDragOver: boolean;
302
+ isDragOver: boolean;
354
303
  }) => {
355
- const { isPropertyDragOver } = props;
304
+ const { isDragOver } = props;
356
305
  return (
357
- <div className="query-builder-filter-tree__node__label__content dnd__overlay__container">
358
- {isPropertyDragOver && (
359
- <div className="query-builder-filter-tree__node__dnd__overlay">
360
- Create Condition
361
- </div>
362
- )}
363
- <div className="query-builder-filter-tree__blank-node">blank</div>
306
+ <div className="query-builder-filter-tree__node__label__content">
307
+ <PanelEntryDropZonePlaceholder
308
+ showPlaceholder={isDragOver}
309
+ label="Create Condition"
310
+ className="query-builder__dnd__placeholder"
311
+ >
312
+ <div className="query-builder-filter-tree__blank-node">blank</div>
313
+ </PanelEntryDropZonePlaceholder>
364
314
  </div>
365
315
  );
366
316
  },
@@ -495,50 +445,45 @@ const QueryBuilderFilterTreeNodeContainer = observer(
495
445
  },
496
446
  [applicationStore, filterState, node],
497
447
  );
498
- const [{ isPropertyDragOver }, dropConnector] = useDrop(
448
+ const [{ isDragOver }, dropConnector] = useDrop<
449
+ QueryBuilderFilterConditionDragSource,
450
+ void,
451
+ { isDragOver: boolean }
452
+ >(
499
453
  () => ({
500
454
  accept: [
501
455
  ...Object.values(QUERY_BUILDER_FILTER_DND_TYPE),
502
456
  QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
503
457
  QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
504
458
  ],
505
- drop: (
506
- item: QueryBuilderFilterConditionDragSource,
507
- monitor: DropTargetMonitor,
508
- ): void => {
459
+ drop: (item, monitor): void => {
509
460
  if (!monitor.didDrop()) {
510
461
  handleDrop(item, monitor.getItemType() as string);
511
462
  } // prevent drop event propagation to accomondate for nested DnD
512
463
  },
513
- // canDrop: (item: QueryBuilderFilterConditionDragSource, monitor: DropTargetMonitor): boolean => {
514
- // // prevent drop inside of children
515
- // // prevent dropping inside my direct ancestor
516
- // return true;
517
- // },
518
- collect: (monitor): { isPropertyDragOver: boolean } => ({
519
- isPropertyDragOver: monitor.isOver({ shallow: true }),
464
+ collect: (monitor) => ({
465
+ isDragOver: monitor.isOver({ shallow: true }),
520
466
  }),
521
467
  }),
522
468
  [handleDrop],
523
469
  );
524
- const [, dragConnector, dragPreviewConnector] = useDrag(
525
- () => ({
526
- type:
527
- node instanceof QueryBuilderFilterTreeGroupNodeData
528
- ? QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION
529
- : node instanceof QueryBuilderFilterTreeConditionNodeData
530
- ? QUERY_BUILDER_FILTER_DND_TYPE.CONDITION
531
- : QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION,
532
- item: (): QueryBuilderFilterConditionDragSource => ({ node }),
533
- end: (): void => filterState.setRearrangingConditions(false),
534
- }),
535
- [node, filterState],
536
- );
470
+ const [, dragConnector, dragPreviewConnector] =
471
+ useDrag<QueryBuilderFilterConditionDragSource>(
472
+ () => ({
473
+ type:
474
+ node instanceof QueryBuilderFilterTreeGroupNodeData
475
+ ? QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION
476
+ : node instanceof QueryBuilderFilterTreeConditionNodeData
477
+ ? QUERY_BUILDER_FILTER_DND_TYPE.CONDITION
478
+ : QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION,
479
+ item: () => ({ node }),
480
+ end: (): void => filterState.setRearrangingConditions(false),
481
+ }),
482
+ [node, filterState],
483
+ );
537
484
  dragConnector(dropConnector(ref));
538
- // hide default HTML5 preview image
539
- useEffect(() => {
540
- dragPreviewConnector(getEmptyImage(), { captureDraggingState: true });
541
- }, [dragPreviewConnector]);
485
+ useDragPreviewLayer(dragPreviewConnector);
486
+
542
487
  // context menu
543
488
  const onContextMenuOpen = (): void => setIsSelectedFromContextMenu(true);
544
489
  const onContextMenuClose = (): void => setIsSelectedFromContextMenu(false);
@@ -597,19 +542,19 @@ const QueryBuilderFilterTreeNodeContainer = observer(
597
542
  {node instanceof QueryBuilderFilterTreeGroupNodeData && (
598
543
  <QueryBuilderFilterGroupConditionEditor
599
544
  node={node}
600
- isPropertyDragOver={isPropertyDragOver}
545
+ isDragOver={isDragOver}
601
546
  />
602
547
  )}
603
548
  {node instanceof QueryBuilderFilterTreeConditionNodeData && (
604
549
  <QueryBuilderFilterConditionEditor
605
550
  node={node}
606
- isPropertyDragOver={isPropertyDragOver}
551
+ isDragOver={isDragOver}
607
552
  />
608
553
  )}
609
554
  {node instanceof QueryBuilderFilterTreeBlankConditionNodeData && (
610
555
  <QueryBuilderFilterBlankConditionEditor
611
556
  node={node}
612
- isPropertyDragOver={isPropertyDragOver}
557
+ isDragOver={isDragOver}
613
558
  />
614
559
  )}
615
560
  </div>
@@ -767,7 +712,7 @@ export const QueryBuilderFilterPanel = observer(
767
712
  let filterConditionState: FilterConditionState;
768
713
  try {
769
714
  let propertyExpression;
770
- if (type === QUERY_BUILDER_PROJECTION_DND_TYPE.PROJECTION_COLUMN) {
715
+ if (type === QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE) {
771
716
  if (
772
717
  (item as QueryBuilderProjectionColumnDragSource)
773
718
  .columnState instanceof QueryBuilderSimpleProjectionColumnState
@@ -812,28 +757,29 @@ export const QueryBuilderFilterPanel = observer(
812
757
  },
813
758
  [applicationStore, filterState],
814
759
  );
815
- const [{ isPropertyDragOver }, dropConnector] = useDrop(
760
+ const [{ isDragOver }, dropTargetConnector] = useDrop<
761
+ QueryBuilderExplorerTreeDragSource,
762
+ void,
763
+ { isDragOver: boolean }
764
+ >(
816
765
  () => ({
817
- accept: filterState.allowDnDProjectionToFilter
766
+ accept: queryBuilderState.mode.isDnDFetchStructureToFilterSupported
818
767
  ? [
819
768
  QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
820
769
  QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
821
- QUERY_BUILDER_PROJECTION_DND_TYPE.PROJECTION_COLUMN,
770
+ QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE,
822
771
  ]
823
772
  : [
824
773
  QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
825
774
  QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
826
775
  ],
827
- drop: (
828
- item: QueryBuilderExplorerTreeDragSource,
829
- monitor: DropTargetMonitor,
830
- ): void => {
776
+ drop: (item, monitor): void => {
831
777
  if (!monitor.didDrop()) {
832
778
  handleDrop(item, monitor.getItemType() as string);
833
779
  } // prevent drop event propagation to accomondate for nested DnD
834
780
  },
835
- collect: (monitor): { isPropertyDragOver: boolean } => ({
836
- isPropertyDragOver: monitor.isOver({ shallow: true }),
781
+ collect: (monitor) => ({
782
+ isDragOver: monitor.isOver({ shallow: true }),
837
783
  }),
838
784
  }),
839
785
  [handleDrop],
@@ -914,23 +860,29 @@ export const QueryBuilderFilterPanel = observer(
914
860
  </button>
915
861
  </div>
916
862
  </div>
917
- <div
918
- className="panel__content query-builder__filter__content dnd__overlay__container"
919
- ref={dropConnector}
920
- >
921
- <div className={clsx({ dnd__overlay: isPropertyDragOver })} />
922
- {filterState.isEmpty && (
923
- <BlankPanelPlaceholder
924
- placeholderText="Add a filter condition"
925
- tooltipText="Drag and drop properties here"
926
- />
927
- )}
928
- {!filterState.isEmpty && (
929
- <>
930
- <FilterConditionDragLayer />
931
- <QueryBuilderFilterTree queryBuilderState={queryBuilderState} />
932
- </>
933
- )}
863
+ <div className="panel__content query-builder__filter__content">
864
+ <PanelDropZone
865
+ isDragOver={isDragOver}
866
+ dropTargetConnector={dropTargetConnector}
867
+ >
868
+ {filterState.isEmpty && (
869
+ <BlankPanelPlaceholder
870
+ text="Add a filter condition"
871
+ tooltipText="Drag and drop properties here"
872
+ />
873
+ )}
874
+ {!filterState.isEmpty && (
875
+ <>
876
+ <DragPreviewLayer
877
+ labelGetter={(
878
+ item: QueryBuilderFilterConditionDragSource,
879
+ ): string => item.node.dragPreviewLabel}
880
+ types={Object.values(QUERY_BUILDER_FILTER_DND_TYPE)}
881
+ />
882
+ <QueryBuilderFilterTree queryBuilderState={queryBuilderState} />
883
+ </>
884
+ )}
885
+ </PanelDropZone>
934
886
  </div>
935
887
  </div>
936
888
  );
@@ -18,7 +18,7 @@ import { flowResult } from 'mobx';
18
18
  import { observer } from 'mobx-react-lite';
19
19
  import { type IKeyboardEvent, KeyCode } from 'monaco-editor';
20
20
  import { useCallback, useMemo } from 'react';
21
- import type { QueryBuilderState } from '../stores/QueryBuilderState.js';
21
+ import type { QueryBuilderState } from '../../stores/QueryBuilderState.js';
22
22
  import type { Type } from '@finos/legend-graph';
23
23
  import {
24
24
  useApplicationStore,
@@ -47,6 +47,7 @@ export const QueryBuilderLambdaEditor = observer(
47
47
  disablePopUp?: boolean | undefined;
48
48
  useBaseTextEditorSettings?: boolean | undefined;
49
49
  hideErrorBar?: boolean | undefined;
50
+ onEditorFocusEventHandler?: (() => void) | undefined;
50
51
  }) => {
51
52
  const {
52
53
  queryBuilderState,
@@ -62,6 +63,7 @@ export const QueryBuilderLambdaEditor = observer(
62
63
  disablePopUp,
63
64
  useBaseTextEditorSettings,
64
65
  hideErrorBar,
66
+ onEditorFocusEventHandler,
65
67
  } = props;
66
68
  const applicationStore = useApplicationStore();
67
69
  const backdropSetter = useCallback(
@@ -111,6 +113,7 @@ export const QueryBuilderLambdaEditor = observer(
111
113
  useBaseTextEditorSettings={useBaseTextEditorSettings}
112
114
  hideErrorBar={hideErrorBar}
113
115
  onKeyDownEventHandlers={onKeyDownEventHandlers}
116
+ onEditorFocusEventHandler={onEditorFocusEventHandler}
114
117
  />
115
118
  );
116
119
  },
@@ -0,0 +1,38 @@
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 { TimesCircleIcon } from '@finos/legend-art';
18
+
19
+ export const QueryBuilderPanelIssueCountBadge: React.FC<{
20
+ issues: string[] | undefined;
21
+ }> = (props) => {
22
+ const { issues } = props;
23
+ if (!issues) {
24
+ return null;
25
+ }
26
+ const labelText = `${issues.length} issue${issues.length > 1 ? 's' : ''}`;
27
+ return (
28
+ <div
29
+ className="query-builder-panel-issue-count-badge"
30
+ title={`Found ${labelText}:\n${issues
31
+ .map((issue) => `\u2022 ${issue}`)
32
+ .join('\n')}`}
33
+ >
34
+ <TimesCircleIcon className="query-builder-panel-issue-count-badge__icon" />
35
+ {labelText}
36
+ </div>
37
+ );
38
+ };