@finos/legend-query-builder 4.17.100 → 4.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/lib/__test__.d.ts +1 -0
  2. package/lib/__test__.d.ts.map +1 -1
  3. package/lib/__test__.js +1 -0
  4. package/lib/__test__.js.map +1 -1
  5. package/lib/components/QueryBuilder.d.ts.map +1 -1
  6. package/lib/components/QueryBuilder.js +2 -1
  7. package/lib/components/QueryBuilder.js.map +1 -1
  8. package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
  9. package/lib/components/QueryBuilderSideBar.js +9 -8
  10. package/lib/components/QueryBuilderSideBar.js.map +1 -1
  11. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.d.ts +5 -0
  12. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.d.ts.map +1 -1
  13. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js +28 -2
  14. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js.map +1 -1
  15. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
  16. package/lib/components/explorer/QueryBuilderExplorerPanel.js +48 -5
  17. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
  18. package/lib/components/explorer/QueryBuilderRelationExplorerPanel.d.ts +24 -0
  19. package/lib/components/explorer/QueryBuilderRelationExplorerPanel.d.ts.map +1 -0
  20. package/lib/components/explorer/QueryBuilderRelationExplorerPanel.js +202 -0
  21. package/lib/components/explorer/QueryBuilderRelationExplorerPanel.js.map +1 -0
  22. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  23. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  24. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +3 -3
  25. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
  26. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
  27. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +25 -6
  28. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
  29. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.d.ts.map +1 -1
  30. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js +8 -2
  31. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js.map +1 -1
  32. package/lib/components/workflows/AccessorQueryBuilder.d.ts +18 -0
  33. package/lib/components/workflows/AccessorQueryBuilder.d.ts.map +1 -0
  34. package/lib/components/workflows/AccessorQueryBuilder.js +87 -0
  35. package/lib/components/workflows/AccessorQueryBuilder.js.map +1 -0
  36. package/lib/components/workflows/ClassQueryBuilder.js +5 -5
  37. package/lib/components/workflows/ClassQueryBuilder.js.map +1 -1
  38. package/lib/components/workflows/DataProductQueryBuilder.d.ts.map +1 -1
  39. package/lib/components/workflows/DataProductQueryBuilder.js +13 -12
  40. package/lib/components/workflows/DataProductQueryBuilder.js.map +1 -1
  41. package/lib/data-access-overview.css +1 -1
  42. package/lib/graph/QueryBuilderMetaModelConst.d.ts +6 -0
  43. package/lib/graph/QueryBuilderMetaModelConst.d.ts.map +1 -1
  44. package/lib/graph/QueryBuilderMetaModelConst.js +6 -0
  45. package/lib/graph/QueryBuilderMetaModelConst.js.map +1 -1
  46. package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
  47. package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +7 -1
  48. package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
  49. package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts +2 -0
  50. package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -1
  51. package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js +93 -3
  52. package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -1
  53. package/lib/index.css +2 -2
  54. package/lib/index.css.map +1 -1
  55. package/lib/index.d.ts +3 -1
  56. package/lib/index.d.ts.map +1 -1
  57. package/lib/index.js +3 -1
  58. package/lib/index.js.map +1 -1
  59. package/lib/package.json +1 -1
  60. package/lib/stores/QueryBuilderConfig.d.ts +3 -0
  61. package/lib/stores/QueryBuilderConfig.d.ts.map +1 -1
  62. package/lib/stores/QueryBuilderConfig.js +3 -0
  63. package/lib/stores/QueryBuilderConfig.js.map +1 -1
  64. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  65. package/lib/stores/QueryBuilderResultState.js +6 -2
  66. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  67. package/lib/stores/QueryBuilderState.d.ts +14 -4
  68. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  69. package/lib/stores/QueryBuilderState.js +41 -13
  70. package/lib/stores/QueryBuilderState.js.map +1 -1
  71. package/lib/stores/QueryBuilderStateBuilder.d.ts +2 -1
  72. package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
  73. package/lib/stores/QueryBuilderStateBuilder.js +51 -20
  74. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
  75. package/lib/stores/QueryBuilderStateHashUtils.d.ts +2 -0
  76. package/lib/stores/QueryBuilderStateHashUtils.d.ts.map +1 -1
  77. package/lib/stores/QueryBuilderStateHashUtils.js +2 -0
  78. package/lib/stores/QueryBuilderStateHashUtils.js.map +1 -1
  79. package/lib/stores/QueryBuilderTypeaheadHelper.js +6 -6
  80. package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
  81. package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts +1 -1
  82. package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
  83. package/lib/stores/QueryBuilderValueSpecificationBuilder.js +54 -45
  84. package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
  85. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +1 -1
  86. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
  87. package/lib/stores/QueryBuilderValueSpecificationHelper.js +2 -2
  88. package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
  89. package/lib/stores/__test-utils__/QueryBuilderStateTestUtils.js +1 -1
  90. package/lib/stores/__test-utils__/QueryBuilderStateTestUtils.js.map +1 -1
  91. package/lib/stores/__test-utils__/TEST_DATA__QueryBuilder_Accessors.d.ts +374 -0
  92. package/lib/stores/__test-utils__/TEST_DATA__QueryBuilder_Accessors.d.ts.map +1 -0
  93. package/lib/stores/__test-utils__/TEST_DATA__QueryBuilder_Accessors.js +625 -0
  94. package/lib/stores/__test-utils__/TEST_DATA__QueryBuilder_Accessors.js.map +1 -0
  95. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts +12 -2
  96. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
  97. package/lib/stores/explorer/QueryBuilderExplorerState.js +12 -2
  98. package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
  99. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +2 -2
  100. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
  101. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
  102. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +2 -2
  103. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
  104. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +4 -3
  105. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
  106. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js +1 -1
  107. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js.map +1 -1
  108. package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.d.ts +2 -0
  109. package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.d.ts.map +1 -1
  110. package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.js +19 -0
  111. package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.js.map +1 -1
  112. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +7 -4
  113. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
  114. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +61 -13
  115. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
  116. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.js +2 -2
  117. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.js.map +1 -1
  118. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +1 -1
  119. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -1
  120. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.d.ts +16 -3
  121. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
  122. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js +102 -24
  123. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js.map +1 -1
  124. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts +2 -1
  125. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -1
  126. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js +16 -1
  127. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
  128. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
  129. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js +11 -9
  130. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
  131. package/lib/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.d.ts.map +1 -1
  132. package/lib/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.js +12 -3
  133. package/lib/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.js.map +1 -1
  134. package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.d.ts.map +1 -1
  135. package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.js +16 -12
  136. package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.js.map +1 -1
  137. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowGroupByOperatorLoader.d.ts.map +1 -1
  138. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowGroupByOperatorLoader.js +2 -0
  139. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowGroupByOperatorLoader.js.map +1 -1
  140. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.d.ts +4 -3
  141. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.d.ts.map +1 -1
  142. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.js +19 -9
  143. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.js.map +1 -1
  144. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.d.ts +1 -0
  145. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.d.ts.map +1 -1
  146. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.js +83 -5
  147. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.js.map +1 -1
  148. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.d.ts +4 -3
  149. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.d.ts.map +1 -1
  150. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.js +130 -9
  151. package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.js.map +1 -1
  152. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator.d.ts +2 -1
  153. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator.d.ts.map +1 -1
  154. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator.js.map +1 -1
  155. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.d.ts +1 -0
  156. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.d.ts.map +1 -1
  157. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.js +3 -0
  158. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.js.map +1 -1
  159. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.d.ts +1 -0
  160. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.d.ts.map +1 -1
  161. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.js +3 -0
  162. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.js.map +1 -1
  163. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.d.ts +1 -0
  164. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.d.ts.map +1 -1
  165. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.js +3 -0
  166. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.js.map +1 -1
  167. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.d.ts +1 -0
  168. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.d.ts.map +1 -1
  169. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.js +3 -0
  170. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.js.map +1 -1
  171. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_PercentRank.d.ts +25 -0
  172. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_PercentRank.d.ts.map +1 -0
  173. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_PercentRank.js +54 -0
  174. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_PercentRank.js.map +1 -0
  175. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.d.ts +1 -0
  176. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.d.ts.map +1 -1
  177. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.js +3 -0
  178. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.js.map +1 -1
  179. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.d.ts +1 -0
  180. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.d.ts.map +1 -1
  181. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.js +4 -0
  182. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.js.map +1 -1
  183. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.d.ts +1 -0
  184. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.d.ts.map +1 -1
  185. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.js +3 -0
  186. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.js.map +1 -1
  187. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.d.ts +1 -0
  188. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.d.ts.map +1 -1
  189. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.js +3 -0
  190. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.js.map +1 -1
  191. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.d.ts +1 -0
  192. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.d.ts.map +1 -1
  193. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.js +3 -0
  194. package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.js.map +1 -1
  195. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js +3 -3
  196. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js.map +1 -1
  197. package/lib/stores/milestoning/QueryBuilderMilestoningState.js +4 -4
  198. package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
  199. package/lib/stores/workflows/MappingQueryBuilderState.js +2 -2
  200. package/lib/stores/workflows/MappingQueryBuilderState.js.map +1 -1
  201. package/lib/stores/workflows/ServiceQueryBuilderState.js +2 -2
  202. package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
  203. package/lib/stores/workflows/accessor/AccessorQueryBuilderHelper.d.ts +18 -0
  204. package/lib/stores/workflows/accessor/AccessorQueryBuilderHelper.d.ts.map +1 -0
  205. package/lib/stores/workflows/accessor/AccessorQueryBuilderHelper.js +32 -0
  206. package/lib/stores/workflows/accessor/AccessorQueryBuilderHelper.js.map +1 -0
  207. package/lib/stores/workflows/accessor/AccessorQueryBuilderState.d.ts +58 -0
  208. package/lib/stores/workflows/accessor/AccessorQueryBuilderState.d.ts.map +1 -0
  209. package/lib/stores/workflows/accessor/AccessorQueryBuilderState.js +129 -0
  210. package/lib/stores/workflows/accessor/AccessorQueryBuilderState.js.map +1 -0
  211. package/lib/stores/workflows/dataProduct/DataProductQueryBuilderState.d.ts +31 -6
  212. package/lib/stores/workflows/dataProduct/DataProductQueryBuilderState.d.ts.map +1 -1
  213. package/lib/stores/workflows/dataProduct/DataProductQueryBuilderState.js +164 -17
  214. package/lib/stores/workflows/dataProduct/DataProductQueryBuilderState.js.map +1 -1
  215. package/package.json +7 -7
  216. package/src/__test__.ts +1 -0
  217. package/src/components/QueryBuilder.tsx +2 -1
  218. package/src/components/QueryBuilderSideBar.tsx +12 -8
  219. package/src/components/__test-utils__/QueryBuilderComponentTestUtils.tsx +73 -1
  220. package/src/components/explorer/QueryBuilderExplorerPanel.tsx +77 -14
  221. package/src/components/explorer/QueryBuilderRelationExplorerPanel.tsx +536 -0
  222. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +1 -0
  223. package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +3 -3
  224. package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +62 -4
  225. package/src/components/fetch-structure/QueryBuilderTDSWindowPanel.tsx +10 -4
  226. package/src/components/workflows/AccessorQueryBuilder.tsx +211 -0
  227. package/src/components/workflows/ClassQueryBuilder.tsx +5 -5
  228. package/src/components/workflows/DataProductQueryBuilder.tsx +40 -62
  229. package/src/graph/QueryBuilderMetaModelConst.ts +7 -0
  230. package/src/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +28 -0
  231. package/src/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.ts +223 -4
  232. package/src/index.ts +5 -0
  233. package/src/stores/QueryBuilderConfig.ts +3 -0
  234. package/src/stores/QueryBuilderResultState.ts +12 -8
  235. package/src/stores/QueryBuilderState.ts +47 -12
  236. package/src/stores/QueryBuilderStateBuilder.ts +107 -43
  237. package/src/stores/QueryBuilderStateHashUtils.ts +2 -0
  238. package/src/stores/QueryBuilderTypeaheadHelper.ts +6 -6
  239. package/src/stores/QueryBuilderValueSpecificationBuilder.ts +72 -59
  240. package/src/stores/QueryBuilderValueSpecificationHelper.ts +5 -3
  241. package/src/stores/__test-utils__/QueryBuilderStateTestUtils.ts +1 -1
  242. package/src/stores/__test-utils__/TEST_DATA__QueryBuilder_Accessors.ts +630 -0
  243. package/src/stores/explorer/QueryBuilderExplorerState.ts +26 -2
  244. package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +1 -2
  245. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +4 -3
  246. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts +1 -1
  247. package/src/stores/fetch-structure/tds/QueryBuilderTDSHelper.ts +42 -0
  248. package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +137 -20
  249. package/src/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.ts +2 -2
  250. package/src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +1 -1
  251. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.ts +197 -38
  252. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.ts +30 -0
  253. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +11 -9
  254. package/src/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.ts +22 -1
  255. package/src/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.ts +25 -16
  256. package/src/stores/fetch-structure/tds/window/QueryBuilderWindowGroupByOperatorLoader.ts +2 -0
  257. package/src/stores/fetch-structure/tds/window/QueryBuilderWindowState.ts +23 -9
  258. package/src/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.ts +206 -4
  259. package/src/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.ts +250 -12
  260. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator.ts +3 -1
  261. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.ts +4 -0
  262. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.ts +4 -0
  263. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.ts +4 -0
  264. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.ts +4 -0
  265. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_PercentRank.ts +57 -0
  266. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.ts +4 -0
  267. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.ts +5 -0
  268. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.ts +4 -0
  269. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.ts +4 -0
  270. package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.ts +4 -0
  271. package/src/stores/filter/QueryBuilderFilterValueSpecificationBuilder.ts +3 -3
  272. package/src/stores/milestoning/QueryBuilderMilestoningState.ts +4 -4
  273. package/src/stores/workflows/MappingQueryBuilderState.ts +2 -2
  274. package/src/stores/workflows/ServiceQueryBuilderState.ts +2 -2
  275. package/src/stores/workflows/accessor/AccessorQueryBuilderHelper.ts +51 -0
  276. package/src/stores/workflows/accessor/AccessorQueryBuilderState.ts +200 -0
  277. package/src/stores/workflows/dataProduct/DataProductQueryBuilderState.ts +277 -26
  278. package/tsconfig.json +6 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-query-builder",
3
- "version": "4.17.100",
3
+ "version": "4.18.1",
4
4
  "description": "Legend query builder core",
5
5
  "keywords": [
6
6
  "legend",
@@ -43,12 +43,12 @@
43
43
  "test:watch": "jest --watch"
44
44
  },
45
45
  "dependencies": {
46
- "@finos/legend-application": "16.0.103",
47
- "@finos/legend-art": "7.1.145",
48
- "@finos/legend-code-editor": "2.0.163",
49
- "@finos/legend-data-cube": "0.3.80",
50
- "@finos/legend-graph": "32.4.3",
51
- "@finos/legend-lego": "2.0.182",
46
+ "@finos/legend-application": "16.0.104",
47
+ "@finos/legend-art": "7.1.146",
48
+ "@finos/legend-code-editor": "2.0.165",
49
+ "@finos/legend-data-cube": "0.3.82",
50
+ "@finos/legend-graph": "32.5.1",
51
+ "@finos/legend-lego": "2.0.184",
52
52
  "@finos/legend-server-depot": "6.1.10",
53
53
  "@finos/legend-shared": "11.0.23",
54
54
  "@finos/legend-storage": "3.0.144",
package/src/__test__.ts CHANGED
@@ -18,3 +18,4 @@ export {
18
18
  TEST__setUpQueryBuilder,
19
19
  TEST__setUpGraphManagerState,
20
20
  } from './components/__test-utils__/QueryBuilderComponentTestUtils.js';
21
+ export { TEST_DATA__QueryBuilder_Accessors } from './stores/__test-utils__/TEST_DATA__QueryBuilder_Accessors.js';
@@ -520,7 +520,7 @@ export const QueryBuilder = observer(
520
520
  // we use an empty RawLambda with an empty class and this useEffect is called earlier than initializeWithQuery()
521
521
  if (
522
522
  queryBuilderState.isQuerySupported &&
523
- queryBuilderState.class &&
523
+ queryBuilderState.sourceElement &&
524
524
  queryBuilderState.canBuildQuery
525
525
  ) {
526
526
  const calculatedQuery = returnUndefOnError(() =>
@@ -676,6 +676,7 @@ export const QueryBuilder = observer(
676
676
  onClick={toggleShowFilterPanel}
677
677
  disabled={
678
678
  !queryBuilderState.isQuerySupported ||
679
+ queryBuilderState.sourceAccessor !== undefined ||
679
680
  Array.from(
680
681
  queryBuilderState.filterState.nodes.values(),
681
682
  ).length > 0
@@ -115,17 +115,20 @@ export const QueryBuilderClassSelector = observer(
115
115
  value: _class,
116
116
  label: generateClassLabel(_class, queryBuilderState),
117
117
  })) as PackageableElementOption<Class>[];
118
- const selectedClassOption = queryBuilderState.class
118
+ const selectedClassOption = queryBuilderState.sourceClass
119
119
  ? ({
120
- value: queryBuilderState.class,
121
- label: generateClassLabel(queryBuilderState.class, queryBuilderState),
120
+ value: queryBuilderState.sourceClass,
121
+ label: generateClassLabel(
122
+ queryBuilderState.sourceClass,
123
+ queryBuilderState,
124
+ ),
122
125
  } as PackageableElementOption<Class>)
123
126
  : null;
124
127
  const changeClass = (val: PackageableElementOption<Class>): void => {
125
- if (val.value === queryBuilderState.class) {
128
+ if (val.value === queryBuilderState.sourceElement) {
126
129
  return;
127
130
  }
128
- queryBuilderState.changeClass(val.value);
131
+ queryBuilderState.changeSourceElement(val.value);
129
132
  onClassChange?.(val.value);
130
133
  };
131
134
 
@@ -222,7 +225,7 @@ const BasicQueryBuilderSetup = observer(
222
225
  : null;
223
226
  const changeMapping = (val: PackageableElementOption<Mapping>): void => {
224
227
  if (
225
- !queryBuilderState.class ||
228
+ !queryBuilderState.sourceElement ||
226
229
  val.value === queryBuilderState.executionContextState.mapping ||
227
230
  queryBuilderState.isMappingReadOnly
228
231
  ) {
@@ -291,7 +294,8 @@ const BasicQueryBuilderSetup = observer(
291
294
  : 'No mapping found'
292
295
  }
293
296
  disabled={
294
- queryBuilderState.isMappingReadOnly || !queryBuilderState.class
297
+ queryBuilderState.isMappingReadOnly ||
298
+ !queryBuilderState.sourceElement
295
299
  }
296
300
  options={mappingOptions}
297
301
  onChange={changeMapping}
@@ -326,7 +330,7 @@ const BasicQueryBuilderSetup = observer(
326
330
  }
327
331
  disabled={
328
332
  queryBuilderState.isRuntimeReadOnly ||
329
- !queryBuilderState.class ||
333
+ !queryBuilderState.sourceElement ||
330
334
  !queryBuilderState.executionContextState.mapping
331
335
  }
332
336
  options={runtimeOptions}
@@ -40,6 +40,7 @@ import {
40
40
  GraphManagerState,
41
41
  PackageableElementExplicitReference,
42
42
  RuntimePointer,
43
+ Core_GraphManagerPreset,
43
44
  } from '@finos/legend-graph';
44
45
  import {
45
46
  ApplicationStoreProvider,
@@ -61,7 +62,11 @@ import {
61
62
  } from '../../stores/__test-utils__/QueryBuilderStateTestUtils.js';
62
63
  import { STYLE_PREFIX, STYLE_PREFIX__DARK } from '@finos/legend-art';
63
64
  import { expect } from '@jest/globals';
64
- import { QueryBuilderAdvancedWorkflowState } from '../../stores/query-workflow/QueryBuilderWorkFlowState.js';
65
+ import {
66
+ QueryBuilderActionConfig,
67
+ QueryBuilderAdvancedWorkflowState,
68
+ } from '../../stores/query-workflow/QueryBuilderWorkFlowState.js';
69
+ import { AccessorQueryBuilderState } from '../../stores/workflows/accessor/AccessorQueryBuilderState.js';
65
70
  import { Route, Routes } from '@finos/legend-application/browser';
66
71
  import {
67
72
  BasicValueSpecificationEditor,
@@ -301,6 +306,73 @@ export const TEST__setUpQueryBuilder = async (
301
306
  };
302
307
  };
303
308
 
309
+ export const TEST__setUpAccessorQueryBuilder = async (
310
+ entities: Entity[],
311
+ ): Promise<{
312
+ renderResult: RenderResult;
313
+ queryBuilderState: AccessorQueryBuilderState;
314
+ }> => {
315
+ const pluginManager = TEST__LegendApplicationPluginManager.create();
316
+ pluginManager
317
+ .usePresets([
318
+ new Core_GraphManagerPreset(),
319
+ new QueryBuilder_GraphManagerPreset(),
320
+ ])
321
+ .install();
322
+ const graphManagerState = new GraphManagerState(
323
+ pluginManager,
324
+ new LogService(),
325
+ );
326
+ await graphManagerState.graphManager.initialize({
327
+ env: 'test',
328
+ tabSize: 2,
329
+ clientConfig: {},
330
+ });
331
+ await graphManagerState.initializeSystem();
332
+ await graphManagerState.graphManager.buildGraph(
333
+ graphManagerState.graph,
334
+ entities,
335
+ graphManagerState.graphBuildState,
336
+ );
337
+
338
+ const MOCK__applicationStore = new ApplicationStore(
339
+ TEST__getGenericApplicationConfig(),
340
+ pluginManager,
341
+ );
342
+
343
+ const queryBuilderState = new AccessorQueryBuilderState(
344
+ MOCK__applicationStore,
345
+ undefined,
346
+ graphManagerState,
347
+ QueryBuilderAdvancedWorkflowState.INSTANCE,
348
+ QueryBuilderActionConfig.INSTANCE,
349
+ );
350
+
351
+ const renderResult = render(
352
+ <ApplicationStoreProvider store={MOCK__applicationStore}>
353
+ <TEST__BrowserEnvironmentProvider initialEntries={['/']}>
354
+ <ApplicationFrameworkProvider>
355
+ <Routes>
356
+ <Route
357
+ path="*"
358
+ element={<QueryBuilder queryBuilderState={queryBuilderState} />}
359
+ />
360
+ </Routes>
361
+ </ApplicationFrameworkProvider>
362
+ </TEST__BrowserEnvironmentProvider>
363
+ </ApplicationStoreProvider>,
364
+ );
365
+
366
+ await waitFor(() =>
367
+ renderResult.getByTestId(QUERY_BUILDER_TEST_ID.QUERY_BUILDER),
368
+ );
369
+
370
+ return {
371
+ renderResult,
372
+ queryBuilderState,
373
+ };
374
+ };
375
+
304
376
  export const TEST__setUpBasicValueSpecificationEditor = (
305
377
  pluginManager: TEST__LegendApplicationPluginManager,
306
378
  props: {
@@ -85,17 +85,18 @@ import {
85
85
  PrimitiveType,
86
86
  PrecisePrimitiveType,
87
87
  PRIMITIVE_TYPE,
88
+ PRECISE_PRIMITIVE_TYPE,
88
89
  Enumeration,
89
90
  TYPE_CAST_TOKEN,
90
91
  getMultiplicityDescription,
91
92
  isElementDeprecated,
93
+ extractElementNameFromPath,
92
94
  } from '@finos/legend-graph';
93
95
  import { useApplicationStore } from '@finos/legend-application';
94
96
  import { QUERY_BUILDER_TEST_ID } from '../../__lib__/QueryBuilderTesting.js';
95
97
  import {
96
98
  debounce,
97
99
  filterByType,
98
- guaranteeNonNullable,
99
100
  isNonNullable,
100
101
  prettyCONSTName,
101
102
  } from '@finos/legend-shared';
@@ -107,6 +108,7 @@ import { getStandardPrimitiveTypeEquivalent } from '../../stores/QueryBuilderVal
107
108
  import { QueryBuilderRootClassInfoTooltip } from '../shared/QueryBuilderRootClassInfoTooltip.js';
108
109
  import { QueryBuilderTelemetryHelper } from '../../__lib__/QueryBuilderTelemetryHelper.js';
109
110
  import type { QueryBuilderPropertySearchState } from '../../stores/explorer/QueryBuilderPropertySearchState.js';
111
+ import { QueryBuilderRelationExplorerPanel } from './QueryBuilderRelationExplorerPanel.js';
110
112
 
111
113
  export const checkForDeprecatedNode = (
112
114
  node: QueryBuilderExplorerTreeNodeData,
@@ -420,8 +422,34 @@ const QueryBuilderExplorerContextMenu = observer(
420
422
  }),
421
423
  );
422
424
 
425
+ const PRECISE_PRIMITIVE_STRING_TYPES = new Set([
426
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.VARCHAR),
427
+ ]);
428
+
429
+ const PRECISE_PRIMITIVE_NUMBER_TYPES = new Set([
430
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.INT),
431
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.TINY_INT),
432
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.U_TINY_INT),
433
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.SMALL_INT),
434
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.U_SMALL_INT),
435
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.U_INT),
436
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.BIG_INT),
437
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.U_BIG_INT),
438
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.FLOAT),
439
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.DOUBLE),
440
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.NUMERIC),
441
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.DECIMAL),
442
+ ]);
443
+
444
+ const PRECISE_PRIMITIVE_TIME_TYPES = new Set([
445
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.TIMESTAMP),
446
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.STRICTDATE),
447
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.DATETIME),
448
+ extractElementNameFromPath(PRECISE_PRIMITIVE_TYPE.STRICTTIME),
449
+ ]);
450
+
423
451
  export const renderPropertyTypeIcon = (type: Type): React.ReactNode => {
424
- if (type instanceof PrimitiveType || type instanceof PrecisePrimitiveType) {
452
+ if (type instanceof PrimitiveType || type instanceof PrimitiveType) {
425
453
  const typeName = getStandardPrimitiveTypeEquivalent(type) ?? type.path;
426
454
  if (typeName === PRIMITIVE_TYPE.STRING) {
427
455
  return (
@@ -449,6 +477,20 @@ export const renderPropertyTypeIcon = (type: Type): React.ReactNode => {
449
477
  <ClockIcon className="query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time" />
450
478
  );
451
479
  }
480
+ } else if (type instanceof PrecisePrimitiveType) {
481
+ if (PRECISE_PRIMITIVE_STRING_TYPES.has(type.name)) {
482
+ return (
483
+ <StringTypeIcon className="query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string" />
484
+ );
485
+ } else if (PRECISE_PRIMITIVE_NUMBER_TYPES.has(type.name)) {
486
+ return (
487
+ <HashtagIcon className="query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number" />
488
+ );
489
+ } else if (PRECISE_PRIMITIVE_TIME_TYPES.has(type.name)) {
490
+ return (
491
+ <ClockIcon className="query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time" />
492
+ );
493
+ }
452
494
  }
453
495
  return getClassPropertyIcon(type);
454
496
  };
@@ -507,6 +549,7 @@ const QueryBuilderExplorerTreeNodeContainer = observer(
507
549
  node instanceof QueryBuilderExplorerTreePropertyNodeData &&
508
550
  node.type instanceof PrimitiveType &&
509
551
  !node.isPartOfDerivedPropertyBranch;
552
+
510
553
  const nodeExpandIcon = isExpandable ? (
511
554
  node.isOpen ? (
512
555
  <ChevronDownIcon />
@@ -611,18 +654,20 @@ const QueryBuilderExplorerTreeNodeContainer = observer(
611
654
  {node.label}
612
655
  </div>
613
656
  <div className="query-builder-explorer-tree__node__actions">
614
- <QueryBuilderRootClassInfoTooltip
615
- _class={guaranteeNonNullable(queryBuilderState.class)}
616
- >
617
- <div
618
- className="query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info"
619
- data-testid={
620
- QUERY_BUILDER_TEST_ID.QUERY_BUILDER_TOOLTIP_ICON
621
- }
657
+ {queryBuilderState.sourceClass && (
658
+ <QueryBuilderRootClassInfoTooltip
659
+ _class={queryBuilderState.sourceClass}
622
660
  >
623
- <InfoCircleIcon />
624
- </div>
625
- </QueryBuilderRootClassInfoTooltip>
661
+ <div
662
+ className="query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info"
663
+ data-testid={
664
+ QUERY_BUILDER_TEST_ID.QUERY_BUILDER_TOOLTIP_ICON
665
+ }
666
+ >
667
+ <InfoCircleIcon />
668
+ </div>
669
+ </QueryBuilderRootClassInfoTooltip>
670
+ )}
626
671
  </div>
627
672
  </>
628
673
  )}
@@ -1000,7 +1045,7 @@ const QueryBuilderExplorerSearchInput = observer(
1000
1045
  }),
1001
1046
  );
1002
1047
 
1003
- export const QueryBuilderExplorerPanel = observer(
1048
+ const QueryBuilderClassExplorerPanel = observer(
1004
1049
  (props: { queryBuilderState: QueryBuilderState }) => {
1005
1050
  const { queryBuilderState } = props;
1006
1051
  const searchInputRef = useRef<HTMLInputElement>(null);
@@ -1159,3 +1204,21 @@ export const QueryBuilderExplorerPanel = observer(
1159
1204
  );
1160
1205
  },
1161
1206
  );
1207
+
1208
+ export const QueryBuilderExplorerPanel = observer(
1209
+ (props: { queryBuilderState: QueryBuilderState }) => {
1210
+ const { queryBuilderState } = props;
1211
+ const accessor = queryBuilderState.sourceAccessor;
1212
+ if (accessor) {
1213
+ return (
1214
+ <QueryBuilderRelationExplorerPanel
1215
+ queryBuilderState={queryBuilderState}
1216
+ accessor={accessor}
1217
+ />
1218
+ );
1219
+ }
1220
+ return (
1221
+ <QueryBuilderClassExplorerPanel queryBuilderState={queryBuilderState} />
1222
+ );
1223
+ },
1224
+ );