@finos/legend-query-builder 0.2.0 → 0.2.2

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