@finos/legend-query-builder 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (399) hide show
  1. package/lib/components/QueryBuilder.d.ts +1 -0
  2. package/lib/components/QueryBuilder.d.ts.map +1 -1
  3. package/lib/components/QueryBuilder.js +23 -51
  4. package/lib/components/QueryBuilder.js.map +1 -1
  5. package/lib/components/QueryBuilderDiffPanel.d.ts.map +1 -1
  6. package/lib/components/QueryBuilderDiffPanel.js +4 -5
  7. package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
  8. package/lib/components/QueryBuilderNavigationBlocker.d.ts +22 -0
  9. package/lib/components/QueryBuilderNavigationBlocker.d.ts.map +1 -0
  10. package/lib/components/QueryBuilderNavigationBlocker.js +48 -0
  11. package/lib/components/QueryBuilderNavigationBlocker.js.map +1 -0
  12. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  13. package/lib/components/QueryBuilderResultPanel.js +19 -19
  14. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  15. package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
  16. package/lib/components/QueryBuilderSideBar.js +1 -1
  17. package/lib/components/QueryBuilderSideBar.js.map +1 -1
  18. package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -1
  19. package/lib/components/QueryBuilderTextEditor.js +3 -3
  20. package/lib/components/QueryBuilderTextEditor.js.map +1 -1
  21. package/lib/components/QueryBuilder_LegendApplicationPlugin.d.ts +23 -0
  22. package/lib/components/QueryBuilder_LegendApplicationPlugin.d.ts.map +1 -0
  23. package/lib/components/QueryBuilder_LegendApplicationPlugin.js +31 -0
  24. package/lib/components/QueryBuilder_LegendApplicationPlugin.js.map +1 -0
  25. package/lib/components/QueryBuilder_TestID.d.ts +1 -1
  26. package/lib/components/QueryBuilder_TestID.d.ts.map +1 -1
  27. package/lib/components/QueryBuilder_TestID.js +1 -1
  28. package/lib/components/QueryBuilder_TestID.js.map +1 -1
  29. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
  30. package/lib/components/explorer/QueryBuilderExplorerPanel.js +4 -4
  31. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
  32. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
  33. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +2 -2
  34. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
  35. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
  36. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +4 -4
  37. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
  38. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts +2 -2
  39. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  40. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +23 -28
  41. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  42. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +2 -2
  43. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
  44. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +12 -12
  45. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
  46. package/lib/components/fetch-structure/{QueryBuilderProjectionPanel.d.ts → QueryBuilderTDSPanel.d.ts} +4 -4
  47. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -0
  48. package/lib/components/fetch-structure/{QueryBuilderProjectionPanel.js → QueryBuilderTDSPanel.js} +37 -38
  49. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -0
  50. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
  51. package/lib/components/filter/QueryBuilderFilterPanel.js +3 -3
  52. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  53. package/lib/components/shared/LambdaEditor.d.ts +1 -11
  54. package/lib/components/shared/LambdaEditor.d.ts.map +1 -1
  55. package/lib/components/shared/LambdaEditor.js +23 -63
  56. package/lib/components/shared/LambdaEditor.js.map +1 -1
  57. package/lib/components/workflows/ServiceQueryBuilder.d.ts.map +1 -1
  58. package/lib/components/workflows/ServiceQueryBuilder.js +14 -17
  59. package/lib/components/workflows/ServiceQueryBuilder.js.map +1 -1
  60. package/lib/index.css +2 -2
  61. package/lib/index.css.map +1 -1
  62. package/lib/index.d.ts +6 -4
  63. package/lib/index.d.ts.map +1 -1
  64. package/lib/index.js +6 -4
  65. package/lib/index.js.map +1 -1
  66. package/lib/package.json +6 -7
  67. package/lib/stores/QueryBuilderChangeDetectionState.js +1 -1
  68. package/lib/stores/QueryBuilderChangeDetectionState.js.map +1 -1
  69. package/lib/stores/QueryBuilderCommand.d.ts +21 -0
  70. package/lib/stores/QueryBuilderCommand.d.ts.map +1 -0
  71. package/lib/stores/QueryBuilderCommand.js +26 -0
  72. package/lib/stores/QueryBuilderCommand.js.map +1 -0
  73. package/lib/stores/QueryBuilderPreviewDataHelper.js +25 -25
  74. package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -1
  75. package/lib/stores/QueryBuilderState.d.ts +4 -4
  76. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  77. package/lib/stores/QueryBuilderState.js +13 -7
  78. package/lib/stores/QueryBuilderState.js.map +1 -1
  79. package/lib/stores/QueryBuilderStateBuilder.js +3 -3
  80. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
  81. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts +2 -2
  82. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -1
  83. package/lib/stores/QueryBuilderTypeaheadHelper.js +14 -14
  84. package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
  85. package/lib/stores/QueryBuilderValueSpecificationHelper.js +3 -4
  86. package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
  87. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +1 -1
  88. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
  89. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +1 -1
  90. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
  91. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +4 -4
  92. package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
  93. package/lib/stores/fetch-structure/{projection/QueryBuilderProjectionState.d.ts → tds/QueryBuilderTDSState.d.ts} +4 -4
  94. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -0
  95. package/lib/stores/fetch-structure/{projection/QueryBuilderProjectionState.js → tds/QueryBuilderTDSState.js} +27 -27
  96. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -0
  97. package/lib/stores/fetch-structure/{projection → tds}/QueryResultSetModifierState.d.ts +4 -4
  98. package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.d.ts.map +1 -0
  99. package/lib/stores/fetch-structure/{projection → tds}/QueryResultSetModifierState.js +4 -4
  100. package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.js.map +1 -0
  101. package/lib/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregateOperator.d.ts +1 -1
  102. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateOperator.d.ts.map +1 -0
  103. package/lib/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregateOperator.js +2 -2
  104. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateOperator.js.map +1 -0
  105. package/lib/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregateOperatorLoader.d.ts +0 -0
  106. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateOperatorLoader.d.ts.map +1 -0
  107. package/lib/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregateOperatorLoader.js +0 -0
  108. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateOperatorLoader.js.map +1 -0
  109. package/lib/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregationState.d.ts +4 -4
  110. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.d.ts.map +1 -0
  111. package/lib/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregationState.js +5 -5
  112. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.js.map +1 -0
  113. package/lib/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregationStateBuilder.d.ts +0 -0
  114. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.d.ts.map +1 -0
  115. package/lib/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregationStateBuilder.js +10 -10
  116. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.js.map +1 -0
  117. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts +1 -1
  118. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts.map +1 -0
  119. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.js +1 -1
  120. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.js.map +1 -0
  121. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts +1 -1
  122. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -0
  123. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Average.js +2 -2
  124. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -0
  125. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts +1 -1
  126. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -0
  127. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Count.js +2 -2
  128. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -0
  129. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts +1 -1
  130. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -0
  131. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js +1 -1
  132. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -0
  133. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts +1 -1
  134. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -0
  135. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +3 -3
  136. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -0
  137. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts +1 -1
  138. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -0
  139. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js +3 -3
  140. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -0
  141. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts +1 -1
  142. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -0
  143. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Max.js +1 -1
  144. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -0
  145. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts +1 -1
  146. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -0
  147. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Min.js +1 -1
  148. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -0
  149. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts +1 -1
  150. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -0
  151. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js +3 -3
  152. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -0
  153. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +1 -1
  154. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -0
  155. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js +3 -3
  156. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -0
  157. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts +1 -1
  158. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -0
  159. package/lib/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Sum.js +1 -1
  160. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -0
  161. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterOperator.d.ts +0 -0
  162. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterOperator.d.ts.map +1 -0
  163. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterOperator.js +0 -0
  164. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterOperator.js.map +1 -0
  165. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterOperatorLoader.d.ts +0 -0
  166. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterOperatorLoader.d.ts.map +1 -0
  167. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterOperatorLoader.js +0 -0
  168. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterOperatorLoader.js.map +1 -0
  169. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterState.d.ts +4 -4
  170. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -0
  171. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterState.js +10 -12
  172. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.js.map +1 -0
  173. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterStateBuilder.d.ts +0 -0
  174. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.d.ts.map +1 -0
  175. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterStateBuilder.js +13 -14
  176. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -0
  177. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts +0 -0
  178. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -0
  179. package/lib/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +3 -3
  180. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -0
  181. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts +1 -1
  182. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -0
  183. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js +2 -2
  184. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -0
  185. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts +0 -0
  186. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
  187. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js +1 -1
  188. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js.map +1 -0
  189. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts +0 -0
  190. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -0
  191. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +4 -4
  192. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -0
  193. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts +0 -0
  194. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -0
  195. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +4 -4
  196. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -0
  197. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts +0 -0
  198. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -0
  199. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +7 -7
  200. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -0
  201. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts +0 -0
  202. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -0
  203. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +4 -4
  204. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -0
  205. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +0 -0
  206. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -0
  207. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +0 -0
  208. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -0
  209. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts +0 -0
  210. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -0
  211. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_In.js +5 -5
  212. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -0
  213. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts +0 -0
  214. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -0
  215. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +1 -1
  216. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -0
  217. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts +0 -0
  218. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -0
  219. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +4 -4
  220. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -0
  221. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +0 -0
  222. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -0
  223. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +0 -0
  224. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -0
  225. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts +0 -0
  226. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -0
  227. package/lib/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +4 -4
  228. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -0
  229. package/lib/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionColumnState.d.ts +9 -9
  230. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -0
  231. package/lib/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionColumnState.js +20 -20
  232. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js.map +1 -0
  233. package/lib/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionStateBuilder.d.ts +1 -1
  234. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -0
  235. package/lib/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionStateBuilder.js +19 -19
  236. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -0
  237. package/lib/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionValueSpecificationBuilder.d.ts +2 -2
  238. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -0
  239. package/lib/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionValueSpecificationBuilder.js +28 -28
  240. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -0
  241. package/lib/stores/filter/QueryBuilderFilterState.d.ts +1 -1
  242. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  243. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
  244. package/lib/stores/shared/ValueSpecificationEditorHelper.js +3 -4
  245. package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
  246. package/lib/stores/workflows/ServiceQueryBuilderState.d.ts +3 -1
  247. package/lib/stores/workflows/ServiceQueryBuilderState.d.ts.map +1 -1
  248. package/lib/stores/workflows/ServiceQueryBuilderState.js +5 -1
  249. package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
  250. package/package.json +13 -14
  251. package/src/components/QueryBuilder.tsx +96 -168
  252. package/src/components/QueryBuilderDiffPanel.tsx +3 -4
  253. package/src/components/QueryBuilderNavigationBlocker.tsx +62 -0
  254. package/src/components/QueryBuilderResultPanel.tsx +39 -48
  255. package/src/components/QueryBuilderSideBar.tsx +1 -0
  256. package/src/components/QueryBuilderTextEditor.tsx +3 -4
  257. package/src/components/QueryBuilder_LegendApplicationPlugin.ts +44 -0
  258. package/src/components/QueryBuilder_TestID.ts +1 -1
  259. package/src/components/explorer/QueryBuilderExplorerPanel.tsx +4 -6
  260. package/src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx +2 -4
  261. package/src/components/fetch-structure/QueryBuilderFetchStructurePanel.tsx +4 -8
  262. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +35 -46
  263. package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +17 -20
  264. package/src/components/fetch-structure/{QueryBuilderProjectionPanel.tsx → QueryBuilderTDSPanel.tsx} +47 -57
  265. package/src/components/filter/QueryBuilderFilterPanel.tsx +4 -7
  266. package/src/components/shared/LambdaEditor.tsx +22 -85
  267. package/src/components/workflows/ServiceQueryBuilder.tsx +34 -65
  268. package/src/index.ts +9 -4
  269. package/src/stores/QueryBuilderChangeDetectionState.ts +1 -1
  270. package/src/stores/QueryBuilderCommand.ts +28 -0
  271. package/src/stores/QueryBuilderPreviewDataHelper.ts +28 -28
  272. package/src/stores/QueryBuilderState.ts +31 -10
  273. package/src/stores/QueryBuilderStateBuilder.ts +3 -3
  274. package/src/stores/QueryBuilderTypeaheadHelper.ts +18 -18
  275. package/src/stores/QueryBuilderValueSpecificationHelper.ts +3 -3
  276. package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +1 -1
  277. package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +4 -4
  278. package/src/stores/fetch-structure/{projection/QueryBuilderProjectionState.ts → tds/QueryBuilderTDSState.ts} +32 -27
  279. package/src/stores/fetch-structure/{projection → tds}/QueryResultSetModifierState.ts +6 -6
  280. package/src/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregateOperator.ts +2 -2
  281. package/src/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregateOperatorLoader.ts +0 -0
  282. package/src/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregationState.ts +10 -10
  283. package/src/stores/fetch-structure/{projection → tds}/aggregation/QueryBuilderAggregationStateBuilder.ts +10 -12
  284. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.ts +2 -2
  285. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Average.ts +2 -2
  286. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Count.ts +2 -2
  287. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Distinct.ts +1 -1
  288. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +3 -3
  289. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_JoinString.ts +3 -3
  290. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Max.ts +1 -1
  291. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Min.ts +1 -1
  292. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.ts +3 -3
  293. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.ts +3 -3
  294. package/src/stores/fetch-structure/{projection → tds}/aggregation/operators/QueryBuilderAggregateOperator_Sum.ts +1 -1
  295. package/src/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterOperator.ts +0 -0
  296. package/src/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterOperatorLoader.ts +0 -0
  297. package/src/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterState.ts +15 -17
  298. package/src/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterStateBuilder.ts +13 -15
  299. package/src/stores/fetch-structure/{projection → tds}/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +3 -3
  300. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperatorHelper.ts +2 -2
  301. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.ts +1 -1
  302. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +4 -4
  303. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +4 -4
  304. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +7 -7
  305. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +4 -4
  306. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +0 -0
  307. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +5 -5
  308. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +1 -1
  309. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +4 -4
  310. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +0 -0
  311. package/src/stores/fetch-structure/{projection → tds}/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +4 -4
  312. package/src/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionColumnState.ts +23 -27
  313. package/src/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionStateBuilder.ts +23 -24
  314. package/src/stores/fetch-structure/{projection → tds/projection}/QueryBuilderProjectionValueSpecificationBuilder.ts +40 -45
  315. package/src/stores/filter/QueryBuilderFilterState.ts +1 -1
  316. package/src/stores/shared/ValueSpecificationEditorHelper.ts +3 -4
  317. package/src/stores/workflows/ServiceQueryBuilderState.ts +6 -0
  318. package/tsconfig.json +41 -39
  319. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts.map +0 -1
  320. package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js.map +0 -1
  321. package/lib/components/shared/QueryBuilderLambdaEditor.d.ts +0 -43
  322. package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +0 -1
  323. package/lib/components/shared/QueryBuilderLambdaEditor.js +0 -48
  324. package/lib/components/shared/QueryBuilderLambdaEditor.js.map +0 -1
  325. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +0 -1
  326. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +0 -1
  327. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts.map +0 -1
  328. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +0 -1
  329. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.d.ts.map +0 -1
  330. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js.map +0 -1
  331. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +0 -1
  332. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +0 -1
  333. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts.map +0 -1
  334. package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js.map +0 -1
  335. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts.map +0 -1
  336. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js.map +0 -1
  337. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.d.ts.map +0 -1
  338. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.js.map +0 -1
  339. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts.map +0 -1
  340. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js.map +0 -1
  341. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.d.ts.map +0 -1
  342. package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.js.map +0 -1
  343. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts.map +0 -1
  344. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.js.map +0 -1
  345. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts.map +0 -1
  346. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +0 -1
  347. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts.map +0 -1
  348. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +0 -1
  349. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts.map +0 -1
  350. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +0 -1
  351. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +0 -1
  352. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +0 -1
  353. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts.map +0 -1
  354. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +0 -1
  355. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts.map +0 -1
  356. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +0 -1
  357. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts.map +0 -1
  358. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +0 -1
  359. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +0 -1
  360. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +0 -1
  361. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +0 -1
  362. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +0 -1
  363. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts.map +0 -1
  364. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +0 -1
  365. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts.map +0 -1
  366. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.js.map +0 -1
  367. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.d.ts.map +0 -1
  368. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.js.map +0 -1
  369. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts.map +0 -1
  370. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js.map +0 -1
  371. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.d.ts.map +0 -1
  372. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js.map +0 -1
  373. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +0 -1
  374. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +0 -1
  375. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +0 -1
  376. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +0 -1
  377. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts.map +0 -1
  378. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js.map +0 -1
  379. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +0 -1
  380. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +0 -1
  381. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +0 -1
  382. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +0 -1
  383. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +0 -1
  384. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +0 -1
  385. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +0 -1
  386. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +0 -1
  387. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +0 -1
  388. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +0 -1
  389. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts.map +0 -1
  390. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +0 -1
  391. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +0 -1
  392. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +0 -1
  393. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +0 -1
  394. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +0 -1
  395. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +0 -1
  396. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +0 -1
  397. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +0 -1
  398. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +0 -1
  399. package/src/components/shared/QueryBuilderLambdaEditor.tsx +0 -120
@@ -28,21 +28,18 @@ import {
28
28
  import {
29
29
  COLUMN_SORT_TYPE,
30
30
  SortColumnState,
31
- } from '../../stores/fetch-structure/projection/QueryResultSetModifierState.js';
32
- import type { QueryBuilderProjectionColumnState } from '../../stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js';
31
+ } from '../../stores/fetch-structure/tds/QueryResultSetModifierState.js';
32
+ import type { QueryBuilderProjectionColumnState } from '../../stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js';
33
33
  import { guaranteeNonNullable } from '@finos/legend-shared';
34
34
  import { useApplicationStore } from '@finos/legend-application';
35
- import type { QueryBuilderProjectionState } from '../../stores/fetch-structure/projection/QueryBuilderProjectionState.js';
35
+ import type { QueryBuilderTDSState } from '../../stores/fetch-structure/tds/QueryBuilderTDSState.js';
36
36
 
37
37
  const ColumnSortEditor = observer(
38
- (props: {
39
- projectionState: QueryBuilderProjectionState;
40
- sortState: SortColumnState;
41
- }) => {
42
- const { projectionState, sortState } = props;
38
+ (props: { tdsState: QueryBuilderTDSState; sortState: SortColumnState }) => {
39
+ const { tdsState, sortState } = props;
43
40
  const applicationStore = useApplicationStore();
44
- const sortColumns = projectionState.resultSetModifierState.sortColumns;
45
- const projectionOptions = projectionState.columns
41
+ const sortColumns = tdsState.resultSetModifierState.sortColumns;
42
+ const projectionOptions = tdsState.projectionColumns
46
43
  .filter(
47
44
  (projectionCol) =>
48
45
  projectionCol === sortState.columnState ||
@@ -72,7 +69,7 @@ const ColumnSortEditor = observer(
72
69
  );
73
70
  };
74
71
  const deleteColumnSort = (): void =>
75
- projectionState.resultSetModifierState.deleteSortColumn(sortState);
72
+ tdsState.resultSetModifierState.deleteSortColumn(sortState);
76
73
 
77
74
  return (
78
75
  <div className="panel__content__form__section__list__item query-builder__projection__options__sort">
@@ -109,11 +106,11 @@ const ColumnSortEditor = observer(
109
106
  );
110
107
 
111
108
  const ColumnsSortEditor = observer(
112
- (props: { projectionState: QueryBuilderProjectionState }) => {
113
- const { projectionState } = props;
114
- const resultSetModifierState = projectionState.resultSetModifierState;
109
+ (props: { tdsState: QueryBuilderTDSState }) => {
110
+ const { tdsState } = props;
111
+ const resultSetModifierState = tdsState.resultSetModifierState;
115
112
  const sortColumns = resultSetModifierState.sortColumns;
116
- const projectionOptions = projectionState.columns
113
+ const projectionOptions = tdsState.projectionColumns
117
114
  .filter(
118
115
  (projectionCol) =>
119
116
  !sortColumns.some((sortCol) => sortCol.columnState === projectionCol),
@@ -146,7 +143,7 @@ const ColumnsSortEditor = observer(
146
143
  {sortColumns.map((value) => (
147
144
  <ColumnSortEditor
148
145
  key={value.columnState.uuid}
149
- projectionState={projectionState}
146
+ tdsState={tdsState}
150
147
  sortState={value}
151
148
  />
152
149
  ))}
@@ -168,9 +165,9 @@ const ColumnsSortEditor = observer(
168
165
  );
169
166
 
170
167
  export const QueryResultModifierModal = observer(
171
- (props: { projectionState: QueryBuilderProjectionState }) => {
172
- const { projectionState: projectionState } = props;
173
- const resultSetModifierState = projectionState.resultSetModifierState;
168
+ (props: { tdsState: QueryBuilderTDSState }) => {
169
+ const { tdsState: tdsState } = props;
170
+ const resultSetModifierState = tdsState.resultSetModifierState;
174
171
  const limitResults = resultSetModifierState.limit;
175
172
  const distinct = resultSetModifierState.distinct;
176
173
  const close = (): void => resultSetModifierState.setShowModal(false);
@@ -198,7 +195,7 @@ export const QueryResultModifierModal = observer(
198
195
  </div>
199
196
  <div className="modal__body query-builder__projection__modal__body">
200
197
  <div className="query-builder__projection__options">
201
- <ColumnsSortEditor projectionState={projectionState} />
198
+ <ColumnsSortEditor tdsState={tdsState} />
202
199
  <div className="panel__content__form__section">
203
200
  <div className="panel__content__form__section__header__label">
204
201
  Eliminate Duplicate Rows
@@ -49,13 +49,12 @@ import {
49
49
  QueryBuilderDerivationProjectionColumnState,
50
50
  QueryBuilderSimpleProjectionColumnState,
51
51
  QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE,
52
- } from '../../stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js';
52
+ } from '../../stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js';
53
53
  import { QueryBuilderPropertyExpressionBadge } from '../QueryBuilderPropertyExpressionEditor.js';
54
54
  import { QueryResultModifierModal } from './QueryBuilderResultModifierPanel.js';
55
55
  import { QUERY_BUILDER_TEST_ID } from '../QueryBuilder_TestID.js';
56
- import { QueryBuilderAggregateColumnState } from '../../stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js';
56
+ import { QueryBuilderAggregateColumnState } from '../../stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.js';
57
57
  import { flowResult } from 'mobx';
58
- import { QueryBuilderLambdaEditor } from '../shared/QueryBuilderLambdaEditor.js';
59
58
  import { useApplicationStore } from '@finos/legend-application';
60
59
  import {
61
60
  type QueryBuilderParameterDragSource,
@@ -72,10 +71,11 @@ import {
72
71
  QUERY_BUILDER_FUNCTION_DND_TYPE,
73
72
  } from '../../stores/explorer/QueryFunctionsExplorerState.js';
74
73
  import { DEFAULT_LAMBDA_VARIABLE_NAME } from '../../stores/QueryBuilderConfig.js';
75
- import { QueryBuilderPostFilterTreeConditionNodeData } from '../../stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js';
74
+ import { QueryBuilderPostFilterTreeConditionNodeData } from '../../stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.js';
76
75
  import { filterByType } from '@finos/legend-shared';
77
- import type { QueryBuilderAggregateOperator } from '../../stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js';
78
- import type { QueryBuilderProjectionState } from '../../stores/fetch-structure/projection/QueryBuilderProjectionState.js';
76
+ import type { QueryBuilderAggregateOperator } from '../../stores/fetch-structure/tds/aggregation/QueryBuilderAggregateOperator.js';
77
+ import type { QueryBuilderTDSState } from '../../stores/fetch-structure/tds/QueryBuilderTDSState.js';
78
+ import { LambdaEditor } from '../shared/LambdaEditor.js';
79
79
 
80
80
  const QueryBuilderProjectionColumnContextMenu = observer(
81
81
  forwardRef<
@@ -86,12 +86,12 @@ const QueryBuilderProjectionColumnContextMenu = observer(
86
86
  >(function QueryBuilderProjectionColumnContextMenu(props, ref) {
87
87
  const { projectionColumnState } = props;
88
88
  const removeColumn = (): void =>
89
- projectionColumnState.projectionState.removeColumn(projectionColumnState);
89
+ projectionColumnState.tdsState.removeColumn(projectionColumnState);
90
90
  const convertToDerivation = (): void => {
91
91
  if (
92
92
  projectionColumnState instanceof QueryBuilderSimpleProjectionColumnState
93
93
  ) {
94
- projectionColumnState.projectionState.transformSimpleProjectionToDerivation(
94
+ projectionColumnState.tdsState.transformSimpleProjectionToDerivation(
95
95
  projectionColumnState,
96
96
  );
97
97
  }
@@ -121,7 +121,7 @@ const QueryBuilderSimpleProjectionColumnEditor = observer(
121
121
  ): void =>
122
122
  projectionColumnState.changeProperty(
123
123
  node,
124
- projectionColumnState.projectionState.queryBuilderState.explorerState
124
+ projectionColumnState.tdsState.queryBuilderState.explorerState
125
125
  .humanizePropertyName,
126
126
  );
127
127
 
@@ -143,7 +143,7 @@ const QueryBuilderDerivationProjectionColumnEditor = observer(
143
143
  projectionColumnState: QueryBuilderDerivationProjectionColumnState;
144
144
  }) => {
145
145
  const { projectionColumnState } = props;
146
- const hasParserError = projectionColumnState.projectionState.hasParserError;
146
+ const hasParserError = projectionColumnState.tdsState.hasParserError;
147
147
 
148
148
  const handleDrop = useCallback(
149
149
  (
@@ -210,14 +210,10 @@ const QueryBuilderDerivationProjectionColumnEditor = observer(
210
210
  { backdrop__element: hasParserError },
211
211
  )}
212
212
  >
213
- <QueryBuilderLambdaEditor
213
+ <LambdaEditor
214
214
  className="query-builder__lambda-editor"
215
- queryBuilderState={
216
- projectionColumnState.projectionState.queryBuilderState
217
- }
218
215
  disabled={
219
- projectionColumnState.projectionState
220
- .isConvertDerivationProjectionObjects
216
+ projectionColumnState.tdsState.isConvertDerivationProjectionObjects
221
217
  }
222
218
  lambdaEditorState={projectionColumnState.derivationLambdaEditorState}
223
219
  forceBackdrop={hasParserError}
@@ -237,9 +233,9 @@ const QueryBuilderProjectionColumnEditor = observer(
237
233
  const onContextMenuClose = (): void => setIsSelectedFromContextMenu(false);
238
234
 
239
235
  const { projectionColumnState } = props;
240
- const projectionState = projectionColumnState.projectionState;
236
+ const tdsState = projectionColumnState.tdsState;
241
237
  const postFilterColumnStates = Array.from(
242
- projectionState.postFilterState.nodes.values(),
238
+ tdsState.postFilterState.nodes.values(),
243
239
  )
244
240
  .filter(filterByType(QueryBuilderPostFilterTreeConditionNodeData))
245
241
  .map((n) => n.condition.columnState);
@@ -255,27 +251,27 @@ const QueryBuilderProjectionColumnEditor = observer(
255
251
  postFilterColumnStates.includes(projectionColumnState);
256
252
 
257
253
  const removeColumn = (): void =>
258
- projectionState.removeColumn(projectionColumnState);
254
+ tdsState.removeColumn(projectionColumnState);
259
255
 
260
256
  // name
261
257
  const changeColumnName: React.ChangeEventHandler<HTMLInputElement> = (
262
258
  event,
263
259
  ) => projectionColumnState.setColumnName(event.target.value);
264
260
  const isDuplicatedColumnName =
265
- projectionColumnState.projectionState.columns.filter(
261
+ projectionColumnState.tdsState.projectionColumns.filter(
266
262
  (column) => column.columnName === projectionColumnState.columnName,
267
263
  ).length > 1;
268
264
 
269
265
  // aggregation
270
- const aggregateColumnState = projectionState.aggregationState.columns.find(
266
+ const aggregateColumnState = tdsState.aggregationState.columns.find(
271
267
  (column) => column.projectionColumnState === projectionColumnState,
272
268
  );
273
- const aggreateOperators = projectionState.aggregationState.operators.filter(
274
- (op) => op.isCompatibleWithColumn(projectionColumnState),
269
+ const aggreateOperators = tdsState.aggregationState.operators.filter((op) =>
270
+ op.isCompatibleWithColumn(projectionColumnState),
275
271
  );
276
272
  const changeOperator =
277
273
  (val: QueryBuilderAggregateOperator | undefined) => (): void =>
278
- projectionState.aggregationState.changeColumnAggregateOperator(
274
+ tdsState.aggregationState.changeColumnAggregateOperator(
279
275
  val,
280
276
  projectionColumnState,
281
277
  );
@@ -286,10 +282,10 @@ const QueryBuilderProjectionColumnEditor = observer(
286
282
  item: QueryBuilderProjectionColumnDragSource,
287
283
  monitor: DropTargetMonitor,
288
284
  ): void => {
289
- const dragIndex = projectionState.columns.findIndex(
285
+ const dragIndex = tdsState.projectionColumns.findIndex(
290
286
  (e) => e === item.columnState,
291
287
  );
292
- const hoverIndex = projectionState.columns.findIndex(
288
+ const hoverIndex = tdsState.projectionColumns.findIndex(
293
289
  (e) => e === projectionColumnState,
294
290
  );
295
291
  if (dragIndex === -1 || hoverIndex === -1 || dragIndex === hoverIndex) {
@@ -308,9 +304,9 @@ const QueryBuilderProjectionColumnEditor = observer(
308
304
  if (dragIndex > hoverIndex && dragDistance > distanceThreshold) {
309
305
  return;
310
306
  }
311
- projectionState.moveColumn(dragIndex, hoverIndex);
307
+ tdsState.moveColumn(dragIndex, hoverIndex);
312
308
  },
313
- [projectionColumnState, projectionState],
309
+ [projectionColumnState, tdsState],
314
310
  );
315
311
  const [, dropConnector] = useDrop<QueryBuilderProjectionColumnDragSource>(
316
312
  () => ({
@@ -422,6 +418,7 @@ const QueryBuilderProjectionColumnEditor = observer(
422
418
 
423
419
  <DropdownMenu
424
420
  className="query-builder__projection__column__aggregate__operator__dropdown"
421
+ title="Choose Aggregate Operator..."
425
422
  disabled={!aggreateOperators.length}
426
423
  content={
427
424
  <MenuContent>
@@ -450,7 +447,7 @@ const QueryBuilderProjectionColumnEditor = observer(
450
447
  elevation: 7,
451
448
  }}
452
449
  >
453
- <button
450
+ <div
454
451
  className={clsx(
455
452
  'query-builder__projection__column__aggregate__operator__badge',
456
453
  {
@@ -458,18 +455,12 @@ const QueryBuilderProjectionColumnEditor = observer(
458
455
  Boolean(aggregateColumnState),
459
456
  },
460
457
  )}
461
- tabIndex={-1}
462
- title="Choose Aggregate Operator..."
463
458
  >
464
459
  <SigmaIcon />
465
- </button>
466
- <button
467
- className="query-builder__projection__column__aggregate__operator__dropdown__trigger"
468
- tabIndex={-1}
469
- title="Choose Aggregate Operator..."
470
- >
460
+ </div>
461
+ <div className="query-builder__projection__column__aggregate__operator__dropdown__trigger">
471
462
  <CaretDownIcon />
472
- </button>
463
+ </div>
473
464
  </DropdownMenu>
474
465
  </div>
475
466
  </div>
@@ -495,17 +486,16 @@ const QueryBuilderProjectionColumnEditor = observer(
495
486
  },
496
487
  );
497
488
 
498
- export const QueryBuilderProjectionPanel = observer(
499
- (props: { projectionState: QueryBuilderProjectionState }) => {
489
+ export const QueryBuilderTDSPanel = observer(
490
+ (props: { tdsState: QueryBuilderTDSState }) => {
500
491
  const applicationStore = useApplicationStore();
501
- const { projectionState } = props;
502
- const projectionColumns = projectionState.columns;
492
+ const { tdsState } = props;
493
+ const projectionColumns = tdsState.projectionColumns;
503
494
 
504
495
  // Toolbar
505
496
  const openResultSetModifierEditor = (): void =>
506
- projectionState.resultSetModifierState.setShowModal(true);
507
- const addNewBlankDerivation = (): void =>
508
- projectionState.addNewBlankDerivation();
497
+ tdsState.resultSetModifierState.setShowModal(true);
498
+ const addNewBlankDerivation = (): void => tdsState.addNewBlankDerivation();
509
499
 
510
500
  // Drag and Drop
511
501
  const handleDrop = useCallback(
@@ -519,8 +509,8 @@ export const QueryBuilderProjectionPanel = observer(
519
509
  case QUERY_BUILDER_FUNCTION_DND_TYPE: {
520
510
  const derivationProjectionColumn =
521
511
  new QueryBuilderDerivationProjectionColumnState(
522
- projectionState,
523
- projectionState.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda(
512
+ tdsState,
513
+ tdsState.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda(
524
514
  { addDummyParameter: true },
525
515
  ),
526
516
  );
@@ -530,19 +520,19 @@ export const QueryBuilderProjectionPanel = observer(
530
520
  .packageableElement as ConcreteFunctionDefinition,
531
521
  )}`,
532
522
  );
533
- projectionState.addColumn(derivationProjectionColumn);
523
+ tdsState.addColumn(derivationProjectionColumn);
534
524
  break;
535
525
  }
536
526
  case QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY:
537
527
  case QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY:
538
- projectionState.addColumn(
528
+ tdsState.addColumn(
539
529
  new QueryBuilderSimpleProjectionColumnState(
540
- projectionState,
530
+ tdsState,
541
531
  buildPropertyExpressionFromExplorerTreeNodeData(
542
532
  (item as QueryBuilderExplorerTreeDragSource).node,
543
- projectionState.queryBuilderState.explorerState,
533
+ tdsState.queryBuilderState.explorerState,
544
534
  ),
545
- projectionState.queryBuilderState.explorerState.humanizePropertyName,
535
+ tdsState.queryBuilderState.explorerState.humanizePropertyName,
546
536
  ),
547
537
  );
548
538
  break;
@@ -550,7 +540,7 @@ export const QueryBuilderProjectionPanel = observer(
550
540
  break;
551
541
  }
552
542
  },
553
- [projectionState],
543
+ [tdsState],
554
544
  );
555
545
 
556
546
  const [{ isDragOver }, dropTargetConnector] = useDrop<
@@ -578,10 +568,10 @@ export const QueryBuilderProjectionPanel = observer(
578
568
  );
579
569
 
580
570
  useEffect(() => {
581
- flowResult(projectionState.convertDerivationProjectionObjects()).catch(
571
+ flowResult(tdsState.convertDerivationProjectionObjects()).catch(
582
572
  applicationStore.alertUnhandledError,
583
573
  );
584
- }, [applicationStore, projectionState]);
574
+ }, [applicationStore, tdsState]);
585
575
 
586
576
  return (
587
577
  <PanelContent>
@@ -616,7 +606,7 @@ export const QueryBuilderProjectionPanel = observer(
616
606
  )}
617
607
  {Boolean(projectionColumns.length) && (
618
608
  <div
619
- data-testid={QUERY_BUILDER_TEST_ID.QUERY_BUILDER_PROJECTION}
609
+ data-testid={QUERY_BUILDER_TEST_ID.QUERY_BUILDER_TDS}
620
610
  className="query-builder__projection__columns"
621
611
  >
622
612
  <DragPreviewLayer
@@ -637,7 +627,7 @@ export const QueryBuilderProjectionPanel = observer(
637
627
  ))}
638
628
  </div>
639
629
  )}
640
- <QueryResultModifierModal projectionState={projectionState} />
630
+ <QueryResultModifierModal tdsState={tdsState} />
641
631
  </PanelDropZone>
642
632
  </div>
643
633
  </PanelContent>
@@ -79,7 +79,7 @@ import {
79
79
  type QueryBuilderProjectionColumnDragSource,
80
80
  QueryBuilderSimpleProjectionColumnState,
81
81
  QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE,
82
- } from '../../stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js';
82
+ } from '../../stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js';
83
83
  import type { QueryBuilderFilterOperator } from '../../stores/filter/QueryBuilderFilterOperator.js';
84
84
  import { isTypeCompatibleForAssignment } from '../../stores/QueryBuilderValueSpecificationHelper.js';
85
85
  import { QUERY_BUILDER_GROUP_OPERATION } from '../../stores/QueryBuilderGroupOperationHelper.js';
@@ -229,6 +229,7 @@ const QueryBuilderFilterConditionEditor = observer(
229
229
  </div>
230
230
  <DropdownMenu
231
231
  className="query-builder-filter-tree__condition-node__operator"
232
+ title="Choose Operator..."
232
233
  content={
233
234
  <MenuContent>
234
235
  {node.condition.operators.map((op) => (
@@ -251,13 +252,9 @@ const QueryBuilderFilterConditionEditor = observer(
251
252
  <div className="query-builder-filter-tree__condition-node__operator__label">
252
253
  {node.condition.operator.getLabel(node.condition)}
253
254
  </div>
254
- <button
255
- className="query-builder-filter-tree__condition-node__operator__dropdown__trigger"
256
- tabIndex={-1}
257
- title="Choose Operator..."
258
- >
255
+ <div className="query-builder-filter-tree__condition-node__operator__dropdown__trigger">
259
256
  <CaretDownIcon />
260
- </button>
257
+ </div>
261
258
  </DropdownMenu>
262
259
  {node.condition.value && (
263
260
  <div
@@ -15,17 +15,12 @@
15
15
  */
16
16
 
17
17
  import { useRef, useEffect, useState, useMemo } from 'react';
18
- import {
19
- editor as monacoEditorAPI,
20
- type IDisposable,
21
- type IKeyboardEvent,
22
- } from 'monaco-editor';
18
+ import { editor as monacoEditorAPI, type IDisposable } from 'monaco-editor';
23
19
  import { observer } from 'mobx-react-lite';
24
20
  import {
25
21
  clsx,
26
22
  setErrorMarkers,
27
23
  disposeEditor,
28
- disableEditorHotKeys,
29
24
  baseTextEditorSettings,
30
25
  getEditorValue,
31
26
  normalizeLineEnding,
@@ -45,6 +40,7 @@ import {
45
40
  import { flowResult } from 'mobx';
46
41
  import { ParserError, type EngineError, type Type } from '@finos/legend-graph';
47
42
  import {
43
+ createPassThroughOnKeyHandler,
48
44
  EDITOR_LANGUAGE,
49
45
  EDITOR_THEME,
50
46
  TAB_SIZE,
@@ -52,11 +48,6 @@ import {
52
48
  } from '@finos/legend-application';
53
49
  import { QUERY_BUILDER_TEST_ID } from '../QueryBuilder_TestID.js';
54
50
 
55
- export type LambdaEditorOnKeyDownEventHandler = {
56
- matcher: (event: IKeyboardEvent) => boolean;
57
- action: (event: IKeyboardEvent) => void;
58
- };
59
-
60
51
  const LambdaErrorFeedback: React.FC<{
61
52
  error?: EngineError | undefined;
62
53
  discardChanges: () => void;
@@ -102,9 +93,8 @@ const LambdaEditorInline = observer(
102
93
  forceExpansion?: boolean | undefined;
103
94
  disablePopUp?: boolean | undefined;
104
95
  backdropSetter?: ((val: boolean) => void) | undefined;
105
- onKeyDownEventHandlers: LambdaEditorOnKeyDownEventHandler[];
106
96
  openInPopUp: () => void;
107
- onEditorFocusEventHandler?: (() => void) | undefined;
97
+ onEditorFocus?: (() => void) | undefined;
108
98
  }) => {
109
99
  const {
110
100
  className,
@@ -121,15 +111,13 @@ const LambdaEditorInline = observer(
121
111
  disablePopUp,
122
112
  useBaseTextEditorSettings,
123
113
  hideErrorBar,
124
- onKeyDownEventHandlers,
125
114
  openInPopUp,
126
- onEditorFocusEventHandler,
115
+ onEditorFocus,
127
116
  } = props;
128
117
  const applicationStore = useApplicationStore();
129
118
  const onDidChangeModelContentEventDisposer = useRef<
130
119
  IDisposable | undefined
131
120
  >(undefined);
132
- const onKeyDownEventDisposer = useRef<IDisposable | undefined>(undefined);
133
121
  const onDidFocusEditorWidgetDisposer = useRef<IDisposable | undefined>(
134
122
  undefined,
135
123
  );
@@ -197,7 +185,13 @@ const LambdaEditorInline = observer(
197
185
  : EDITOR_THEME.LEGEND,
198
186
  ...lambdaEditorOptions,
199
187
  });
200
- disableEditorHotKeys(_editor);
188
+ // NOTE: if we ever set any hotkey explicitly, we would like to use the disposer partern instead
189
+ // else, we could risk triggering these hotkeys command multiple times
190
+ // e.g.
191
+ // const onKeyDownEventDisposer = useRef<IDisposable | undefined>(undefined);
192
+ // onKeyDownEventDisposer.current?.dispose();
193
+ // onKeyDownEventDisposer.current = editor.onKeyDown(() => ...)
194
+ _editor.onKeyDown(() => createPassThroughOnKeyHandler());
201
195
  setEditor(_editor);
202
196
  }
203
197
  }, [editor, applicationStore, useBaseTextEditorSettings]);
@@ -290,36 +284,10 @@ const LambdaEditorInline = observer(
290
284
  }
291
285
  });
292
286
 
293
- // set hotkeys (before calling the action, finish parsing the current text value)
294
- onKeyDownEventDisposer.current?.dispose(); // dispose to avoid trigger hotkeys multiple times
295
- /**
296
- * NOTE: We can use `setCommand` here but that does not expose the event so we cannot `stopPropagation`, and we need to
297
- * use `stopPropagation` to prevent the event top bubble up to global hotkeys listener.
298
- * If we really want to use `setCommand` the other approach is to set <HotKeys/> around this lambda editor to override F9
299
- * perhaps that's the cleaner approach because we use `react-hotkeys` to handle it's business, but there is an on-going
300
- * issue with <HotKeys/> keybindings are lost when component rerenders and this happen as users type because we call `setValue`
301
- * See https://github.com/greena13/react-hotkeys/issues/209
302
- *
303
- * The main role of this section is to disable `monaco-editor` command and override with global actions, such as generate, compile,
304
- * toggle text mode, etc. The important thing is before we do so, we would like to finish the parsing of the current string, otherwise,
305
- * those operations can end up flushing the current state and trashing the user input, which is bad, as such, we make sure the
306
- * parsing passes before actually calling those global operations.
307
- */
308
- onKeyDownEventDisposer.current = editor.onKeyDown((event) => {
309
- onKeyDownEventHandlers.forEach((handler) => {
310
- if (handler.matcher(event)) {
311
- event.preventDefault();
312
- event.stopPropagation();
313
- transformStringToLambda?.cancel();
314
- handler.action(event);
315
- }
316
- });
317
- });
318
-
319
287
  onDidFocusEditorWidgetDisposer.current?.dispose();
320
288
  onDidFocusEditorWidgetDisposer.current = editor.onDidFocusEditorWidget(
321
289
  () => {
322
- onEditorFocusEventHandler?.();
290
+ onEditorFocus?.();
323
291
  },
324
292
  );
325
293
 
@@ -451,7 +419,6 @@ const LambdaEditorPopUp = observer(
451
419
  disabled: boolean;
452
420
  lambdaEditorState: LambdaEditorState;
453
421
  transformStringToLambda: DebouncedFunc<() => GeneratorFn<void>> | undefined;
454
- onKeyDownEventHandlers: LambdaEditorOnKeyDownEventHandler[];
455
422
  onClose: () => void;
456
423
  }) => {
457
424
  const {
@@ -459,11 +426,9 @@ const LambdaEditorPopUp = observer(
459
426
  disabled,
460
427
  lambdaEditorState,
461
428
  transformStringToLambda,
462
- onKeyDownEventHandlers,
463
429
  onClose,
464
430
  } = props;
465
431
  const applicationStore = useApplicationStore();
466
- const onKeyDownEventDisposer = useRef<IDisposable | undefined>(undefined);
467
432
  const onDidChangeModelContentEventDisposer = useRef<
468
433
  IDisposable | undefined
469
434
  >(undefined);
@@ -500,7 +465,13 @@ const LambdaEditorPopUp = observer(
500
465
  language: EDITOR_LANGUAGE.PURE,
501
466
  theme: EDITOR_THEME.LEGEND,
502
467
  });
503
- disableEditorHotKeys(_editor);
468
+ // NOTE: if we ever set any hotkey explicitly, we would like to use the disposer partern instead
469
+ // else, we could risk triggering these hotkeys command multiple times
470
+ // e.g.
471
+ // const onKeyDownEventDisposer = useRef<IDisposable | undefined>(undefined);
472
+ // onKeyDownEventDisposer.current?.dispose();
473
+ // onKeyDownEventDisposer.current = editor.onKeyDown(() => ...)
474
+ _editor.onKeyDown(() => createPassThroughOnKeyHandler());
504
475
  setEditor(_editor);
505
476
  }
506
477
  };
@@ -555,32 +526,6 @@ const LambdaEditorPopUp = observer(
555
526
  }
556
527
  });
557
528
 
558
- // set hotkeys (before calling the action, finish parsing the current text value)
559
- onKeyDownEventDisposer.current?.dispose(); // dispose to avoid trigger hotkeys multiple times
560
- /**
561
- * NOTE: We can use `setCommand` here but that does not expose the event so we cannot `stopPropagation`, and we need to
562
- * use `stopPropagation` to prevent the event top bubble up to global hotkeys listener.
563
- * If we really want to use `setCommand` the other approach is to set <HotKeys/> around this lambda editor to override F9
564
- * perhaps that's the cleaner approach because we use `react-hotkeys` to handle it's business, but there is an on-going
565
- * issue with <HotKeys/> keybindings are lost when component rerenders and this happen as users type because we call `setValue`
566
- * See https://github.com/greena13/react-hotkeys/issues/209
567
- *
568
- * The main role of this section is to disable `monaco-editor` command and override with global actions, such as generate, compile,
569
- * toggle text mode, etc. The important thing is before we do so, we would like to finish the parsing of the current string, otherwise,
570
- * those operations can end up flushing the current state and trashing the user input, which is bad, as such, we make sure the
571
- * parsing passes before actually calling those global operations.
572
- */
573
- onKeyDownEventDisposer.current = editor.onKeyDown((event) => {
574
- onKeyDownEventHandlers.forEach((handler) => {
575
- if (handler.matcher(event)) {
576
- event.preventDefault();
577
- event.stopPropagation();
578
- transformStringToLambda?.cancel();
579
- handler.action(event);
580
- }
581
- });
582
- });
583
-
584
529
  // Set the text value
585
530
  const currentValue = getEditorValue(editor);
586
531
  const editorModel = editor.getModel();
@@ -751,12 +696,7 @@ export const LambdaEditor = observer(
751
696
  * To whether or not hide parser error bar in inline mode
752
697
  */
753
698
  hideErrorBar?: boolean | undefined;
754
- /**
755
- * Allow adding hotkeys handler to the editor, this is usually used
756
- * to allow activating global hotkeys while typing in the editor
757
- */
758
- onKeyDownEventHandlers?: LambdaEditorOnKeyDownEventHandler[];
759
- onEditorFocusEventHandler?: (() => void) | undefined;
699
+ onEditorFocus?: (() => void) | undefined;
760
700
  }) => {
761
701
  const {
762
702
  className,
@@ -772,8 +712,7 @@ export const LambdaEditor = observer(
772
712
  disablePopUp,
773
713
  useBaseTextEditorSettings,
774
714
  hideErrorBar,
775
- onKeyDownEventHandlers,
776
- onEditorFocusEventHandler,
715
+ onEditorFocus,
777
716
  } = props;
778
717
  const [showPopUp, setShowPopUp] = useState(false);
779
718
  const openInPopUp = (): void => setShowPopUp(true);
@@ -798,7 +737,6 @@ export const LambdaEditor = observer(
798
737
  disabled={disabled}
799
738
  lambdaEditorState={lambdaEditorState}
800
739
  transformStringToLambda={debouncedTransformStringToLambda}
801
- onKeyDownEventHandlers={onKeyDownEventHandlers ?? []}
802
740
  onClose={closePopUp}
803
741
  />
804
742
  </>
@@ -849,9 +787,8 @@ export const LambdaEditor = observer(
849
787
  disablePopUp={disablePopUp}
850
788
  useBaseTextEditorSettings={useBaseTextEditorSettings}
851
789
  hideErrorBar={hideErrorBar}
852
- onKeyDownEventHandlers={onKeyDownEventHandlers ?? []}
853
790
  openInPopUp={openInPopUp}
854
- onEditorFocusEventHandler={onEditorFocusEventHandler}
791
+ onEditorFocus={onEditorFocus}
855
792
  />
856
793
  );
857
794
  },