@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,561 @@
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 { action, flow, observable, makeObservable } from 'mobx';
18
+ import {
19
+ type GeneratorFn,
20
+ LogEvent,
21
+ assertErrorThrown,
22
+ guaranteeNonNullable,
23
+ guaranteeType,
24
+ filterByType,
25
+ hashObject,
26
+ } from '@finos/legend-shared';
27
+ import {
28
+ type QueryBuilderFilterOperator,
29
+ QueryBuilderFilterState,
30
+ } from './QueryBuilderFilterState.js';
31
+ import { QueryBuilderFetchStructureState } from './QueryBuilderFetchStructureState.js';
32
+ import { QueryResultSetModifierState } from './QueryResultSetModifierState.js';
33
+ import {
34
+ QueryTextEditorMode,
35
+ QueryTextEditorState,
36
+ } from './QueryTextEditorState.js';
37
+ import { QueryBuilderSetupState } from './QueryBuilderSetupState.js';
38
+ import { QueryBuilderExplorerState } from './QueryBuilderExplorerState.js';
39
+ import { QueryBuilderResultState } from './QueryBuilderResultState.js';
40
+ import {
41
+ processQueryBuilderLambdaFunction,
42
+ processQueryParameters,
43
+ } from './QueryBuilderLambdaProcessor.js';
44
+ import { QueryBuilderUnsupportedState } from './QueryBuilderUnsupportedState.js';
45
+ import {
46
+ type Class,
47
+ type GraphManagerState,
48
+ type ValueSpecification,
49
+ GenericTypeExplicitReference,
50
+ GenericType,
51
+ PRIMITIVE_TYPE,
52
+ GRAPH_MANAGER_EVENT,
53
+ CompilationError,
54
+ extractSourceInformationCoordinates,
55
+ LambdaFunctionInstanceValue,
56
+ RawLambda,
57
+ TYPICAL_MULTIPLICITY_TYPE,
58
+ VariableExpression,
59
+ observe_ValueSpecification,
60
+ ObserverContext,
61
+ isStubbed_RawLambda,
62
+ buildLambdaVariableExpressions,
63
+ buildRawLambdaFromLambdaFunction,
64
+ } from '@finos/legend-graph';
65
+ import {
66
+ QueryBuilderFilterOperator_Equal,
67
+ QueryBuilderFilterOperator_NotEqual,
68
+ } from './filterOperators/QueryBuilderFilterOperator_Equal.js';
69
+ import { QueryBuilderFilterOperator_GreaterThan } from './filterOperators/QueryBuilderFilterOperator_GreaterThan.js';
70
+ import {
71
+ QueryBuilderFilterOperator_NotStartWith,
72
+ QueryBuilderFilterOperator_StartWith,
73
+ } from './filterOperators/QueryBuilderFilterOperator_StartWith.js';
74
+ import { QueryBuilderFilterOperator_GreaterThanEqual } from './filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js';
75
+ import { QueryBuilderFilterOperator_LessThanEqual } from './filterOperators/QueryBuilderFilterOperator_LessThanEqual.js';
76
+ import { QueryBuilderFilterOperator_LessThan } from './filterOperators/QueryBuilderFilterOperator_LessThan.js';
77
+ import {
78
+ QueryBuilderFilterOperator_EndWith,
79
+ QueryBuilderFilterOperator_NotEndWith,
80
+ } from './filterOperators/QueryBuilderFilterOperator_EndWith.js';
81
+ import {
82
+ QueryBuilderFilterOperator_Contain,
83
+ QueryBuilderFilterOperator_NotContain,
84
+ } from './filterOperators/QueryBuilderFilterOperator_Contain.js';
85
+ import {
86
+ QueryBuilderFilterOperator_IsEmpty,
87
+ QueryBuilderFilterOperator_IsNotEmpty,
88
+ } from './filterOperators/QueryBuilderFilterOperator_IsEmpty.js';
89
+ import {
90
+ QueryBuilderFilterOperator_In,
91
+ QueryBuilderFilterOperator_NotIn,
92
+ } from './filterOperators/QueryBuilderFilterOperator_In.js';
93
+ import { buildLambdaFunction } from './QueryBuilderLambdaBuilder.js';
94
+ import {
95
+ LambdaParameterState,
96
+ type GenericLegendApplicationStore,
97
+ } from '@finos/legend-application';
98
+ import { QueryBuilderPostFilterState } from './QueryBuilderPostFilterState.js';
99
+ import {
100
+ QueryBuilderPostFilterOperator_Equal,
101
+ QueryBuilderPostFilterOperator_NotEqual,
102
+ } from './postFilterOperators/QueryBuilderPostFilterOperator_Equal.js';
103
+ import { QueryBuilderPostFilterOperator_LessThan } from './postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js';
104
+ import { QueryBuilderPostFilterOperator_LessThanEqual } from './postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js';
105
+ import { QueryBuilderPostFilterOperator_GreaterThan } from './postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js';
106
+ import { QueryBuilderPostFilterOperator_GreaterThanEqual } from './postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js';
107
+ import {
108
+ QueryBuilderPostFilterOperator_NotStartWith,
109
+ QueryBuilderPostFilterOperator_StartWith,
110
+ } from './postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js';
111
+ import {
112
+ QueryBuilderPostFilterOperator_Contain,
113
+ QueryBuilderPostFilterOperator_NotContain,
114
+ } from './postFilterOperators/QueryBuilderPostFilterOperator_Contain.js';
115
+ import {
116
+ QueryBuilderPostFilterOperator_EndWith,
117
+ QueryBuilderPostFilterOperator_NotEndWith,
118
+ } from './postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js';
119
+ import type { QueryBuilderPostFilterOperator } from './QueryBuilderPostFilterOperator.js';
120
+ import {
121
+ QueryBuilderPostFilterOperator_In,
122
+ QueryBuilderPostFilterOperator_NotIn,
123
+ } from './postFilterOperators/QueryBuilderPostFilterOperator_In.js';
124
+ import {
125
+ QueryBuilderPostFilterOperator_IsEmpty,
126
+ QueryBuilderPostFilterOperator_IsNotEmpty,
127
+ } from './postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js';
128
+ import { QueryFunctionsExplorerState } from './QueryFunctionsExplorerState.js';
129
+ import { QueryParametersState } from './QueryParametersState.js';
130
+
131
+ export abstract class QueryBuilderMode {
132
+ abstract get isParametersDisabled(): boolean;
133
+
134
+ abstract get isResultPanelHidden(): boolean;
135
+ }
136
+
137
+ export class StandardQueryBuilderMode extends QueryBuilderMode {
138
+ get isParametersDisabled(): boolean {
139
+ return false;
140
+ }
141
+
142
+ get isResultPanelHidden(): boolean {
143
+ return false;
144
+ }
145
+ }
146
+
147
+ class QueryBuilderChangeDetectionState {
148
+ querybuildState: QueryBuilderState;
149
+ queryHashCode = hashObject(new RawLambda(undefined, undefined));
150
+ isEnabled = false;
151
+
152
+ constructor(queryBuilderState: QueryBuilderState) {
153
+ this.querybuildState = queryBuilderState;
154
+ }
155
+
156
+ setQueryHashCode(val: string): void {
157
+ this.queryHashCode = val;
158
+ }
159
+
160
+ setIsEnabled(val: boolean): void {
161
+ this.isEnabled = val;
162
+ }
163
+ }
164
+
165
+ export class QueryBuilderState {
166
+ applicationStore: GenericLegendApplicationStore;
167
+ graphManagerState: GraphManagerState;
168
+
169
+ mode: QueryBuilderMode;
170
+ querySetupState: QueryBuilderSetupState;
171
+ explorerState: QueryBuilderExplorerState;
172
+ queryParametersState: QueryParametersState;
173
+ queryFunctionsExplorerState: QueryFunctionsExplorerState;
174
+ fetchStructureState: QueryBuilderFetchStructureState;
175
+ filterState: QueryBuilderFilterState;
176
+ postFilterState: QueryBuilderPostFilterState;
177
+ resultSetModifierState: QueryResultSetModifierState;
178
+ resultState: QueryBuilderResultState;
179
+ queryTextEditorState: QueryTextEditorState;
180
+ queryUnsupportedState: QueryBuilderUnsupportedState;
181
+ observableContext: ObserverContext;
182
+ filterOperators: QueryBuilderFilterOperator[] = [
183
+ new QueryBuilderFilterOperator_Equal(),
184
+ new QueryBuilderFilterOperator_NotEqual(),
185
+ new QueryBuilderFilterOperator_LessThan(),
186
+ new QueryBuilderFilterOperator_LessThanEqual(),
187
+ new QueryBuilderFilterOperator_GreaterThan(),
188
+ new QueryBuilderFilterOperator_GreaterThanEqual(),
189
+ new QueryBuilderFilterOperator_StartWith(),
190
+ new QueryBuilderFilterOperator_NotStartWith(),
191
+ new QueryBuilderFilterOperator_Contain(),
192
+ new QueryBuilderFilterOperator_NotContain(),
193
+ new QueryBuilderFilterOperator_EndWith(),
194
+ new QueryBuilderFilterOperator_NotEndWith(),
195
+ new QueryBuilderFilterOperator_In(),
196
+ new QueryBuilderFilterOperator_NotIn(),
197
+ new QueryBuilderFilterOperator_IsEmpty(),
198
+ new QueryBuilderFilterOperator_IsNotEmpty(),
199
+ ];
200
+ postFilterOperators: QueryBuilderPostFilterOperator[] = [
201
+ new QueryBuilderPostFilterOperator_Equal(),
202
+ new QueryBuilderPostFilterOperator_NotEqual(),
203
+ new QueryBuilderPostFilterOperator_LessThan(),
204
+ new QueryBuilderPostFilterOperator_LessThanEqual(),
205
+ new QueryBuilderPostFilterOperator_GreaterThan(),
206
+ new QueryBuilderPostFilterOperator_GreaterThanEqual(),
207
+ new QueryBuilderPostFilterOperator_StartWith(),
208
+ new QueryBuilderPostFilterOperator_NotStartWith(),
209
+ new QueryBuilderPostFilterOperator_Contain(),
210
+ new QueryBuilderPostFilterOperator_NotContain(),
211
+ new QueryBuilderPostFilterOperator_EndWith(),
212
+ new QueryBuilderPostFilterOperator_NotEndWith(),
213
+ new QueryBuilderPostFilterOperator_In(),
214
+ new QueryBuilderPostFilterOperator_NotIn(),
215
+ new QueryBuilderPostFilterOperator_IsEmpty(),
216
+ new QueryBuilderPostFilterOperator_IsNotEmpty(),
217
+ ];
218
+ isCompiling = false;
219
+ backdrop = false;
220
+ showFunctionPanel = false;
221
+ showParameterPanel = false;
222
+ showPostFilterPanel = false;
223
+ changeDetectionState: QueryBuilderChangeDetectionState;
224
+
225
+ constructor(
226
+ applicationStore: GenericLegendApplicationStore,
227
+ graphManagerState: GraphManagerState,
228
+ queryBuilderMode: QueryBuilderMode,
229
+ ) {
230
+ makeObservable(this, {
231
+ querySetupState: observable,
232
+ explorerState: observable,
233
+ queryParametersState: observable,
234
+ queryFunctionsExplorerState: observable,
235
+ fetchStructureState: observable,
236
+ filterState: observable,
237
+ postFilterState: observable,
238
+ resultSetModifierState: observable,
239
+ resultState: observable,
240
+ queryTextEditorState: observable,
241
+ queryUnsupportedState: observable,
242
+ isCompiling: observable,
243
+ backdrop: observable,
244
+ mode: observable,
245
+ showFunctionPanel: observable,
246
+ showParameterPanel: observable,
247
+ showPostFilterPanel: observable,
248
+ changeDetectionState: observable,
249
+ setMode: action,
250
+ resetQueryBuilder: action,
251
+ resetQuerySetup: action,
252
+ buildStateFromRawLambda: action,
253
+ saveQuery: action,
254
+ setBackdrop: action,
255
+ setShowFunctionPanel: action,
256
+ setShowParameterPanel: action,
257
+ setShowPostFilterPanel: action,
258
+ changeClass: action,
259
+ changeFetchStructure: action,
260
+ compileQuery: flow,
261
+ });
262
+
263
+ this.applicationStore = applicationStore;
264
+ this.graphManagerState = graphManagerState;
265
+
266
+ this.querySetupState = new QueryBuilderSetupState(this);
267
+ this.explorerState = new QueryBuilderExplorerState(this);
268
+ this.queryParametersState = new QueryParametersState(this);
269
+ this.queryFunctionsExplorerState = new QueryFunctionsExplorerState(this);
270
+ this.fetchStructureState = new QueryBuilderFetchStructureState(this);
271
+ this.filterState = new QueryBuilderFilterState(this, this.filterOperators);
272
+ this.postFilterState = new QueryBuilderPostFilterState(
273
+ this,
274
+ this.postFilterOperators,
275
+ );
276
+ this.resultSetModifierState = new QueryResultSetModifierState(this);
277
+ this.resultState = new QueryBuilderResultState(this);
278
+ this.queryTextEditorState = new QueryTextEditorState(this);
279
+ this.queryUnsupportedState = new QueryBuilderUnsupportedState(this);
280
+ this.mode = queryBuilderMode;
281
+ this.observableContext = new ObserverContext(
282
+ this.graphManagerState.pluginManager.getPureGraphManagerPlugins(),
283
+ );
284
+ this.changeDetectionState = new QueryBuilderChangeDetectionState(this);
285
+ }
286
+
287
+ setMode(val: QueryBuilderMode): void {
288
+ this.mode = val;
289
+ }
290
+
291
+ setBackdrop(val: boolean): void {
292
+ this.backdrop = val;
293
+ }
294
+
295
+ setShowFunctionPanel(val: boolean): void {
296
+ this.showFunctionPanel = val;
297
+ }
298
+
299
+ setShowParameterPanel(val: boolean): void {
300
+ this.showParameterPanel = val;
301
+ }
302
+
303
+ setShowPostFilterPanel(val: boolean): void {
304
+ this.showPostFilterPanel = val;
305
+ }
306
+
307
+ getQuery(options?: { keepSourceInformation: boolean }): RawLambda {
308
+ if (!this.isQuerySupported()) {
309
+ const parameters = this.queryParametersState.parameterStates.map((e) =>
310
+ this.graphManagerState.graphManager.serializeValueSpecification(
311
+ e.parameter,
312
+ ),
313
+ );
314
+ this.queryUnsupportedState.setRawLambda(
315
+ new RawLambda(parameters, this.queryUnsupportedState.rawLambda?.body),
316
+ );
317
+ return guaranteeNonNullable(this.queryUnsupportedState.rawLambda);
318
+ }
319
+ return buildRawLambdaFromLambdaFunction(
320
+ buildLambdaFunction(this, {
321
+ keepSourceInformation: Boolean(options?.keepSourceInformation),
322
+ }),
323
+ this.graphManagerState,
324
+ );
325
+ }
326
+
327
+ resetQueryBuilder(): void {
328
+ const resultState = new QueryBuilderResultState(this);
329
+ resultState.setPreviewLimit(this.resultState.previewLimit);
330
+ this.resultState = resultState;
331
+ this.queryTextEditorState = new QueryTextEditorState(this);
332
+ this.queryUnsupportedState = new QueryBuilderUnsupportedState(this);
333
+ this.setShowParameterPanel(false);
334
+ }
335
+
336
+ resetQuerySetup(): void {
337
+ this.explorerState = new QueryBuilderExplorerState(this);
338
+ this.explorerState.refreshTreeData();
339
+ this.queryParametersState = new QueryParametersState(this);
340
+ this.queryFunctionsExplorerState = new QueryFunctionsExplorerState(this);
341
+ const fetchStructureState = new QueryBuilderFetchStructureState(this);
342
+ fetchStructureState.setFetchStructureMode(
343
+ this.fetchStructureState.fetchStructureMode,
344
+ );
345
+ this.fetchStructureState = fetchStructureState;
346
+ this.filterState = new QueryBuilderFilterState(this, this.filterOperators);
347
+ this.postFilterState = new QueryBuilderPostFilterState(
348
+ this,
349
+ this.postFilterOperators,
350
+ );
351
+ this.resultSetModifierState = new QueryResultSetModifierState(this);
352
+ this.fetchStructureState.graphFetchTreeState.initialize();
353
+ }
354
+
355
+ initialize(rawLambda: RawLambda, options?: { notifyError: boolean }): void {
356
+ try {
357
+ this.buildStateFromRawLambda(rawLambda);
358
+ if (this.queryParametersState.parameterStates.length > 0) {
359
+ this.setShowParameterPanel(true);
360
+ }
361
+ } catch (error) {
362
+ assertErrorThrown(error);
363
+ this.changeClass(undefined, true);
364
+ const parameters = buildLambdaVariableExpressions(
365
+ rawLambda,
366
+ this.graphManagerState,
367
+ )
368
+ .map((param) =>
369
+ observe_ValueSpecification(param, this.observableContext),
370
+ )
371
+ .filter(filterByType(VariableExpression));
372
+ processQueryParameters(parameters, this);
373
+ if (options?.notifyError) {
374
+ this.applicationStore.notifyError(
375
+ `Can't initialize query builder: ${error.message}`,
376
+ );
377
+ }
378
+ this.queryUnsupportedState.setLambdaError(error);
379
+ this.queryUnsupportedState.setRawLambda(rawLambda);
380
+ }
381
+ }
382
+
383
+ /**
384
+ * Process the raw lambda, and build the query builder state.
385
+ *
386
+ * @throws error if there is an issue building the compiled lambda or rebuilding the state.
387
+ * consumers of function should handle the errors.
388
+ */
389
+ buildStateFromRawLambda(rawLambda: RawLambda): void {
390
+ this.resetQueryBuilder();
391
+ this.resetQuerySetup();
392
+ if (!isStubbed_RawLambda(rawLambda)) {
393
+ const valueSpec = observe_ValueSpecification(
394
+ this.graphManagerState.graphManager.buildValueSpecification(
395
+ this.graphManagerState.graphManager.serializeRawValueSpecification(
396
+ rawLambda,
397
+ ),
398
+ this.graphManagerState.graph,
399
+ ),
400
+ this.observableContext,
401
+ );
402
+ const compiledValueSpecification = guaranteeType(
403
+ valueSpec,
404
+ LambdaFunctionInstanceValue,
405
+ `Can't build query state: query builder only support lambda`,
406
+ );
407
+ const compiledLambda = guaranteeNonNullable(
408
+ compiledValueSpecification.values[0],
409
+ );
410
+ processQueryBuilderLambdaFunction(this, compiledLambda);
411
+ }
412
+ }
413
+
414
+ buildMilestoningParameter(parameterName: string): ValueSpecification {
415
+ const milestoningParameter = new VariableExpression(
416
+ parameterName,
417
+ this.graphManagerState.graph.getTypicalMultiplicity(
418
+ TYPICAL_MULTIPLICITY_TYPE.ONE,
419
+ ),
420
+ GenericTypeExplicitReference.create(
421
+ new GenericType(
422
+ this.queryParametersState.queryBuilderState.graphManagerState.graph.getPrimitiveType(
423
+ PRIMITIVE_TYPE.DATE,
424
+ ),
425
+ ),
426
+ ),
427
+ );
428
+ if (
429
+ !this.queryParametersState.parameterStates.find(
430
+ (p) => p.variableName === parameterName,
431
+ )
432
+ ) {
433
+ const variableState = new LambdaParameterState(
434
+ milestoningParameter,
435
+ this.querySetupState.queryBuilderState.observableContext,
436
+ );
437
+ variableState.mockParameterValue();
438
+ this.queryParametersState.addParameter(variableState);
439
+ }
440
+ return milestoningParameter;
441
+ }
442
+
443
+ async saveQuery(
444
+ onSaveQuery: (lambda: RawLambda) => Promise<void>,
445
+ ): Promise<void> {
446
+ try {
447
+ const rawLambda = this.getQuery();
448
+ await onSaveQuery(rawLambda);
449
+ } catch (error) {
450
+ assertErrorThrown(error);
451
+ this.applicationStore.notifyError(`Can't save query: ${error.message}`);
452
+ }
453
+ }
454
+
455
+ isQuerySupported(): boolean {
456
+ return !this.queryUnsupportedState.rawLambda;
457
+ }
458
+
459
+ clearCompilationError(): void {
460
+ this.fetchStructureState.projectionState.clearCompilationError();
461
+ }
462
+
463
+ *compileQuery(): GeneratorFn<void> {
464
+ if (!this.queryTextEditorState.mode) {
465
+ this.isCompiling = true;
466
+ this.clearCompilationError();
467
+ // form mode
468
+ try {
469
+ this.queryTextEditorState.setCompilationError(undefined);
470
+ // NOTE: retain the source information on the lambda in order to be able
471
+ // to pin-point compilation issue in form mode
472
+ (yield this.graphManagerState.graphManager.getLambdaReturnType(
473
+ this.getQuery({ keepSourceInformation: true }),
474
+ this.graphManagerState.graph,
475
+ { keepSourceInformation: true },
476
+ )) as string;
477
+ this.applicationStore.notifySuccess('Compiled successfully');
478
+ } catch (error) {
479
+ assertErrorThrown(error);
480
+ this.applicationStore.log.error(
481
+ LogEvent.create(GRAPH_MANAGER_EVENT.COMPILATION_FAILURE),
482
+ error,
483
+ );
484
+ let fallbackToTextModeForDebugging = true;
485
+ // if compilation failed, we try to reveal the error in form mode,
486
+ // if even this fail, we will fall back to show it in text mode
487
+ if (error instanceof CompilationError && error.sourceInformation) {
488
+ fallbackToTextModeForDebugging =
489
+ !this.fetchStructureState.projectionState.revealCompilationError(
490
+ error,
491
+ );
492
+ }
493
+
494
+ // decide if we need to fall back to text mode for debugging
495
+ if (fallbackToTextModeForDebugging) {
496
+ this.applicationStore.notifyWarning(
497
+ 'Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging.',
498
+ );
499
+ this.queryTextEditorState.openModal(QueryTextEditorMode.TEXT);
500
+ // TODO: trigger another compilation to pin-point the issue
501
+ // since we're using the lambda editor right now, we are a little bit limitted
502
+ // in terms of the timing to do compilation (since we're using an `useEffect` to
503
+ // convert the lambda to grammar text), we might as well wait for the refactor
504
+ // of query builder text-mode
505
+ // See https://github.com/finos/legend-studio/issues/319
506
+ } else {
507
+ this.applicationStore.notifyWarning(
508
+ `Compilation failed: ${error.message}`,
509
+ );
510
+ }
511
+ } finally {
512
+ this.isCompiling = false;
513
+ }
514
+ } else if (this.queryTextEditorState.mode === QueryTextEditorMode.TEXT) {
515
+ this.isCompiling = true;
516
+ try {
517
+ this.queryTextEditorState.setCompilationError(undefined);
518
+ (yield this.graphManagerState.graphManager.getLambdaReturnType(
519
+ this.queryTextEditorState.rawLambdaState.lambda,
520
+ this.graphManagerState.graph,
521
+ { keepSourceInformation: true },
522
+ )) as string;
523
+ this.applicationStore.notifySuccess('Compiled successfully');
524
+ } catch (error) {
525
+ assertErrorThrown(error);
526
+ if (error instanceof CompilationError) {
527
+ this.applicationStore.log.error(
528
+ LogEvent.create(GRAPH_MANAGER_EVENT.COMPILATION_FAILURE),
529
+ error,
530
+ );
531
+ this.applicationStore.notifyWarning(
532
+ `Compilation failed: ${error.message}`,
533
+ );
534
+ const errorElementCoordinates = extractSourceInformationCoordinates(
535
+ error.sourceInformation,
536
+ );
537
+ if (errorElementCoordinates) {
538
+ this.queryTextEditorState.setCompilationError(error);
539
+ }
540
+ }
541
+ } finally {
542
+ this.isCompiling = false;
543
+ }
544
+ }
545
+ }
546
+
547
+ changeClass(val: Class | undefined, isRebuildingState?: boolean): void {
548
+ this.resetQueryBuilder();
549
+ this.resetQuerySetup();
550
+ this.querySetupState.setClass(val, isRebuildingState);
551
+ this.explorerState.refreshTreeData();
552
+ }
553
+
554
+ changeFetchStructure(): void {
555
+ this.resultSetModifierState = new QueryResultSetModifierState(this);
556
+ const treeData = this.fetchStructureState.graphFetchTreeState.treeData;
557
+ if (!treeData) {
558
+ this.fetchStructureState.graphFetchTreeState.initialize();
559
+ }
560
+ }
561
+ }
@@ -0,0 +1,42 @@
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 { makeAutoObservable, action } from 'mobx';
18
+ import type { QueryBuilderState } from './QueryBuilderState.js';
19
+ import type { RawLambda } from '@finos/legend-graph';
20
+
21
+ export class QueryBuilderUnsupportedState {
22
+ queryBuilderState: QueryBuilderState;
23
+ rawLambda?: RawLambda | undefined;
24
+ lambdaError?: Error | undefined;
25
+
26
+ constructor(queryBuilderState: QueryBuilderState) {
27
+ makeAutoObservable(this, {
28
+ queryBuilderState: false,
29
+ setRawLambda: action,
30
+ setLambdaError: action,
31
+ });
32
+
33
+ this.queryBuilderState = queryBuilderState;
34
+ }
35
+
36
+ setRawLambda(rawLambda: RawLambda | undefined): void {
37
+ this.rawLambda = rawLambda;
38
+ }
39
+ setLambdaError(lambdaError: Error | undefined): void {
40
+ this.lambdaError = lambdaError;
41
+ }
42
+ }
@@ -0,0 +1,76 @@
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
+ type PureModel,
19
+ type ValueSpecification,
20
+ CORE_PURE_PATH,
21
+ FunctionType,
22
+ LambdaFunction,
23
+ LambdaFunctionInstanceValue,
24
+ PRIMITIVE_TYPE,
25
+ TYPICAL_MULTIPLICITY_TYPE,
26
+ VariableExpression,
27
+ DATE_FORMAT,
28
+ DATE_TIME_FORMAT,
29
+ } from '@finos/legend-graph';
30
+ import { UnsupportedOperationError } from '@finos/legend-shared';
31
+ import { format } from 'date-fns';
32
+
33
+ export const generateDefaultValueForPrimitiveType = (
34
+ type: PRIMITIVE_TYPE,
35
+ ): unknown => {
36
+ switch (type) {
37
+ case PRIMITIVE_TYPE.STRING:
38
+ return '';
39
+ case PRIMITIVE_TYPE.BOOLEAN:
40
+ return false;
41
+ case PRIMITIVE_TYPE.NUMBER:
42
+ case PRIMITIVE_TYPE.DECIMAL:
43
+ case PRIMITIVE_TYPE.FLOAT:
44
+ case PRIMITIVE_TYPE.INTEGER:
45
+ return 0;
46
+ case PRIMITIVE_TYPE.DATE:
47
+ case PRIMITIVE_TYPE.STRICTDATE:
48
+ return format(new Date(Date.now()), DATE_FORMAT);
49
+ case PRIMITIVE_TYPE.DATETIME:
50
+ return format(new Date(Date.now()), DATE_TIME_FORMAT);
51
+ default:
52
+ throw new UnsupportedOperationError(
53
+ `Can't generate default value for primitive type '${type}'`,
54
+ );
55
+ }
56
+ };
57
+
58
+ export const buildGenericLambdaFunctionInstanceValue = (
59
+ lambdaParameterName: string,
60
+ lambdaBodyExpressions: ValueSpecification[],
61
+ graph: PureModel,
62
+ ): LambdaFunctionInstanceValue => {
63
+ const multiplicityOne = graph.getTypicalMultiplicity(
64
+ TYPICAL_MULTIPLICITY_TYPE.ONE,
65
+ );
66
+ const typeAny = graph.getType(CORE_PURE_PATH.ANY);
67
+ const aggregateLambda = new LambdaFunctionInstanceValue(multiplicityOne);
68
+ const colLambdaFunctionType = new FunctionType(typeAny, multiplicityOne);
69
+ colLambdaFunctionType.parameters.push(
70
+ new VariableExpression(lambdaParameterName, multiplicityOne),
71
+ );
72
+ const colLambdaFunction = new LambdaFunction(colLambdaFunctionType);
73
+ colLambdaFunction.expressionSequence = lambdaBodyExpressions;
74
+ aggregateLambda.values.push(colLambdaFunction);
75
+ return aggregateLambda;
76
+ };