@finos/legend-query-builder 0.0.1 → 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 +3 -3
  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 +2 -2
  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 +3 -3
  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
@@ -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_Min extends QueryBuilderAggregateOperator {
40
+ export class QueryBuilderAggregateOperator_Min
41
+ extends QueryBuilderAggregateOperator
42
+ implements Hashable
43
+ {
39
44
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
40
45
  return 'min';
41
46
  }
@@ -171,4 +176,8 @@ export class QueryBuilderAggregateOperator_Min extends QueryBuilderAggregateOper
171
176
  }
172
177
  return undefined;
173
178
  }
179
+
180
+ get hashCode(): string {
181
+ return hashArray([QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_MIN]);
182
+ }
174
183
  }
@@ -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_StdDev_Population extends QueryBuilderAggregateOperator {
40
+ export class QueryBuilderAggregateOperator_StdDev_Population
41
+ extends QueryBuilderAggregateOperator
42
+ implements Hashable
43
+ {
39
44
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
40
45
  return 'std dev (population)';
41
46
  }
@@ -95,4 +100,10 @@ export class QueryBuilderAggregateOperator_StdDev_Population extends QueryBuilde
95
100
  .queryBuilderState.graphManagerState.graph;
96
101
  return graph.getType(PRIMITIVE_TYPE.NUMBER);
97
102
  }
103
+
104
+ get hashCode(): string {
105
+ return hashArray([
106
+ QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_STD_DEV_POPULATION,
107
+ ]);
108
+ }
98
109
  }
@@ -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_StdDev_Sample extends QueryBuilderAggregateOperator {
40
+ export class QueryBuilderAggregateOperator_StdDev_Sample
41
+ extends QueryBuilderAggregateOperator
42
+ implements Hashable
43
+ {
39
44
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
40
45
  return 'std dev (sample)';
41
46
  }
@@ -95,4 +100,10 @@ export class QueryBuilderAggregateOperator_StdDev_Sample extends QueryBuilderAgg
95
100
  .queryBuilderState.graphManagerState.graph;
96
101
  return graph.getType(PRIMITIVE_TYPE.NUMBER);
97
102
  }
103
+
104
+ get hashCode(): string {
105
+ return hashArray([
106
+ QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_STD_DEV_SAMPLE,
107
+ ]);
108
+ }
98
109
  }
@@ -33,8 +33,13 @@ import {
33
33
  buildAggregateExpression,
34
34
  } from './QueryBuilderAggregateOperatorHelper.js';
35
35
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
36
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
37
+ import { type Hashable, hashArray } from '@finos/legend-shared';
36
38
 
37
- export class QueryBuilderAggregateOperator_Sum extends QueryBuilderAggregateOperator {
39
+ export class QueryBuilderAggregateOperator_Sum
40
+ extends QueryBuilderAggregateOperator
41
+ implements Hashable
42
+ {
38
43
  getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
39
44
  return 'sum';
40
45
  }
@@ -85,4 +90,8 @@ export class QueryBuilderAggregateOperator_Sum extends QueryBuilderAggregateOper
85
90
  this,
86
91
  );
87
92
  }
93
+
94
+ get hashCode(): string {
95
+ return hashArray([QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_SUM]);
96
+ }
88
97
  }
@@ -19,14 +19,14 @@ import type {
19
19
  Type,
20
20
  ValueSpecification,
21
21
  } from '@finos/legend-graph';
22
- import { uuid } from '@finos/legend-shared';
22
+ import { type Hashable, uuid } from '@finos/legend-shared';
23
23
  import type {
24
24
  PostFilterConditionState,
25
25
  QueryBuilderPostFilterState,
26
26
  TDS_COLUMN_GETTER,
27
27
  } from './QueryBuilderPostFilterState.js';
28
28
 
29
- export abstract class QueryBuilderPostFilterOperator {
29
+ export abstract class QueryBuilderPostFilterOperator implements Hashable {
30
30
  readonly uuid = uuid();
31
31
 
32
32
  abstract getLabel(): string;
@@ -63,4 +63,6 @@ export abstract class QueryBuilderPostFilterOperator {
63
63
  postFilterState: QueryBuilderPostFilterState,
64
64
  expression: FunctionExpression,
65
65
  ): PostFilterConditionState | undefined;
66
+
67
+ abstract get hashCode(): string;
66
68
  }
@@ -38,13 +38,14 @@ import {
38
38
  uuid,
39
39
  filterByType,
40
40
  ActionState,
41
+ type Hashable,
42
+ hashArray,
41
43
  } from '@finos/legend-shared';
42
44
  import {
43
45
  action,
44
46
  computed,
45
47
  flow,
46
48
  flowResult,
47
- makeAutoObservable,
48
49
  makeObservable,
49
50
  observable,
50
51
  } from 'mobx';
@@ -63,6 +64,7 @@ import {
63
64
  } from '../../../QueryBuilderTypeaheadHelper.js';
64
65
  import { QUERY_BUILDER_GROUP_OPERATION } from '../../../QueryBuilderGroupOperationHelper.js';
65
66
  import type { QueryBuilderProjectionState } from '../QueryBuilderProjectionState.js';
67
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../graphManager/QueryBuilderHashUtils.js';
66
68
 
67
69
  export enum QUERY_BUILDER_POST_FILTER_DND_TYPE {
68
70
  GROUP_CONDITION = 'GROUP_CONDITION',
@@ -146,7 +148,7 @@ export const getTypeFromDerivedProperty = (
146
148
  };
147
149
 
148
150
  export abstract class QueryBuilderPostFilterTreeNodeData
149
- implements TreeNodeData
151
+ implements TreeNodeData, Hashable
150
152
  {
151
153
  readonly id = uuid();
152
154
  readonly label = '';
@@ -162,6 +164,7 @@ export abstract class QueryBuilderPostFilterTreeNodeData
162
164
  parentId: observable,
163
165
  setIsOpen: action,
164
166
  setParentId: action,
167
+ hashCode: computed,
165
168
  });
166
169
  }
167
170
 
@@ -172,6 +175,8 @@ export abstract class QueryBuilderPostFilterTreeNodeData
172
175
  setParentId(val: string | undefined): void {
173
176
  this.parentId = val;
174
177
  }
178
+
179
+ abstract get hashCode(): string;
175
180
  }
176
181
 
177
182
  export interface QueryBuilderPostFilterConditionDragSource {
@@ -182,7 +187,10 @@ export type QueryBuilderPostFilterDropTarget =
182
187
  | QueryBuilderProjectionColumnDragSource
183
188
  | QueryBuilderPostFilterConditionDragSource;
184
189
 
185
- export class QueryBuilderPostFilterTreeGroupNodeData extends QueryBuilderPostFilterTreeNodeData {
190
+ export class QueryBuilderPostFilterTreeGroupNodeData
191
+ extends QueryBuilderPostFilterTreeNodeData
192
+ implements Hashable
193
+ {
186
194
  groupOperation: QUERY_BUILDER_GROUP_OPERATION;
187
195
  childrenIds: string[] = [];
188
196
 
@@ -225,9 +233,21 @@ export class QueryBuilderPostFilterTreeGroupNodeData extends QueryBuilderPostFil
225
233
  node.setParentId(this.id);
226
234
  }
227
235
  }
236
+
237
+ get hashCode(): string {
238
+ return hashArray([
239
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_TREE_GROUP_NODE_DATA,
240
+ this.parentId ?? '',
241
+ hashArray(this.childrenIds),
242
+ this.groupOperation,
243
+ ]);
244
+ }
228
245
  }
229
246
 
230
- export class QueryBuilderPostFilterTreeConditionNodeData extends QueryBuilderPostFilterTreeNodeData {
247
+ export class QueryBuilderPostFilterTreeConditionNodeData
248
+ extends QueryBuilderPostFilterTreeNodeData
249
+ implements Hashable
250
+ {
231
251
  condition: PostFilterConditionState;
232
252
 
233
253
  constructor(
@@ -247,9 +267,20 @@ export class QueryBuilderPostFilterTreeConditionNodeData extends QueryBuilderPos
247
267
  get dragPreviewLabel(): string {
248
268
  return this.condition.columnName;
249
269
  }
270
+
271
+ get hashCode(): string {
272
+ return hashArray([
273
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_TREE_CONDIITION_NODE_DATA,
274
+ this.parentId ?? '',
275
+ this.condition,
276
+ ]);
277
+ }
250
278
  }
251
279
 
252
- export class QueryBuilderPostFilterTreeBlankConditionNodeData extends QueryBuilderPostFilterTreeNodeData {
280
+ export class QueryBuilderPostFilterTreeBlankConditionNodeData
281
+ extends QueryBuilderPostFilterTreeNodeData
282
+ implements Hashable
283
+ {
253
284
  constructor(parentId: string | undefined) {
254
285
  super(parentId);
255
286
 
@@ -261,9 +292,17 @@ export class QueryBuilderPostFilterTreeBlankConditionNodeData extends QueryBuild
261
292
  get dragPreviewLabel(): string {
262
293
  return '<blank>';
263
294
  }
295
+
296
+ get hashCode(): string {
297
+ return hashArray([
298
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,
299
+ this.parentId ?? '',
300
+ ]);
301
+ }
264
302
  }
265
- export class PostFilterConditionState {
266
- postFilterState: QueryBuilderPostFilterState;
303
+
304
+ export class PostFilterConditionState implements Hashable {
305
+ readonly postFilterState: QueryBuilderPostFilterState;
267
306
  columnState:
268
307
  | QueryBuilderProjectionColumnState
269
308
  | QueryBuilderAggregateColumnState;
@@ -280,7 +319,10 @@ export class PostFilterConditionState {
280
319
  value: ValueSpecification | undefined,
281
320
  operator: QueryBuilderPostFilterOperator | undefined,
282
321
  ) {
283
- makeAutoObservable(this, {
322
+ makeObservable(this, {
323
+ postFilterState: observable,
324
+ value: observable,
325
+ operator: observable,
284
326
  columnState: observable,
285
327
  typeaheadSearchResults: observable,
286
328
  changeOperator: action,
@@ -289,6 +331,8 @@ export class PostFilterConditionState {
289
331
  setOperator: action,
290
332
  changeColumn: flow,
291
333
  handleTypeaheadSearch: flow,
334
+ columnName: computed,
335
+ hashCode: computed,
292
336
  });
293
337
 
294
338
  this.postFilterState = postFilterState;
@@ -407,10 +451,19 @@ export class PostFilterConditionState {
407
451
  );
408
452
  }
409
453
  }
454
+
455
+ get hashCode(): string {
456
+ return hashArray([
457
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_CONDITION_STATE,
458
+ this.columnState,
459
+ this.value ?? '',
460
+ this.operator,
461
+ ]);
462
+ }
410
463
  }
411
464
 
412
465
  export class QueryBuilderPostFilterState
413
- implements TreeData<QueryBuilderPostFilterTreeNodeData>
466
+ implements TreeData<QueryBuilderPostFilterTreeNodeData>, Hashable
414
467
  {
415
468
  projectionState: QueryBuilderProjectionState;
416
469
  lambdaParameterName = DEFAULT_POST_FILTER_LAMBDA_VARIABLE_NAME;
@@ -425,8 +478,13 @@ export class QueryBuilderPostFilterState
425
478
  projectionState: QueryBuilderProjectionState,
426
479
  operators: QueryBuilderPostFilterOperator[],
427
480
  ) {
428
- makeAutoObservable(this, {
481
+ makeObservable(this, {
429
482
  projectionState: false,
483
+ selectedNode: observable,
484
+ isRearrangingConditions: observable,
485
+ rootIds: observable,
486
+ nodes: observable,
487
+ lambdaParameterName: observable,
430
488
  setLambdaParameterName: action,
431
489
  setSelectedNode: action,
432
490
  addNodeFromNode: action,
@@ -439,6 +497,8 @@ export class QueryBuilderPostFilterState
439
497
  expandTree: action,
440
498
  replaceBlankNodeWithNode: action,
441
499
  suppressClickawayEventListener: action,
500
+ setRearrangingConditions: action,
501
+ hashCode: computed,
442
502
  });
443
503
 
444
504
  this.projectionState = projectionState;
@@ -804,4 +864,12 @@ export class QueryBuilderPostFilterState
804
864
  expandTree(): void {
805
865
  Array.from(this.nodes.values()).forEach((node) => node.setIsOpen(true));
806
866
  }
867
+
868
+ get hashCode(): string {
869
+ return hashArray([
870
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_STATE,
871
+ hashArray(this.rootIds),
872
+ hashArray(Array.from(this.nodes.values())),
873
+ ]);
874
+ }
807
875
  }
@@ -24,6 +24,8 @@ import {
24
24
  } from '@finos/legend-graph';
25
25
  import {
26
26
  guaranteeNonNullable,
27
+ type Hashable,
28
+ hashArray,
27
29
  UnsupportedOperationError,
28
30
  } from '@finos/legend-shared';
29
31
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
@@ -40,8 +42,12 @@ import {
40
42
  } from '../../../../QueryBuilderValueSpecificationHelper.js';
41
43
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
42
44
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
45
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
43
46
 
44
- export class QueryBuilderPostFilterOperator_Contain extends QueryBuilderPostFilterOperator {
47
+ export class QueryBuilderPostFilterOperator_Contain
48
+ extends QueryBuilderPostFilterOperator
49
+ implements Hashable
50
+ {
45
51
  getLabel(): string {
46
52
  return 'contains';
47
53
  }
@@ -107,6 +113,12 @@ export class QueryBuilderPostFilterOperator_Contain extends QueryBuilderPostFilt
107
113
  this,
108
114
  );
109
115
  }
116
+
117
+ get hashCode(): string {
118
+ return hashArray([
119
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_CONTAIN,
120
+ ]);
121
+ }
110
122
  }
111
123
 
112
124
  export class QueryBuilderPostFilterOperator_NotContain extends QueryBuilderPostFilterOperator_Contain {
@@ -137,4 +149,10 @@ export class QueryBuilderPostFilterOperator_NotContain extends QueryBuilderPostF
137
149
  ? super.buildPostFilterConditionState(postFilterState, innerExpression)
138
150
  : undefined;
139
151
  }
152
+
153
+ override get hashCode(): string {
154
+ return hashArray([
155
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_NOT_CONTAIN,
156
+ ]);
157
+ }
140
158
  }
@@ -21,7 +21,11 @@ import {
21
21
  PRIMITIVE_TYPE,
22
22
  buildPrimitiveInstanceValue,
23
23
  } from '@finos/legend-graph';
24
- import { UnsupportedOperationError } from '@finos/legend-shared';
24
+ import {
25
+ type Hashable,
26
+ hashArray,
27
+ UnsupportedOperationError,
28
+ } from '@finos/legend-shared';
25
29
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
26
30
  import { buildPostFilterConditionState } from '../QueryBuilderPostFilterStateBuilder.js';
27
31
  import type {
@@ -36,8 +40,12 @@ import {
36
40
  } from '../../../../QueryBuilderValueSpecificationHelper.js';
37
41
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
38
42
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
43
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
39
44
 
40
- export class QueryBuilderPostFilterOperator_EndWith extends QueryBuilderPostFilterOperator {
45
+ export class QueryBuilderPostFilterOperator_EndWith
46
+ extends QueryBuilderPostFilterOperator
47
+ implements Hashable
48
+ {
41
49
  getLabel(): string {
42
50
  return 'ends with';
43
51
  }
@@ -101,6 +109,12 @@ export class QueryBuilderPostFilterOperator_EndWith extends QueryBuilderPostFilt
101
109
  this,
102
110
  );
103
111
  }
112
+
113
+ get hashCode(): string {
114
+ return hashArray([
115
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_END_WITH,
116
+ ]);
117
+ }
104
118
  }
105
119
 
106
120
  export class QueryBuilderPostFilterOperator_NotEndWith extends QueryBuilderPostFilterOperator_EndWith {
@@ -132,4 +146,10 @@ export class QueryBuilderPostFilterOperator_NotEndWith extends QueryBuilderPostF
132
146
  ? super.buildPostFilterConditionState(postFilterState, innerExpression)
133
147
  : undefined;
134
148
  }
149
+
150
+ override get hashCode(): string {
151
+ return hashArray([
152
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_NOT_END_WITH,
153
+ ]);
154
+ }
135
155
  }
@@ -33,6 +33,8 @@ import {
33
33
  } from '@finos/legend-graph';
34
34
  import {
35
35
  guaranteeNonNullable,
36
+ type Hashable,
37
+ hashArray,
36
38
  UnsupportedOperationError,
37
39
  } from '@finos/legend-shared';
38
40
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
@@ -50,8 +52,12 @@ import {
50
52
  } from '../../../../QueryBuilderValueSpecificationHelper.js';
51
53
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
52
54
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
55
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
53
56
 
54
- export class QueryBuilderPostFilterOperator_Equal extends QueryBuilderPostFilterOperator {
57
+ export class QueryBuilderPostFilterOperator_Equal
58
+ extends QueryBuilderPostFilterOperator
59
+ implements Hashable
60
+ {
55
61
  getLabel(): string {
56
62
  return 'is';
57
63
  }
@@ -185,6 +191,10 @@ export class QueryBuilderPostFilterOperator_Equal extends QueryBuilderPostFilter
185
191
  this,
186
192
  );
187
193
  }
194
+
195
+ get hashCode(): string {
196
+ return hashArray([QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_EQUAL]);
197
+ }
188
198
  }
189
199
  export class QueryBuilderPostFilterOperator_NotEqual extends QueryBuilderPostFilterOperator_Equal {
190
200
  override getLabel(): string {
@@ -215,4 +225,10 @@ export class QueryBuilderPostFilterOperator_NotEqual extends QueryBuilderPostFil
215
225
  ? super.buildPostFilterConditionState(postFilterState, innerExpression)
216
226
  : undefined;
217
227
  }
228
+
229
+ override get hashCode(): string {
230
+ return hashArray([
231
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_NOT_EQUAL,
232
+ ]);
233
+ }
218
234
  }
@@ -25,6 +25,8 @@ import {
25
25
  } from '@finos/legend-graph';
26
26
  import {
27
27
  guaranteeNonNullable,
28
+ type Hashable,
29
+ hashArray,
28
30
  UnsupportedOperationError,
29
31
  } from '@finos/legend-shared';
30
32
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
@@ -40,8 +42,12 @@ import {
40
42
  } from '../../../../QueryBuilderValueSpecificationHelper.js';
41
43
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
42
44
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
45
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
43
46
 
44
- export class QueryBuilderPostFilterOperator_GreaterThan extends QueryBuilderPostFilterOperator {
47
+ export class QueryBuilderPostFilterOperator_GreaterThan
48
+ extends QueryBuilderPostFilterOperator
49
+ implements Hashable
50
+ {
45
51
  getLabel(): string {
46
52
  return '>';
47
53
  }
@@ -140,4 +146,10 @@ export class QueryBuilderPostFilterOperator_GreaterThan extends QueryBuilderPost
140
146
  this,
141
147
  );
142
148
  }
149
+
150
+ get hashCode(): string {
151
+ return hashArray([
152
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_GREATER_THAN,
153
+ ]);
154
+ }
143
155
  }
@@ -29,6 +29,8 @@ import type {
29
29
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
30
30
  import { QueryBuilderPostFilterOperator_GreaterThan } from './QueryBuilderPostFilterOperator_GreaterThan.js';
31
31
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
32
+ import { hashArray } from '@finos/legend-shared';
33
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
32
34
 
33
35
  export class QueryBuilderPostFilterOperator_GreaterThanEqual extends QueryBuilderPostFilterOperator_GreaterThan {
34
36
  override getLabel(): string {
@@ -67,4 +69,10 @@ export class QueryBuilderPostFilterOperator_GreaterThanEqual extends QueryBuilde
67
69
  this,
68
70
  );
69
71
  }
72
+
73
+ override get hashCode(): string {
74
+ return hashArray([
75
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL,
76
+ ]);
77
+ }
70
78
  }
@@ -27,7 +27,11 @@ import {
27
27
  GenericType,
28
28
  TYPICAL_MULTIPLICITY_TYPE,
29
29
  } from '@finos/legend-graph';
30
- import { guaranteeNonNullable } from '@finos/legend-shared';
30
+ import {
31
+ guaranteeNonNullable,
32
+ type Hashable,
33
+ hashArray,
34
+ } from '@finos/legend-shared';
31
35
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
32
36
  import { buildPostFilterConditionState } from '../QueryBuilderPostFilterStateBuilder.js';
33
37
  import type {
@@ -41,8 +45,12 @@ import {
41
45
  unwrapNotExpression,
42
46
  } from '../../../../QueryBuilderValueSpecificationHelper.js';
43
47
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
48
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
44
49
 
45
- export class QueryBuilderPostFilterOperator_In extends QueryBuilderPostFilterOperator {
50
+ export class QueryBuilderPostFilterOperator_In
51
+ extends QueryBuilderPostFilterOperator
52
+ implements Hashable
53
+ {
46
54
  getLabel(): string {
47
55
  return 'is in';
48
56
  }
@@ -149,6 +157,10 @@ export class QueryBuilderPostFilterOperator_In extends QueryBuilderPostFilterOpe
149
157
  this,
150
158
  );
151
159
  }
160
+
161
+ get hashCode(): string {
162
+ return hashArray([QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_IN]);
163
+ }
152
164
  }
153
165
 
154
166
  export class QueryBuilderPostFilterOperator_NotIn extends QueryBuilderPostFilterOperator_In {
@@ -180,4 +192,10 @@ export class QueryBuilderPostFilterOperator_NotIn extends QueryBuilderPostFilter
180
192
  ? super.buildPostFilterConditionState(postFilterState, innerExpression)
181
193
  : undefined;
182
194
  }
195
+
196
+ override get hashCode(): string {
197
+ return hashArray([
198
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_NOT_IN,
199
+ ]);
200
+ }
183
201
  }
@@ -31,8 +31,13 @@ import {
31
31
  import { QueryBuilderSimpleProjectionColumnState } from '../../QueryBuilderProjectionColumnState.js';
32
32
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
33
33
  import { isPropertyExpressionChainOptional } from '../../../../QueryBuilderValueSpecificationHelper.js';
34
+ import { type Hashable, hashArray } from '@finos/legend-shared';
35
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
34
36
 
35
- export class QueryBuilderPostFilterOperator_IsEmpty extends QueryBuilderPostFilterOperator {
37
+ export class QueryBuilderPostFilterOperator_IsEmpty
38
+ extends QueryBuilderPostFilterOperator
39
+ implements Hashable
40
+ {
36
41
  getLabel(): string {
37
42
  return 'is empty';
38
43
  }
@@ -100,6 +105,12 @@ export class QueryBuilderPostFilterOperator_IsEmpty extends QueryBuilderPostFilt
100
105
  this,
101
106
  );
102
107
  }
108
+
109
+ get hashCode(): string {
110
+ return hashArray([
111
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_IS_EMPTY,
112
+ ]);
113
+ }
103
114
  }
104
115
 
105
116
  export class QueryBuilderPostFilterOperator_IsNotEmpty extends QueryBuilderPostFilterOperator_IsEmpty {
@@ -110,4 +121,10 @@ export class QueryBuilderPostFilterOperator_IsNotEmpty extends QueryBuilderPostF
110
121
  override getTdsColumnGetter(): TDS_COLUMN_GETTER | undefined {
111
122
  return TDS_COLUMN_GETTER.IS_NOT_NULL;
112
123
  }
124
+
125
+ override get hashCode(): string {
126
+ return hashArray([
127
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_IS_NOT_EMPTY,
128
+ ]);
129
+ }
113
130
  }
@@ -25,6 +25,8 @@ import {
25
25
  } from '@finos/legend-graph';
26
26
  import {
27
27
  guaranteeNonNullable,
28
+ type Hashable,
29
+ hashArray,
28
30
  UnsupportedOperationError,
29
31
  } from '@finos/legend-shared';
30
32
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
@@ -40,8 +42,12 @@ import {
40
42
  } from '../../../../QueryBuilderValueSpecificationHelper.js';
41
43
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
42
44
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
45
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
43
46
 
44
- export class QueryBuilderPostFilterOperator_LessThan extends QueryBuilderPostFilterOperator {
47
+ export class QueryBuilderPostFilterOperator_LessThan
48
+ extends QueryBuilderPostFilterOperator
49
+ implements Hashable
50
+ {
45
51
  getLabel(): string {
46
52
  return '<';
47
53
  }
@@ -140,4 +146,10 @@ export class QueryBuilderPostFilterOperator_LessThan extends QueryBuilderPostFil
140
146
  this,
141
147
  );
142
148
  }
149
+
150
+ get hashCode(): string {
151
+ return hashArray([
152
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_LESS_THAN,
153
+ ]);
154
+ }
143
155
  }
@@ -29,8 +29,13 @@ import type {
29
29
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorHelper.js';
30
30
  import { QueryBuilderPostFilterOperator_LessThan } from './QueryBuilderPostFilterOperator_LessThan.js';
31
31
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
32
+ import { type Hashable, hashArray } from '@finos/legend-shared';
33
+ import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
32
34
 
33
- export class QueryBuilderPostFilterOperator_LessThanEqual extends QueryBuilderPostFilterOperator_LessThan {
35
+ export class QueryBuilderPostFilterOperator_LessThanEqual
36
+ extends QueryBuilderPostFilterOperator_LessThan
37
+ implements Hashable
38
+ {
34
39
  override getLabel(): string {
35
40
  return '<=';
36
41
  }
@@ -67,4 +72,10 @@ export class QueryBuilderPostFilterOperator_LessThanEqual extends QueryBuilderPo
67
72
  this,
68
73
  );
69
74
  }
75
+
76
+ override get hashCode(): string {
77
+ return hashArray([
78
+ QUERY_BUILDER_HASH_STRUCTURE.POST_FILTER_OPERATOR_LESS_THAN_EQUAL,
79
+ ]);
80
+ }
70
81
  }