@finos/legend-query-builder 0.4.3 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (242) hide show
  1. package/lib/components/QueryBuilder.d.ts.map +1 -1
  2. package/lib/components/QueryBuilder.js +11 -2
  3. package/lib/components/QueryBuilder.js.map +1 -1
  4. package/lib/components/QueryBuilderConstantExpressionPanel.d.ts +23 -0
  5. package/lib/components/QueryBuilderConstantExpressionPanel.d.ts.map +1 -0
  6. package/lib/components/QueryBuilderConstantExpressionPanel.js +104 -0
  7. package/lib/components/QueryBuilderConstantExpressionPanel.js.map +1 -0
  8. package/lib/components/QueryBuilderDiffPanel.d.ts.map +1 -1
  9. package/lib/components/QueryBuilderDiffPanel.js +1 -2
  10. package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
  11. package/lib/components/QueryBuilderParametersPanel.d.ts +0 -9
  12. package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
  13. package/lib/components/QueryBuilderParametersPanel.js +10 -30
  14. package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
  15. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
  16. package/lib/components/QueryBuilderPropertyExpressionEditor.js +60 -12
  17. package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
  18. package/lib/components/QueryBuilderSideBar.d.ts +2 -1
  19. package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
  20. package/lib/components/QueryBuilderSideBar.js +6 -14
  21. package/lib/components/QueryBuilderSideBar.js.map +1 -1
  22. package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
  23. package/lib/components/explorer/QueryBuilderMilestoningEditor.js +12 -18
  24. package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
  25. package/lib/components/fetch-structure/{QueryBuilderOLAPGroupByPanel_.d.ts → QueryBuilderOLAPGroupByPanel.d.ts} +2 -2
  26. package/lib/components/fetch-structure/QueryBuilderOLAPGroupByPanel.d.ts.map +1 -0
  27. package/lib/components/fetch-structure/{QueryBuilderOLAPGroupByPanel_.js → QueryBuilderOLAPGroupByPanel.js} +2 -2
  28. package/lib/components/fetch-structure/QueryBuilderOLAPGroupByPanel.js.map +1 -0
  29. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  30. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +9 -11
  31. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  32. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js +1 -1
  33. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js.map +1 -1
  34. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
  35. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +4 -4
  36. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
  37. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
  38. package/lib/components/filter/QueryBuilderFilterPanel.js +8 -9
  39. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  40. package/lib/components/shared/BasicValueSpecificationEditor.d.ts +12 -1
  41. package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
  42. package/lib/components/shared/BasicValueSpecificationEditor.js +11 -7
  43. package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
  44. package/lib/components/shared/LambdaEditor.d.ts.map +1 -1
  45. package/lib/components/shared/LambdaEditor.js +1 -15
  46. package/lib/components/shared/LambdaEditor.js.map +1 -1
  47. package/lib/components/shared/QueryBuilderVariableSelector.d.ts +36 -0
  48. package/lib/components/shared/QueryBuilderVariableSelector.d.ts.map +1 -0
  49. package/lib/components/shared/QueryBuilderVariableSelector.js +50 -0
  50. package/lib/components/shared/QueryBuilderVariableSelector.js.map +1 -0
  51. package/lib/components/watermark/QueryBuilderWatermark.d.ts.map +1 -1
  52. package/lib/components/watermark/QueryBuilderWatermark.js +9 -11
  53. package/lib/components/watermark/QueryBuilderWatermark.js.map +1 -1
  54. package/lib/graphManager/QueryBuilderHashUtils.d.ts +2 -0
  55. package/lib/graphManager/QueryBuilderHashUtils.d.ts.map +1 -1
  56. package/lib/graphManager/QueryBuilderHashUtils.js +2 -0
  57. package/lib/graphManager/QueryBuilderHashUtils.js.map +1 -1
  58. package/lib/index.css +17 -1
  59. package/lib/index.css.map +1 -1
  60. package/lib/package.json +8 -8
  61. package/lib/stores/QueryBuilderConfig.d.ts +1 -0
  62. package/lib/stores/QueryBuilderConfig.d.ts.map +1 -1
  63. package/lib/stores/QueryBuilderConfig.js +1 -0
  64. package/lib/stores/QueryBuilderConfig.js.map +1 -1
  65. package/lib/stores/QueryBuilderConstantsState.d.ts +43 -0
  66. package/lib/stores/QueryBuilderConstantsState.d.ts.map +1 -0
  67. package/lib/stores/QueryBuilderConstantsState.js +116 -0
  68. package/lib/stores/QueryBuilderConstantsState.js.map +1 -0
  69. package/lib/stores/QueryBuilderParametersState.d.ts +0 -4
  70. package/lib/stores/QueryBuilderParametersState.d.ts.map +1 -1
  71. package/lib/stores/QueryBuilderParametersState.js +0 -1
  72. package/lib/stores/QueryBuilderParametersState.js.map +1 -1
  73. package/lib/stores/QueryBuilderPropertyEditorState.d.ts +3 -10
  74. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
  75. package/lib/stores/QueryBuilderPropertyEditorState.js +6 -140
  76. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
  77. package/lib/stores/QueryBuilderResultState.d.ts +1 -2
  78. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  79. package/lib/stores/QueryBuilderResultState.js +7 -12
  80. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  81. package/lib/stores/QueryBuilderState.d.ts +9 -3
  82. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  83. package/lib/stores/QueryBuilderState.js +19 -4
  84. package/lib/stores/QueryBuilderState.js.map +1 -1
  85. package/lib/stores/QueryBuilderStateBuilder.d.ts +4 -3
  86. package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
  87. package/lib/stores/QueryBuilderStateBuilder.js +50 -42
  88. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
  89. package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
  90. package/lib/stores/QueryBuilderValueSpecificationBuilder.js +32 -29
  91. package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
  92. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -1
  93. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +14 -78
  94. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
  95. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
  96. package/lib/stores/QueryBuilderValueSpecificationHelper.js +4 -20
  97. package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
  98. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts +3 -3
  99. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts.map +1 -1
  100. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js +4 -4
  101. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js.map +1 -1
  102. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +1 -1
  103. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
  104. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +2 -2
  105. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
  106. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.d.ts +3 -3
  107. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.d.ts.map +1 -1
  108. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.js +6 -6
  109. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.js.map +1 -1
  110. package/lib/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByOperatorLoader_.d.ts → QueryBuilderOLAPGroupByOperatorLoader.d.ts} +1 -1
  111. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByOperatorLoader.d.ts.map +1 -0
  112. package/lib/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByOperatorLoader_.js → QueryBuilderOLAPGroupByOperatorLoader.js} +1 -1
  113. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByOperatorLoader.js.map +1 -0
  114. package/lib/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByState_.d.ts → QueryBuilderOLAPGroupByState.d.ts} +1 -1
  115. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByState.d.ts.map +1 -0
  116. package/lib/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByState_.js → QueryBuilderOLAPGroupByState.js} +1 -1
  117. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByState.js.map +1 -0
  118. package/lib/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByStateBuilder_.d.ts → QueryBuilderOLAPGroupByStateBuilder.d.ts} +3 -3
  119. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByStateBuilder.d.ts.map +1 -0
  120. package/lib/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByStateBuilder_.js → QueryBuilderOLAPGroupByStateBuilder.js} +4 -4
  121. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByStateBuilder.js.map +1 -0
  122. package/lib/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByValueSpecificationBuilder_.d.ts → QueryBuilderOLAPGroupByValueSpecificationBuilder.d.ts} +2 -2
  123. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByValueSpecificationBuilder.d.ts.map +1 -0
  124. package/lib/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByValueSpecificationBuilder_.js → QueryBuilderOLAPGroupByValueSpecificationBuilder.js} +2 -2
  125. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByValueSpecificationBuilder.js.map +1 -0
  126. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js +1 -1
  127. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -1
  128. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts +5 -5
  129. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -1
  130. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js +10 -10
  131. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
  132. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js +1 -1
  133. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
  134. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.d.ts +2 -2
  135. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.d.ts.map +1 -1
  136. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js +6 -4
  137. package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js.map +1 -1
  138. package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts +27 -0
  139. package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts.map +1 -0
  140. package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js +93 -0
  141. package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js.map +1 -0
  142. package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts +26 -0
  143. package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts.map +1 -0
  144. package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js +60 -0
  145. package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js.map +1 -0
  146. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts +70 -0
  147. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts.map +1 -0
  148. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js +199 -0
  149. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js.map +1 -0
  150. package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.d.ts +49 -0
  151. package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.d.ts.map +1 -0
  152. package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.js +24 -0
  153. package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.js.map +1 -0
  154. package/lib/stores/{QueryBuilderMilestoningState.d.ts → milestoning/QueryBuilderMilestoningState.d.ts} +6 -2
  155. package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts.map +1 -0
  156. package/lib/stores/{QueryBuilderMilestoningState.js → milestoning/QueryBuilderMilestoningState.js} +20 -20
  157. package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -0
  158. package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts +26 -0
  159. package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts.map +1 -0
  160. package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js +55 -0
  161. package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js.map +1 -0
  162. package/lib/stores/shared/LambdaParameterState.d.ts +14 -2
  163. package/lib/stores/shared/LambdaParameterState.d.ts.map +1 -1
  164. package/lib/stores/shared/LambdaParameterState.js +79 -6
  165. package/lib/stores/shared/LambdaParameterState.js.map +1 -1
  166. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts +3 -1
  167. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
  168. package/lib/stores/shared/ValueSpecificationEditorHelper.js +58 -2
  169. package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
  170. package/lib/stores/watermark/QueryBuilderWatermarkStateBuilder.d.ts +2 -2
  171. package/lib/stores/watermark/QueryBuilderWatermarkStateBuilder.d.ts.map +1 -1
  172. package/lib/stores/watermark/QueryBuilderWatermarkStateBuilder.js +2 -2
  173. package/lib/stores/watermark/QueryBuilderWatermarkStateBuilder.js.map +1 -1
  174. package/lib/stores/watermark/QueryBuilderWatermarkValueSpecificationBuilder.d.ts +2 -2
  175. package/lib/stores/watermark/QueryBuilderWatermarkValueSpecificationBuilder.d.ts.map +1 -1
  176. package/lib/stores/watermark/QueryBuilderWatermarkValueSpecificationBuilder.js +7 -4
  177. package/lib/stores/watermark/QueryBuilderWatermarkValueSpecificationBuilder.js.map +1 -1
  178. package/lib/stores/workflows/ServiceQueryBuilderState.js +1 -1
  179. package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
  180. package/package.json +15 -15
  181. package/src/components/QueryBuilder.tsx +38 -0
  182. package/src/components/QueryBuilderConstantExpressionPanel.tsx +284 -0
  183. package/src/components/QueryBuilderDiffPanel.tsx +0 -2
  184. package/src/components/QueryBuilderParametersPanel.tsx +24 -110
  185. package/src/components/QueryBuilderPropertyExpressionEditor.tsx +119 -36
  186. package/src/components/QueryBuilderSideBar.tsx +5 -22
  187. package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +29 -39
  188. package/src/components/fetch-structure/{QueryBuilderOLAPGroupByPanel_.tsx → QueryBuilderOLAPGroupByPanel.tsx} +1 -1
  189. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +18 -19
  190. package/src/components/fetch-structure/QueryBuilderPostTDSPanel.tsx +1 -1
  191. package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +9 -9
  192. package/src/components/filter/QueryBuilderFilterPanel.tsx +16 -17
  193. package/src/components/shared/BasicValueSpecificationEditor.tsx +47 -22
  194. package/src/components/shared/LambdaEditor.tsx +0 -15
  195. package/src/components/shared/QueryBuilderVariableSelector.tsx +186 -0
  196. package/src/components/watermark/QueryBuilderWatermark.tsx +19 -31
  197. package/src/graphManager/QueryBuilderHashUtils.ts +2 -0
  198. package/src/stores/QueryBuilderConfig.ts +1 -0
  199. package/src/stores/QueryBuilderConstantsState.ts +173 -0
  200. package/src/stores/QueryBuilderParametersState.ts +0 -6
  201. package/src/stores/QueryBuilderPropertyEditorState.ts +6 -235
  202. package/src/stores/QueryBuilderResultState.ts +19 -17
  203. package/src/stores/QueryBuilderState.ts +25 -4
  204. package/src/stores/QueryBuilderStateBuilder.ts +111 -52
  205. package/src/stores/QueryBuilderValueSpecificationBuilder.ts +48 -58
  206. package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +16 -105
  207. package/src/stores/QueryBuilderValueSpecificationHelper.ts +10 -29
  208. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts +5 -0
  209. package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +2 -2
  210. package/src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.ts +7 -0
  211. package/src/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByOperatorLoader_.ts → QueryBuilderOLAPGroupByOperatorLoader.ts} +0 -0
  212. package/src/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByState_.ts → QueryBuilderOLAPGroupByState.ts} +0 -0
  213. package/src/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByStateBuilder_.ts → QueryBuilderOLAPGroupByStateBuilder.ts} +3 -1
  214. package/src/stores/fetch-structure/tds/olapGroupBy/{QueryBuilderOLAPGroupByValueSpecificationBuilder_.ts → QueryBuilderOLAPGroupByValueSpecificationBuilder.ts} +1 -1
  215. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.ts +1 -1
  216. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.ts +11 -0
  217. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +1 -1
  218. package/src/stores/filter/QueryBuilderFilterValueSpecificationBuilder.ts +10 -5
  219. package/src/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.ts +165 -0
  220. package/src/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.ts +96 -0
  221. package/src/stores/milestoning/QueryBuilderMilestoningHelper.ts +311 -0
  222. package/src/stores/milestoning/QueryBuilderMilestoningImplementation.ts +77 -0
  223. package/src/stores/{QueryBuilderMilestoningState.ts → milestoning/QueryBuilderMilestoningState.ts} +55 -39
  224. package/src/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.ts +88 -0
  225. package/src/stores/shared/LambdaParameterState.ts +151 -10
  226. package/src/stores/shared/ValueSpecificationEditorHelper.ts +84 -2
  227. package/src/stores/watermark/QueryBuilderWatermarkStateBuilder.ts +3 -0
  228. package/src/stores/watermark/QueryBuilderWatermarkValueSpecificationBuilder.ts +11 -5
  229. package/src/stores/workflows/ServiceQueryBuilderState.ts +1 -1
  230. package/tsconfig.json +14 -6
  231. package/lib/components/fetch-structure/QueryBuilderOLAPGroupByPanel_.d.ts.map +0 -1
  232. package/lib/components/fetch-structure/QueryBuilderOLAPGroupByPanel_.js.map +0 -1
  233. package/lib/stores/QueryBuilderMilestoningState.d.ts.map +0 -1
  234. package/lib/stores/QueryBuilderMilestoningState.js.map +0 -1
  235. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByOperatorLoader_.d.ts.map +0 -1
  236. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByOperatorLoader_.js.map +0 -1
  237. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByStateBuilder_.d.ts.map +0 -1
  238. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByStateBuilder_.js.map +0 -1
  239. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByState_.d.ts.map +0 -1
  240. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByState_.js.map +0 -1
  241. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByValueSpecificationBuilder_.d.ts.map +0 -1
  242. package/lib/stores/fetch-structure/tds/olapGroupBy/QueryBuilderOLAPGroupByValueSpecificationBuilder_.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-query-builder",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "description": "Legend query builder core",
5
5
  "keywords": [
6
6
  "legend",
@@ -44,17 +44,17 @@
44
44
  "@ag-grid-community/client-side-row-model": "28.2.1",
45
45
  "@ag-grid-community/core": "28.2.1",
46
46
  "@ag-grid-community/react": "28.2.1",
47
- "@finos/legend-application": "10.0.7",
48
- "@finos/legend-art": "5.0.4",
49
- "@finos/legend-graph": "20.0.1",
50
- "@finos/legend-server-depot": "4.1.5",
51
- "@finos/legend-shared": "6.2.1",
52
- "@finos/legend-storage": "3.0.16",
47
+ "@finos/legend-application": "10.0.9",
48
+ "@finos/legend-art": "5.0.6",
49
+ "@finos/legend-graph": "20.1.0",
50
+ "@finos/legend-server-depot": "4.1.7",
51
+ "@finos/legend-shared": "6.2.3",
52
+ "@finos/legend-storage": "3.0.18",
53
53
  "@testing-library/react": "13.4.0",
54
54
  "@types/papaparse": "5.3.5",
55
- "@types/react": "18.0.24",
56
- "@types/react-dom": "18.0.8",
57
- "mobx": "6.6.2",
55
+ "@types/react": "18.0.25",
56
+ "@types/react-dom": "18.0.9",
57
+ "mobx": "6.7.0",
58
58
  "mobx-react-lite": "3.4.0",
59
59
  "monaco-editor": "0.34.1",
60
60
  "papaparse": "5.3.2",
@@ -64,14 +64,14 @@
64
64
  "serializr": "3.0.1"
65
65
  },
66
66
  "devDependencies": {
67
- "@finos/legend-dev-utils": "2.0.24",
68
- "@jest/globals": "29.2.2",
67
+ "@finos/legend-dev-utils": "2.0.26",
68
+ "@jest/globals": "29.3.1",
69
69
  "cross-env": "7.0.3",
70
- "eslint": "8.26.0",
71
- "jest": "29.2.2",
70
+ "eslint": "8.27.0",
71
+ "jest": "29.3.1",
72
72
  "npm-run-all": "4.1.5",
73
73
  "rimraf": "3.0.2",
74
- "sass": "1.55.0",
74
+ "sass": "1.56.1",
75
75
  "typescript": "4.8.4"
76
76
  },
77
77
  "peerDependencies": {
@@ -56,6 +56,7 @@ import { guaranteeType } from '@finos/legend-shared';
56
56
  import { QueryBuilderGraphFetchTreeState } from '../stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js';
57
57
  import { QueryBuilderPostTDSPanel } from './fetch-structure/QueryBuilderPostTDSPanel.js';
58
58
  import { QueryBuilderWatermarkEditor } from './watermark/QueryBuilderWatermark.js';
59
+ import { QueryBuilderConstantExpressionPanel } from './QueryBuilderConstantExpressionPanel.js';
59
60
 
60
61
  export const QUERY_BUILDER_BACKDROP_CONTAINER_ID =
61
62
  'query-builder.backdrop-container';
@@ -187,6 +188,11 @@ export const QueryBuilder = observer(
187
188
  !queryBuilderState.showParametersPanel,
188
189
  );
189
190
  };
191
+ const toggleConstantPanel = (): void => {
192
+ queryBuilderState.constantState.setShowConstantPanel(
193
+ !queryBuilderState.constantState.showConstantPanel,
194
+ );
195
+ };
190
196
  const toggleShowFilterPanel = (): void => {
191
197
  queryBuilderState.filterState.setShowPanel(
192
198
  !queryBuilderState.filterState.showPanel,
@@ -305,6 +311,27 @@ export const QueryBuilder = observer(
305
311
  </MenuContentItemLabel>
306
312
  </MenuContentItem>
307
313
  )}
314
+ {
315
+ <MenuContentItem
316
+ onClick={toggleConstantPanel}
317
+ disabled={
318
+ !queryBuilderState.isQuerySupported ||
319
+ queryBuilderState.constantState.constants.length >
320
+ 0
321
+ }
322
+ >
323
+ <MenuContentItemIcon>
324
+ {queryBuilderState.constantState
325
+ .showConstantPanel ? (
326
+ <CheckIcon />
327
+ ) : null}
328
+ </MenuContentItemIcon>
329
+ <MenuContentItemLabel className="query-builder__sub-header__menu-content">
330
+ Show Constant(s)
331
+ </MenuContentItemLabel>
332
+ </MenuContentItem>
333
+ }
334
+
308
335
  <MenuContentItem
309
336
  onClick={toggleShowFilterPanel}
310
337
  disabled={
@@ -441,6 +468,17 @@ export const QueryBuilder = observer(
441
468
  />
442
469
  </ResizablePanel>
443
470
  )}
471
+ {/* constants panel */}
472
+ {queryBuilderState.constantState
473
+ .showConstantPanel && <ResizablePanelSplitter />}
474
+ {queryBuilderState.constantState
475
+ .showConstantPanel && (
476
+ <ResizablePanel minSize={40} direction={-1}>
477
+ <QueryBuilderConstantExpressionPanel
478
+ queryBuilderState={queryBuilderState}
479
+ />
480
+ </ResizablePanel>
481
+ )}
444
482
  </ResizablePanelGroup>
445
483
  </QueryBuilderSidebar>
446
484
  </ResizablePanel>
@@ -0,0 +1,284 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ type PackageableElementOption,
19
+ buildElementOption,
20
+ getPackageableElementOptionFormatter,
21
+ } from '@finos/legend-application';
22
+ import {
23
+ BlankPanelPlaceholder,
24
+ CustomSelectorInput,
25
+ Dialog,
26
+ InfoCircleIcon,
27
+ Modal,
28
+ ModalBody,
29
+ ModalFooter,
30
+ ModalHeader,
31
+ PanelFormSection,
32
+ PanelFormTextField,
33
+ PlusIcon,
34
+ } from '@finos/legend-art';
35
+ import {
36
+ type Type,
37
+ type ValueSpecification,
38
+ PrimitiveType,
39
+ VariableExpression,
40
+ Multiplicity,
41
+ } from '@finos/legend-graph';
42
+ import { generateEnumerableNameFromToken } from '@finos/legend-shared';
43
+ import { observer } from 'mobx-react-lite';
44
+ import { DEFAULT_CONSTANT_VARIABLE_NAME } from '../stores/QueryBuilderConfig.js';
45
+ import type { QueryBuilderState } from '../stores/QueryBuilderState.js';
46
+ import { QueryBuilderConstantExpressionState } from '../stores/QueryBuilderConstantsState.js';
47
+ import { buildDefaultInstanceValue } from '../stores/shared/ValueSpecificationEditorHelper.js';
48
+ import { variableExpression_setName } from '../stores/shared/ValueSpecificationModifierHelper.js';
49
+ import { BasicValueSpecificationEditor } from './shared/BasicValueSpecificationEditor.js';
50
+ import { VariableViewer } from './shared/QueryBuilderVariableSelector.js';
51
+
52
+ // Note: We currently only allow constant variables for primitive types of multiplicity ONE.
53
+ // This is why we don't show multiplicity in the editor.
54
+ const QueryBuilderConstantExpressionEditor = observer(
55
+ (props: { constantState: QueryBuilderConstantExpressionState }) => {
56
+ const { constantState } = props;
57
+ const queryBuilderState = constantState.queryBuilderState;
58
+ const applicationStore = queryBuilderState.applicationStore;
59
+ const variableState = queryBuilderState.constantState;
60
+ const varExpression = constantState.variable;
61
+ const variableName = varExpression.name;
62
+ const allVariableNames = queryBuilderState.allVariableNames;
63
+ const isCreating = !variableState.constants.includes(constantState);
64
+ const valueSpec = constantState.value;
65
+ const variableType =
66
+ constantState.value.genericType?.value.rawType ?? PrimitiveType.STRING;
67
+ const selectedType = buildElementOption(variableType);
68
+ const close = (): void => {
69
+ variableState.setSelectedConstant(undefined);
70
+ };
71
+ const changeType = (val: PackageableElementOption<Type>): void => {
72
+ if (variableType !== val.value) {
73
+ constantState.changeValSpecType(val.value);
74
+ }
75
+ };
76
+ const typeOptions: PackageableElementOption<Type>[] =
77
+ queryBuilderState.graphManagerState.graph.primitiveTypes
78
+ .map(buildElementOption)
79
+ .concat(
80
+ queryBuilderState.graphManagerState.graph.enumerations.map(
81
+ buildElementOption,
82
+ ),
83
+ );
84
+ const validationMessage = !variableName
85
+ ? `Constant Name can't be empty`
86
+ : allVariableNames.filter((e) => e === variableName).length >
87
+ (isCreating ? 0 : 1)
88
+ ? 'Constant Name Already Exists'
89
+ : undefined;
90
+ const onAction = (): void => {
91
+ if (isCreating) {
92
+ variableState.addConstant(constantState);
93
+ }
94
+ close();
95
+ };
96
+ const resetConstantValue = (): void => {
97
+ const valSpec = buildDefaultInstanceValue(
98
+ queryBuilderState.graphManagerState.graph,
99
+ variableType,
100
+ );
101
+ constantState.setValueSpec(valSpec);
102
+ };
103
+
104
+ return (
105
+ <Dialog
106
+ open={Boolean(constantState)}
107
+ onClose={close}
108
+ classes={{
109
+ root: 'editor-modal__root-container',
110
+ container: 'editor-modal__container',
111
+ paper: 'editor-modal__content',
112
+ }}
113
+ >
114
+ <Modal
115
+ darkMode={true}
116
+ className="editor-modal query-builder__variables__modal"
117
+ >
118
+ <ModalHeader
119
+ title={`${isCreating ? 'Create Constant' : 'Update Constant'}`}
120
+ />
121
+ <ModalBody className="query-builder__variables__modal__body">
122
+ <PanelFormTextField
123
+ name="Constant Name"
124
+ prompt="Name of constant. Should be descriptive of its purpose."
125
+ update={(value: string | undefined): void =>
126
+ variableExpression_setName(varExpression, value ?? '')
127
+ }
128
+ value={varExpression.name}
129
+ errorMessage={validationMessage}
130
+ isReadOnly={false}
131
+ />
132
+ <PanelFormSection>
133
+ <div className="panel__content__form__section__header__label">
134
+ Type
135
+ </div>
136
+ <div className="panel__content__form__section__header__prompt">
137
+ Data type of the parameter.
138
+ </div>
139
+ <CustomSelectorInput
140
+ placeholder="Choose a type..."
141
+ options={typeOptions}
142
+ onChange={changeType}
143
+ value={selectedType}
144
+ darkMode={!applicationStore.TEMPORARY__isLightThemeEnabled}
145
+ formatOptionLabel={getPackageableElementOptionFormatter({
146
+ darkMode: !applicationStore.TEMPORARY__isLightThemeEnabled,
147
+ })}
148
+ />
149
+ </PanelFormSection>
150
+ <PanelFormSection>
151
+ <div className="panel__content__form__section__header__label">
152
+ Value
153
+ </div>
154
+ <div className="query-builder__variable-editor">
155
+ <BasicValueSpecificationEditor
156
+ valueSpecification={valueSpec}
157
+ setValueSpecification={(val: ValueSpecification): void => {
158
+ constantState.setValueSpec(val);
159
+ }}
160
+ graph={queryBuilderState.graphManagerState.graph}
161
+ obseverContext={queryBuilderState.observableContext}
162
+ typeCheckOption={{
163
+ expectedType: variableType,
164
+ match: variableType === PrimitiveType.DATETIME,
165
+ }}
166
+ resetValue={resetConstantValue}
167
+ />
168
+ </div>
169
+ </PanelFormSection>
170
+ </ModalBody>
171
+ <ModalFooter>
172
+ {isCreating && (
173
+ <button
174
+ className="btn modal__footer__close-btn btn--dark"
175
+ onClick={onAction}
176
+ disabled={Boolean(validationMessage)}
177
+ >
178
+ Create
179
+ </button>
180
+ )}
181
+ <button className="btn modal__footer__close-btn" onClick={close}>
182
+ Close
183
+ </button>
184
+ </ModalFooter>
185
+ </Modal>
186
+ </Dialog>
187
+ );
188
+ },
189
+ );
190
+
191
+ export const QueryBuilderConstantExpressionPanel = observer(
192
+ (props: { queryBuilderState: QueryBuilderState }) => {
193
+ const { queryBuilderState } = props;
194
+ const constantState = queryBuilderState.constantState;
195
+ const graph = queryBuilderState.graphManagerState.graph;
196
+ const isReadOnly = !queryBuilderState.isQuerySupported;
197
+ const varNames = queryBuilderState.allVariableNames;
198
+ const addConstant = (): void => {
199
+ if (!isReadOnly) {
200
+ const defaultVal = buildDefaultInstanceValue(
201
+ graph,
202
+ PrimitiveType.STRING,
203
+ );
204
+ const constantName = generateEnumerableNameFromToken(
205
+ varNames,
206
+ DEFAULT_CONSTANT_VARIABLE_NAME,
207
+ );
208
+ const variableEx = new VariableExpression(
209
+ constantName,
210
+ Multiplicity.ONE,
211
+ );
212
+ variableEx.genericType = defaultVal.genericType;
213
+ const constState = new QueryBuilderConstantExpressionState(
214
+ queryBuilderState,
215
+ variableEx,
216
+ defaultVal,
217
+ );
218
+ constantState.setSelectedConstant(constState);
219
+ }
220
+ };
221
+
222
+ return (
223
+ <div className="panel query-builder__variables">
224
+ <div className="panel__header">
225
+ <div className="panel__header__title">
226
+ <div className="panel__header__title__label">constants</div>
227
+ <div
228
+ className="service-editor__pattern__parameters__header__info"
229
+ title={`Constants are static values set to a variable name that can be leveraged within your query. They remain the same for ALL executions`}
230
+ >
231
+ <InfoCircleIcon />
232
+ </div>
233
+ </div>
234
+ {!isReadOnly && (
235
+ <div className="panel__header__actions">
236
+ <button
237
+ className="panel__header__action"
238
+ tabIndex={-1}
239
+ onClick={addConstant}
240
+ title="Add Constant"
241
+ >
242
+ <PlusIcon />
243
+ </button>
244
+ </div>
245
+ )}
246
+ </div>
247
+ <div className="panel__content query-builder__variables__content">
248
+ <>
249
+ {Boolean(queryBuilderState.constantState.constants) &&
250
+ queryBuilderState.constantState.constants.map((constState) => (
251
+ <VariableViewer
252
+ key={constState.uuid}
253
+ variable={constState.variable}
254
+ constantValue={constState.value}
255
+ actions={{
256
+ editVariable: () =>
257
+ constantState.setSelectedConstant(constState),
258
+ deleteVariable: () =>
259
+ constantState.removeConstant(constState),
260
+ }}
261
+ isReadOnly={isReadOnly}
262
+ />
263
+ ))}
264
+ {!constantState.constants.length && (
265
+ <BlankPanelPlaceholder
266
+ text="Add a Constants"
267
+ disabled={isReadOnly}
268
+ onClick={addConstant}
269
+ clickActionType="add"
270
+ previewText="No constants"
271
+ tooltipText="Click to add a new constant"
272
+ />
273
+ )}
274
+ </>
275
+ </div>
276
+ {constantState.selectedConstant && (
277
+ <QueryBuilderConstantExpressionEditor
278
+ constantState={constantState.selectedConstant}
279
+ />
280
+ )}
281
+ </div>
282
+ );
283
+ },
284
+ );
@@ -15,7 +15,6 @@
15
15
  */
16
16
 
17
17
  import {
18
- createPassThroughOnKeyHandler,
19
18
  EDITOR_LANGUAGE,
20
19
  EDITOR_THEME,
21
20
  TAB_SIZE,
@@ -70,7 +69,6 @@ const TextDiffView = observer(
70
69
  readOnly: true,
71
70
  wordWrap: 'on',
72
71
  });
73
- _editor.getOriginalEditor().onKeyDown(createPassThroughOnKeyHandler());
74
72
  setEditor(_editor);
75
73
  }
76
74
  }, [applicationStore, editor]);
@@ -20,23 +20,15 @@ import {
20
20
  Dialog,
21
21
  BlankPanelContent,
22
22
  CustomSelectorInput,
23
- PencilIcon,
24
- TimesIcon,
25
- DollarIcon,
26
23
  PlusIcon,
27
- DragPreviewLayer,
28
- useDragPreviewLayer,
29
24
  BlankPanelPlaceholder,
30
25
  Modal,
31
26
  ModalBody,
32
27
  ModalFooter,
33
28
  ModalHeader,
34
29
  PanelFormTextField,
30
+ InfoCircleIcon,
35
31
  } from '@finos/legend-art';
36
- import {
37
- type QueryBuilderParameterDragSource,
38
- QUERY_BUILDER_PARAMETER_DND_TYPE,
39
- } from '../stores/QueryBuilderParametersState.js';
40
32
  import {
41
33
  type Type,
42
34
  VariableExpression,
@@ -52,15 +44,12 @@ import {
52
44
  getPackageableElementOptionFormatter,
53
45
  useApplicationStore,
54
46
  } from '@finos/legend-application';
55
- import { useDrag } from 'react-dnd';
56
47
  import { generateEnumerableNameFromToken } from '@finos/legend-shared';
57
48
  import { DEFAULT_VARIABLE_NAME } from '../stores/QueryBuilderConfig.js';
58
- import {
59
- valueSpecification_setMultiplicity,
60
- variableExpression_setName,
61
- } from '../stores/shared/ValueSpecificationModifierHelper.js';
49
+ import { variableExpression_setName } from '../stores/shared/ValueSpecificationModifierHelper.js';
62
50
  import { LambdaParameterState } from '../stores/shared/LambdaParameterState.js';
63
51
  import { LambdaParameterValuesEditor } from './shared/LambdaParameterValuesEditor.js';
52
+ import { VariableViewer } from './shared/QueryBuilderVariableSelector.js';
64
53
 
65
54
  type MultiplicityOption = { label: string; value: Multiplicity };
66
55
 
@@ -125,9 +114,7 @@ const VariableExpressionEditor = observer(
125
114
  const multilicityOptions: MultiplicityOption[] =
126
115
  validParamMultiplicityList.map(buildMultiplicityOption);
127
116
  const changeMultiplicity = (val: MultiplicityOption): void => {
128
- if (multiplity !== val.value) {
129
- valueSpecification_setMultiplicity(varState, val.value);
130
- }
117
+ lambdaParameterState.changeMultiplicity(varState, val.value);
131
118
  };
132
119
 
133
120
  const close = (): void => {
@@ -152,12 +139,12 @@ const VariableExpressionEditor = observer(
152
139
  >
153
140
  <Modal
154
141
  darkMode={true}
155
- className="editor-modal query-builder__parameters__modal"
142
+ className="editor-modal query-builder__variables__modal"
156
143
  >
157
144
  <ModalHeader
158
145
  title={`${isCreating ? 'Create Parameter' : 'Update Parameter'}`}
159
146
  />
160
- <ModalBody className="query-builder__parameters__modal__body">
147
+ <ModalBody className="query-builder__variables__modal__body">
161
148
  <PanelFormTextField
162
149
  name="Parameter Name"
163
150
  prompt="Name of the parameter. Should be descriptive of its purpose."
@@ -228,90 +215,6 @@ const VariableExpressionEditor = observer(
228
215
  },
229
216
  );
230
217
 
231
- export const VariableExpressionViewer = observer(
232
- (props: {
233
- queryBuilderState: QueryBuilderState;
234
- isReadOnly: boolean;
235
- hideActions?: boolean;
236
- variableExpressionState: LambdaParameterState;
237
- }) => {
238
- const {
239
- queryBuilderState,
240
- isReadOnly,
241
- hideActions,
242
- variableExpressionState,
243
- } = props;
244
- const queryParameterState = queryBuilderState.parametersState;
245
- const variable = variableExpressionState.parameter;
246
- const name = variable.name;
247
- const variableType = variable.genericType?.value.rawType;
248
- const typeName = variableType?.name;
249
- const editVariable = (): void => {
250
- queryParameterState.setSelectedParameter(variableExpressionState);
251
- };
252
- const deleteVariable = (): void =>
253
- queryParameterState.removeParameter(variableExpressionState);
254
- const [, dragConnector, dragPreviewConnector] = useDrag(
255
- () => ({
256
- type: QUERY_BUILDER_PARAMETER_DND_TYPE,
257
- item: { variable: variableExpressionState },
258
- }),
259
- [variableExpressionState],
260
- );
261
- useDragPreviewLayer(dragPreviewConnector);
262
-
263
- return (
264
- <div className="query-builder__parameters__parameter" ref={dragConnector}>
265
- <DragPreviewLayer
266
- labelGetter={(item: QueryBuilderParameterDragSource): string =>
267
- item.variable.variableName === ''
268
- ? '(unknown)'
269
- : item.variable.variableName
270
- }
271
- types={[QUERY_BUILDER_PARAMETER_DND_TYPE]}
272
- />
273
- <div className="query-builder__parameters__parameter__content">
274
- <div className="query-builder__parameters__parameter__icon">
275
- <div className="query-builder__parameters__parameter-icon">
276
- <DollarIcon />
277
- </div>
278
- </div>
279
- <div className="query-builder__parameters__parameter__label">
280
- {name}
281
- <div className="query-builder__parameters__parameter__type">
282
- <div className="query-builder__parameters__parameter__type__label">
283
- {typeName}
284
- </div>
285
- </div>
286
- </div>
287
- </div>
288
- {!hideActions && (
289
- <div className="query-builder__parameters__parameter__actions">
290
- <button
291
- className="query-builder__parameters__parameter__action"
292
- tabIndex={-1}
293
- disabled={isReadOnly}
294
- onClick={editVariable}
295
- title="Edit"
296
- >
297
- <PencilIcon />
298
- </button>
299
- <button
300
- className="query-builder__parameters__parameter__action"
301
- tabIndex={-1}
302
- onClick={deleteVariable}
303
- disabled={isReadOnly}
304
- title="Remove"
305
- >
306
- <TimesIcon />
307
- </button>
308
- </div>
309
- )}
310
- </div>
311
- );
312
- },
313
- );
314
-
315
218
  export const QueryBuilderParametersPanel = observer(
316
219
  (props: { queryBuilderState: QueryBuilderState }) => {
317
220
  const { queryBuilderState } = props;
@@ -339,10 +242,16 @@ export const QueryBuilderParametersPanel = observer(
339
242
  };
340
243
 
341
244
  return (
342
- <div className="panel query-builder__parameters">
245
+ <div className="panel query-builder__variables">
343
246
  <div className="panel__header">
344
247
  <div className="panel__header__title">
345
248
  <div className="panel__header__title__label">parameters</div>
249
+ <div
250
+ className="service-editor__pattern__parameters__header__info"
251
+ title={`Parameters are variables assigned to your query. They are dynamic in nature and can change for each execution.`}
252
+ >
253
+ <InfoCircleIcon />
254
+ </div>
346
255
  </div>
347
256
  {!isReadOnly && !queryBuilderState.isParameterSupportDisabled && (
348
257
  <div className="panel__header__actions">
@@ -357,16 +266,21 @@ export const QueryBuilderParametersPanel = observer(
357
266
  </div>
358
267
  )}
359
268
  </div>
360
- <div className="panel__content query-builder__parameters__content">
269
+ <div className="panel__content query-builder__variables__content">
361
270
  {!queryBuilderState.isParameterSupportDisabled && (
362
271
  <>
363
272
  {Boolean(queryParameterState.parameterStates.length) &&
364
- queryParameterState.parameterStates.map((parameter) => (
365
- <VariableExpressionViewer
366
- key={parameter.uuid}
367
- queryBuilderState={queryBuilderState}
273
+ queryParameterState.parameterStates.map((pState) => (
274
+ <VariableViewer
275
+ key={pState.uuid}
276
+ variable={pState.parameter}
368
277
  isReadOnly={isReadOnly}
369
- variableExpressionState={parameter}
278
+ actions={{
279
+ editVariable: () =>
280
+ queryParameterState.setSelectedParameter(pState),
281
+ deleteVariable: () =>
282
+ queryParameterState.removeParameter(pState),
283
+ }}
370
284
  />
371
285
  ))}
372
286
  {!queryParameterState.parameterStates.length && (