@finos/legend-application-query 5.0.0

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 (553) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/lib/LegendQueryAppEvent.d.ts +19 -0
  4. package/lib/LegendQueryAppEvent.d.ts.map +1 -0
  5. package/lib/LegendQueryAppEvent.js +21 -0
  6. package/lib/LegendQueryAppEvent.js.map +1 -0
  7. package/lib/QueryBuilder_Const.d.ts +77 -0
  8. package/lib/QueryBuilder_Const.d.ts.map +1 -0
  9. package/lib/QueryBuilder_Const.js +85 -0
  10. package/lib/QueryBuilder_Const.js.map +1 -0
  11. package/lib/application/LegendQuery.d.ts +27 -0
  12. package/lib/application/LegendQuery.d.ts.map +1 -0
  13. package/lib/application/LegendQuery.js +58 -0
  14. package/lib/application/LegendQuery.js.map +1 -0
  15. package/lib/application/LegendQueryApplicationConfig.d.ts +46 -0
  16. package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -0
  17. package/lib/application/LegendQueryApplicationConfig.js +35 -0
  18. package/lib/application/LegendQueryApplicationConfig.js.map +1 -0
  19. package/lib/application/LegendQueryPluginManager.d.ts +32 -0
  20. package/lib/application/LegendQueryPluginManager.d.ts.map +1 -0
  21. package/lib/application/LegendQueryPluginManager.js +46 -0
  22. package/lib/application/LegendQueryPluginManager.js.map +1 -0
  23. package/lib/components/LegendQueryApplication.d.ts +25 -0
  24. package/lib/components/LegendQueryApplication.d.ts.map +1 -0
  25. package/lib/components/LegendQueryApplication.js +39 -0
  26. package/lib/components/LegendQueryApplication.js.map +1 -0
  27. package/lib/components/LegendQueryBaseStoreProvider.d.ts +28 -0
  28. package/lib/components/LegendQueryBaseStoreProvider.d.ts.map +1 -0
  29. package/lib/components/LegendQueryBaseStoreProvider.js +32 -0
  30. package/lib/components/LegendQueryBaseStoreProvider.js.map +1 -0
  31. package/lib/components/QueryBuilder.d.ts +23 -0
  32. package/lib/components/QueryBuilder.d.ts.map +1 -0
  33. package/lib/components/QueryBuilder.js +91 -0
  34. package/lib/components/QueryBuilder.js.map +1 -0
  35. package/lib/components/QueryBuilderExplorerPanel.d.ts +34 -0
  36. package/lib/components/QueryBuilderExplorerPanel.d.ts.map +1 -0
  37. package/lib/components/QueryBuilderExplorerPanel.js +379 -0
  38. package/lib/components/QueryBuilderExplorerPanel.js.map +1 -0
  39. package/lib/components/QueryBuilderFetchStructurePanel.d.ts +23 -0
  40. package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +1 -0
  41. package/lib/components/QueryBuilderFetchStructurePanel.js +89 -0
  42. package/lib/components/QueryBuilderFetchStructurePanel.js.map +1 -0
  43. package/lib/components/QueryBuilderFilterPanel.d.ts +23 -0
  44. package/lib/components/QueryBuilderFilterPanel.d.ts.map +1 -0
  45. package/lib/components/QueryBuilderFilterPanel.js +301 -0
  46. package/lib/components/QueryBuilderFilterPanel.js.map +1 -0
  47. package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts +23 -0
  48. package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -0
  49. package/lib/components/QueryBuilderFunctionsExplorerPanel.js +177 -0
  50. package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +1 -0
  51. package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts +33 -0
  52. package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -0
  53. package/lib/components/QueryBuilderGraphFetchTreePanel.js +96 -0
  54. package/lib/components/QueryBuilderGraphFetchTreePanel.js.map +1 -0
  55. package/lib/components/QueryBuilderLambdaEditor.d.ts +42 -0
  56. package/lib/components/QueryBuilderLambdaEditor.d.ts.map +1 -0
  57. package/lib/components/QueryBuilderLambdaEditor.js +47 -0
  58. package/lib/components/QueryBuilderLambdaEditor.js.map +1 -0
  59. package/lib/components/QueryBuilderMilestoneEditor.d.ts +24 -0
  60. package/lib/components/QueryBuilderMilestoneEditor.d.ts.map +1 -0
  61. package/lib/components/QueryBuilderMilestoneEditor.js +120 -0
  62. package/lib/components/QueryBuilderMilestoneEditor.js.map +1 -0
  63. package/lib/components/QueryBuilderParameterPanel.d.ts +30 -0
  64. package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -0
  65. package/lib/components/QueryBuilderParameterPanel.js +148 -0
  66. package/lib/components/QueryBuilderParameterPanel.js.map +1 -0
  67. package/lib/components/QueryBuilderPostFilterPanel.d.ts +31 -0
  68. package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +1 -0
  69. package/lib/components/QueryBuilderPostFilterPanel.js +373 -0
  70. package/lib/components/QueryBuilderPostFilterPanel.js.map +1 -0
  71. package/lib/components/QueryBuilderProjectionPanel.d.ts +23 -0
  72. package/lib/components/QueryBuilderProjectionPanel.d.ts.map +1 -0
  73. package/lib/components/QueryBuilderProjectionPanel.js +229 -0
  74. package/lib/components/QueryBuilderProjectionPanel.js.map +1 -0
  75. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +30 -0
  76. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -0
  77. package/lib/components/QueryBuilderPropertyExpressionEditor.js +116 -0
  78. package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -0
  79. package/lib/components/QueryBuilderPropertyInfoTooltip.d.ts +26 -0
  80. package/lib/components/QueryBuilderPropertyInfoTooltip.d.ts.map +1 -0
  81. package/lib/components/QueryBuilderPropertyInfoTooltip.js +32 -0
  82. package/lib/components/QueryBuilderPropertyInfoTooltip.js.map +1 -0
  83. package/lib/components/QueryBuilderPropertySearchPanel.d.ts +24 -0
  84. package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +1 -0
  85. package/lib/components/QueryBuilderPropertySearchPanel.js +202 -0
  86. package/lib/components/QueryBuilderPropertySearchPanel.js.map +1 -0
  87. package/lib/components/QueryBuilderResultModifierPanel.d.ts +23 -0
  88. package/lib/components/QueryBuilderResultModifierPanel.d.ts.map +1 -0
  89. package/lib/components/QueryBuilderResultModifierPanel.js +88 -0
  90. package/lib/components/QueryBuilderResultModifierPanel.js.map +1 -0
  91. package/lib/components/QueryBuilderResultPanel.d.ts +23 -0
  92. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -0
  93. package/lib/components/QueryBuilderResultPanel.js +223 -0
  94. package/lib/components/QueryBuilderResultPanel.js.map +1 -0
  95. package/lib/components/QueryBuilderSetupPanel.d.ts +23 -0
  96. package/lib/components/QueryBuilderSetupPanel.d.ts.map +1 -0
  97. package/lib/components/QueryBuilderSetupPanel.js +148 -0
  98. package/lib/components/QueryBuilderSetupPanel.js.map +1 -0
  99. package/lib/components/QueryBuilderTextEditor.d.ts +23 -0
  100. package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -0
  101. package/lib/components/QueryBuilderTextEditor.js +48 -0
  102. package/lib/components/QueryBuilderTextEditor.js.map +1 -0
  103. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +23 -0
  104. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -0
  105. package/lib/components/QueryBuilderUnsupportedQueryEditor.js +35 -0
  106. package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -0
  107. package/lib/components/QueryBuilder_TestID.d.ts +26 -0
  108. package/lib/components/QueryBuilder_TestID.d.ts.map +1 -0
  109. package/lib/components/QueryBuilder_TestID.js +27 -0
  110. package/lib/components/QueryBuilder_TestID.js.map +1 -0
  111. package/lib/components/QueryEditor.d.ts +29 -0
  112. package/lib/components/QueryEditor.d.ts.map +1 -0
  113. package/lib/components/QueryEditor.js +130 -0
  114. package/lib/components/QueryEditor.js.map +1 -0
  115. package/lib/components/QueryEditorComponentTestUtils.d.ts +35 -0
  116. package/lib/components/QueryEditorComponentTestUtils.d.ts.map +1 -0
  117. package/lib/components/QueryEditorComponentTestUtils.js +108 -0
  118. package/lib/components/QueryEditorComponentTestUtils.js.map +1 -0
  119. package/lib/components/QueryEditorStoreProvider.d.ts +37 -0
  120. package/lib/components/QueryEditorStoreProvider.d.ts.map +1 -0
  121. package/lib/components/QueryEditorStoreProvider.js +48 -0
  122. package/lib/components/QueryEditorStoreProvider.js.map +1 -0
  123. package/lib/components/QuerySetup.d.ts +18 -0
  124. package/lib/components/QuerySetup.d.ts.map +1 -0
  125. package/lib/components/QuerySetup.js +388 -0
  126. package/lib/components/QuerySetup.js.map +1 -0
  127. package/lib/components/QuerySetupStoreProvider.d.ts +23 -0
  128. package/lib/components/QuerySetupStoreProvider.d.ts.map +1 -0
  129. package/lib/components/QuerySetupStoreProvider.js +35 -0
  130. package/lib/components/QuerySetupStoreProvider.js.map +1 -0
  131. package/lib/components/shared/ElementIconUtils.d.ts +18 -0
  132. package/lib/components/shared/ElementIconUtils.d.ts.map +1 -0
  133. package/lib/components/shared/ElementIconUtils.js +37 -0
  134. package/lib/components/shared/ElementIconUtils.js.map +1 -0
  135. package/lib/graphManager/QueryBuilder_GraphManagerPlugin.d.ts +21 -0
  136. package/lib/graphManager/QueryBuilder_GraphManagerPlugin.d.ts.map +1 -0
  137. package/lib/graphManager/QueryBuilder_GraphManagerPlugin.js +27 -0
  138. package/lib/graphManager/QueryBuilder_GraphManagerPlugin.js.map +1 -0
  139. package/lib/graphManager/QueryBuilder_GraphManagerPreset.d.ts +24 -0
  140. package/lib/graphManager/QueryBuilder_GraphManagerPreset.d.ts.map +1 -0
  141. package/lib/graphManager/QueryBuilder_GraphManagerPreset.js +32 -0
  142. package/lib/graphManager/QueryBuilder_GraphManagerPreset.js.map +1 -0
  143. package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.d.ts +21 -0
  144. package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.d.ts.map +1 -0
  145. package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.js +20 -0
  146. package/lib/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.js.map +1 -0
  147. package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.d.ts +21 -0
  148. package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.d.ts.map +1 -0
  149. package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.js +20 -0
  150. package/lib/graphManager/action/analytics/ServiceExecutionAnalysis.js.map +1 -0
  151. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.d.ts +25 -0
  152. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.d.ts.map +1 -0
  153. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.js +21 -0
  154. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.js.map +1 -0
  155. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.d.ts +18 -0
  156. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.d.ts.map +1 -0
  157. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.js +20 -0
  158. package/lib/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.js.map +1 -0
  159. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts +22 -0
  160. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -0
  161. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +68 -0
  162. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -0
  163. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts +22 -0
  164. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts.map +1 -0
  165. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js +207 -0
  166. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js.map +1 -0
  167. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts +18 -0
  168. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts.map +1 -0
  169. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js +18 -0
  170. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js.map +1 -0
  171. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.d.ts +29 -0
  172. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.d.ts.map +1 -0
  173. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js +182 -0
  174. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js.map +1 -0
  175. package/lib/index.css +17 -0
  176. package/lib/index.css.map +1 -0
  177. package/lib/index.d.ts +36 -0
  178. package/lib/index.d.ts.map +1 -0
  179. package/lib/index.js +36 -0
  180. package/lib/index.js.map +1 -0
  181. package/lib/package.json +99 -0
  182. package/lib/stores/LegendQueryApplicationPlugin.d.ts +47 -0
  183. package/lib/stores/LegendQueryApplicationPlugin.d.ts.map +1 -0
  184. package/lib/stores/LegendQueryApplicationPlugin.js +27 -0
  185. package/lib/stores/LegendQueryApplicationPlugin.js.map +1 -0
  186. package/lib/stores/LegendQueryBaseStore.d.ts +28 -0
  187. package/lib/stores/LegendQueryBaseStore.d.ts.map +1 -0
  188. package/lib/stores/LegendQueryBaseStore.js +28 -0
  189. package/lib/stores/LegendQueryBaseStore.js.map +1 -0
  190. package/lib/stores/LegendQueryEventService.d.ts +27 -0
  191. package/lib/stores/LegendQueryEventService.d.ts.map +1 -0
  192. package/lib/stores/LegendQueryEventService.js +29 -0
  193. package/lib/stores/LegendQueryEventService.js.map +1 -0
  194. package/lib/stores/LegendQueryRouter.d.ts +55 -0
  195. package/lib/stores/LegendQueryRouter.d.ts.map +1 -0
  196. package/lib/stores/LegendQueryRouter.js +50 -0
  197. package/lib/stores/LegendQueryRouter.js.map +1 -0
  198. package/lib/stores/QueryBuilderAggregationState.d.ts +53 -0
  199. package/lib/stores/QueryBuilderAggregationState.d.ts.map +1 -0
  200. package/lib/stores/QueryBuilderAggregationState.js +122 -0
  201. package/lib/stores/QueryBuilderAggregationState.js.map +1 -0
  202. package/lib/stores/QueryBuilderExplorerState.d.ts +93 -0
  203. package/lib/stores/QueryBuilderExplorerState.d.ts.map +1 -0
  204. package/lib/stores/QueryBuilderExplorerState.js +310 -0
  205. package/lib/stores/QueryBuilderExplorerState.js.map +1 -0
  206. package/lib/stores/QueryBuilderFetchStructureState.d.ts +33 -0
  207. package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +1 -0
  208. package/lib/stores/QueryBuilderFetchStructureState.js +50 -0
  209. package/lib/stores/QueryBuilderFetchStructureState.js.map +1 -0
  210. package/lib/stores/QueryBuilderFilterState.d.ts +127 -0
  211. package/lib/stores/QueryBuilderFilterState.d.ts.map +1 -0
  212. package/lib/stores/QueryBuilderFilterState.js +566 -0
  213. package/lib/stores/QueryBuilderFilterState.js.map +1 -0
  214. package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts +35 -0
  215. package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts.map +1 -0
  216. package/lib/stores/QueryBuilderGraphFetchTreeState.js +65 -0
  217. package/lib/stores/QueryBuilderGraphFetchTreeState.js.map +1 -0
  218. package/lib/stores/QueryBuilderGraphFetchTreeUtil.d.ts +41 -0
  219. package/lib/stores/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -0
  220. package/lib/stores/QueryBuilderGraphFetchTreeUtil.js +173 -0
  221. package/lib/stores/QueryBuilderGraphFetchTreeUtil.js.map +1 -0
  222. package/lib/stores/QueryBuilderLambdaBuilder.d.ts +30 -0
  223. package/lib/stores/QueryBuilderLambdaBuilder.d.ts.map +1 -0
  224. package/lib/stores/QueryBuilderLambdaBuilder.js +407 -0
  225. package/lib/stores/QueryBuilderLambdaBuilder.js.map +1 -0
  226. package/lib/stores/QueryBuilderLambdaProcessor.d.ts +56 -0
  227. package/lib/stores/QueryBuilderLambdaProcessor.d.ts.map +1 -0
  228. package/lib/stores/QueryBuilderLambdaProcessor.js +544 -0
  229. package/lib/stores/QueryBuilderLambdaProcessor.js.map +1 -0
  230. package/lib/stores/QueryBuilderOperatorsHelper.d.ts +28 -0
  231. package/lib/stores/QueryBuilderOperatorsHelper.d.ts.map +1 -0
  232. package/lib/stores/QueryBuilderOperatorsHelper.js +123 -0
  233. package/lib/stores/QueryBuilderOperatorsHelper.js.map +1 -0
  234. package/lib/stores/QueryBuilderPostFilterOperator.d.ts +29 -0
  235. package/lib/stores/QueryBuilderPostFilterOperator.d.ts.map +1 -0
  236. package/lib/stores/QueryBuilderPostFilterOperator.js +30 -0
  237. package/lib/stores/QueryBuilderPostFilterOperator.js.map +1 -0
  238. package/lib/stores/QueryBuilderPostFilterProcessor.d.ts +24 -0
  239. package/lib/stores/QueryBuilderPostFilterProcessor.d.ts.map +1 -0
  240. package/lib/stores/QueryBuilderPostFilterProcessor.js +111 -0
  241. package/lib/stores/QueryBuilderPostFilterProcessor.js.map +1 -0
  242. package/lib/stores/QueryBuilderPostFilterState.d.ts +132 -0
  243. package/lib/stores/QueryBuilderPostFilterState.d.ts.map +1 -0
  244. package/lib/stores/QueryBuilderPostFilterState.js +559 -0
  245. package/lib/stores/QueryBuilderPostFilterState.js.map +1 -0
  246. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts +25 -0
  247. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -0
  248. package/lib/stores/QueryBuilderPreviewDataHelper.js +161 -0
  249. package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -0
  250. package/lib/stores/QueryBuilderProjectionState.d.ts +104 -0
  251. package/lib/stores/QueryBuilderProjectionState.d.ts.map +1 -0
  252. package/lib/stores/QueryBuilderProjectionState.js +432 -0
  253. package/lib/stores/QueryBuilderProjectionState.js.map +1 -0
  254. package/lib/stores/QueryBuilderPropertyEditorState.d.ts +62 -0
  255. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -0
  256. package/lib/stores/QueryBuilderPropertyEditorState.js +384 -0
  257. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -0
  258. package/lib/stores/QueryBuilderPropertySearchPanelState.d.ts +46 -0
  259. package/lib/stores/QueryBuilderPropertySearchPanelState.d.ts.map +1 -0
  260. package/lib/stores/QueryBuilderPropertySearchPanelState.js +240 -0
  261. package/lib/stores/QueryBuilderPropertySearchPanelState.js.map +1 -0
  262. package/lib/stores/QueryBuilderResultState.d.ts +38 -0
  263. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -0
  264. package/lib/stores/QueryBuilderResultState.js +164 -0
  265. package/lib/stores/QueryBuilderResultState.js.map +1 -0
  266. package/lib/stores/QueryBuilderSetupState.d.ts +46 -0
  267. package/lib/stores/QueryBuilderSetupState.d.ts.map +1 -0
  268. package/lib/stores/QueryBuilderSetupState.js +163 -0
  269. package/lib/stores/QueryBuilderSetupState.js.map +1 -0
  270. package/lib/stores/QueryBuilderState.d.ts +101 -0
  271. package/lib/stores/QueryBuilderState.d.ts.map +1 -0
  272. package/lib/stores/QueryBuilderState.js +371 -0
  273. package/lib/stores/QueryBuilderState.js.map +1 -0
  274. package/lib/stores/QueryBuilderUnsupportedState.d.ts +26 -0
  275. package/lib/stores/QueryBuilderUnsupportedState.d.ts.map +1 -0
  276. package/lib/stores/QueryBuilderUnsupportedState.js +36 -0
  277. package/lib/stores/QueryBuilderUnsupportedState.js.map +1 -0
  278. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts +19 -0
  279. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -0
  280. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +50 -0
  281. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -0
  282. package/lib/stores/QueryEditorStore.d.ts +98 -0
  283. package/lib/stores/QueryEditorStore.d.ts.map +1 -0
  284. package/lib/stores/QueryEditorStore.js +370 -0
  285. package/lib/stores/QueryEditorStore.js.map +1 -0
  286. package/lib/stores/QueryEditorStoreTestUtils.d.ts +18 -0
  287. package/lib/stores/QueryEditorStoreTestUtils.d.ts.map +1 -0
  288. package/lib/stores/QueryEditorStoreTestUtils.js +42 -0
  289. package/lib/stores/QueryEditorStoreTestUtils.js.map +1 -0
  290. package/lib/stores/QueryFunctionsExplorerState.d.ts +63 -0
  291. package/lib/stores/QueryFunctionsExplorerState.d.ts.map +1 -0
  292. package/lib/stores/QueryFunctionsExplorerState.js +238 -0
  293. package/lib/stores/QueryFunctionsExplorerState.js.map +1 -0
  294. package/lib/stores/QueryParametersState.d.ts +30 -0
  295. package/lib/stores/QueryParametersState.d.ts.map +1 -0
  296. package/lib/stores/QueryParametersState.js +42 -0
  297. package/lib/stores/QueryParametersState.js.map +1 -0
  298. package/lib/stores/QueryResultSetModifierState.d.ts +52 -0
  299. package/lib/stores/QueryResultSetModifierState.d.ts.map +1 -0
  300. package/lib/stores/QueryResultSetModifierState.js +165 -0
  301. package/lib/stores/QueryResultSetModifierState.js.map +1 -0
  302. package/lib/stores/QuerySetupStore.d.ts +86 -0
  303. package/lib/stores/QuerySetupStore.d.ts.map +1 -0
  304. package/lib/stores/QuerySetupStore.js +297 -0
  305. package/lib/stores/QuerySetupStore.js.map +1 -0
  306. package/lib/stores/QueryTextEditorState.d.ts +49 -0
  307. package/lib/stores/QueryTextEditorState.d.ts.map +1 -0
  308. package/lib/stores/QueryTextEditorState.js +145 -0
  309. package/lib/stores/QueryTextEditorState.js.map +1 -0
  310. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.d.ts +21 -0
  311. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.d.ts.map +1 -0
  312. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.js +40 -0
  313. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.js.map +1 -0
  314. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.d.ts +26 -0
  315. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -0
  316. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.js +50 -0
  317. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.js.map +1 -0
  318. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.d.ts +26 -0
  319. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -0
  320. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.js +55 -0
  321. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.js.map +1 -0
  322. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.d.ts +25 -0
  323. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -0
  324. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.js +50 -0
  325. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.js.map +1 -0
  326. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.d.ts +26 -0
  327. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -0
  328. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.js +77 -0
  329. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -0
  330. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.d.ts +26 -0
  331. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -0
  332. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.js +66 -0
  333. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.js.map +1 -0
  334. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.d.ts +25 -0
  335. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -0
  336. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.js +86 -0
  337. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.js.map +1 -0
  338. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.d.ts +25 -0
  339. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -0
  340. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.js +86 -0
  341. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.js.map +1 -0
  342. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.d.ts +26 -0
  343. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -0
  344. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.js +50 -0
  345. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -0
  346. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +26 -0
  347. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -0
  348. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.js +50 -0
  349. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -0
  350. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.d.ts +25 -0
  351. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -0
  352. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.js +45 -0
  353. package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.js.map +1 -0
  354. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.d.ts +20 -0
  355. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.d.ts.map +1 -0
  356. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.js +257 -0
  357. package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.js.map +1 -0
  358. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.d.ts +31 -0
  359. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -0
  360. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.js +72 -0
  361. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.js.map +1 -0
  362. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.d.ts +31 -0
  363. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -0
  364. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.js +72 -0
  365. package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.js.map +1 -0
  366. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts +31 -0
  367. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -0
  368. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js +139 -0
  369. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +1 -0
  370. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts +26 -0
  371. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -0
  372. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js +107 -0
  373. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -0
  374. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +26 -0
  375. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -0
  376. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js +107 -0
  377. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -0
  378. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.d.ts +31 -0
  379. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.d.ts.map +1 -0
  380. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.js +103 -0
  381. package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.js.map +1 -0
  382. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.d.ts +31 -0
  383. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -0
  384. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.js +65 -0
  385. package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -0
  386. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts +26 -0
  387. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -0
  388. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js +108 -0
  389. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +1 -0
  390. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts +26 -0
  391. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -0
  392. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js +107 -0
  393. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -0
  394. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.d.ts +31 -0
  395. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -0
  396. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.js +72 -0
  397. package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.js.map +1 -0
  398. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.d.ts +23 -0
  399. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -0
  400. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js +74 -0
  401. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js.map +1 -0
  402. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.d.ts +32 -0
  403. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -0
  404. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.js +76 -0
  405. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.js.map +1 -0
  406. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.d.ts +32 -0
  407. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -0
  408. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js +76 -0
  409. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -0
  410. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts +32 -0
  411. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -0
  412. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js +142 -0
  413. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +1 -0
  414. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts +27 -0
  415. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -0
  416. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js +105 -0
  417. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -0
  418. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +24 -0
  419. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -0
  420. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +43 -0
  421. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -0
  422. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.d.ts +32 -0
  423. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -0
  424. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.js +104 -0
  425. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.js.map +1 -0
  426. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.d.ts +33 -0
  427. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -0
  428. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js +67 -0
  429. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -0
  430. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts +27 -0
  431. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -0
  432. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js +105 -0
  433. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -0
  434. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +24 -0
  435. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -0
  436. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js +43 -0
  437. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -0
  438. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.d.ts +32 -0
  439. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -0
  440. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js +76 -0
  441. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -0
  442. package/package.json +99 -0
  443. package/src/LegendQueryAppEvent.ts +20 -0
  444. package/src/QueryBuilder_Const.ts +88 -0
  445. package/src/application/LegendQuery.tsx +92 -0
  446. package/src/application/LegendQueryApplicationConfig.ts +77 -0
  447. package/src/application/LegendQueryPluginManager.ts +67 -0
  448. package/src/components/LegendQueryApplication.tsx +104 -0
  449. package/src/components/LegendQueryBaseStoreProvider.tsx +68 -0
  450. package/src/components/QueryBuilder.tsx +375 -0
  451. package/src/components/QueryBuilderExplorerPanel.tsx +998 -0
  452. package/src/components/QueryBuilderFetchStructurePanel.tsx +184 -0
  453. package/src/components/QueryBuilderFilterPanel.tsx +858 -0
  454. package/src/components/QueryBuilderFunctionsExplorerPanel.tsx +598 -0
  455. package/src/components/QueryBuilderGraphFetchTreePanel.tsx +270 -0
  456. package/src/components/QueryBuilderLambdaEditor.tsx +117 -0
  457. package/src/components/QueryBuilderMilestoneEditor.tsx +291 -0
  458. package/src/components/QueryBuilderParameterPanel.tsx +434 -0
  459. package/src/components/QueryBuilderPostFilterPanel.tsx +1061 -0
  460. package/src/components/QueryBuilderProjectionPanel.tsx +652 -0
  461. package/src/components/QueryBuilderPropertyExpressionEditor.tsx +370 -0
  462. package/src/components/QueryBuilderPropertyInfoTooltip.tsx +87 -0
  463. package/src/components/QueryBuilderPropertySearchPanel.tsx +617 -0
  464. package/src/components/QueryBuilderResultModifierPanel.tsx +252 -0
  465. package/src/components/QueryBuilderResultPanel.tsx +582 -0
  466. package/src/components/QueryBuilderSetupPanel.tsx +341 -0
  467. package/src/components/QueryBuilderTextEditor.tsx +127 -0
  468. package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +110 -0
  469. package/src/components/QueryBuilder_TestID.ts +26 -0
  470. package/src/components/QueryEditor.tsx +345 -0
  471. package/src/components/QueryEditorComponentTestUtils.tsx +200 -0
  472. package/src/components/QueryEditorStoreProvider.tsx +128 -0
  473. package/src/components/QuerySetup.tsx +907 -0
  474. package/src/components/QuerySetupStoreProvider.tsx +65 -0
  475. package/src/components/shared/ElementIconUtils.tsx +47 -0
  476. package/src/graphManager/QueryBuilder_GraphManagerPlugin.ts +32 -0
  477. package/src/graphManager/QueryBuilder_GraphManagerPreset.ts +33 -0
  478. package/src/graphManager/action/analytics/MappingRuntimeCompatibilityAnalysis.ts +22 -0
  479. package/src/graphManager/action/analytics/ServiceExecutionAnalysis.ts +22 -0
  480. package/src/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtension.ts +47 -0
  481. package/src/graphManager/protocol/pure/QueryBuilder_PureGraphManagerExtensionBuilder.ts +27 -0
  482. package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +170 -0
  483. package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.ts +573 -0
  484. package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.ts +28 -0
  485. package/src/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.ts +296 -0
  486. package/src/index.ts +57 -0
  487. package/src/stores/LegendQueryApplicationPlugin.ts +61 -0
  488. package/src/stores/LegendQueryBaseStore.ts +47 -0
  489. package/src/stores/LegendQueryEventService.ts +38 -0
  490. package/src/stores/LegendQueryRouter.ts +114 -0
  491. package/src/stores/QueryBuilderAggregationState.ts +208 -0
  492. package/src/stores/QueryBuilderExplorerState.ts +590 -0
  493. package/src/stores/QueryBuilderFetchStructureState.ts +59 -0
  494. package/src/stores/QueryBuilderFilterState.ts +815 -0
  495. package/src/stores/QueryBuilderGraphFetchTreeState.ts +90 -0
  496. package/src/stores/QueryBuilderGraphFetchTreeUtil.ts +281 -0
  497. package/src/stores/QueryBuilderLambdaBuilder.ts +755 -0
  498. package/src/stores/QueryBuilderLambdaProcessor.ts +1239 -0
  499. package/src/stores/QueryBuilderOperatorsHelper.ts +191 -0
  500. package/src/stores/QueryBuilderPostFilterOperator.ts +66 -0
  501. package/src/stores/QueryBuilderPostFilterProcessor.ts +275 -0
  502. package/src/stores/QueryBuilderPostFilterState.ts +762 -0
  503. package/src/stores/QueryBuilderPreviewDataHelper.ts +300 -0
  504. package/src/stores/QueryBuilderProjectionState.ts +796 -0
  505. package/src/stores/QueryBuilderPropertyEditorState.ts +656 -0
  506. package/src/stores/QueryBuilderPropertySearchPanelState.ts +331 -0
  507. package/src/stores/QueryBuilderResultState.ts +263 -0
  508. package/src/stores/QueryBuilderSetupState.ts +236 -0
  509. package/src/stores/QueryBuilderState.ts +561 -0
  510. package/src/stores/QueryBuilderUnsupportedState.ts +42 -0
  511. package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +76 -0
  512. package/src/stores/QueryEditorStore.ts +648 -0
  513. package/src/stores/QueryEditorStoreTestUtils.ts +46 -0
  514. package/src/stores/QueryFunctionsExplorerState.ts +386 -0
  515. package/src/stores/QueryParametersState.ts +54 -0
  516. package/src/stores/QueryResultSetModifierState.ts +307 -0
  517. package/src/stores/QuerySetupStore.ts +430 -0
  518. package/src/stores/QueryTextEditorState.ts +203 -0
  519. package/src/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.ts +111 -0
  520. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.ts +100 -0
  521. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.ts +108 -0
  522. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.ts +98 -0
  523. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.ts +175 -0
  524. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.ts +157 -0
  525. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.ts +176 -0
  526. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.ts +176 -0
  527. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.ts +100 -0
  528. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.ts +100 -0
  529. package/src/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.ts +90 -0
  530. package/src/stores/filterOperators/QueryBuilderFilterOperatorHelper.ts +524 -0
  531. package/src/stores/filterOperators/QueryBuilderFilterOperator_Contain.ts +134 -0
  532. package/src/stores/filterOperators/QueryBuilderFilterOperator_EndWith.ts +134 -0
  533. package/src/stores/filterOperators/QueryBuilderFilterOperator_Equal.ts +233 -0
  534. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.ts +164 -0
  535. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.ts +164 -0
  536. package/src/stores/filterOperators/QueryBuilderFilterOperator_In.ts +181 -0
  537. package/src/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.ts +125 -0
  538. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThan.ts +165 -0
  539. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts +164 -0
  540. package/src/stores/filterOperators/QueryBuilderFilterOperator_StartWith.ts +134 -0
  541. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.ts +129 -0
  542. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.ts +140 -0
  543. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.ts +135 -0
  544. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts +238 -0
  545. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts +161 -0
  546. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +70 -0
  547. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.ts +183 -0
  548. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.ts +113 -0
  549. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts +161 -0
  550. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.ts +70 -0
  551. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.ts +135 -0
  552. package/tsconfig.json +155 -0
  553. package/tsconfig.package.json +38 -0
@@ -0,0 +1,345 @@
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
+ Dialog,
19
+ ArrowLeftIcon,
20
+ ExternalLinkSquareIcon,
21
+ PanelLoadingIndicator,
22
+ RobotIcon,
23
+ SaveIcon,
24
+ BlankPanelContent,
25
+ } from '@finos/legend-art';
26
+ import { getQueryParameters } from '@finos/legend-shared';
27
+ import { observer } from 'mobx-react-lite';
28
+ import { useEffect, useRef } from 'react';
29
+ import { DndProvider } from 'react-dnd';
30
+ import { HTML5Backend } from 'react-dnd-html5-backend';
31
+ import { useParams } from 'react-router';
32
+ import {
33
+ type CreateQueryPathParams,
34
+ type ExistingQueryEditorPathParams,
35
+ type ServiceQueryEditorPathParams,
36
+ type ServiceQueryEditorQueryParams,
37
+ LEGEND_QUERY_ROUTE_PATTERN,
38
+ LEGEND_QUERY_QUERY_PARAM_TOKEN,
39
+ LEGEND_QUERY_PATH_PARAM_TOKEN,
40
+ generateStudioProjectViewUrl,
41
+ } from '../stores/LegendQueryRouter.js';
42
+ import {
43
+ type QueryEditorStore,
44
+ CreateQueryEditorStore,
45
+ ExistingQueryEditorStore,
46
+ QueryExportState,
47
+ ServiceQueryEditorStore,
48
+ } from '../stores/QueryEditorStore.js';
49
+ import { QueryBuilder } from './QueryBuilder.js';
50
+ import { useApplicationStore } from '@finos/legend-application';
51
+ import {
52
+ CreateQueryEditorStoreProvider,
53
+ ExistingQueryEditorStoreProvider,
54
+ ServiceQueryEditorStoreProvider,
55
+ useQueryEditorStore,
56
+ } from './QueryEditorStoreProvider.js';
57
+ import {
58
+ extractElementNameFromPath,
59
+ type RawLambda,
60
+ } from '@finos/legend-graph';
61
+ import { flowResult } from 'mobx';
62
+ import { useLegendQueryApplicationStore } from './LegendQueryBaseStoreProvider.js';
63
+
64
+ const QueryExportDialogContent = observer(
65
+ (props: { exportState: QueryExportState }) => {
66
+ const { exportState } = props;
67
+ const applicationStore = useApplicationStore();
68
+ const allowCreate = exportState.allowPersist;
69
+ const allowSave = exportState.allowPersist && exportState.allowUpdate;
70
+ const create = applicationStore.guardUnhandledError(() =>
71
+ exportState.persistQuery(true),
72
+ );
73
+ const save = applicationStore.guardUnhandledError(() =>
74
+ exportState.persistQuery(false),
75
+ );
76
+
77
+ // name
78
+ const nameInputRef = useRef<HTMLInputElement>(null);
79
+ const changeName: React.ChangeEventHandler<HTMLInputElement> = (event) =>
80
+ exportState.setQueryName(event.target.value);
81
+
82
+ useEffect(() => {
83
+ nameInputRef.current?.focus();
84
+ }, []);
85
+
86
+ return (
87
+ <>
88
+ <div className="modal__body">
89
+ <PanelLoadingIndicator
90
+ isLoading={exportState.persistQueryState.isInProgress}
91
+ />
92
+ <input
93
+ ref={nameInputRef}
94
+ className="input input--dark"
95
+ spellCheck={false}
96
+ value={exportState.queryName}
97
+ onChange={changeName}
98
+ />
99
+ </div>
100
+ <div className="modal__footer">
101
+ {allowSave && (
102
+ <button
103
+ className="btn modal__footer__close-btn btn--dark"
104
+ onClick={save}
105
+ >
106
+ Save
107
+ </button>
108
+ )}
109
+ <button
110
+ className="btn modal__footer__close-btn btn--dark"
111
+ disabled={!allowCreate}
112
+ onClick={create}
113
+ >
114
+ Create
115
+ </button>
116
+ </div>
117
+ </>
118
+ );
119
+ },
120
+ );
121
+
122
+ const QueryExport = observer(() => {
123
+ const editorStore = useQueryEditorStore();
124
+ const exportState = editorStore.exportState;
125
+ const close = (): void => editorStore.setExportState(undefined);
126
+
127
+ return (
128
+ <Dialog
129
+ open={Boolean(exportState)}
130
+ onClose={close}
131
+ classes={{
132
+ root: 'editor-modal__root-container',
133
+ container: 'editor-modal__container',
134
+ paper: 'editor-modal__content',
135
+ }}
136
+ >
137
+ <div className="modal modal--dark query-export">
138
+ <div className="modal__header">
139
+ <div className="modal__title">Save Query</div>
140
+ </div>
141
+ {exportState && <QueryExportDialogContent exportState={exportState} />}
142
+ </div>
143
+ </Dialog>
144
+ );
145
+ });
146
+
147
+ const renderQueryEditorHeaderLabel = (
148
+ editorStore: QueryEditorStore,
149
+ ): React.ReactNode => {
150
+ if (editorStore instanceof ExistingQueryEditorStore) {
151
+ return (
152
+ <div className="query-editor__header__label query-editor__header__label--existing-query">
153
+ {editorStore.query.name}
154
+ </div>
155
+ );
156
+ } else if (editorStore instanceof CreateQueryEditorStore) {
157
+ return (
158
+ <div className="query-editor__header__label query-editor__header__label--create-query">
159
+ New Query
160
+ </div>
161
+ );
162
+ } else if (editorStore instanceof ServiceQueryEditorStore) {
163
+ return (
164
+ <div className="query-editor__header__label query-editor__header__label--service-query">
165
+ <RobotIcon className="query-editor__header__label__icon" />
166
+ {extractElementNameFromPath(editorStore.servicePath)}
167
+ {editorStore.executionKey && (
168
+ <div className="query-editor__header__label__tag">
169
+ {editorStore.executionKey}
170
+ </div>
171
+ )}
172
+ </div>
173
+ );
174
+ }
175
+ const extraQueryEditorHeaderLabelers = editorStore.pluginManager
176
+ .getApplicationPlugins()
177
+ .flatMap((plugin) => plugin.getExtraQueryEditorHeaderLabelers?.() ?? []);
178
+ for (const labeler of extraQueryEditorHeaderLabelers) {
179
+ const label = labeler(editorStore);
180
+ if (label) {
181
+ return label;
182
+ }
183
+ }
184
+ return null;
185
+ };
186
+
187
+ const QueryEditorHeaderContent = observer(() => {
188
+ const editorStore = useQueryEditorStore();
189
+ const applicationStore = useLegendQueryApplicationStore();
190
+ const viewQueryProject = (): void => {
191
+ const { groupId, artifactId, versionId } = editorStore.getProjectInfo();
192
+ applicationStore.navigator.openNewWindow(
193
+ generateStudioProjectViewUrl(
194
+ applicationStore.config.studioUrl,
195
+ groupId,
196
+ artifactId,
197
+ versionId,
198
+ undefined,
199
+ ),
200
+ );
201
+ };
202
+ const saveQuery = (): void => {
203
+ editorStore.queryBuilderState
204
+ .saveQuery(async (lambda: RawLambda) => {
205
+ editorStore.setExportState(
206
+ new QueryExportState(
207
+ editorStore,
208
+ lambda,
209
+ await editorStore.getExportConfiguration(lambda),
210
+ ),
211
+ );
212
+ })
213
+ .catch(applicationStore.alertUnhandledError);
214
+ };
215
+
216
+ return (
217
+ <div className="query-editor__header__content">
218
+ <div className="query-editor__header__content__main">
219
+ {renderQueryEditorHeaderLabel(editorStore)}
220
+ </div>
221
+ <div className="query-editor__header__actions">
222
+ <button
223
+ className="query-editor__header__action query-editor__header__action--simple btn--dark"
224
+ tabIndex={-1}
225
+ title="View project"
226
+ onClick={viewQueryProject}
227
+ >
228
+ <ExternalLinkSquareIcon />
229
+ </button>
230
+ <button
231
+ className="query-editor__header__action btn--dark"
232
+ tabIndex={-1}
233
+ onClick={saveQuery}
234
+ >
235
+ <div className="query-editor__header__action__icon">
236
+ <SaveIcon />
237
+ <QueryExport />
238
+ </div>
239
+ <div className="query-editor__header__action__label">Save</div>
240
+ </button>
241
+ </div>
242
+ </div>
243
+ );
244
+ });
245
+
246
+ export const QueryEditor = observer(() => {
247
+ const applicationStore = useApplicationStore();
248
+ const editorStore = useQueryEditorStore();
249
+ const isLoadingEditor = !editorStore.initState.hasCompleted;
250
+ const backToMainMenu = (): void =>
251
+ applicationStore.navigator.goTo(LEGEND_QUERY_ROUTE_PATTERN.SETUP);
252
+
253
+ useEffect(() => {
254
+ flowResult(editorStore.initialize()).catch(
255
+ applicationStore.alertUnhandledError,
256
+ );
257
+ }, [editorStore, applicationStore]);
258
+
259
+ return (
260
+ <DndProvider backend={HTML5Backend}>
261
+ <div className="query-editor">
262
+ <div className="query-editor__header">
263
+ <button
264
+ className="query-editor__header__back-btn btn--dark"
265
+ onClick={backToMainMenu}
266
+ title="Back to Main Menu"
267
+ >
268
+ <ArrowLeftIcon />
269
+ </button>
270
+ {!isLoadingEditor && <QueryEditorHeaderContent />}
271
+ </div>
272
+ <div className="query-editor__content">
273
+ <PanelLoadingIndicator isLoading={isLoadingEditor} />
274
+ {!isLoadingEditor && (
275
+ <QueryBuilder queryBuilderState={editorStore.queryBuilderState} />
276
+ )}
277
+ {isLoadingEditor && (
278
+ <BlankPanelContent>
279
+ {editorStore.initState.message ??
280
+ editorStore.graphManagerState.systemBuildState.message ??
281
+ editorStore.graphManagerState.dependenciesBuildState.message ??
282
+ editorStore.graphManagerState.generationsBuildState.message ??
283
+ editorStore.graphManagerState.graphBuildState.message}
284
+ </BlankPanelContent>
285
+ )}
286
+ </div>
287
+ </div>
288
+ </DndProvider>
289
+ );
290
+ });
291
+
292
+ export const ExistingQueryEditor = observer(() => {
293
+ const params = useParams<ExistingQueryEditorPathParams>();
294
+ const queryId = params[LEGEND_QUERY_PATH_PARAM_TOKEN.QUERY_ID];
295
+
296
+ return (
297
+ <ExistingQueryEditorStoreProvider queryId={queryId}>
298
+ <QueryEditor />
299
+ </ExistingQueryEditorStoreProvider>
300
+ );
301
+ });
302
+
303
+ export const ServiceQueryEditor = observer(() => {
304
+ const applicationStore = useApplicationStore();
305
+ const params = useParams<ServiceQueryEditorPathParams>();
306
+ const gav = params[LEGEND_QUERY_PATH_PARAM_TOKEN.GAV];
307
+ const servicePath = params[LEGEND_QUERY_PATH_PARAM_TOKEN.SERVICE_PATH];
308
+ const executionKey = getQueryParameters<ServiceQueryEditorQueryParams>(
309
+ applicationStore.navigator.getCurrentLocation(),
310
+ true,
311
+ )[LEGEND_QUERY_QUERY_PARAM_TOKEN.SERVICE_EXECUTION_KEY];
312
+
313
+ return (
314
+ <ServiceQueryEditorStoreProvider
315
+ gav={gav}
316
+ servicePath={servicePath}
317
+ executionKey={executionKey}
318
+ >
319
+ <QueryEditor />
320
+ </ServiceQueryEditorStoreProvider>
321
+ );
322
+ });
323
+
324
+ export const CreateQueryEditor = observer(() => {
325
+ const applicationStore = useApplicationStore();
326
+ const params = useParams<CreateQueryPathParams>();
327
+ const gav = params[LEGEND_QUERY_PATH_PARAM_TOKEN.GAV];
328
+ const mappingPath = params[LEGEND_QUERY_PATH_PARAM_TOKEN.MAPPING_PATH];
329
+ const runtimePath = params[LEGEND_QUERY_PATH_PARAM_TOKEN.RUNTIME_PATH];
330
+ const classPath = getQueryParameters<ServiceQueryEditorQueryParams>(
331
+ applicationStore.navigator.getCurrentLocation(),
332
+ true,
333
+ )[LEGEND_QUERY_QUERY_PARAM_TOKEN.SERVICE_EXECUTION_KEY];
334
+
335
+ return (
336
+ <CreateQueryEditorStoreProvider
337
+ gav={gav}
338
+ mappingPath={mappingPath}
339
+ runtimePath={runtimePath}
340
+ classPath={classPath}
341
+ >
342
+ <QueryEditor />
343
+ </CreateQueryEditorStoreProvider>
344
+ );
345
+ });
@@ -0,0 +1,200 @@
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 { jest } from '@jest/globals';
18
+ import { type RenderResult, render, waitFor } from '@testing-library/react';
19
+ import { Router } from 'react-router';
20
+ import { createMemoryHistory } from 'history';
21
+ import {
22
+ type TEMPORARY__JestMock,
23
+ MOBX__disableSpyOrMock,
24
+ MOBX__enableSpyOrMock,
25
+ } from '@finos/legend-shared';
26
+ import {
27
+ type GraphManagerState,
28
+ Query,
29
+ LightQuery,
30
+ RawLambda,
31
+ PackageableElementExplicitReference,
32
+ type RawMappingModelCoverageAnalysisResult,
33
+ } from '@finos/legend-graph';
34
+ import {
35
+ type DepotServerClient,
36
+ TEST__DepotServerClientProvider,
37
+ TEST__getTestDepotServerClient,
38
+ } from '@finos/legend-server-depot';
39
+ import {
40
+ TEST__provideMockedWebApplicationNavigator,
41
+ TEST__ApplicationStoreProvider,
42
+ WebApplicationNavigator,
43
+ TEST__getTestApplicationStore,
44
+ } from '@finos/legend-application';
45
+ import { TEST__getTestLegendQueryApplicationConfig } from '../stores/QueryEditorStoreTestUtils.js';
46
+ import { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
47
+ import { ExistingQueryEditor } from './QueryEditor.js';
48
+ import { generateExistingQueryEditorRoute } from '../stores/LegendQueryRouter.js';
49
+ import { QUERY_BUILDER_TEST_ID } from './QueryBuilder_TestID.js';
50
+ import type { Entity } from '@finos/legend-storage';
51
+ import { ExistingQueryEditorStore } from '../stores/QueryEditorStore.js';
52
+ import { LegendQueryBaseStoreProvider } from './LegendQueryBaseStoreProvider.js';
53
+ import type { LegendQueryApplicationStore } from '../stores/LegendQueryBaseStore.js';
54
+
55
+ export const TEST__LegendQueryBaseStoreProvider: React.FC<{
56
+ children: React.ReactNode;
57
+ }> = ({ children }) => (
58
+ <LegendQueryBaseStoreProvider
59
+ pluginManager={LegendQueryPluginManager.create()}
60
+ >
61
+ {children}
62
+ </LegendQueryBaseStoreProvider>
63
+ );
64
+
65
+ const TEST_QUERY_ID = 'test-query-id';
66
+
67
+ export const TEST__provideMockedQueryEditorStore = (customization?: {
68
+ mock?: ExistingQueryEditorStore;
69
+ applicationStore?: LegendQueryApplicationStore;
70
+ depotServerClient?: DepotServerClient;
71
+ graphManagerState?: GraphManagerState;
72
+ pluginManager?: LegendQueryPluginManager;
73
+ }): ExistingQueryEditorStore => {
74
+ const pluginManager =
75
+ customization?.pluginManager ?? LegendQueryPluginManager.create();
76
+ const value =
77
+ customization?.mock ??
78
+ new ExistingQueryEditorStore(
79
+ customization?.applicationStore ??
80
+ TEST__getTestApplicationStore(
81
+ TEST__getTestLegendQueryApplicationConfig(),
82
+ pluginManager,
83
+ ),
84
+ customization?.depotServerClient ?? TEST__getTestDepotServerClient(),
85
+ pluginManager,
86
+ TEST_QUERY_ID,
87
+ );
88
+ const MOCK__QueryEditorStoreProvider = require('./QueryEditorStoreProvider.js'); // eslint-disable-line @typescript-eslint/no-unsafe-assignment
89
+ MOCK__QueryEditorStoreProvider.useQueryEditorStore = jest.fn();
90
+ MOCK__QueryEditorStoreProvider.useQueryEditorStore.mockReturnValue(value);
91
+ return value;
92
+ };
93
+
94
+ export const TEST__setUpQueryEditor = async (
95
+ MOCK__editorStore: ExistingQueryEditorStore,
96
+ entities: Entity[],
97
+ lambda: RawLambda,
98
+ mappingPath: string,
99
+ runtimePath: string,
100
+ rawMappingModelCoverageAnalysisResult?: RawMappingModelCoverageAnalysisResult,
101
+ ): Promise<RenderResult> => {
102
+ const projectData = {
103
+ id: 'test-id',
104
+ groupId: 'test.group',
105
+ artifactId: 'test-artifact',
106
+ projectId: 'test-project-id',
107
+ versions: ['0.0.0'],
108
+ latestVersion: '0.0.0',
109
+ };
110
+
111
+ const lightQuery = new LightQuery();
112
+ lightQuery.name = 'MyTestQuery';
113
+ lightQuery.id = TEST_QUERY_ID;
114
+ lightQuery.versionId = '0.0.0';
115
+ lightQuery.groupId = 'test.group';
116
+ lightQuery.artifactId = 'test-artifact';
117
+ lightQuery.owner = 'test-artifact';
118
+ lightQuery.isCurrentUserQuery = true;
119
+
120
+ await MOCK__editorStore.graphManagerState.initializeSystem();
121
+ await MOCK__editorStore.graphManagerState.graphManager.buildGraph(
122
+ MOCK__editorStore.graphManagerState.graph,
123
+ entities,
124
+ MOCK__editorStore.graphManagerState.graphBuildState,
125
+ );
126
+
127
+ const query = new Query();
128
+ query.name = lightQuery.name;
129
+ query.id = lightQuery.id;
130
+ query.versionId = lightQuery.versionId;
131
+ query.groupId = lightQuery.groupId;
132
+ query.artifactId = lightQuery.artifactId;
133
+ query.owner = lightQuery.owner;
134
+ query.isCurrentUserQuery = lightQuery.isCurrentUserQuery;
135
+ query.mapping = PackageableElementExplicitReference.create(
136
+ MOCK__editorStore.graphManagerState.graph.getMapping(mappingPath),
137
+ );
138
+ query.runtime = PackageableElementExplicitReference.create(
139
+ MOCK__editorStore.graphManagerState.graph.getRuntime(runtimePath),
140
+ );
141
+ query.content = 'some content';
142
+
143
+ MOBX__enableSpyOrMock();
144
+ jest
145
+ .spyOn(MOCK__editorStore.depotServerClient, 'getProject')
146
+ .mockResolvedValue(projectData);
147
+ jest
148
+ .spyOn(MOCK__editorStore.graphManagerState.graphManager, 'getLightQuery')
149
+ .mockResolvedValue(lightQuery);
150
+ jest
151
+ .spyOn(MOCK__editorStore.graphManagerState.graphManager, 'pureCodeToLambda')
152
+ .mockResolvedValue(new RawLambda(lambda.parameters, lambda.body));
153
+ jest
154
+ .spyOn(MOCK__editorStore.graphManagerState.graphManager, 'getQuery')
155
+ .mockResolvedValue(query);
156
+ if (rawMappingModelCoverageAnalysisResult) {
157
+ jest
158
+ .spyOn(
159
+ MOCK__editorStore.graphManagerState.graphManager,
160
+ 'analyzeMappingModelCoverage',
161
+ )
162
+ .mockResolvedValue(
163
+ MOCK__editorStore.graphManagerState.graphManager.buildMappingModelCoverageAnalysisResult(
164
+ rawMappingModelCoverageAnalysisResult,
165
+ ),
166
+ );
167
+ }
168
+ MOCK__editorStore.buildGraph = jest.fn<TEMPORARY__JestMock>();
169
+ // TODO: we need to think of how we will mock these calls when we modularize
170
+ // See https://github.com/finos/legend-studio/issues/731
171
+ MOCK__editorStore.graphManagerState.graphManager.initialize =
172
+ jest.fn<TEMPORARY__JestMock>();
173
+ MOBX__disableSpyOrMock();
174
+
175
+ const history = createMemoryHistory({
176
+ initialEntries: [generateExistingQueryEditorRoute(lightQuery.id)],
177
+ });
178
+ const navigator = new WebApplicationNavigator(history);
179
+ MOCK__editorStore.applicationStore.navigator = navigator;
180
+ TEST__provideMockedWebApplicationNavigator({ mock: navigator });
181
+
182
+ const renderResult = render(
183
+ <Router history={history}>
184
+ <TEST__ApplicationStoreProvider
185
+ config={TEST__getTestLegendQueryApplicationConfig()}
186
+ pluginManager={LegendQueryPluginManager.create()}
187
+ >
188
+ <TEST__DepotServerClientProvider>
189
+ <TEST__LegendQueryBaseStoreProvider>
190
+ <ExistingQueryEditor />
191
+ </TEST__LegendQueryBaseStoreProvider>
192
+ </TEST__DepotServerClientProvider>
193
+ </TEST__ApplicationStoreProvider>
194
+ </Router>,
195
+ );
196
+ await waitFor(() =>
197
+ renderResult.getByTestId(QUERY_BUILDER_TEST_ID.QUERY_BUILDER),
198
+ );
199
+ return renderResult;
200
+ };
@@ -0,0 +1,128 @@
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 { createContext, useContext } from 'react';
18
+ import { useLocalObservable } from 'mobx-react-lite';
19
+ import { guaranteeNonNullable } from '@finos/legend-shared';
20
+ import {
21
+ type QueryEditorStore,
22
+ CreateQueryEditorStore,
23
+ ExistingQueryEditorStore,
24
+ ServiceQueryEditorStore,
25
+ } from '../stores/QueryEditorStore.js';
26
+ import {
27
+ parseGAVCoordinates,
28
+ useDepotServerClient,
29
+ } from '@finos/legend-server-depot';
30
+ import {
31
+ useLegendQueryApplicationStore,
32
+ useLegendQueryBaseStore,
33
+ } from './LegendQueryBaseStoreProvider.js';
34
+
35
+ export const QueryEditorStoreContext = createContext<
36
+ QueryEditorStore | undefined
37
+ >(undefined);
38
+
39
+ export const ExistingQueryEditorStoreProvider: React.FC<{
40
+ children: React.ReactNode;
41
+ queryId: string;
42
+ }> = ({ children, queryId }) => {
43
+ const applicationStore = useLegendQueryApplicationStore();
44
+ const depotServerClient = useDepotServerClient();
45
+ const baseStore = useLegendQueryBaseStore();
46
+ const store = useLocalObservable(
47
+ () =>
48
+ new ExistingQueryEditorStore(
49
+ applicationStore,
50
+ depotServerClient,
51
+ baseStore.pluginManager,
52
+ queryId,
53
+ ),
54
+ );
55
+ return (
56
+ <QueryEditorStoreContext.Provider value={store}>
57
+ {children}
58
+ </QueryEditorStoreContext.Provider>
59
+ );
60
+ };
61
+
62
+ export const CreateQueryEditorStoreProvider: React.FC<{
63
+ children: React.ReactNode;
64
+ gav: string;
65
+ mappingPath: string;
66
+ runtimePath: string;
67
+ classPath: string | undefined;
68
+ }> = ({ children, gav, mappingPath, runtimePath, classPath }) => {
69
+ const { groupId, artifactId, versionId } = parseGAVCoordinates(gav);
70
+ const applicationStore = useLegendQueryApplicationStore();
71
+ const depotServerClient = useDepotServerClient();
72
+ const baseStore = useLegendQueryBaseStore();
73
+ const store = useLocalObservable(
74
+ () =>
75
+ new CreateQueryEditorStore(
76
+ applicationStore,
77
+ depotServerClient,
78
+ baseStore.pluginManager,
79
+ groupId,
80
+ artifactId,
81
+ versionId,
82
+ mappingPath,
83
+ runtimePath,
84
+ classPath,
85
+ ),
86
+ );
87
+ return (
88
+ <QueryEditorStoreContext.Provider value={store}>
89
+ {children}
90
+ </QueryEditorStoreContext.Provider>
91
+ );
92
+ };
93
+
94
+ export const ServiceQueryEditorStoreProvider: React.FC<{
95
+ children: React.ReactNode;
96
+ gav: string;
97
+ servicePath: string;
98
+ executionKey: string | undefined;
99
+ }> = ({ children, gav, servicePath, executionKey }) => {
100
+ const { groupId, artifactId, versionId } = parseGAVCoordinates(gav);
101
+ const applicationStore = useLegendQueryApplicationStore();
102
+ const depotServerClient = useDepotServerClient();
103
+ const baseStore = useLegendQueryBaseStore();
104
+ const store = useLocalObservable(
105
+ () =>
106
+ new ServiceQueryEditorStore(
107
+ applicationStore,
108
+ depotServerClient,
109
+ baseStore.pluginManager,
110
+ groupId,
111
+ artifactId,
112
+ versionId,
113
+ servicePath,
114
+ executionKey,
115
+ ),
116
+ );
117
+ return (
118
+ <QueryEditorStoreContext.Provider value={store}>
119
+ {children}
120
+ </QueryEditorStoreContext.Provider>
121
+ );
122
+ };
123
+
124
+ export const useQueryEditorStore = (): QueryEditorStore =>
125
+ guaranteeNonNullable(
126
+ useContext(QueryEditorStoreContext),
127
+ `Can't find query editor store in context`,
128
+ );