@finos/legend-query-builder 0.0.2 → 0.1.1

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 (392) hide show
  1. package/lib/components/QueryBuilder.d.ts +1 -0
  2. package/lib/components/QueryBuilder.d.ts.map +1 -1
  3. package/lib/components/QueryBuilder.js +14 -4
  4. package/lib/components/QueryBuilder.js.map +1 -1
  5. package/lib/components/QueryBuilderDiffPanel.d.ts +23 -0
  6. package/lib/components/QueryBuilderDiffPanel.d.ts.map +1 -0
  7. package/lib/components/QueryBuilderDiffPanel.js +103 -0
  8. package/lib/components/QueryBuilderDiffPanel.js.map +1 -0
  9. package/lib/components/QueryBuilderParametersPanel.d.ts +1 -0
  10. package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
  11. package/lib/components/QueryBuilderParametersPanel.js +2 -2
  12. package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
  13. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +1 -0
  14. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
  15. package/lib/components/QueryBuilderResultPanel.d.ts +1 -0
  16. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  17. package/lib/components/QueryBuilderResultPanel.js +9 -10
  18. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  19. package/lib/components/QueryBuilderSideBar.d.ts +1 -0
  20. package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
  21. package/lib/components/QueryBuilderSideBar.js +1 -1
  22. package/lib/components/QueryBuilderSideBar.js.map +1 -1
  23. package/lib/components/QueryBuilderTextEditor.d.ts +1 -0
  24. package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -1
  25. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +1 -0
  26. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -1
  27. package/lib/components/QueryBuilderUnsupportedQueryEditor.js +2 -2
  28. package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -1
  29. package/lib/components/QuerySetupUtils.d.ts +22 -0
  30. package/lib/components/QuerySetupUtils.d.ts.map +1 -0
  31. package/lib/components/QuerySetupUtils.js +20 -0
  32. package/lib/components/QuerySetupUtils.js.map +1 -0
  33. package/lib/components/ServiceQuerySetupUtils.d.ts +23 -0
  34. package/lib/components/ServiceQuerySetupUtils.d.ts.map +1 -0
  35. package/lib/components/ServiceQuerySetupUtils.js +25 -0
  36. package/lib/components/ServiceQuerySetupUtils.js.map +1 -0
  37. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
  38. package/lib/components/explorer/QueryBuilderExplorerPanel.js +4 -10
  39. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
  40. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts +1 -0
  41. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
  42. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +8 -6
  43. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
  44. package/lib/components/explorer/{QueryBuilderMilestoneEditor.d.ts → QueryBuilderMilestoningEditor.d.ts} +2 -1
  45. package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -0
  46. package/lib/components/explorer/{QueryBuilderMilestoneEditor.js → QueryBuilderMilestoningEditor.js} +9 -9
  47. package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -0
  48. package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts +1 -0
  49. package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
  50. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +69 -61
  51. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
  52. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts +1 -0
  53. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
  54. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +3 -3
  55. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
  56. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +1 -0
  57. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
  58. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts +1 -0
  59. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  60. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +3 -3
  61. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  62. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts +1 -0
  63. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts.map +1 -1
  64. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js +3 -5
  65. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js.map +1 -1
  66. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +1 -0
  67. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
  68. package/lib/components/filter/QueryBuilderFilterPanel.d.ts +1 -0
  69. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
  70. package/lib/components/filter/QueryBuilderFilterPanel.js +5 -9
  71. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  72. package/lib/components/shared/QueryBuilderLambdaEditor.d.ts +1 -0
  73. package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +1 -1
  74. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.d.ts.map +1 -1
  75. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js +7 -2
  76. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js.map +1 -1
  77. package/lib/graphManager/QueryBuilderHashUtils.d.ts +84 -0
  78. package/lib/graphManager/QueryBuilderHashUtils.d.ts.map +1 -0
  79. package/lib/graphManager/QueryBuilderHashUtils.js +91 -0
  80. package/lib/graphManager/QueryBuilderHashUtils.js.map +1 -0
  81. package/lib/index.css +17 -1
  82. package/lib/index.css.map +1 -1
  83. package/lib/index.d.ts +4 -0
  84. package/lib/index.d.ts.map +1 -1
  85. package/lib/index.js +4 -0
  86. package/lib/index.js.map +1 -1
  87. package/lib/package.json +11 -9
  88. package/lib/stores/QueryBuilderChangeDetectionState.d.ts +27 -5
  89. package/lib/stores/QueryBuilderChangeDetectionState.d.ts.map +1 -1
  90. package/lib/stores/QueryBuilderChangeDetectionState.js +106 -10
  91. package/lib/stores/QueryBuilderChangeDetectionState.js.map +1 -1
  92. package/lib/stores/QueryBuilderConfig.d.ts +1 -0
  93. package/lib/stores/QueryBuilderConfig.d.ts.map +1 -1
  94. package/lib/stores/QueryBuilderConfig.js +1 -0
  95. package/lib/stores/QueryBuilderConfig.js.map +1 -1
  96. package/lib/stores/QueryBuilderMilestoningState.d.ts +3 -1
  97. package/lib/stores/QueryBuilderMilestoningState.d.ts.map +1 -1
  98. package/lib/stores/QueryBuilderMilestoningState.js +10 -0
  99. package/lib/stores/QueryBuilderMilestoningState.js.map +1 -1
  100. package/lib/stores/QueryBuilderParametersState.d.ts +4 -2
  101. package/lib/stores/QueryBuilderParametersState.d.ts.map +1 -1
  102. package/lib/stores/QueryBuilderParametersState.js +11 -2
  103. package/lib/stores/QueryBuilderParametersState.js.map +1 -1
  104. package/lib/stores/QueryBuilderPropertyEditorState.d.ts +5 -3
  105. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
  106. package/lib/stores/QueryBuilderPropertyEditorState.js +15 -5
  107. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
  108. package/lib/stores/QueryBuilderResultState.d.ts +5 -3
  109. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  110. package/lib/stores/QueryBuilderResultState.js +26 -6
  111. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  112. package/lib/stores/QueryBuilderState.d.ts +3 -5
  113. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  114. package/lib/stores/QueryBuilderState.js +32 -22
  115. package/lib/stores/QueryBuilderState.js.map +1 -1
  116. package/lib/stores/QueryBuilderStateTestUtils.js +1 -1
  117. package/lib/stores/QueryBuilderStateTestUtils.js.map +1 -1
  118. package/lib/stores/QueryBuilderTextEditorState.js +1 -1
  119. package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
  120. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -1
  121. package/lib/stores/QueryBuilderTypeaheadHelper.js +3 -4
  122. package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
  123. package/lib/stores/QueryBuilderUnsupportedQueryState.d.ts +4 -2
  124. package/lib/stores/QueryBuilderUnsupportedQueryState.d.ts.map +1 -1
  125. package/lib/stores/QueryBuilderUnsupportedQueryState.js +10 -1
  126. package/lib/stores/QueryBuilderUnsupportedQueryState.js.map +1 -1
  127. package/lib/stores/ServiceInfo.d.ts +28 -0
  128. package/lib/stores/ServiceInfo.d.ts.map +1 -0
  129. package/lib/stores/ServiceInfo.js +34 -0
  130. package/lib/stores/ServiceInfo.js.map +1 -0
  131. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts +6 -6
  132. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
  133. package/lib/stores/explorer/QueryBuilderExplorerState.js +19 -14
  134. package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
  135. package/lib/stores/explorer/QueryBuilderPropertySearchState.d.ts +36 -17
  136. package/lib/stores/explorer/QueryBuilderPropertySearchState.d.ts.map +1 -1
  137. package/lib/stores/explorer/QueryBuilderPropertySearchState.js +203 -161
  138. package/lib/stores/explorer/QueryBuilderPropertySearchState.js.map +1 -1
  139. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +5 -3
  140. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
  141. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +1 -0
  142. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
  143. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts +1 -1
  144. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -1
  145. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +3 -3
  146. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
  147. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +3 -1
  148. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
  149. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +9 -1
  150. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
  151. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts +7 -5
  152. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -1
  153. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +20 -5
  154. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
  155. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts +7 -4
  156. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
  157. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +20 -5
  158. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
  159. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts +6 -5
  160. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts.map +1 -1
  161. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +14 -9
  162. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
  163. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts +6 -3
  164. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts.map +1 -1
  165. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js +28 -5
  166. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js.map +1 -1
  167. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts +4 -1
  168. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts.map +1 -1
  169. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js +7 -1
  170. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js.map +1 -1
  171. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts +8 -5
  172. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts.map +1 -1
  173. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js +24 -7
  174. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js.map +1 -1
  175. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts +3 -1
  176. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -1
  177. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js +5 -0
  178. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -1
  179. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts +3 -1
  180. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -1
  181. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js +5 -0
  182. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -1
  183. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts +3 -1
  184. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -1
  185. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js +7 -0
  186. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -1
  187. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts +3 -1
  188. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -1
  189. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +7 -1
  190. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
  191. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts +3 -1
  192. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -1
  193. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js +7 -1
  194. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -1
  195. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts +3 -1
  196. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -1
  197. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js +5 -0
  198. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -1
  199. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts +3 -1
  200. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -1
  201. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js +5 -0
  202. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -1
  203. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts +3 -1
  204. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -1
  205. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js +7 -0
  206. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -1
  207. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +3 -1
  208. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -1
  209. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js +7 -0
  210. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -1
  211. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts +3 -1
  212. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -1
  213. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js +5 -0
  214. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -1
  215. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts +3 -1
  216. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts.map +1 -1
  217. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.js.map +1 -1
  218. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts +14 -8
  219. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -1
  220. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js +54 -4
  221. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js.map +1 -1
  222. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts +4 -1
  223. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
  224. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +12 -1
  225. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
  226. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts +4 -1
  227. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
  228. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +12 -1
  229. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
  230. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts +4 -1
  231. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
  232. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +10 -1
  233. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
  234. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts +3 -1
  235. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
  236. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +7 -1
  237. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
  238. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +1 -0
  239. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  240. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +7 -0
  241. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -1
  242. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts +4 -1
  243. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -1
  244. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js +10 -1
  245. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
  246. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts +4 -1
  247. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -1
  248. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +12 -0
  249. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
  250. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts +3 -1
  251. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
  252. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +7 -1
  253. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
  254. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +3 -1
  255. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -1
  256. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +7 -0
  257. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -1
  258. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts +5 -2
  259. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
  260. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +12 -1
  261. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
  262. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts +3 -1
  263. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts.map +1 -1
  264. package/lib/stores/filter/QueryBuilderFilterOperator.js.map +1 -1
  265. package/lib/stores/filter/QueryBuilderFilterState.d.ts +14 -8
  266. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  267. package/lib/stores/filter/QueryBuilderFilterState.js +54 -9
  268. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  269. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts +4 -1
  270. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
  271. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +10 -1
  272. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
  273. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts +4 -1
  274. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
  275. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +10 -1
  276. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
  277. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts +4 -1
  278. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  279. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +8 -1
  280. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  281. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts +3 -1
  282. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  283. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +7 -1
  284. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  285. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +3 -1
  286. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  287. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +7 -1
  288. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  289. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts +4 -1
  290. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts.map +1 -1
  291. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +8 -0
  292. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
  293. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts +4 -1
  294. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -1
  295. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +10 -0
  296. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
  297. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts +3 -1
  298. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  299. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +5 -1
  300. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  301. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts +3 -1
  302. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  303. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +7 -1
  304. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  305. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts +4 -1
  306. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
  307. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +10 -1
  308. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
  309. package/lib/stores/workflows/ServiceQueryBuilderState.d.ts.map +1 -1
  310. package/lib/stores/workflows/ServiceQueryBuilderState.js +15 -7
  311. package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
  312. package/package.json +17 -15
  313. package/src/components/QueryBuilder.tsx +41 -1
  314. package/src/components/QueryBuilderDiffPanel.tsx +222 -0
  315. package/src/components/QueryBuilderParametersPanel.tsx +2 -2
  316. package/src/components/QueryBuilderResultPanel.tsx +34 -20
  317. package/src/components/QueryBuilderSideBar.tsx +1 -1
  318. package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +8 -9
  319. package/src/components/QuerySetupUtils.ts +23 -0
  320. package/src/components/ServiceQuerySetupUtils.tsx +54 -0
  321. package/src/components/explorer/QueryBuilderExplorerPanel.tsx +5 -12
  322. package/src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx +24 -14
  323. package/src/components/explorer/{QueryBuilderMilestoneEditor.tsx → QueryBuilderMilestoningEditor.tsx} +12 -8
  324. package/src/components/explorer/QueryBuilderPropertySearchPanel.tsx +156 -145
  325. package/src/components/fetch-structure/QueryBuilderFetchStructurePanel.tsx +10 -5
  326. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +5 -4
  327. package/src/components/fetch-structure/QueryBuilderProjectionPanel.tsx +4 -7
  328. package/src/components/filter/QueryBuilderFilterPanel.tsx +6 -15
  329. package/src/components/shared/QueryBuilderPropertyInfoTooltip.tsx +22 -0
  330. package/src/graphManager/QueryBuilderHashUtils.ts +95 -0
  331. package/src/index.ts +4 -0
  332. package/src/stores/QueryBuilderChangeDetectionState.ts +143 -10
  333. package/src/stores/QueryBuilderConfig.ts +2 -0
  334. package/src/stores/QueryBuilderMilestoningState.ts +12 -1
  335. package/src/stores/QueryBuilderParametersState.ts +18 -3
  336. package/src/stores/QueryBuilderPropertyEditorState.ts +19 -7
  337. package/src/stores/QueryBuilderResultState.ts +30 -8
  338. package/src/stores/QueryBuilderState.ts +50 -37
  339. package/src/stores/QueryBuilderStateTestUtils.ts +1 -1
  340. package/src/stores/QueryBuilderTextEditorState.ts +1 -1
  341. package/src/stores/QueryBuilderTypeaheadHelper.ts +6 -5
  342. package/src/stores/QueryBuilderUnsupportedQueryState.ts +13 -3
  343. package/src/stores/ServiceInfo.ts +52 -0
  344. package/src/stores/explorer/QueryBuilderExplorerState.ts +26 -30
  345. package/src/stores/explorer/QueryBuilderPropertySearchState.ts +259 -193
  346. package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +8 -3
  347. package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +4 -4
  348. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +18 -2
  349. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +31 -6
  350. package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +34 -9
  351. package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +23 -16
  352. package/src/stores/fetch-structure/projection/QueryResultSetModifierState.ts +38 -8
  353. package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.ts +15 -2
  354. package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.ts +37 -12
  355. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.ts +10 -1
  356. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.ts +10 -1
  357. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.ts +12 -1
  358. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +17 -2
  359. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.ts +17 -2
  360. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.ts +10 -1
  361. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.ts +10 -1
  362. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.ts +12 -1
  363. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.ts +12 -1
  364. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.ts +10 -1
  365. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.ts +4 -2
  366. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.ts +78 -10
  367. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +19 -1
  368. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +22 -2
  369. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +17 -1
  370. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +13 -1
  371. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +8 -0
  372. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +20 -2
  373. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +18 -1
  374. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +13 -1
  375. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +12 -1
  376. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +26 -3
  377. package/src/stores/filter/QueryBuilderFilterOperator.ts +4 -2
  378. package/src/stores/filter/QueryBuilderFilterState.ts +80 -22
  379. package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +20 -2
  380. package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +20 -2
  381. package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +18 -2
  382. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +16 -2
  383. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +16 -2
  384. package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +14 -1
  385. package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +16 -1
  386. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +14 -2
  387. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +16 -2
  388. package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +20 -2
  389. package/src/stores/workflows/ServiceQueryBuilderState.ts +24 -9
  390. package/tsconfig.json +8 -2
  391. package/lib/components/explorer/QueryBuilderMilestoneEditor.d.ts.map +0 -1
  392. package/lib/components/explorer/QueryBuilderMilestoneEditor.js.map +0 -1
@@ -14,7 +14,13 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { assertType, addUniqueEntry, deleteEntry } from '@finos/legend-shared';
17
+ import {
18
+ assertType,
19
+ addUniqueEntry,
20
+ deleteEntry,
21
+ hashArray,
22
+ type Hashable,
23
+ } from '@finos/legend-shared';
18
24
  import type { TreeNodeData, TreeData } from '@finos/legend-art';
19
25
  import {
20
26
  type AbstractProperty,
@@ -37,15 +43,19 @@ import {
37
43
  graphFetchTree_addSubTree,
38
44
  graphFetchTree_removeSubTree,
39
45
  } from '@finos/legend-application';
46
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
47
+ import { computed, makeObservable } from 'mobx';
40
48
 
41
- export class QueryBuilderGraphFetchTreeNodeData implements TreeNodeData {
49
+ export class QueryBuilderGraphFetchTreeNodeData
50
+ implements TreeNodeData, Hashable
51
+ {
52
+ readonly id: string;
53
+ readonly label: string;
54
+ readonly tree: PropertyGraphFetchTree;
55
+ readonly parentId?: string | undefined;
42
56
  isSelected?: boolean | undefined;
43
57
  isOpen?: boolean | undefined;
44
- id: string;
45
- label: string;
46
58
  childrenIds: string[] = [];
47
- parentId?: string | undefined;
48
- tree: PropertyGraphFetchTree;
49
59
 
50
60
  constructor(
51
61
  id: string,
@@ -53,6 +63,10 @@ export class QueryBuilderGraphFetchTreeNodeData implements TreeNodeData {
53
63
  parentId: string | undefined,
54
64
  graphFetchTreeNode: PropertyGraphFetchTree,
55
65
  ) {
66
+ makeObservable(this, {
67
+ hashCode: computed,
68
+ });
69
+
56
70
  this.id = id;
57
71
  this.label = label;
58
72
  this.parentId = parentId;
@@ -64,6 +78,17 @@ export class QueryBuilderGraphFetchTreeNodeData implements TreeNodeData {
64
78
  get type(): Type {
65
79
  return this.tree.property.value.genericType.value.rawType;
66
80
  }
81
+
82
+ get hashCode(): string {
83
+ return hashArray([
84
+ QUERY_BUILDER_HASH_STRUCTURE.GRAPH_FETCH_TREE_NODE_DATA,
85
+ this.id,
86
+ this.label,
87
+ this.tree,
88
+ this.parentId ?? '',
89
+ hashArray(this.childrenIds),
90
+ ]);
91
+ }
67
92
  }
68
93
 
69
94
  export interface QueryBuilderGraphFetchTreeData
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { action, makeObservable, observable, flow } from 'mobx';
17
+ import { action, makeObservable, observable, flow, computed } from 'mobx';
18
18
  import {
19
19
  type GeneratorFn,
20
20
  LogEvent,
@@ -23,6 +23,8 @@ import {
23
23
  guaranteeNonNullable,
24
24
  assertTrue,
25
25
  assertNonEmptyString,
26
+ type Hashable,
27
+ hashArray,
26
28
  } from '@finos/legend-shared';
27
29
  import {
28
30
  type QueryBuilderExplorerTreePropertyNodeData,
@@ -54,6 +56,7 @@ import {
54
56
  } from '../../QueryBuilderConfig.js';
55
57
  import { LambdaEditorState } from '@finos/legend-application';
56
58
  import type { QueryBuilderProjectionState } from './QueryBuilderProjectionState.js';
59
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
57
60
 
58
61
  export const QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE = 'PROJECTION_COLUMN';
59
62
 
@@ -61,7 +64,7 @@ export interface QueryBuilderProjectionColumnDragSource {
61
64
  columnState: QueryBuilderProjectionColumnState;
62
65
  }
63
66
 
64
- export abstract class QueryBuilderProjectionColumnState {
67
+ export abstract class QueryBuilderProjectionColumnState implements Hashable {
65
68
  readonly uuid = uuid();
66
69
  projectionState: QueryBuilderProjectionState;
67
70
  columnName: string;
@@ -75,6 +78,7 @@ export abstract class QueryBuilderProjectionColumnState {
75
78
  projectionState: false,
76
79
  columnName: observable,
77
80
  setColumnName: action,
81
+ hashCode: computed,
78
82
  });
79
83
 
80
84
  this.projectionState = projectionState;
@@ -86,9 +90,14 @@ export abstract class QueryBuilderProjectionColumnState {
86
90
  }
87
91
 
88
92
  abstract getReturnType(): Type | undefined;
93
+
94
+ abstract get hashCode(): string;
89
95
  }
90
96
 
91
- export class QueryBuilderSimpleProjectionColumnState extends QueryBuilderProjectionColumnState {
97
+ export class QueryBuilderSimpleProjectionColumnState
98
+ extends QueryBuilderProjectionColumnState
99
+ implements Hashable
100
+ {
92
101
  lambdaParameterName: string = DEFAULT_LAMBDA_VARIABLE_NAME;
93
102
  propertyExpressionState: QueryBuilderPropertyExpressionState;
94
103
 
@@ -127,12 +136,8 @@ export class QueryBuilderSimpleProjectionColumnState extends QueryBuilderProject
127
136
  this.propertyExpressionState = new QueryBuilderPropertyExpressionState(
128
137
  this.projectionState.queryBuilderState,
129
138
  buildPropertyExpressionFromExplorerTreeNodeData(
130
- this.projectionState.queryBuilderState.explorerState
131
- .nonNullableTreeData,
132
139
  node,
133
- this.projectionState.queryBuilderState.graphManagerState.graph,
134
- this.projectionState.queryBuilderState.explorerState.propertySearchState
135
- .allMappedPropertyNodes,
140
+ this.projectionState.queryBuilderState.explorerState,
136
141
  ),
137
142
  );
138
143
  this.columnName = getPropertyChainName(
@@ -145,6 +150,14 @@ export class QueryBuilderSimpleProjectionColumnState extends QueryBuilderProject
145
150
  return this.propertyExpressionState.propertyExpression.func.genericType
146
151
  .value.rawType;
147
152
  }
153
+
154
+ get hashCode(): string {
155
+ return hashArray([
156
+ QUERY_BUILDER_HASH_STRUCTURE.SIMPLE_PROJECTION_COLUMN_STATE,
157
+ this.propertyExpressionState,
158
+ this.columnName,
159
+ ]);
160
+ }
148
161
  }
149
162
 
150
163
  class QueryBuilderDerivationProjectionLambdaState extends LambdaEditorState {
@@ -243,7 +256,10 @@ class QueryBuilderDerivationProjectionLambdaState extends LambdaEditorState {
243
256
  }
244
257
  }
245
258
 
246
- export class QueryBuilderDerivationProjectionColumnState extends QueryBuilderProjectionColumnState {
259
+ export class QueryBuilderDerivationProjectionColumnState
260
+ extends QueryBuilderProjectionColumnState
261
+ implements Hashable
262
+ {
247
263
  derivationLambdaEditorState: QueryBuilderDerivationProjectionLambdaState;
248
264
  lambda: RawLambda;
249
265
  returnType: Type | undefined;
@@ -324,4 +340,13 @@ export class QueryBuilderDerivationProjectionColumnState extends QueryBuilderPro
324
340
  override getReturnType(): Type | undefined {
325
341
  return this.returnType;
326
342
  }
343
+
344
+ get hashCode(): string {
345
+ return hashArray([
346
+ QUERY_BUILDER_HASH_STRUCTURE.DERIVATION_PROJECTION_COLUMN_STATE,
347
+ this.returnType ?? '',
348
+ this.lambda,
349
+ this.columnName,
350
+ ]);
351
+ }
327
352
  }
@@ -33,6 +33,8 @@ import {
33
33
  guaranteeNonNullable,
34
34
  findLast,
35
35
  filterByType,
36
+ type Hashable,
37
+ hashArray,
36
38
  } from '@finos/legend-shared';
37
39
  import type { QueryBuilderState } from '../../QueryBuilderState.js';
38
40
  import {
@@ -85,12 +87,16 @@ import {
85
87
  import type { LambdaFunctionBuilderOption } from '../../QueryBuilderValueSpecificationBuilderHelper.js';
86
88
  import { appendProjection } from './QueryBuilderProjectionValueSpecificationBuilder.js';
87
89
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graphManager/QueryBuilderSupportedFunctions.js';
88
-
89
- export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImplementationState {
90
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
91
+
92
+ export class QueryBuilderProjectionState
93
+ extends QueryBuilderFetchStructureImplementationState
94
+ implements Hashable
95
+ {
96
+ readonly aggregationState: QueryBuilderAggregationState;
97
+ readonly postFilterState: QueryBuilderPostFilterState;
98
+ readonly resultSetModifierState: QueryResultSetModifierState;
90
99
  columns: QueryBuilderProjectionColumnState[] = [];
91
- aggregationState: QueryBuilderAggregationState;
92
- postFilterState: QueryBuilderPostFilterState;
93
- resultSetModifierState: QueryResultSetModifierState;
94
100
  isConvertDerivationProjectionObjects = false;
95
101
  showPostFilterPanel = false;
96
102
 
@@ -107,9 +113,6 @@ export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImple
107
113
 
108
114
  makeObservable(this, {
109
115
  columns: observable,
110
- aggregationState: observable,
111
- postFilterState: observable,
112
- resultSetModifierState: observable,
113
116
  isConvertDerivationProjectionObjects: observable,
114
117
  showPostFilterPanel: observable,
115
118
  derivations: computed,
@@ -504,11 +507,8 @@ export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImple
504
507
  new QueryBuilderSimpleProjectionColumnState(
505
508
  this,
506
509
  buildPropertyExpressionFromExplorerTreeNodeData(
507
- this.queryBuilderState.explorerState.nonNullableTreeData,
508
510
  node,
509
- this.queryBuilderState.graphManagerState.graph,
510
- this.queryBuilderState.explorerState.propertySearchState
511
- .allMappedPropertyNodes,
511
+ this.queryBuilderState.explorerState,
512
512
  ),
513
513
  this.queryBuilderState.explorerState.humanizePropertyName,
514
514
  ),
@@ -521,11 +521,8 @@ export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImple
521
521
  new QueryBuilderSimpleProjectionColumnState(
522
522
  this,
523
523
  buildPropertyExpressionFromExplorerTreeNodeData(
524
- this.queryBuilderState.explorerState.nonNullableTreeData,
525
524
  nodeToAdd,
526
- this.queryBuilderState.graphManagerState.graph,
527
- this.queryBuilderState.explorerState.propertySearchState
528
- .allMappedPropertyNodes,
525
+ this.queryBuilderState.explorerState,
529
526
  ),
530
527
  this.queryBuilderState.explorerState.humanizePropertyName,
531
528
  ),
@@ -566,4 +563,14 @@ export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImple
566
563
  onChange();
567
564
  }
568
565
  }
566
+
567
+ get hashCode(): string {
568
+ return hashArray([
569
+ QUERY_BUILDER_HASH_STRUCTURE.PROJECTION_STATE,
570
+ hashArray(this.columns),
571
+ this.aggregationState,
572
+ this.postFilterState,
573
+ this.resultSetModifierState,
574
+ ]);
575
+ }
569
576
  }
@@ -14,24 +14,33 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { action, makeAutoObservable } from 'mobx';
17
+ import { action, computed, makeObservable, observable } from 'mobx';
18
18
  import type { QueryBuilderProjectionState } from './QueryBuilderProjectionState.js';
19
19
  import type { QueryBuilderProjectionColumnState } from './QueryBuilderProjectionColumnState.js';
20
- import { addUniqueEntry, deleteEntry } from '@finos/legend-shared';
20
+ import {
21
+ addUniqueEntry,
22
+ deleteEntry,
23
+ type Hashable,
24
+ hashArray,
25
+ } from '@finos/legend-shared';
26
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
21
27
 
22
28
  export enum COLUMN_SORT_TYPE {
23
29
  ASC,
24
30
  DESC,
25
31
  }
26
32
 
27
- export class SortColumnState {
33
+ export class SortColumnState implements Hashable {
28
34
  columnState: QueryBuilderProjectionColumnState;
29
35
  sortType = COLUMN_SORT_TYPE.ASC;
30
36
 
31
37
  constructor(columnState: QueryBuilderProjectionColumnState) {
32
- makeAutoObservable(this, {
38
+ makeObservable(this, {
39
+ columnState: observable,
40
+ sortType: observable,
33
41
  setColumnState: action,
34
42
  setSortType: action,
43
+ hashCode: computed,
35
44
  });
36
45
 
37
46
  this.columnState = columnState;
@@ -44,24 +53,36 @@ export class SortColumnState {
44
53
  setSortType(val: COLUMN_SORT_TYPE): void {
45
54
  this.sortType = val;
46
55
  }
56
+
57
+ get hashCode(): string {
58
+ return hashArray([
59
+ QUERY_BUILDER_HASH_STRUCTURE.SORT_COLUMN_STATE,
60
+ this.sortType.toString(),
61
+ this.columnState,
62
+ ]);
63
+ }
47
64
  }
48
65
 
49
- export class QueryResultSetModifierState {
50
- projectionState: QueryBuilderProjectionState;
66
+ export class QueryResultSetModifierState implements Hashable {
67
+ readonly projectionState: QueryBuilderProjectionState;
51
68
  showModal = false;
52
69
  limit?: number | undefined;
53
70
  distinct = false;
54
71
  sortColumns: SortColumnState[] = [];
55
72
 
56
73
  constructor(projectionState: QueryBuilderProjectionState) {
57
- makeAutoObservable(this, {
58
- projectionState: false,
74
+ makeObservable(this, {
75
+ showModal: observable,
76
+ limit: observable,
77
+ distinct: observable,
78
+ sortColumns: observable,
59
79
  setShowModal: action,
60
80
  setLimit: action,
61
81
  toggleDistinct: action,
62
82
  deleteSortColumn: action,
63
83
  addSortColumn: action,
64
84
  updateSortColumns: action,
85
+ hashCode: computed,
65
86
  });
66
87
 
67
88
  this.projectionState = projectionState;
@@ -92,4 +113,13 @@ export class QueryResultSetModifierState {
92
113
  this.projectionState.columns.includes(e.columnState),
93
114
  );
94
115
  }
116
+
117
+ get hashCode(): string {
118
+ return hashArray([
119
+ QUERY_BUILDER_HASH_STRUCTURE.RESULT_SET_MODIFIER_STATE,
120
+ hashArray(this.sortColumns),
121
+ this.limit?.toString() ?? '',
122
+ this.distinct.toString(),
123
+ ]);
124
+ }
95
125
  }
@@ -14,7 +14,11 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { uuid, guaranteeNonNullable } from '@finos/legend-shared';
17
+ import {
18
+ uuid,
19
+ guaranteeNonNullable,
20
+ type Hashable,
21
+ } from '@finos/legend-shared';
18
22
  import type {
19
23
  AbstractPropertyExpression,
20
24
  PureModel,
@@ -28,10 +32,17 @@ import {
28
32
  QueryBuilderSimpleProjectionColumnState,
29
33
  } from '../QueryBuilderProjectionColumnState.js';
30
34
  import type { QueryBuilderAggregateColumnState } from './QueryBuilderAggregationState.js';
35
+ import { computed, makeObservable } from 'mobx';
31
36
 
32
- export abstract class QueryBuilderAggregateOperator {
37
+ export abstract class QueryBuilderAggregateOperator implements Hashable {
33
38
  readonly uuid = uuid();
34
39
 
40
+ constructor() {
41
+ makeObservable(this, {
42
+ hashCode: computed,
43
+ });
44
+ }
45
+
35
46
  abstract getLabel(
36
47
  projectionColumnState: QueryBuilderProjectionColumnState,
37
48
  ): string;
@@ -76,4 +87,6 @@ export abstract class QueryBuilderAggregateOperator {
76
87
  aggregateColumnState.projectionColumnState.getReturnType(),
77
88
  );
78
89
  }
90
+
91
+ abstract get hashCode(): string;
79
92
  }
@@ -14,17 +14,24 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { action, makeAutoObservable } from 'mobx';
18
- import { uuid, deleteEntry, addUniqueEntry } from '@finos/legend-shared';
17
+ import { action, computed, makeObservable, observable } from 'mobx';
18
+ import {
19
+ uuid,
20
+ deleteEntry,
21
+ addUniqueEntry,
22
+ type Hashable,
23
+ hashArray,
24
+ } from '@finos/legend-shared';
19
25
  import type { Type } from '@finos/legend-graph';
20
26
  import { DEFAULT_LAMBDA_VARIABLE_NAME } from '../../../QueryBuilderConfig.js';
21
27
  import type { QueryBuilderProjectionState } from '../QueryBuilderProjectionState.js';
22
28
  import type { QueryBuilderAggregateOperator } from './QueryBuilderAggregateOperator.js';
23
29
  import type { QueryBuilderProjectionColumnState } from '../QueryBuilderProjectionColumnState.js';
30
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../graphManager/QueryBuilderHashUtils.js';
24
31
 
25
- export class QueryBuilderAggregateColumnState {
32
+ export class QueryBuilderAggregateColumnState implements Hashable {
26
33
  readonly uuid = uuid();
27
- aggregationState: QueryBuilderAggregationState;
34
+ readonly aggregationState: QueryBuilderAggregationState;
28
35
  projectionColumnState: QueryBuilderProjectionColumnState;
29
36
  lambdaParameterName: string = DEFAULT_LAMBDA_VARIABLE_NAME;
30
37
  operator: QueryBuilderAggregateOperator;
@@ -34,12 +41,14 @@ export class QueryBuilderAggregateColumnState {
34
41
  projectionColumnState: QueryBuilderProjectionColumnState,
35
42
  operator: QueryBuilderAggregateOperator,
36
43
  ) {
37
- makeAutoObservable(this, {
38
- uuid: false,
39
- aggregationState: false,
44
+ makeObservable(this, {
45
+ projectionColumnState: observable,
46
+ lambdaParameterName: observable,
47
+ operator: observable,
40
48
  setColumnState: action,
41
49
  setLambdaParameterName: action,
42
50
  setOperator: action,
51
+ hashCode: computed,
43
52
  });
44
53
 
45
54
  this.aggregationState = aggregationState;
@@ -66,21 +75,30 @@ export class QueryBuilderAggregateColumnState {
66
75
  getReturnType(): Type {
67
76
  return this.operator.getReturnType(this);
68
77
  }
78
+
79
+ get hashCode(): string {
80
+ return hashArray([
81
+ QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_COLUMN_STATE,
82
+ this.operator,
83
+ ]);
84
+ }
69
85
  }
70
86
 
71
- export class QueryBuilderAggregationState {
72
- projectionState: QueryBuilderProjectionState;
73
- operators: QueryBuilderAggregateOperator[] = [];
87
+ export class QueryBuilderAggregationState implements Hashable {
88
+ readonly projectionState: QueryBuilderProjectionState;
89
+ readonly operators: QueryBuilderAggregateOperator[] = [];
74
90
  columns: QueryBuilderAggregateColumnState[] = [];
75
91
 
76
92
  constructor(
77
93
  projectionState: QueryBuilderProjectionState,
78
94
  operators: QueryBuilderAggregateOperator[],
79
95
  ) {
80
- makeAutoObservable(this, {
81
- projectionState: false,
96
+ makeObservable(this, {
97
+ columns: observable,
82
98
  removeColumn: action,
83
99
  addColumn: action,
100
+ changeColumnAggregateOperator: action,
101
+ hashCode: computed,
84
102
  });
85
103
 
86
104
  this.projectionState = projectionState;
@@ -142,4 +160,11 @@ export class QueryBuilderAggregationState {
142
160
  }
143
161
  }
144
162
  }
163
+
164
+ get hashCode(): string {
165
+ return hashArray([
166
+ QUERY_BUILDER_HASH_STRUCTURE.AGGREGATION_STATE,
167
+ hashArray(this.columns),
168
+ ]);
169
+ }
145
170
  }
@@ -34,8 +34,13 @@ import {
34
34
  buildAggregateExpression,
35
35
  } from './QueryBuilderAggregateOperatorHelper.js';
36
36
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
37
+ import { type Hashable, hashArray } from '@finos/legend-shared';
38
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
37
39
 
38
- export class QueryBuilderAggregateOperator_Average extends QueryBuilderAggregateOperator {
40
+ export class QueryBuilderAggregateOperator_Average
41
+ extends QueryBuilderAggregateOperator
42
+ implements Hashable
43
+ {
39
44
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
40
45
  return 'average';
41
46
  }
@@ -95,4 +100,8 @@ export class QueryBuilderAggregateOperator_Average extends QueryBuilderAggregate
95
100
  .graphManagerState.graph;
96
101
  return graph.getType(PRIMITIVE_TYPE.FLOAT);
97
102
  }
103
+
104
+ get hashCode(): string {
105
+ return hashArray([QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_AVERAGE]);
106
+ }
98
107
  }
@@ -35,8 +35,13 @@ import {
35
35
  buildAggregateExpression,
36
36
  } from './QueryBuilderAggregateOperatorHelper.js';
37
37
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
38
+ import { type Hashable, hashArray } from '@finos/legend-shared';
39
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
38
40
 
39
- export class QueryBuilderAggregateOperator_Count extends QueryBuilderAggregateOperator {
41
+ export class QueryBuilderAggregateOperator_Count
42
+ extends QueryBuilderAggregateOperator
43
+ implements Hashable
44
+ {
40
45
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
41
46
  return 'count';
42
47
  }
@@ -103,4 +108,8 @@ export class QueryBuilderAggregateOperator_Count extends QueryBuilderAggregateOp
103
108
  .graphManagerState.graph;
104
109
  return graph.getType(PRIMITIVE_TYPE.INTEGER);
105
110
  }
111
+
112
+ get hashCode(): string {
113
+ return hashArray([QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_COUNT]);
114
+ }
106
115
  }
@@ -34,8 +34,13 @@ import {
34
34
  buildAggregateExpression,
35
35
  } from './QueryBuilderAggregateOperatorHelper.js';
36
36
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
37
+ import { type Hashable, hashArray } from '@finos/legend-shared';
38
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
37
39
 
38
- export class QueryBuilderAggregateOperator_Distinct extends QueryBuilderAggregateOperator {
40
+ export class QueryBuilderAggregateOperator_Distinct
41
+ extends QueryBuilderAggregateOperator
42
+ implements Hashable
43
+ {
39
44
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
40
45
  return 'distinct';
41
46
  }
@@ -93,4 +98,10 @@ export class QueryBuilderAggregateOperator_Distinct extends QueryBuilderAggregat
93
98
  this,
94
99
  );
95
100
  }
101
+
102
+ get hashCode(): string {
103
+ return hashArray([
104
+ QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_DISTINCT,
105
+ ]);
106
+ }
96
107
  }
@@ -27,7 +27,12 @@ import {
27
27
  type Type,
28
28
  Enumeration,
29
29
  } from '@finos/legend-graph';
30
- import { assertTrue, guaranteeType } from '@finos/legend-shared';
30
+ import {
31
+ assertTrue,
32
+ guaranteeType,
33
+ type Hashable,
34
+ hashArray,
35
+ } from '@finos/legend-shared';
31
36
  import { QueryBuilderAggregateColumnState } from '../QueryBuilderAggregationState.js';
32
37
  import { QueryBuilderAggregateOperator } from '../QueryBuilderAggregateOperator.js';
33
38
  import {
@@ -35,8 +40,12 @@ import {
35
40
  QueryBuilderSimpleProjectionColumnState,
36
41
  } from '../../QueryBuilderProjectionColumnState.js';
37
42
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
43
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
38
44
 
39
- export class QueryBuilderAggregateOperator_DistinctCount extends QueryBuilderAggregateOperator {
45
+ export class QueryBuilderAggregateOperator_DistinctCount
46
+ extends QueryBuilderAggregateOperator
47
+ implements Hashable
48
+ {
40
49
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
41
50
  return 'distinct count';
42
51
  }
@@ -170,4 +179,10 @@ export class QueryBuilderAggregateOperator_DistinctCount extends QueryBuilderAgg
170
179
  .graphManagerState.graph;
171
180
  return graph.getType(PRIMITIVE_TYPE.INTEGER);
172
181
  }
182
+
183
+ get hashCode(): string {
184
+ return hashArray([
185
+ QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_DISTINCT_COUNT,
186
+ ]);
187
+ }
173
188
  }
@@ -29,7 +29,12 @@ import {
29
29
  GenericType,
30
30
  PRIMITIVE_TYPE,
31
31
  } from '@finos/legend-graph';
32
- import { assertTrue, guaranteeType } from '@finos/legend-shared';
32
+ import {
33
+ assertTrue,
34
+ guaranteeType,
35
+ type Hashable,
36
+ hashArray,
37
+ } from '@finos/legend-shared';
33
38
  import { QueryBuilderAggregateColumnState } from '../QueryBuilderAggregationState.js';
34
39
  import { QueryBuilderAggregateOperator } from '../QueryBuilderAggregateOperator.js';
35
40
  import {
@@ -37,8 +42,12 @@ import {
37
42
  QueryBuilderSimpleProjectionColumnState,
38
43
  } from '../../QueryBuilderProjectionColumnState.js';
39
44
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
45
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
40
46
 
41
- export class QueryBuilderAggregateOperator_JoinString extends QueryBuilderAggregateOperator {
47
+ export class QueryBuilderAggregateOperator_JoinString
48
+ extends QueryBuilderAggregateOperator
49
+ implements Hashable
50
+ {
42
51
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
43
52
  return 'join';
44
53
  }
@@ -152,4 +161,10 @@ export class QueryBuilderAggregateOperator_JoinString extends QueryBuilderAggreg
152
161
  .graphManagerState.graph;
153
162
  return graph.getType(PRIMITIVE_TYPE.STRING);
154
163
  }
164
+
165
+ get hashCode(): string {
166
+ return hashArray([
167
+ QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_JOIN_STRING,
168
+ ]);
169
+ }
155
170
  }
@@ -34,8 +34,13 @@ import {
34
34
  buildAggregateExpression,
35
35
  } from './QueryBuilderAggregateOperatorHelper.js';
36
36
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
37
+ import { type Hashable, hashArray } from '@finos/legend-shared';
38
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
37
39
 
38
- export class QueryBuilderAggregateOperator_Max extends QueryBuilderAggregateOperator {
40
+ export class QueryBuilderAggregateOperator_Max
41
+ extends QueryBuilderAggregateOperator
42
+ implements Hashable
43
+ {
39
44
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
40
45
  return 'max';
41
46
  }
@@ -171,4 +176,8 @@ export class QueryBuilderAggregateOperator_Max extends QueryBuilderAggregateOper
171
176
  }
172
177
  return undefined;
173
178
  }
179
+
180
+ get hashCode(): string {
181
+ return hashArray([QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_MAX]);
182
+ }
174
183
  }