@finos/legend-query-builder 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -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
  }