@finos/legend-query-builder 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (348) hide show
  1. package/lib/components/QueryBuilder.d.ts.map +1 -1
  2. package/lib/components/QueryBuilder.js +14 -4
  3. package/lib/components/QueryBuilder.js.map +1 -1
  4. package/lib/components/QueryBuilderDiffPanel.d.ts +22 -0
  5. package/lib/components/QueryBuilderDiffPanel.d.ts.map +1 -0
  6. package/lib/components/QueryBuilderDiffPanel.js +103 -0
  7. package/lib/components/QueryBuilderDiffPanel.js.map +1 -0
  8. package/lib/components/QueryBuilderParametersPanel.js +2 -2
  9. package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
  10. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  11. package/lib/components/QueryBuilderResultPanel.js +8 -9
  12. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  13. package/lib/components/QueryBuilderSideBar.js +1 -1
  14. package/lib/components/QueryBuilderSideBar.js.map +1 -1
  15. package/lib/components/ServiceQuerySetupUtils.d.ts +23 -0
  16. package/lib/components/ServiceQuerySetupUtils.d.ts.map +1 -0
  17. package/lib/components/ServiceQuerySetupUtils.js +25 -0
  18. package/lib/components/ServiceQuerySetupUtils.js.map +1 -0
  19. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
  20. package/lib/components/explorer/QueryBuilderExplorerPanel.js +4 -10
  21. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
  22. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
  23. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +8 -6
  24. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
  25. package/lib/components/explorer/{QueryBuilderMilestoneEditor.d.ts → QueryBuilderMilestoningEditor.d.ts} +1 -1
  26. package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -0
  27. package/lib/components/explorer/{QueryBuilderMilestoneEditor.js → QueryBuilderMilestoningEditor.js} +9 -9
  28. package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -0
  29. package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
  30. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +69 -61
  31. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
  32. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts.map +1 -1
  33. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js +1 -3
  34. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js.map +1 -1
  35. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
  36. package/lib/components/filter/QueryBuilderFilterPanel.js +3 -7
  37. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  38. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.d.ts.map +1 -1
  39. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js +7 -2
  40. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js.map +1 -1
  41. package/lib/graphManager/QueryBuilderHashUtils.d.ts +84 -0
  42. package/lib/graphManager/QueryBuilderHashUtils.d.ts.map +1 -0
  43. package/lib/graphManager/QueryBuilderHashUtils.js +91 -0
  44. package/lib/graphManager/QueryBuilderHashUtils.js.map +1 -0
  45. package/lib/index.css +17 -1
  46. package/lib/index.css.map +1 -1
  47. package/lib/index.d.ts +3 -0
  48. package/lib/index.d.ts.map +1 -1
  49. package/lib/index.js +3 -0
  50. package/lib/index.js.map +1 -1
  51. package/lib/package.json +6 -4
  52. package/lib/stores/QueryBuilderChangeDetectionState.d.ts +26 -5
  53. package/lib/stores/QueryBuilderChangeDetectionState.d.ts.map +1 -1
  54. package/lib/stores/QueryBuilderChangeDetectionState.js +82 -10
  55. package/lib/stores/QueryBuilderChangeDetectionState.js.map +1 -1
  56. package/lib/stores/QueryBuilderConfig.d.ts +1 -0
  57. package/lib/stores/QueryBuilderConfig.d.ts.map +1 -1
  58. package/lib/stores/QueryBuilderConfig.js +1 -0
  59. package/lib/stores/QueryBuilderConfig.js.map +1 -1
  60. package/lib/stores/QueryBuilderMilestoningState.d.ts +3 -1
  61. package/lib/stores/QueryBuilderMilestoningState.d.ts.map +1 -1
  62. package/lib/stores/QueryBuilderMilestoningState.js +10 -0
  63. package/lib/stores/QueryBuilderMilestoningState.js.map +1 -1
  64. package/lib/stores/QueryBuilderParametersState.d.ts +3 -1
  65. package/lib/stores/QueryBuilderParametersState.d.ts.map +1 -1
  66. package/lib/stores/QueryBuilderParametersState.js +10 -1
  67. package/lib/stores/QueryBuilderParametersState.js.map +1 -1
  68. package/lib/stores/QueryBuilderPropertyEditorState.d.ts +5 -3
  69. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
  70. package/lib/stores/QueryBuilderPropertyEditorState.js +15 -5
  71. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
  72. package/lib/stores/QueryBuilderResultState.d.ts +5 -3
  73. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  74. package/lib/stores/QueryBuilderResultState.js +26 -6
  75. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  76. package/lib/stores/QueryBuilderState.d.ts +3 -5
  77. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  78. package/lib/stores/QueryBuilderState.js +32 -22
  79. package/lib/stores/QueryBuilderState.js.map +1 -1
  80. package/lib/stores/QueryBuilderStateTestUtils.js +1 -1
  81. package/lib/stores/QueryBuilderStateTestUtils.js.map +1 -1
  82. package/lib/stores/QueryBuilderTextEditorState.js +1 -1
  83. package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
  84. package/lib/stores/QueryBuilderUnsupportedQueryState.d.ts +4 -2
  85. package/lib/stores/QueryBuilderUnsupportedQueryState.d.ts.map +1 -1
  86. package/lib/stores/QueryBuilderUnsupportedQueryState.js +10 -1
  87. package/lib/stores/QueryBuilderUnsupportedQueryState.js.map +1 -1
  88. package/lib/stores/ServiceInfo.d.ts +28 -0
  89. package/lib/stores/ServiceInfo.d.ts.map +1 -0
  90. package/lib/stores/ServiceInfo.js +34 -0
  91. package/lib/stores/ServiceInfo.js.map +1 -0
  92. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts +6 -6
  93. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
  94. package/lib/stores/explorer/QueryBuilderExplorerState.js +19 -14
  95. package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
  96. package/lib/stores/explorer/QueryBuilderPropertySearchState.d.ts +36 -17
  97. package/lib/stores/explorer/QueryBuilderPropertySearchState.d.ts.map +1 -1
  98. package/lib/stores/explorer/QueryBuilderPropertySearchState.js +203 -161
  99. package/lib/stores/explorer/QueryBuilderPropertySearchState.js.map +1 -1
  100. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +5 -3
  101. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
  102. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +1 -0
  103. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
  104. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts +1 -1
  105. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -1
  106. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +3 -3
  107. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
  108. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +3 -1
  109. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
  110. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +9 -1
  111. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
  112. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts +7 -5
  113. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -1
  114. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +20 -5
  115. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
  116. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts +7 -4
  117. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
  118. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +20 -5
  119. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
  120. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts +6 -5
  121. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts.map +1 -1
  122. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +14 -9
  123. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
  124. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts +6 -3
  125. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts.map +1 -1
  126. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js +28 -5
  127. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js.map +1 -1
  128. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts +4 -1
  129. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts.map +1 -1
  130. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js +7 -1
  131. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js.map +1 -1
  132. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts +8 -5
  133. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts.map +1 -1
  134. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js +24 -7
  135. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js.map +1 -1
  136. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts +3 -1
  137. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -1
  138. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js +5 -0
  139. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -1
  140. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts +3 -1
  141. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -1
  142. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js +5 -0
  143. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -1
  144. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts +3 -1
  145. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -1
  146. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js +7 -0
  147. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -1
  148. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts +3 -1
  149. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -1
  150. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +7 -1
  151. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
  152. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts +3 -1
  153. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -1
  154. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js +7 -1
  155. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -1
  156. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts +3 -1
  157. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -1
  158. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js +5 -0
  159. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -1
  160. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts +3 -1
  161. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -1
  162. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js +5 -0
  163. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -1
  164. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts +3 -1
  165. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -1
  166. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js +7 -0
  167. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -1
  168. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +3 -1
  169. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -1
  170. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js +7 -0
  171. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -1
  172. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts +3 -1
  173. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -1
  174. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js +5 -0
  175. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -1
  176. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts +3 -1
  177. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts.map +1 -1
  178. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.js.map +1 -1
  179. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts +14 -8
  180. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -1
  181. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js +54 -4
  182. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js.map +1 -1
  183. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts +4 -1
  184. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
  185. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +12 -1
  186. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
  187. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts +4 -1
  188. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
  189. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +12 -1
  190. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
  191. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts +4 -1
  192. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
  193. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +10 -1
  194. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
  195. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts +3 -1
  196. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
  197. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +7 -1
  198. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
  199. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +1 -0
  200. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  201. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +7 -0
  202. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -1
  203. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts +4 -1
  204. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -1
  205. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js +10 -1
  206. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
  207. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts +4 -1
  208. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -1
  209. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +12 -0
  210. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
  211. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts +3 -1
  212. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
  213. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +7 -1
  214. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
  215. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +3 -1
  216. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -1
  217. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +7 -0
  218. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -1
  219. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts +5 -2
  220. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
  221. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +12 -1
  222. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
  223. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts +3 -1
  224. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts.map +1 -1
  225. package/lib/stores/filter/QueryBuilderFilterOperator.js.map +1 -1
  226. package/lib/stores/filter/QueryBuilderFilterState.d.ts +14 -8
  227. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  228. package/lib/stores/filter/QueryBuilderFilterState.js +54 -9
  229. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  230. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts +4 -1
  231. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
  232. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +10 -1
  233. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
  234. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts +4 -1
  235. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
  236. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +10 -1
  237. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
  238. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts +4 -1
  239. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  240. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +8 -1
  241. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  242. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts +3 -1
  243. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  244. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +7 -1
  245. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  246. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +3 -1
  247. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  248. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +7 -1
  249. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  250. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts +4 -1
  251. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts.map +1 -1
  252. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +8 -0
  253. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
  254. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts +4 -1
  255. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -1
  256. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +10 -0
  257. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
  258. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts +3 -1
  259. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  260. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +5 -1
  261. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  262. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts +3 -1
  263. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  264. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +7 -1
  265. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  266. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts +4 -1
  267. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
  268. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +10 -1
  269. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
  270. package/lib/stores/workflows/ServiceQueryBuilderState.d.ts.map +1 -1
  271. package/lib/stores/workflows/ServiceQueryBuilderState.js +15 -7
  272. package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
  273. package/package.json +12 -10
  274. package/src/components/QueryBuilder.tsx +41 -1
  275. package/src/components/QueryBuilderDiffPanel.tsx +222 -0
  276. package/src/components/QueryBuilderParametersPanel.tsx +2 -2
  277. package/src/components/QueryBuilderResultPanel.tsx +31 -18
  278. package/src/components/QueryBuilderSideBar.tsx +1 -1
  279. package/src/components/ServiceQuerySetupUtils.tsx +54 -0
  280. package/src/components/explorer/QueryBuilderExplorerPanel.tsx +5 -12
  281. package/src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx +24 -14
  282. package/src/components/explorer/{QueryBuilderMilestoneEditor.tsx → QueryBuilderMilestoningEditor.tsx} +12 -8
  283. package/src/components/explorer/QueryBuilderPropertySearchPanel.tsx +156 -145
  284. package/src/components/fetch-structure/QueryBuilderProjectionPanel.tsx +1 -5
  285. package/src/components/filter/QueryBuilderFilterPanel.tsx +3 -13
  286. package/src/components/shared/QueryBuilderPropertyInfoTooltip.tsx +22 -0
  287. package/src/graphManager/QueryBuilderHashUtils.ts +95 -0
  288. package/src/index.ts +3 -0
  289. package/src/stores/QueryBuilderChangeDetectionState.ts +112 -10
  290. package/src/stores/QueryBuilderConfig.ts +2 -0
  291. package/src/stores/QueryBuilderMilestoningState.ts +12 -1
  292. package/src/stores/QueryBuilderParametersState.ts +15 -2
  293. package/src/stores/QueryBuilderPropertyEditorState.ts +19 -7
  294. package/src/stores/QueryBuilderResultState.ts +30 -8
  295. package/src/stores/QueryBuilderState.ts +50 -37
  296. package/src/stores/QueryBuilderStateTestUtils.ts +1 -1
  297. package/src/stores/QueryBuilderTextEditorState.ts +1 -1
  298. package/src/stores/QueryBuilderUnsupportedQueryState.ts +13 -3
  299. package/src/stores/ServiceInfo.ts +52 -0
  300. package/src/stores/explorer/QueryBuilderExplorerState.ts +26 -30
  301. package/src/stores/explorer/QueryBuilderPropertySearchState.ts +259 -193
  302. package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +8 -3
  303. package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +4 -4
  304. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +18 -2
  305. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +31 -6
  306. package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +34 -9
  307. package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +23 -16
  308. package/src/stores/fetch-structure/projection/QueryResultSetModifierState.ts +38 -8
  309. package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.ts +15 -2
  310. package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.ts +37 -12
  311. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.ts +10 -1
  312. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.ts +10 -1
  313. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.ts +12 -1
  314. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +17 -2
  315. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.ts +17 -2
  316. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.ts +10 -1
  317. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.ts +10 -1
  318. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.ts +12 -1
  319. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.ts +12 -1
  320. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.ts +10 -1
  321. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.ts +4 -2
  322. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.ts +78 -10
  323. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +19 -1
  324. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +22 -2
  325. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +17 -1
  326. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +13 -1
  327. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +8 -0
  328. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +20 -2
  329. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +18 -1
  330. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +13 -1
  331. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +12 -1
  332. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +26 -3
  333. package/src/stores/filter/QueryBuilderFilterOperator.ts +4 -2
  334. package/src/stores/filter/QueryBuilderFilterState.ts +80 -22
  335. package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +20 -2
  336. package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +20 -2
  337. package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +18 -2
  338. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +16 -2
  339. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +16 -2
  340. package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +14 -1
  341. package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +16 -1
  342. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +14 -2
  343. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +16 -2
  344. package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +20 -2
  345. package/src/stores/workflows/ServiceQueryBuilderState.ts +24 -9
  346. package/tsconfig.json +7 -2
  347. package/lib/components/explorer/QueryBuilderMilestoneEditor.d.ts.map +0 -1
  348. 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
  }