@finos/legend-query-builder 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (329) hide show
  1. package/lib/components/QueryBuilder.d.ts.map +1 -1
  2. package/lib/components/QueryBuilder.js +1 -1
  3. package/lib/components/QueryBuilder.js.map +1 -1
  4. package/lib/components/QueryBuilderComponentTestUtils.d.ts.map +1 -1
  5. package/lib/components/QueryBuilderComponentTestUtils.js +1 -3
  6. package/lib/components/QueryBuilderComponentTestUtils.js.map +1 -1
  7. package/lib/components/QueryBuilderDiffPanel.js +1 -2
  8. package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
  9. package/lib/components/QueryBuilderParametersPanel.d.ts +1 -1
  10. package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
  11. package/lib/components/QueryBuilderParametersPanel.js +8 -5
  12. package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
  13. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
  14. package/lib/components/QueryBuilderPropertyExpressionEditor.js +11 -8
  15. package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
  16. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  17. package/lib/components/QueryBuilderResultPanel.js +6 -4
  18. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  19. package/lib/components/QueryBuilderTextEditor.js +2 -2
  20. package/lib/components/QueryBuilderTextEditor.js.map +1 -1
  21. package/lib/components/QueryBuilder_TestID.d.ts +1 -0
  22. package/lib/components/QueryBuilder_TestID.d.ts.map +1 -1
  23. package/lib/components/QueryBuilder_TestID.js +1 -0
  24. package/lib/components/QueryBuilder_TestID.js.map +1 -1
  25. package/lib/components/explorer/QueryBuilderExplorerPanel.js +2 -2
  26. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
  27. package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
  28. package/lib/components/explorer/QueryBuilderMilestoningEditor.js +5 -4
  29. package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
  30. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  31. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +4 -2
  32. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  33. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +1 -1
  34. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
  35. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
  36. package/lib/components/filter/QueryBuilderFilterPanel.js +7 -4
  37. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  38. package/lib/components/shared/BasicValueSpecificationEditor.d.ts +53 -0
  39. package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -0
  40. package/lib/components/shared/BasicValueSpecificationEditor.js +323 -0
  41. package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -0
  42. package/lib/components/shared/CustomDatePicker.d.ts +39 -0
  43. package/lib/components/shared/CustomDatePicker.d.ts.map +1 -0
  44. package/lib/components/shared/CustomDatePicker.js +622 -0
  45. package/lib/components/shared/CustomDatePicker.js.map +1 -0
  46. package/lib/components/shared/LambdaEditor.d.ts +92 -0
  47. package/lib/components/shared/LambdaEditor.d.ts.map +1 -0
  48. package/lib/components/shared/LambdaEditor.js +432 -0
  49. package/lib/components/shared/LambdaEditor.js.map +1 -0
  50. package/lib/{graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts → components/shared/LambdaParameterValuesEditor.d.ts} +11 -3
  51. package/lib/components/shared/LambdaParameterValuesEditor.d.ts.map +1 -0
  52. package/lib/components/shared/LambdaParameterValuesEditor.js +52 -0
  53. package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -0
  54. package/lib/components/shared/QueryBuilderLambdaEditor.d.ts +1 -1
  55. package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +1 -1
  56. package/lib/components/shared/QueryBuilderLambdaEditor.js +3 -2
  57. package/lib/components/shared/QueryBuilderLambdaEditor.js.map +1 -1
  58. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
  59. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +1 -2
  60. package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
  61. package/lib/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.d.ts → V1_QueryValueSpecificationBuilderHelper.d.ts} +3 -2
  62. package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -0
  63. package/lib/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.js → V1_QueryValueSpecificationBuilderHelper.js} +3 -2
  64. package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -0
  65. package/lib/index.css +2 -2
  66. package/lib/index.css.map +1 -1
  67. package/lib/index.d.ts +7 -0
  68. package/lib/index.d.ts.map +1 -1
  69. package/lib/index.js +8 -0
  70. package/lib/index.js.map +1 -1
  71. package/lib/package.json +7 -10
  72. package/lib/stores/QueryBuilderMilestoningState.d.ts.map +1 -1
  73. package/lib/stores/QueryBuilderMilestoningState.js +6 -6
  74. package/lib/stores/QueryBuilderMilestoningState.js.map +1 -1
  75. package/lib/stores/QueryBuilderParametersState.d.ts +1 -1
  76. package/lib/stores/QueryBuilderParametersState.d.ts.map +1 -1
  77. package/lib/stores/QueryBuilderParametersState.js +1 -1
  78. package/lib/stores/QueryBuilderParametersState.js.map +1 -1
  79. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
  80. package/lib/stores/QueryBuilderPropertyEditorState.js +35 -38
  81. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
  82. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  83. package/lib/stores/QueryBuilderResultState.js +2 -1
  84. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  85. package/lib/stores/QueryBuilderState.d.ts +2 -2
  86. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  87. package/lib/stores/QueryBuilderState.js +5 -5
  88. package/lib/stores/QueryBuilderState.js.map +1 -1
  89. package/lib/stores/QueryBuilderStateBuilder.js +1 -1
  90. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
  91. package/lib/stores/QueryBuilderTextEditorState.d.ts +1 -1
  92. package/lib/stores/QueryBuilderTextEditorState.d.ts.map +1 -1
  93. package/lib/stores/QueryBuilderTextEditorState.js +2 -1
  94. package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
  95. package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
  96. package/lib/stores/QueryBuilderValueSpecificationBuilder.js +2 -2
  97. package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
  98. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -1
  99. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +23 -20
  100. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
  101. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +1 -1
  102. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
  103. package/lib/stores/QueryBuilderValueSpecificationHelper.js +10 -9
  104. package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
  105. package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
  106. package/lib/stores/explorer/QueryBuilderExplorerState.js +4 -3
  107. package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
  108. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +1 -1
  109. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
  110. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +1 -1
  111. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
  112. package/lib/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.d.ts → QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts} +1 -1
  113. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts.map +1 -0
  114. package/lib/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.js → QueryBuilderGraphFetchTreeValueSpecificationBuilder.js} +1 -1
  115. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.js.map +1 -0
  116. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts +1 -1
  117. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
  118. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +3 -3
  119. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
  120. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +1 -1
  121. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
  122. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js +4 -4
  123. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
  124. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
  125. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js +6 -6
  126. package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
  127. package/lib/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.d.ts → QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts} +2 -2
  128. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts.map +1 -0
  129. package/lib/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.js → QueryBuilderAggregateOperatorValueSpecificationBuilder.js} +2 -2
  130. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.js.map +1 -0
  131. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js +3 -3
  132. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -1
  133. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js +3 -3
  134. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -1
  135. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js +3 -3
  136. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -1
  137. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +1 -1
  138. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
  139. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js +1 -1
  140. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -1
  141. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js +5 -5
  142. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -1
  143. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js +5 -5
  144. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -1
  145. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js +3 -3
  146. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -1
  147. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js +3 -3
  148. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -1
  149. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js +3 -3
  150. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -1
  151. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js +2 -2
  152. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -1
  153. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts +1 -1
  154. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -1
  155. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +10 -10
  156. package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -1
  157. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts +1 -4
  158. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -1
  159. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js +3 -46
  160. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -1
  161. package/{src/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.ts → lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts} +5 -13
  162. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
  163. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js +61 -0
  164. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js.map +1 -0
  165. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
  166. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +5 -4
  167. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
  168. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
  169. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +5 -4
  170. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
  171. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
  172. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +10 -8
  173. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
  174. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
  175. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +5 -4
  176. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
  177. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +3 -3
  178. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -1
  179. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js +3 -3
  180. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
  181. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +1 -1
  182. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
  183. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
  184. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +5 -4
  185. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
  186. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +3 -3
  187. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -1
  188. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
  189. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +5 -4
  190. package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
  191. package/lib/stores/filter/operators/{QueryBuilderFilterOperatorHelper.d.ts → QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts} +1 -1
  192. package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
  193. package/lib/stores/filter/operators/{QueryBuilderFilterOperatorHelper.js → QueryBuilderFilterOperatorValueSpecificationBuilder.js} +11 -13
  194. package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.js.map +1 -0
  195. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
  196. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +7 -6
  197. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
  198. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
  199. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +7 -6
  200. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
  201. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  202. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +13 -11
  203. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  204. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  205. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +8 -7
  206. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  207. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  208. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +8 -7
  209. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  210. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +6 -6
  211. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
  212. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +4 -4
  213. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
  214. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  215. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +8 -7
  216. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  217. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  218. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +8 -7
  219. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  220. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
  221. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +7 -6
  222. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
  223. package/lib/stores/shared/LambdaEditorState.d.ts +40 -0
  224. package/lib/stores/shared/LambdaEditorState.d.ts.map +1 -0
  225. package/lib/stores/shared/LambdaEditorState.js +81 -0
  226. package/lib/stores/shared/LambdaEditorState.js.map +1 -0
  227. package/lib/stores/shared/LambdaParameterState.d.ts +62 -0
  228. package/lib/stores/shared/LambdaParameterState.d.ts.map +1 -0
  229. package/lib/stores/shared/LambdaParameterState.js +157 -0
  230. package/lib/stores/shared/LambdaParameterState.js.map +1 -0
  231. package/lib/{graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js → stores/shared/ValueSpecificationEditorHelper.d.ts} +5 -3
  232. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -0
  233. package/lib/stores/shared/ValueSpecificationEditorHelper.js +77 -0
  234. package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -0
  235. package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts +33 -0
  236. package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts.map +1 -0
  237. package/lib/stores/shared/ValueSpecificationModifierHelper.js +71 -0
  238. package/lib/stores/shared/ValueSpecificationModifierHelper.js.map +1 -0
  239. package/package.json +14 -17
  240. package/src/components/QueryBuilder.tsx +4 -1
  241. package/src/components/QueryBuilderComponentTestUtils.tsx +2 -2
  242. package/src/components/QueryBuilderDiffPanel.tsx +1 -1
  243. package/src/components/QueryBuilderParametersPanel.tsx +8 -7
  244. package/src/components/QueryBuilderPropertyExpressionEditor.tsx +15 -12
  245. package/src/components/QueryBuilderResultPanel.tsx +8 -6
  246. package/src/components/QueryBuilderTextEditor.tsx +2 -2
  247. package/src/components/QueryBuilder_TestID.ts +2 -0
  248. package/src/components/explorer/QueryBuilderExplorerPanel.tsx +2 -2
  249. package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +5 -3
  250. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +6 -4
  251. package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +1 -1
  252. package/src/components/filter/QueryBuilderFilterPanel.tsx +9 -6
  253. package/src/components/shared/BasicValueSpecificationEditor.tsx +837 -0
  254. package/src/components/shared/CustomDatePicker.tsx +1363 -0
  255. package/src/components/shared/LambdaEditor.tsx +858 -0
  256. package/src/components/shared/LambdaParameterValuesEditor.tsx +121 -0
  257. package/src/components/shared/QueryBuilderLambdaEditor.tsx +5 -5
  258. package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +2 -2
  259. package/src/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.ts → V1_QueryValueSpecificationBuilderHelper.ts} +9 -1
  260. package/src/index.ts +11 -0
  261. package/src/stores/QueryBuilderMilestoningState.ts +7 -7
  262. package/src/stores/QueryBuilderParametersState.ts +4 -4
  263. package/src/stores/QueryBuilderPropertyEditorState.ts +49 -56
  264. package/src/stores/QueryBuilderResultState.ts +2 -4
  265. package/src/stores/QueryBuilderState.ts +5 -5
  266. package/src/stores/QueryBuilderStateBuilder.ts +1 -1
  267. package/src/stores/QueryBuilderTextEditorState.ts +2 -1
  268. package/src/stores/QueryBuilderValueSpecificationBuilder.ts +5 -2
  269. package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +30 -42
  270. package/src/stores/QueryBuilderValueSpecificationHelper.ts +13 -8
  271. package/src/stores/explorer/QueryBuilderExplorerState.ts +12 -2
  272. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +1 -1
  273. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +3 -3
  274. package/src/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.ts → QueryBuilderGraphFetchTreeValueSpecificationBuilder.ts} +0 -1
  275. package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +3 -3
  276. package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +1 -1
  277. package/src/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.ts +4 -4
  278. package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +6 -9
  279. package/src/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.ts → QueryBuilderAggregateOperatorValueSpecificationBuilder.ts} +1 -1
  280. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.ts +3 -3
  281. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.ts +3 -3
  282. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.ts +3 -3
  283. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +1 -1
  284. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.ts +1 -1
  285. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.ts +5 -5
  286. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.ts +5 -5
  287. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.ts +3 -3
  288. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.ts +3 -3
  289. package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.ts +3 -3
  290. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.ts +2 -2
  291. package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +12 -10
  292. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.ts +2 -86
  293. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.ts +104 -0
  294. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +3 -3
  295. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +3 -3
  296. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +8 -7
  297. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +4 -4
  298. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +3 -3
  299. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +2 -2
  300. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +1 -1
  301. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +4 -4
  302. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +3 -3
  303. package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +3 -3
  304. package/src/stores/filter/operators/{QueryBuilderFilterOperatorHelper.ts → QueryBuilderFilterOperatorValueSpecificationBuilder.ts} +10 -11
  305. package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +5 -5
  306. package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +5 -5
  307. package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +11 -10
  308. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +7 -7
  309. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +7 -7
  310. package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +5 -5
  311. package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +3 -3
  312. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +7 -7
  313. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +7 -7
  314. package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +5 -5
  315. package/src/stores/shared/LambdaEditorState.ts +118 -0
  316. package/src/stores/shared/LambdaParameterState.ts +259 -0
  317. package/src/stores/shared/ValueSpecificationEditorHelper.ts +143 -0
  318. package/src/stores/shared/ValueSpecificationModifierHelper.ts +177 -0
  319. package/tsconfig.json +14 -7
  320. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts.map +0 -1
  321. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js.map +0 -1
  322. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts.map +0 -1
  323. package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js.map +0 -1
  324. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts.map +0 -1
  325. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js.map +0 -1
  326. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.d.ts.map +0 -1
  327. package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.js.map +0 -1
  328. package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.d.ts.map +0 -1
  329. package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomDatePicker.js","sourceRoot":"","sources":["../../../src/components/shared/CustomDatePicker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /// <reference types="react" resolution-mode="require"/>
17
+ import { type IKeyboardEvent } from 'monaco-editor';
18
+ import type { LambdaEditorState } from '../../stores/shared/LambdaEditorState.js';
19
+ import { type Type } from '@finos/legend-graph';
20
+ export declare type LambdaEditorOnKeyDownEventHandler = {
21
+ matcher: (event: IKeyboardEvent) => boolean;
22
+ action: (event: IKeyboardEvent) => void;
23
+ };
24
+ /**
25
+ * This is not strictly meant for lambda. The idea is to create an editor that allows
26
+ * editing _something_ but allows user to edit via text.
27
+ */
28
+ export declare const LambdaEditor: ((props: {
29
+ className?: string | undefined;
30
+ disabled: boolean;
31
+ lambdaEditorState: LambdaEditorState;
32
+ /**
33
+ * TODO: when we pass in these expected type we should match a type as expected type if it's covariance, i.e. it is a subtype of
34
+ * the expected type. Note that we also have to handle that relationship for Primitive type
35
+ * See https://dzone.com/articles/covariance-and-contravariance
36
+ */
37
+ expectedType?: Type | undefined;
38
+ matchedExpectedType?: (() => boolean) | undefined;
39
+ onExpectedTypeLabelSelect?: (() => void) | undefined;
40
+ /**
41
+ * As backdrop element is often shared in the application, and there could be multiple
42
+ * editor using that backdrop, we could end up in situation where some such editors
43
+ * have parser errors and some don't (this can happen when user make edits very quickly 2 lambda
44
+ * editor and causes parsers error simultaneously). In this case, we want to make sure when
45
+ * parser error is fixed in one editor, the backdrop is not dismissed immediately.
46
+ *
47
+ * NOTE: the current approach has a critical flaw, where on the same screen, there could be multiple
48
+ * sets of lambda editors with different values for `forceBackdrop`. So really, the only way to
49
+ * accomondate for this is to have `forceBackdrop` as a global value. Or we should get rid of this
50
+ * backdrop mechanism altogether as it's not really a good UX pattern. i.e. quick evaluation makes
51
+ * us believe that this is a good option, user will lose what they type, but the most recent parsable
52
+ * input will still be captured.
53
+ */
54
+ forceBackdrop: boolean;
55
+ /**
56
+ * (de)activator for backdrop that is usually used to block any background interactions
57
+ * while there is a parser error in the editor
58
+ */
59
+ backdropSetter?: ((val: boolean) => void) | undefined;
60
+ /**
61
+ * To whether or not disable expasipn toggler
62
+ */
63
+ disableExpansion?: boolean | undefined;
64
+ /**
65
+ * To whether show the inline editor in expanded mode initially and
66
+ * disable expansion toggler
67
+ *
68
+ * This flag will override the effect of `forceExpansion`
69
+ */
70
+ forceExpansion?: boolean | undefined;
71
+ /**
72
+ * To whether or not disable popup mode
73
+ */
74
+ disablePopUp?: boolean | undefined;
75
+ /**
76
+ * To whether or not style inline editor
77
+ */
78
+ useBaseTextEditorSettings?: boolean | undefined;
79
+ /**
80
+ * To whether or not hide parser error bar in inline mode
81
+ */
82
+ hideErrorBar?: boolean | undefined;
83
+ /**
84
+ * Allow adding hotkeys handler to the editor, this is usually used
85
+ * to allow activating global hotkeys while typing in the editor
86
+ */
87
+ onKeyDownEventHandlers?: LambdaEditorOnKeyDownEventHandler[];
88
+ onEditorFocusEventHandler?: (() => void) | undefined;
89
+ }) => JSX.Element) & {
90
+ displayName: string;
91
+ };
92
+ //# sourceMappingURL=LambdaEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LambdaEditor.d.ts","sourceRoot":"","sources":["../../../src/components/shared/LambdaEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAGH,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAgBvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAQlF,OAAO,EAAiC,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAS/E,oBAAY,iCAAiC,GAAG;IAC9C,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACzC,CAAC;AA4nBF;;;GAGG;AACH,eAAO,MAAM,YAAY;gBAET,MAAM,GAAG,SAAS;cACpB,OAAO;uBACE,iBAAiB;IACpC;;;;OAIG;mBACY,IAAI,GAAG,SAAS;0BACT,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS;gCACrB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IACpD;;;;;;;;;;;;;OAaG;mBACY,OAAO;IACtB;;;OAGG;4BACqB,OAAO,KAAK,IAAI;IACxC;;OAEG;uBACgB,OAAO,GAAG,SAAS;IACtC;;;;;OAKG;qBACc,OAAO,GAAG,SAAS;IACpC;;OAEG;mBACY,OAAO,GAAG,SAAS;IAClC;;OAEG;gCACyB,OAAO,GAAG,SAAS;IAC/C;;OAEG;mBACY,OAAO,GAAG,SAAS;IAClC;;;OAGG;6BACsB,iCAAiC,EAAE;gCAChC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;;;CAmGvD,CAAC"}
@@ -0,0 +1,432 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2020-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { useRef, useEffect, useState, useMemo } from 'react';
18
+ import { editor as monacoEditorAPI, } from 'monaco-editor';
19
+ import { observer } from 'mobx-react-lite';
20
+ import { clsx, setErrorMarkers, disposeEditor, disableEditorHotKeys, baseTextEditorSettings, getEditorValue, normalizeLineEnding, FilledWindowMaximizeIcon, LongArrowAltDownIcon, LongArrowAltUpIcon, Dialog, useResizeDetector, } from '@finos/legend-art';
21
+ import { debounce, noop, } from '@finos/legend-shared';
22
+ import { flowResult } from 'mobx';
23
+ import { ParserError } from '@finos/legend-graph';
24
+ import { EDITOR_LANGUAGE, EDITOR_THEME, TAB_SIZE, useApplicationStore, } from '@finos/legend-application';
25
+ import { QUERY_BUILDER_TEST_ID } from '../QueryBuilder_TestID.js';
26
+ const LambdaErrorFeedback = (props) => {
27
+ const { error, discardChanges } = props;
28
+ if (!error) {
29
+ return null;
30
+ }
31
+ return (_jsxs("div", { className: "lambda-editor__error-feedback", children: [_jsx("div", { className: "lambda-editor__error-feedback__error__message", children: error.message }), error instanceof ParserError && (_jsx("div", { className: "lambda-editor__error-feedback__parsing-error__content", children: _jsx("button", { className: "lambda-editor__error-feedback__parsing-error__discard-changes-btn", onClick: discardChanges, tabIndex: -1, children: "Discard Changes" }) }))] }));
32
+ };
33
+ const LambdaEditorInline = observer((props) => {
34
+ const { className, disabled, lambdaEditorState, transformStringToLambda, expectedType, onExpectedTypeLabelSelect, matchedExpectedType, forceBackdrop, backdropSetter, disableExpansion, forceExpansion, disablePopUp, useBaseTextEditorSettings, hideErrorBar, onKeyDownEventHandlers, openInPopUp, onEditorFocusEventHandler, } = props;
35
+ const applicationStore = useApplicationStore();
36
+ const onDidChangeModelContentEventDisposer = useRef(undefined);
37
+ const onKeyDownEventDisposer = useRef(undefined);
38
+ const onDidFocusEditorWidgetDisposer = useRef(undefined);
39
+ const value = normalizeLineEnding(lambdaEditorState.lambdaString);
40
+ const parserError = lambdaEditorState.parserError;
41
+ const compilationError = lambdaEditorState.compilationError;
42
+ const selectTypeLabel = () => onExpectedTypeLabelSelect?.();
43
+ const [isExpanded, setExpanded] = useState(Boolean(forceExpansion));
44
+ const [editor, setEditor] = useState();
45
+ const textInputRef = useRef(null);
46
+ const transformLambdaToString = async (pretty) => {
47
+ transformStringToLambda?.cancel();
48
+ return flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(pretty)).catch(applicationStore.alertUnhandledError);
49
+ };
50
+ const discardChanges = applicationStore.guardUnhandledError(() => transformLambdaToString(isExpanded));
51
+ const toggleExpandedMode = () => {
52
+ if (!forceExpansion && !parserError) {
53
+ transformLambdaToString(!isExpanded).catch(applicationStore.alertUnhandledError);
54
+ setExpanded(!isExpanded);
55
+ }
56
+ };
57
+ const { ref, width, height } = useResizeDetector();
58
+ useEffect(() => {
59
+ if (width !== undefined && height !== undefined) {
60
+ editor?.layout({ width, height });
61
+ }
62
+ }, [editor, width, height]);
63
+ useEffect(() => {
64
+ if (!editor && textInputRef.current) {
65
+ const element = textInputRef.current;
66
+ const lambdaEditorOptions = useBaseTextEditorSettings
67
+ ? {}
68
+ : {
69
+ renderLineHighlight: 'none',
70
+ lineHeight: 24,
71
+ overviewRulerBorder: false,
72
+ overviewRulerLanes: 0,
73
+ hideCursorInOverviewRuler: false,
74
+ glyphMargin: false,
75
+ folding: false,
76
+ minimap: { enabled: false },
77
+ lineNumbers: 'off',
78
+ lineNumbersMinChars: 0,
79
+ lineDecorationsWidth: 5,
80
+ snippetSuggestions: 'none',
81
+ scrollbar: { vertical: 'hidden' },
82
+ };
83
+ const _editor = monacoEditorAPI.create(element, {
84
+ ...baseTextEditorSettings,
85
+ language: EDITOR_LANGUAGE.PURE,
86
+ theme: applicationStore.TEMPORARY__isLightThemeEnabled
87
+ ? EDITOR_THEME.TEMPORARY__VSCODE_LIGHT
88
+ : EDITOR_THEME.LEGEND,
89
+ ...lambdaEditorOptions,
90
+ });
91
+ disableEditorHotKeys(_editor);
92
+ setEditor(_editor);
93
+ }
94
+ }, [editor, applicationStore, useBaseTextEditorSettings]);
95
+ // set styling for expanded mode
96
+ useEffect(() => {
97
+ if (editor) {
98
+ const currentClassName = editor.getRawOptions().extraEditorClassName;
99
+ const isInExpanded = currentClassName === 'lambda-editor__expanded';
100
+ if (isInExpanded !== isExpanded) {
101
+ editor.updateOptions(isExpanded
102
+ ? {
103
+ extraEditorClassName: 'lambda-editor__editor__input__expanded',
104
+ }
105
+ : {
106
+ extraEditorClassName: 'lambda-editor__editor__input__compressed',
107
+ });
108
+ // set the value here so we don't lose the error when toggling between expand/collape modes
109
+ const currentValue = getEditorValue(editor);
110
+ editor.setValue(currentValue);
111
+ }
112
+ }
113
+ }, [editor, isExpanded]);
114
+ // set backdrop to force user to fix parser error when it happens
115
+ useEffect(() => {
116
+ if (backdropSetter) {
117
+ if (parserError) {
118
+ backdropSetter(true);
119
+ }
120
+ else if (!forceBackdrop) {
121
+ // make sure the backdrop is no longer `needed` for blocking by another parser error before hiding it
122
+ // NOTE: this has a serious drawback, see the documentation for `forceBackdrop` prop of `LambdaEditor`
123
+ // for better context
124
+ backdropSetter(false);
125
+ }
126
+ }
127
+ }, [parserError, forceBackdrop, backdropSetter]);
128
+ if (editor) {
129
+ /**
130
+ * See the extensive note about this instantiation in `LambdaEditor`. The fact that `transformStringToLambda` can change
131
+ * since it does not solely depends on `LambdaEditorState` but also the `disabled` flag means that the update function
132
+ * can go stale, so we cannot place this `onDidChangeModelContent` in a one-time called instantiation of the editor
133
+ * (i.e. the first `useEffect` where we create the editor). As such, we have to use refs and disposer to update this every time
134
+ * the lambda editor is re-rendered.
135
+ *
136
+ * A potential bug that could come up if we place this logic in the `useEffect` for instantiating the editor is:
137
+ * 1. Initially set the `disabled` to true, then switch it back to `false` (using a timer or something)
138
+ * 2. Type something in the lambda editor, the transform function is `undefined` and does not update the underlying lambda
139
+ */
140
+ onDidChangeModelContentEventDisposer.current?.dispose();
141
+ onDidChangeModelContentEventDisposer.current =
142
+ editor.onDidChangeModelContent(() => {
143
+ const currentVal = getEditorValue(editor);
144
+ /**
145
+ * Avoid unecessary setting of lambda string. Also, this prevents clearing the non-parser error on first render.
146
+ * Since this method is guaranteed to be called one time during the first rendering when we first set the
147
+ * value for the lambda editor, we do not want to clear any existing non-parser error in case it is set by methods
148
+ * like reveal error in each editor
149
+ */
150
+ if (currentVal !== value) {
151
+ lambdaEditorState.setLambdaString(currentVal);
152
+ /**
153
+ * Here we clear the error as user changes the input
154
+ * NOTE: we don't reset the parser error here, we could, but with that, we have to assume that the parsing check is
155
+ * pretty quick--almost near real time, but if after typing new character, we clear the parsing error and the user
156
+ * still make mistake, then the warning message will appear to flash, which is bad UX, so for now, we leave it be
157
+ */
158
+ lambdaEditorState.setCompilationError(undefined);
159
+ }
160
+ /**
161
+ * This method MUST run on the first rendering of the lambda editor, as it will update the lambda object. This is
162
+ * needed for new lambda where a lot of time is just a stub lambda. Without having this method called on the first
163
+ * rendering, that stub lambda will remain stub lambda until user starts typing something in the lambda editor.
164
+ * This stub lambda sometimes does not even get registered in change detection and causing the user to lose data
165
+ * Although, technically a stub lambda is useless, so this is not too serious, but it may come across as buggy
166
+ */
167
+ transformStringToLambda?.cancel();
168
+ if (transformStringToLambda) {
169
+ const stringToLambdaTransformation = transformStringToLambda();
170
+ if (stringToLambdaTransformation) {
171
+ flowResult(stringToLambdaTransformation).catch(applicationStore.alertUnhandledError);
172
+ }
173
+ }
174
+ });
175
+ // set hotkeys (before calling the action, finish parsing the current text value)
176
+ onKeyDownEventDisposer.current?.dispose(); // dispose to avoid trigger hotkeys multiple times
177
+ /**
178
+ * NOTE: We can use `setCommand` here but that does not expose the event so we cannot `stopPropagation`, and we need to
179
+ * use `stopPropagation` to prevent the event top bubble up to global hotkeys listener.
180
+ * If we really want to use `setCommand` the other approach is to set <HotKeys/> around this lambda editor to override F9
181
+ * perhaps that's the cleaner approach because we use `react-hotkeys` to handle it's business, but there is an on-going
182
+ * issue with <HotKeys/> keybindings are lost when component rerenders and this happen as users type because we call `setValue`
183
+ * See https://github.com/greena13/react-hotkeys/issues/209
184
+ *
185
+ * The main role of this section is to disable `monaco-editor` command and override with global actions, such as generate, compile,
186
+ * toggle text mode, etc. The important thing is before we do so, we would like to finish the parsing of the current string, otherwise,
187
+ * those operations can end up flushing the current state and trashing the user input, which is bad, as such, we make sure the
188
+ * parsing passes before actually calling those global operations.
189
+ */
190
+ onKeyDownEventDisposer.current = editor.onKeyDown((event) => {
191
+ onKeyDownEventHandlers.forEach((handler) => {
192
+ if (handler.matcher(event)) {
193
+ event.preventDefault();
194
+ event.stopPropagation();
195
+ transformStringToLambda?.cancel();
196
+ handler.action(event);
197
+ }
198
+ });
199
+ });
200
+ onDidFocusEditorWidgetDisposer.current?.dispose();
201
+ onDidFocusEditorWidgetDisposer.current = editor.onDidFocusEditorWidget(() => {
202
+ onEditorFocusEventHandler?.();
203
+ });
204
+ // Set the text value
205
+ const currentValue = getEditorValue(editor);
206
+ const editorModel = editor.getModel();
207
+ const currentConfig = editor.getRawOptions();
208
+ if (currentValue !== value) {
209
+ editor.setValue(value);
210
+ }
211
+ if (currentConfig.readOnly !== disabled) {
212
+ editor.updateOptions({
213
+ readOnly: disabled,
214
+ });
215
+ }
216
+ // Set the errors
217
+ if (editorModel) {
218
+ editorModel.updateOptions({ tabSize: TAB_SIZE });
219
+ const error = parserError ?? compilationError;
220
+ if (error?.sourceInformation) {
221
+ setErrorMarkers(editorModel, error.message, error.sourceInformation.startLine, error.sourceInformation.startColumn, error.sourceInformation.endLine, error.sourceInformation.endColumn);
222
+ }
223
+ else {
224
+ monacoEditorAPI.setModelMarkers(editorModel, 'Error', []);
225
+ }
226
+ }
227
+ }
228
+ useEffect(() => () => {
229
+ if (editor) {
230
+ disposeEditor(editor);
231
+ }
232
+ }, [editor]); // dispose editor
233
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: clsx('lambda-editor', className, {
234
+ 'lambda-editor__expanded': isExpanded,
235
+ }), children: [_jsx("div", { ref: ref, "data-testid": QUERY_BUILDER_TEST_ID.LAMBDA_EDITOR__EDITOR_INPUT, className: "lambda-editor__editor__input", children: _jsx("div", { className: "text-editor__body", ref: textInputRef }) }), Boolean(expectedType) && (_jsxs("div", { className: "lambda-editor__editor__info", children: [onExpectedTypeLabelSelect && (_jsx("button", { className: clsx('lambda-editor__editor__expected-return-type lambda-editor__editor__expected-return-type--clickable', {
236
+ 'lambda-editor__editor__expected-return-type--highlighted': matchedExpectedType?.(),
237
+ }), onClick: selectTypeLabel, tabIndex: -1, title: "Toggle highlight expected type", children: expectedType?.name ?? 'unknown' })), !onExpectedTypeLabelSelect && (_jsx("div", { className: clsx('lambda-editor__editor__expected-return-type', {
238
+ 'lambda-editor__editor__expected-return-type--highlighted': matchedExpectedType?.(),
239
+ }), children: expectedType?.name ?? 'unknown' }))] })), !disableExpansion && !forceExpansion && (_jsx("button", { className: "lambda-editor__editor__expand-btn", onClick: toggleExpandedMode, disabled: Boolean(parserError), tabIndex: -1, title: "Toggle Expand", children: isExpanded ? _jsx(LongArrowAltUpIcon, {}) : _jsx(LongArrowAltDownIcon, {}) })), !disablePopUp && (_jsx("button", { className: "lambda-editor__action", onClick: openInPopUp, disabled: Boolean(parserError), tabIndex: -1, title: "Open...", children: _jsx(FilledWindowMaximizeIcon, {}) }))] }), !hideErrorBar && (_jsx(LambdaErrorFeedback, { error: parserError ?? compilationError, discardChanges: discardChanges }))] }));
240
+ });
241
+ const LambdaEditorPopUp = observer((props) => {
242
+ const { className, disabled, lambdaEditorState, transformStringToLambda, onKeyDownEventHandlers, onClose, } = props;
243
+ const applicationStore = useApplicationStore();
244
+ const onKeyDownEventDisposer = useRef(undefined);
245
+ const onDidChangeModelContentEventDisposer = useRef(undefined);
246
+ const value = normalizeLineEnding(lambdaEditorState.lambdaString);
247
+ const parserError = lambdaEditorState.parserError;
248
+ const compilationError = lambdaEditorState.compilationError;
249
+ const [editor, setEditor] = useState();
250
+ const textInputRef = useRef(null);
251
+ const transformLambdaToString = async (pretty) => {
252
+ transformStringToLambda?.cancel();
253
+ return flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(pretty)).catch(applicationStore.alertUnhandledError);
254
+ };
255
+ const discardChanges = applicationStore.guardUnhandledError(() => transformLambdaToString(true));
256
+ const { ref, width, height } = useResizeDetector();
257
+ useEffect(() => {
258
+ if (width !== undefined && height !== undefined) {
259
+ editor?.layout({ width, height });
260
+ }
261
+ }, [editor, width, height]);
262
+ const onEnter = () => {
263
+ if (!editor && textInputRef.current) {
264
+ const element = textInputRef.current;
265
+ const _editor = monacoEditorAPI.create(element, {
266
+ ...baseTextEditorSettings,
267
+ language: EDITOR_LANGUAGE.PURE,
268
+ theme: EDITOR_THEME.LEGEND,
269
+ });
270
+ disableEditorHotKeys(_editor);
271
+ setEditor(_editor);
272
+ }
273
+ };
274
+ if (editor) {
275
+ /**
276
+ * See the extensive note about this instantiation in `LambdaEditor`. The fact that `transformStringToLambda` can change
277
+ * since it does not solely depends on `LambdaEditorState` but also the `disabled` flag means that the update function
278
+ * can go stale, so we cannot place this `onDidChangeModelContent` in a one-time called instantiation of the editor
279
+ * (i.e. the first `useEffect` where we create the editor). As such, we have to use refs and disposer to update this every time
280
+ * the lambda editor is re-rendered.
281
+ *
282
+ * A potential bug that could come up if we place this logic in the `useEffect` for instantiating the editor is:
283
+ * 1. Initially set the `disabled` to true, then switch it back to `false` (using a timer or something)
284
+ * 2. Type something in the lambda editor, the transform function is `undefined` and does not update the underlying lambda
285
+ */
286
+ onDidChangeModelContentEventDisposer.current?.dispose();
287
+ onDidChangeModelContentEventDisposer.current =
288
+ editor.onDidChangeModelContent(() => {
289
+ const currentVal = getEditorValue(editor);
290
+ /**
291
+ * Avoid unecessary setting of lambda string. Also, this prevents clearing the non-parser error on first render.
292
+ * Since this method is guaranteed to be called one time during the first rendering when we first set the
293
+ * value for the lambda editor, we do not want to clear any existing non-parser error in case it is set by methods
294
+ * like reveal error in each editor
295
+ */
296
+ if (currentVal !== value) {
297
+ lambdaEditorState.setLambdaString(currentVal);
298
+ /**
299
+ * Here we clear the error as user changes the input
300
+ * NOTE: we don't reset the parser error here, we could, but with that, we have to assume that the parsing check is
301
+ * pretty quick--almost near real time, but if after typing new character, we clear the parsing error and the user
302
+ * still make mistake, then the warning message will appear to flash, which is bad UX, so for now, we leave it be
303
+ */
304
+ lambdaEditorState.setCompilationError(undefined);
305
+ }
306
+ /**
307
+ * This method MUST run on the first rendering of the lambda editor, as it will update the lambda object. This is
308
+ * needed for new lambda where a lot of time is just a stub lambda. Without having this method called on the first
309
+ * rendering, that stub lambda will remain stub lambda until user starts typing something in the lambda editor.
310
+ * This stub lambda sometimes does not even get registered in change detection and causing the user to lose data
311
+ * Although, technically a stub lambda is useless, so this is not too serious, but it may come across as buggy
312
+ */
313
+ transformStringToLambda?.cancel();
314
+ if (transformStringToLambda) {
315
+ const stringToLambdaTransformation = transformStringToLambda();
316
+ if (stringToLambdaTransformation) {
317
+ flowResult(stringToLambdaTransformation).catch(applicationStore.alertUnhandledError);
318
+ }
319
+ }
320
+ });
321
+ // set hotkeys (before calling the action, finish parsing the current text value)
322
+ onKeyDownEventDisposer.current?.dispose(); // dispose to avoid trigger hotkeys multiple times
323
+ /**
324
+ * NOTE: We can use `setCommand` here but that does not expose the event so we cannot `stopPropagation`, and we need to
325
+ * use `stopPropagation` to prevent the event top bubble up to global hotkeys listener.
326
+ * If we really want to use `setCommand` the other approach is to set <HotKeys/> around this lambda editor to override F9
327
+ * perhaps that's the cleaner approach because we use `react-hotkeys` to handle it's business, but there is an on-going
328
+ * issue with <HotKeys/> keybindings are lost when component rerenders and this happen as users type because we call `setValue`
329
+ * See https://github.com/greena13/react-hotkeys/issues/209
330
+ *
331
+ * The main role of this section is to disable `monaco-editor` command and override with global actions, such as generate, compile,
332
+ * toggle text mode, etc. The important thing is before we do so, we would like to finish the parsing of the current string, otherwise,
333
+ * those operations can end up flushing the current state and trashing the user input, which is bad, as such, we make sure the
334
+ * parsing passes before actually calling those global operations.
335
+ */
336
+ onKeyDownEventDisposer.current = editor.onKeyDown((event) => {
337
+ onKeyDownEventHandlers.forEach((handler) => {
338
+ if (handler.matcher(event)) {
339
+ event.preventDefault();
340
+ event.stopPropagation();
341
+ transformStringToLambda?.cancel();
342
+ handler.action(event);
343
+ }
344
+ });
345
+ });
346
+ // Set the text value
347
+ const currentValue = getEditorValue(editor);
348
+ const editorModel = editor.getModel();
349
+ const currentConfig = editor.getRawOptions();
350
+ if (currentValue !== value) {
351
+ editor.setValue(value);
352
+ }
353
+ if (currentConfig.readOnly !== disabled) {
354
+ editor.updateOptions({
355
+ readOnly: disabled,
356
+ });
357
+ }
358
+ // Set the errors
359
+ if (editorModel) {
360
+ editorModel.updateOptions({ tabSize: TAB_SIZE });
361
+ const error = parserError ?? compilationError;
362
+ if (error?.sourceInformation) {
363
+ setErrorMarkers(editorModel, error.message, error.sourceInformation.startLine, error.sourceInformation.startColumn, error.sourceInformation.endLine, error.sourceInformation.endColumn);
364
+ }
365
+ else {
366
+ monacoEditorAPI.setModelMarkers(editorModel, 'Error', []);
367
+ }
368
+ }
369
+ }
370
+ useEffect(() => {
371
+ flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(true)).catch(applicationStore.alertUnhandledError);
372
+ }, [applicationStore, lambdaEditorState]);
373
+ useEffect(() => () => {
374
+ if (editor) {
375
+ disposeEditor(editor);
376
+ }
377
+ }, [editor]); // dispose editor
378
+ return (_jsx(Dialog, { open: true, TransitionProps: {
379
+ onEnter,
380
+ }, onClose: noop, classes: {
381
+ root: 'editor-modal__root-container',
382
+ container: 'editor-modal__container',
383
+ paper: 'editor-modal__content',
384
+ }, children: _jsxs("div", { className: clsx('modal modal--dark editor-modal lambda-editor__popup__modal', {
385
+ 'lambda-editor__popup__modal--has-error': Boolean(lambdaEditorState.parserError),
386
+ }), children: [_jsxs("div", { className: "modal__header", children: [_jsx("div", { className: "modal__title", children: "Edit Lambda" }), lambdaEditorState.parserError && (_jsx("div", { className: "modal__title__error-badge", children: "Failed to parse lambda" }))] }), _jsx("div", { className: "modal__body", children: _jsx("div", { className: clsx('lambda-editor__popup__content', className), children: _jsx("div", { ref: ref, "data-testid": QUERY_BUILDER_TEST_ID.LAMBDA_EDITOR__EDITOR_INPUT, className: "lambda-editor__editor__input", children: _jsx("div", { className: "text-editor__body", ref: textInputRef }) }) }) }), _jsxs("div", { className: "modal__footer", children: [_jsx("button", { className: "btn btn--dark btn--caution", onClick: discardChanges, children: "Discard changes" }), _jsx("button", { className: "btn btn--dark", onClick: onClose, disabled: Boolean(lambdaEditorState.parserError), children: "Close" })] })] }) }));
387
+ });
388
+ /**
389
+ * This is not strictly meant for lambda. The idea is to create an editor that allows
390
+ * editing _something_ but allows user to edit via text.
391
+ */
392
+ export const LambdaEditor = observer((props) => {
393
+ const { className, lambdaEditorState, disabled, forceBackdrop, backdropSetter, expectedType, onExpectedTypeLabelSelect, matchedExpectedType, disableExpansion, forceExpansion, disablePopUp, useBaseTextEditorSettings, hideErrorBar, onKeyDownEventHandlers, onEditorFocusEventHandler, } = props;
394
+ const [showPopUp, setShowPopUp] = useState(false);
395
+ const openInPopUp = () => setShowPopUp(true);
396
+ const closePopUp = () => setShowPopUp(false);
397
+ const debouncedTransformStringToLambda = useMemo(() => disabled
398
+ ? undefined
399
+ : debounce(() => lambdaEditorState.convertLambdaGrammarStringToObject(), 1000), [lambdaEditorState, disabled]);
400
+ if (!disablePopUp && showPopUp) {
401
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "lambda-editor" }), _jsx(LambdaEditorPopUp, { className: className, disabled: disabled, lambdaEditorState: lambdaEditorState, transformStringToLambda: debouncedTransformStringToLambda, onKeyDownEventHandlers: onKeyDownEventHandlers ?? [], onClose: closePopUp })] }));
402
+ }
403
+ return (_jsx(LambdaEditorInline
404
+ /**
405
+ * See the usage of `transformStringToLambda` as well as the instatiation of the editor in `LambdaEditorInner`.
406
+ * One of the big problem is that the editor uses lambda editor state (there are some non-trivial logic there, that
407
+ * handles string <-> lambda object conversion), but there are certain operations in this app that can potentially
408
+ * remove and recreate the lambda editor state, such as global generate or global compile, for such case, `LambdaEditorInner`
409
+ * receives a new lambda editor state, but since React is smart about redrawing the DOM, it will not recreate the instance
410
+ * of `monaco-editor` (see the useEffect() block), as such, the editor is using a stale state. That is definitely a bug;
411
+ * and to demonstrate, we can try the following sequence of actions:
412
+ *
413
+ * 1. Type something that parses in the lambda editor
414
+ * 2. Wait till the parse call finishes, hit F10 (trigger state update)
415
+ * 3. Type something to cause parser error
416
+ * 4. We will see that nothing happens. If we inspect network call, we will see a call returns with parsing error, but
417
+ * the editor is refering to the old state, hence no reporting
418
+ *
419
+ * As such, the most appropriate resolution is to intentionally force remount of lambda editor when user perform a state
420
+ * refresh operations. To do this, we use React `key` field with UUID bound to the state, as the state is recreated, the UUID
421
+ * changes and the editor is recreated. However, this alone is not enough because we use `useMemo` for the debounced
422
+ * transform function, which relies on another value other than the state (i.e. `disabled` flag), the same problem happens
423
+ * as the function goes stale if `disabled` flag changes value. For that, see the implementation trick below (involving refs and disposer)
424
+ *
425
+ * So technically, we don't need to do the force-remount using `key`, but to be cleaner, we prevent other poential bugs, we do it anyway
426
+ * to reset everything.
427
+ */
428
+ , { className: className, disabled: disabled, lambdaEditorState: lambdaEditorState, transformStringToLambda: debouncedTransformStringToLambda, expectedType: expectedType, matchedExpectedType: matchedExpectedType, onExpectedTypeLabelSelect: onExpectedTypeLabelSelect, forceBackdrop: forceBackdrop, backdropSetter: backdropSetter, disableExpansion: disableExpansion, forceExpansion: disableExpansion !== undefined
429
+ ? !disableExpansion && forceExpansion
430
+ : forceExpansion, disablePopUp: disablePopUp, useBaseTextEditorSettings: useBaseTextEditorSettings, hideErrorBar: hideErrorBar, onKeyDownEventHandlers: onKeyDownEventHandlers ?? [], openInPopUp: openInPopUp, onEditorFocusEventHandler: onEditorFocusEventHandler }, lambdaEditorState.uuid));
431
+ });
432
+ //# sourceMappingURL=LambdaEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LambdaEditor.js","sourceRoot":"","sources":["../../../src/components/shared/LambdaEditor.tsx"],"names":[],"mappings":"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"}