@finos/legend-application-query 5.0.2 → 5.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 (233) hide show
  1. package/lib/application/LegendQueryApplicationConfig.d.ts +19 -1
  2. package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
  3. package/lib/application/LegendQueryApplicationConfig.js +25 -1
  4. package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
  5. package/lib/components/LegendQueryApplication.d.ts.map +1 -1
  6. package/lib/components/LegendQueryApplication.js +15 -5
  7. package/lib/components/LegendQueryApplication.js.map +1 -1
  8. package/lib/components/LegendQueryBaseStoreProvider.d.ts.map +1 -1
  9. package/lib/components/LegendQueryBaseStoreProvider.js +3 -1
  10. package/lib/components/LegendQueryBaseStoreProvider.js.map +1 -1
  11. package/lib/components/QueryBuilder.d.ts.map +1 -1
  12. package/lib/components/QueryBuilder.js +3 -1
  13. package/lib/components/QueryBuilder.js.map +1 -1
  14. package/lib/components/QueryBuilderExplorerPanel.d.ts.map +1 -1
  15. package/lib/components/QueryBuilderExplorerPanel.js +7 -34
  16. package/lib/components/QueryBuilderExplorerPanel.js.map +1 -1
  17. package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
  18. package/lib/components/QueryBuilderFetchStructurePanel.js +77 -66
  19. package/lib/components/QueryBuilderFetchStructurePanel.js.map +1 -1
  20. package/lib/components/QueryBuilderFilterPanel.d.ts.map +1 -1
  21. package/lib/components/QueryBuilderFilterPanel.js +42 -59
  22. package/lib/components/QueryBuilderFilterPanel.js.map +1 -1
  23. package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
  24. package/lib/components/QueryBuilderFunctionsExplorerPanel.js +9 -39
  25. package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
  26. package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
  27. package/lib/components/QueryBuilderGraphFetchTreePanel.js +5 -5
  28. package/lib/components/QueryBuilderGraphFetchTreePanel.js.map +1 -1
  29. package/lib/components/QueryBuilderLambdaEditor.d.ts +1 -0
  30. package/lib/components/QueryBuilderLambdaEditor.d.ts.map +1 -1
  31. package/lib/components/QueryBuilderLambdaEditor.js +2 -2
  32. package/lib/components/QueryBuilderLambdaEditor.js.map +1 -1
  33. package/lib/components/QueryBuilderMilestoneEditor.js +5 -5
  34. package/lib/components/QueryBuilderMilestoneEditor.js.map +1 -1
  35. package/lib/components/QueryBuilderPanelIssueCountBadge.d.ts +20 -0
  36. package/lib/components/QueryBuilderPanelIssueCountBadge.d.ts.map +1 -0
  37. package/lib/components/QueryBuilderPanelIssueCountBadge.js +28 -0
  38. package/lib/components/QueryBuilderPanelIssueCountBadge.js.map +1 -0
  39. package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -1
  40. package/lib/components/QueryBuilderParameterPanel.js +13 -33
  41. package/lib/components/QueryBuilderParameterPanel.js.map +1 -1
  42. package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  43. package/lib/components/QueryBuilderPostFilterPanel.js +47 -59
  44. package/lib/components/QueryBuilderPostFilterPanel.js.map +1 -1
  45. package/lib/components/QueryBuilderProjectionPanel.d.ts.map +1 -1
  46. package/lib/components/QueryBuilderProjectionPanel.js +47 -63
  47. package/lib/components/QueryBuilderProjectionPanel.js.map +1 -1
  48. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
  49. package/lib/components/QueryBuilderPropertyExpressionEditor.js +11 -11
  50. package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
  51. package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
  52. package/lib/components/QueryBuilderPropertySearchPanel.js +3 -6
  53. package/lib/components/QueryBuilderPropertySearchPanel.js.map +1 -1
  54. package/lib/components/QueryBuilderResultModifierPanel.d.ts.map +1 -1
  55. package/lib/components/QueryBuilderResultModifierPanel.js +3 -1
  56. package/lib/components/QueryBuilderResultModifierPanel.js.map +1 -1
  57. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  58. package/lib/components/QueryBuilderResultPanel.js +28 -18
  59. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  60. package/lib/components/QueryBuilderSetupPanel.d.ts.map +1 -1
  61. package/lib/components/QueryBuilderSetupPanel.js +10 -9
  62. package/lib/components/QueryBuilderSetupPanel.js.map +1 -1
  63. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -1
  64. package/lib/components/QueryBuilderUnsupportedQueryEditor.js +4 -2
  65. package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -1
  66. package/lib/components/QueryEditor.d.ts.map +1 -1
  67. package/lib/components/QueryEditor.js +16 -4
  68. package/lib/components/QueryEditor.js.map +1 -1
  69. package/lib/components/QueryEditorComponentTestUtils.d.ts +2 -0
  70. package/lib/components/QueryEditorComponentTestUtils.d.ts.map +1 -1
  71. package/lib/components/QueryEditorComponentTestUtils.js +3 -2
  72. package/lib/components/QueryEditorComponentTestUtils.js.map +1 -1
  73. package/lib/components/QueryEditorStoreProvider.d.ts.map +1 -1
  74. package/lib/components/QueryEditorStoreProvider.js +7 -3
  75. package/lib/components/QueryEditorStoreProvider.js.map +1 -1
  76. package/lib/components/QuerySetupStoreProvider.d.ts.map +1 -1
  77. package/lib/components/QuerySetupStoreProvider.js +3 -1
  78. package/lib/components/QuerySetupStoreProvider.js.map +1 -1
  79. package/lib/index.css +2 -2
  80. package/lib/index.css.map +1 -1
  81. package/lib/package.json +11 -9
  82. package/lib/stores/LegendQueryBaseStore.d.ts +4 -2
  83. package/lib/stores/LegendQueryBaseStore.d.ts.map +1 -1
  84. package/lib/stores/LegendQueryBaseStore.js +5 -1
  85. package/lib/stores/LegendQueryBaseStore.js.map +1 -1
  86. package/lib/stores/QueryBuilderExplorerState.d.ts.map +1 -1
  87. package/lib/stores/QueryBuilderExplorerState.js +5 -0
  88. package/lib/stores/QueryBuilderExplorerState.js.map +1 -1
  89. package/lib/stores/QueryBuilderFetchStructureState.d.ts +8 -1
  90. package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +1 -1
  91. package/lib/stores/QueryBuilderFetchStructureState.js +10 -2
  92. package/lib/stores/QueryBuilderFetchStructureState.js.map +1 -1
  93. package/lib/stores/QueryBuilderFilterState.d.ts +8 -9
  94. package/lib/stores/QueryBuilderFilterState.d.ts.map +1 -1
  95. package/lib/stores/QueryBuilderFilterState.js +34 -13
  96. package/lib/stores/QueryBuilderFilterState.js.map +1 -1
  97. package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
  98. package/lib/stores/QueryBuilderGraphFetchTreeState.js +6 -3
  99. package/lib/stores/QueryBuilderGraphFetchTreeState.js.map +1 -1
  100. package/lib/stores/QueryBuilderLambdaProcessor.d.ts.map +1 -1
  101. package/lib/stores/QueryBuilderLambdaProcessor.js +2 -0
  102. package/lib/stores/QueryBuilderLambdaProcessor.js.map +1 -1
  103. package/lib/stores/QueryBuilderOperatorLoader.d.ts +47 -0
  104. package/lib/stores/QueryBuilderOperatorLoader.d.ts.map +1 -0
  105. package/lib/stores/QueryBuilderOperatorLoader.js +94 -0
  106. package/lib/stores/QueryBuilderOperatorLoader.js.map +1 -0
  107. package/lib/stores/QueryBuilderPostFilterState.d.ts +9 -6
  108. package/lib/stores/QueryBuilderPostFilterState.d.ts.map +1 -1
  109. package/lib/stores/QueryBuilderPostFilterState.js +31 -7
  110. package/lib/stores/QueryBuilderPostFilterState.js.map +1 -1
  111. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts +4 -3
  112. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -1
  113. package/lib/stores/QueryBuilderPreviewDataHelper.js +77 -97
  114. package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -1
  115. package/lib/stores/QueryBuilderProjectionState.d.ts +4 -8
  116. package/lib/stores/QueryBuilderProjectionState.d.ts.map +1 -1
  117. package/lib/stores/QueryBuilderProjectionState.js +17 -44
  118. package/lib/stores/QueryBuilderProjectionState.js.map +1 -1
  119. package/lib/stores/QueryBuilderSetupState.js +1 -1
  120. package/lib/stores/QueryBuilderSetupState.js.map +1 -1
  121. package/lib/stores/QueryBuilderState.d.ts +7 -1
  122. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  123. package/lib/stores/QueryBuilderState.js +17 -60
  124. package/lib/stores/QueryBuilderState.js.map +1 -1
  125. package/lib/stores/QueryBuilderTestUtils.d.ts +24 -0
  126. package/lib/stores/QueryBuilderTestUtils.d.ts.map +1 -0
  127. package/lib/stores/QueryBuilderTestUtils.js +49 -0
  128. package/lib/stores/QueryBuilderTestUtils.js.map +1 -0
  129. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts +24 -0
  130. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -0
  131. package/lib/stores/QueryBuilderTypeaheadHelper.js +89 -0
  132. package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -0
  133. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -1
  134. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +7 -7
  135. package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
  136. package/lib/stores/QueryEditorStore.d.ts +6 -4
  137. package/lib/stores/QueryEditorStore.d.ts.map +1 -1
  138. package/lib/stores/QueryEditorStore.js +23 -10
  139. package/lib/stores/QueryEditorStore.js.map +1 -1
  140. package/lib/stores/QueryEditorStoreTestUtils.d.ts.map +1 -1
  141. package/lib/stores/QueryEditorStoreTestUtils.js +1 -0
  142. package/lib/stores/QueryEditorStoreTestUtils.js.map +1 -1
  143. package/lib/stores/QueryFunctionsExplorerState.d.ts +2 -6
  144. package/lib/stores/QueryFunctionsExplorerState.d.ts.map +1 -1
  145. package/lib/stores/QueryFunctionsExplorerState.js +2 -11
  146. package/lib/stores/QueryFunctionsExplorerState.js.map +1 -1
  147. package/lib/stores/QueryParametersState.d.ts +1 -3
  148. package/lib/stores/QueryParametersState.d.ts.map +1 -1
  149. package/lib/stores/QueryParametersState.js +1 -4
  150. package/lib/stores/QueryParametersState.js.map +1 -1
  151. package/lib/stores/QuerySetupStore.d.ts +3 -1
  152. package/lib/stores/QuerySetupStore.d.ts.map +1 -1
  153. package/lib/stores/QuerySetupStore.js +3 -1
  154. package/lib/stores/QuerySetupStore.js.map +1 -1
  155. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  156. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js +4 -1
  157. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  158. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  159. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js +4 -1
  160. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  161. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  162. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js +4 -1
  163. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  164. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  165. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js +4 -1
  166. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  167. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  168. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js +4 -1
  169. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  170. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
  171. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js +4 -1
  172. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
  173. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
  174. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js +4 -1
  175. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
  176. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
  177. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js +4 -1
  178. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
  179. package/package.json +18 -16
  180. package/src/application/LegendQueryApplicationConfig.ts +41 -2
  181. package/src/components/LegendQueryApplication.tsx +27 -10
  182. package/src/components/LegendQueryBaseStoreProvider.tsx +3 -0
  183. package/src/components/QueryBuilder.tsx +13 -2
  184. package/src/components/QueryBuilderExplorerPanel.tsx +17 -56
  185. package/src/components/QueryBuilderFetchStructurePanel.tsx +93 -77
  186. package/src/components/QueryBuilderFilterPanel.tsx +205 -219
  187. package/src/components/QueryBuilderFunctionsExplorerPanel.tsx +24 -68
  188. package/src/components/QueryBuilderGraphFetchTreePanel.tsx +34 -25
  189. package/src/components/QueryBuilderLambdaEditor.tsx +3 -0
  190. package/src/components/QueryBuilderMilestoneEditor.tsx +34 -34
  191. package/src/components/QueryBuilderPanelIssueCountBadge.tsx +38 -0
  192. package/src/components/QueryBuilderParameterPanel.tsx +23 -55
  193. package/src/components/QueryBuilderPostFilterPanel.tsx +223 -230
  194. package/src/components/QueryBuilderProjectionPanel.tsx +127 -154
  195. package/src/components/QueryBuilderPropertyExpressionEditor.tsx +61 -57
  196. package/src/components/QueryBuilderPropertySearchPanel.tsx +8 -9
  197. package/src/components/QueryBuilderResultModifierPanel.tsx +4 -2
  198. package/src/components/QueryBuilderResultPanel.tsx +75 -50
  199. package/src/components/QueryBuilderSetupPanel.tsx +13 -12
  200. package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +4 -2
  201. package/src/components/QueryEditor.tsx +39 -1
  202. package/src/components/QueryEditorComponentTestUtils.tsx +15 -5
  203. package/src/components/QueryEditorStoreProvider.tsx +7 -0
  204. package/src/components/QuerySetupStoreProvider.tsx +3 -0
  205. package/src/stores/LegendQueryBaseStore.ts +14 -1
  206. package/src/stores/QueryBuilderExplorerState.ts +5 -0
  207. package/src/stores/QueryBuilderFetchStructureState.ts +18 -2
  208. package/src/stores/QueryBuilderFilterState.ts +50 -12
  209. package/src/stores/QueryBuilderGraphFetchTreeState.ts +14 -8
  210. package/src/stores/QueryBuilderLambdaProcessor.ts +8 -0
  211. package/src/stores/QueryBuilderOperatorLoader.ts +133 -0
  212. package/src/stores/QueryBuilderPostFilterState.ts +47 -8
  213. package/src/stores/QueryBuilderPreviewDataHelper.ts +122 -217
  214. package/src/stores/QueryBuilderProjectionState.ts +30 -58
  215. package/src/stores/QueryBuilderSetupState.ts +1 -1
  216. package/src/stores/QueryBuilderState.ts +33 -96
  217. package/src/stores/QueryBuilderTestUtils.ts +93 -0
  218. package/src/stores/QueryBuilderTypeaheadHelper.ts +149 -0
  219. package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +9 -7
  220. package/src/stores/QueryEditorStore.ts +29 -6
  221. package/src/stores/QueryEditorStoreTestUtils.ts +1 -0
  222. package/src/stores/QueryFunctionsExplorerState.ts +1 -11
  223. package/src/stores/QueryParametersState.ts +1 -3
  224. package/src/stores/QuerySetupStore.ts +4 -0
  225. package/src/stores/filterOperators/QueryBuilderFilterOperator_Equal.ts +8 -1
  226. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.ts +8 -1
  227. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.ts +8 -1
  228. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThan.ts +8 -1
  229. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts +8 -1
  230. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts +8 -1
  231. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts +8 -1
  232. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts +8 -1
  233. package/tsconfig.json +4 -0
@@ -62,76 +62,33 @@ import {
62
62
  buildLambdaVariableExpressions,
63
63
  buildRawLambdaFromLambdaFunction,
64
64
  } from '@finos/legend-graph';
65
- import {
66
- QueryBuilderFilterOperator_Equal,
67
- QueryBuilderFilterOperator_NotEqual,
68
- } from './filterOperators/QueryBuilderFilterOperator_Equal.js';
69
- import { QueryBuilderFilterOperator_GreaterThan } from './filterOperators/QueryBuilderFilterOperator_GreaterThan.js';
70
- import {
71
- QueryBuilderFilterOperator_NotStartWith,
72
- QueryBuilderFilterOperator_StartWith,
73
- } from './filterOperators/QueryBuilderFilterOperator_StartWith.js';
74
- import { QueryBuilderFilterOperator_GreaterThanEqual } from './filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js';
75
- import { QueryBuilderFilterOperator_LessThanEqual } from './filterOperators/QueryBuilderFilterOperator_LessThanEqual.js';
76
- import { QueryBuilderFilterOperator_LessThan } from './filterOperators/QueryBuilderFilterOperator_LessThan.js';
77
- import {
78
- QueryBuilderFilterOperator_EndWith,
79
- QueryBuilderFilterOperator_NotEndWith,
80
- } from './filterOperators/QueryBuilderFilterOperator_EndWith.js';
81
- import {
82
- QueryBuilderFilterOperator_Contain,
83
- QueryBuilderFilterOperator_NotContain,
84
- } from './filterOperators/QueryBuilderFilterOperator_Contain.js';
85
- import {
86
- QueryBuilderFilterOperator_IsEmpty,
87
- QueryBuilderFilterOperator_IsNotEmpty,
88
- } from './filterOperators/QueryBuilderFilterOperator_IsEmpty.js';
89
- import {
90
- QueryBuilderFilterOperator_In,
91
- QueryBuilderFilterOperator_NotIn,
92
- } from './filterOperators/QueryBuilderFilterOperator_In.js';
93
65
  import { buildLambdaFunction } from './QueryBuilderLambdaBuilder.js';
94
66
  import {
95
67
  LambdaParameterState,
96
68
  type GenericLegendApplicationStore,
97
69
  } from '@finos/legend-application';
98
70
  import { QueryBuilderPostFilterState } from './QueryBuilderPostFilterState.js';
99
- import {
100
- QueryBuilderPostFilterOperator_Equal,
101
- QueryBuilderPostFilterOperator_NotEqual,
102
- } from './postFilterOperators/QueryBuilderPostFilterOperator_Equal.js';
103
- import { QueryBuilderPostFilterOperator_LessThan } from './postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js';
104
- import { QueryBuilderPostFilterOperator_LessThanEqual } from './postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js';
105
- import { QueryBuilderPostFilterOperator_GreaterThan } from './postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js';
106
- import { QueryBuilderPostFilterOperator_GreaterThanEqual } from './postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js';
107
- import {
108
- QueryBuilderPostFilterOperator_NotStartWith,
109
- QueryBuilderPostFilterOperator_StartWith,
110
- } from './postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js';
111
- import {
112
- QueryBuilderPostFilterOperator_Contain,
113
- QueryBuilderPostFilterOperator_NotContain,
114
- } from './postFilterOperators/QueryBuilderPostFilterOperator_Contain.js';
115
- import {
116
- QueryBuilderPostFilterOperator_EndWith,
117
- QueryBuilderPostFilterOperator_NotEndWith,
118
- } from './postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js';
119
71
  import type { QueryBuilderPostFilterOperator } from './QueryBuilderPostFilterOperator.js';
120
- import {
121
- QueryBuilderPostFilterOperator_In,
122
- QueryBuilderPostFilterOperator_NotIn,
123
- } from './postFilterOperators/QueryBuilderPostFilterOperator_In.js';
124
- import {
125
- QueryBuilderPostFilterOperator_IsEmpty,
126
- QueryBuilderPostFilterOperator_IsNotEmpty,
127
- } from './postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js';
128
72
  import { QueryFunctionsExplorerState } from './QueryFunctionsExplorerState.js';
129
73
  import { QueryParametersState } from './QueryParametersState.js';
74
+ import {
75
+ AGGREGATION_OPERATORS,
76
+ FILTER_OPERATORS,
77
+ POST_FILTER_OPERATORS,
78
+ } from './QueryBuilderOperatorLoader.js';
130
79
 
131
80
  export abstract class QueryBuilderMode {
132
81
  abstract get isParametersDisabled(): boolean;
133
82
 
134
83
  abstract get isResultPanelHidden(): boolean;
84
+
85
+ /**
86
+ * This flag is for turning on/off dnd from projection panel to filter panel,
87
+ * and will be leveraged when the concepts of workflows are introduced into query builder.
88
+ */
89
+ get isDnDProjectionToFilterSupported(): boolean {
90
+ return true;
91
+ }
135
92
  }
136
93
 
137
94
  export class StandardQueryBuilderMode extends QueryBuilderMode {
@@ -179,42 +136,8 @@ export class QueryBuilderState {
179
136
  queryTextEditorState: QueryTextEditorState;
180
137
  queryUnsupportedState: QueryBuilderUnsupportedState;
181
138
  observableContext: ObserverContext;
182
- filterOperators: QueryBuilderFilterOperator[] = [
183
- new QueryBuilderFilterOperator_Equal(),
184
- new QueryBuilderFilterOperator_NotEqual(),
185
- new QueryBuilderFilterOperator_LessThan(),
186
- new QueryBuilderFilterOperator_LessThanEqual(),
187
- new QueryBuilderFilterOperator_GreaterThan(),
188
- new QueryBuilderFilterOperator_GreaterThanEqual(),
189
- new QueryBuilderFilterOperator_StartWith(),
190
- new QueryBuilderFilterOperator_NotStartWith(),
191
- new QueryBuilderFilterOperator_Contain(),
192
- new QueryBuilderFilterOperator_NotContain(),
193
- new QueryBuilderFilterOperator_EndWith(),
194
- new QueryBuilderFilterOperator_NotEndWith(),
195
- new QueryBuilderFilterOperator_In(),
196
- new QueryBuilderFilterOperator_NotIn(),
197
- new QueryBuilderFilterOperator_IsEmpty(),
198
- new QueryBuilderFilterOperator_IsNotEmpty(),
199
- ];
200
- postFilterOperators: QueryBuilderPostFilterOperator[] = [
201
- new QueryBuilderPostFilterOperator_Equal(),
202
- new QueryBuilderPostFilterOperator_NotEqual(),
203
- new QueryBuilderPostFilterOperator_LessThan(),
204
- new QueryBuilderPostFilterOperator_LessThanEqual(),
205
- new QueryBuilderPostFilterOperator_GreaterThan(),
206
- new QueryBuilderPostFilterOperator_GreaterThanEqual(),
207
- new QueryBuilderPostFilterOperator_StartWith(),
208
- new QueryBuilderPostFilterOperator_NotStartWith(),
209
- new QueryBuilderPostFilterOperator_Contain(),
210
- new QueryBuilderPostFilterOperator_NotContain(),
211
- new QueryBuilderPostFilterOperator_EndWith(),
212
- new QueryBuilderPostFilterOperator_NotEndWith(),
213
- new QueryBuilderPostFilterOperator_In(),
214
- new QueryBuilderPostFilterOperator_NotIn(),
215
- new QueryBuilderPostFilterOperator_IsEmpty(),
216
- new QueryBuilderPostFilterOperator_IsNotEmpty(),
217
- ];
139
+ filterOperators: QueryBuilderFilterOperator[] = FILTER_OPERATORS;
140
+ postFilterOperators: QueryBuilderPostFilterOperator[] = POST_FILTER_OPERATORS;
218
141
  isCompiling = false;
219
142
  backdrop = false;
220
143
  showFunctionPanel = false;
@@ -267,7 +190,10 @@ export class QueryBuilderState {
267
190
  this.explorerState = new QueryBuilderExplorerState(this);
268
191
  this.queryParametersState = new QueryParametersState(this);
269
192
  this.queryFunctionsExplorerState = new QueryFunctionsExplorerState(this);
270
- this.fetchStructureState = new QueryBuilderFetchStructureState(this);
193
+ this.fetchStructureState = new QueryBuilderFetchStructureState(
194
+ this,
195
+ AGGREGATION_OPERATORS,
196
+ );
271
197
  this.filterState = new QueryBuilderFilterState(this, this.filterOperators);
272
198
  this.postFilterState = new QueryBuilderPostFilterState(
273
199
  this,
@@ -338,7 +264,10 @@ export class QueryBuilderState {
338
264
  this.explorerState.refreshTreeData();
339
265
  this.queryParametersState = new QueryParametersState(this);
340
266
  this.queryFunctionsExplorerState = new QueryFunctionsExplorerState(this);
341
- const fetchStructureState = new QueryBuilderFetchStructureState(this);
267
+ const fetchStructureState = new QueryBuilderFetchStructureState(
268
+ this,
269
+ this.fetchStructureState.projectionState.aggregationState.operators,
270
+ );
342
271
  fetchStructureState.setFetchStructureMode(
343
272
  this.fetchStructureState.fetchStructureMode,
344
273
  );
@@ -559,7 +488,15 @@ export class QueryBuilderState {
559
488
  }
560
489
  }
561
490
 
562
- isValidQueryBuilderState(): boolean {
563
- return this.fetchStructureState.projectionState.isValidProjectionState();
491
+ get validationIssues(): string[] | undefined {
492
+ return this.fetchStructureState.validationIssues;
493
+ }
494
+
495
+ createBareBuilderState(): QueryBuilderState {
496
+ return new QueryBuilderState(
497
+ this.applicationStore,
498
+ this.graphManagerState,
499
+ this.mode,
500
+ );
564
501
  }
565
502
  }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { TEST__getTestApplicationStore } from '@finos/legend-application';
18
+ import {
19
+ type RawLambda,
20
+ type RawMappingModelCoverageAnalysisResult,
21
+ TEST__buildGraphWithEntities,
22
+ TEST__getTestGraphManagerState,
23
+ } from '@finos/legend-graph';
24
+ import type { Entity } from '@finos/legend-storage';
25
+ import { jest } from '@jest/globals';
26
+ import { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
27
+ import { QueryBuilder_GraphManagerPreset } from '../graphManager/QueryBuilder_GraphManagerPreset.js';
28
+ import {
29
+ QueryBuilderState,
30
+ StandardQueryBuilderMode,
31
+ } from './QueryBuilderState.js';
32
+ import { TEST__getTestLegendQueryApplicationConfig } from './QueryEditorStoreTestUtils.js';
33
+
34
+ export const TEST_setUpQueryBuilderState = async (
35
+ entities: Entity[],
36
+ rawLambda?: RawLambda | undefined,
37
+ executionContext?:
38
+ | {
39
+ _class: string;
40
+ mapping: string;
41
+ runtime?: string | undefined;
42
+ }
43
+ | undefined,
44
+ rawMappingModelCoverageAnalysisResult?:
45
+ | RawMappingModelCoverageAnalysisResult
46
+ | undefined,
47
+ ): Promise<QueryBuilderState> => {
48
+ const pluginManager = LegendQueryPluginManager.create();
49
+ pluginManager.usePresets([new QueryBuilder_GraphManagerPreset()]).install();
50
+ const applicationStore = TEST__getTestApplicationStore(
51
+ TEST__getTestLegendQueryApplicationConfig(),
52
+ LegendQueryPluginManager.create(),
53
+ );
54
+ const graphManagerState = TEST__getTestGraphManagerState(pluginManager);
55
+ await TEST__buildGraphWithEntities(graphManagerState, entities);
56
+ const queryBuilderState = new QueryBuilderState(
57
+ applicationStore,
58
+ graphManagerState,
59
+ new StandardQueryBuilderMode(),
60
+ );
61
+ if (rawLambda) {
62
+ queryBuilderState.buildStateFromRawLambda(rawLambda);
63
+ }
64
+ if (executionContext) {
65
+ const graph = queryBuilderState.graphManagerState.graph;
66
+ queryBuilderState.querySetupState._class = graph.getClass(
67
+ executionContext._class,
68
+ );
69
+ queryBuilderState.querySetupState.mapping = graph.getMapping(
70
+ executionContext.mapping,
71
+ );
72
+ if (executionContext.runtime) {
73
+ queryBuilderState.querySetupState.runtimeValue = graph.getRuntime(
74
+ executionContext.runtime,
75
+ );
76
+ }
77
+ }
78
+ if (rawMappingModelCoverageAnalysisResult) {
79
+ jest
80
+ .spyOn(
81
+ queryBuilderState.graphManagerState.graphManager,
82
+ 'analyzeMappingModelCoverage',
83
+ )
84
+ .mockResolvedValue(
85
+ queryBuilderState.graphManagerState.graphManager.buildMappingModelCoverageAnalysisResult(
86
+ rawMappingModelCoverageAnalysisResult,
87
+ ),
88
+ );
89
+
90
+ await queryBuilderState.explorerState.analyzeMappingModelCoverage();
91
+ }
92
+ return queryBuilderState;
93
+ };
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ type AbstractPropertyExpression,
19
+ type ExecutionResult,
20
+ type ValueSpecification,
21
+ PrimitiveInstanceValue,
22
+ PRIMITIVE_TYPE,
23
+ TdsExecutionResult,
24
+ } from '@finos/legend-graph';
25
+ import { guaranteeType, isNonNullable, isString } from '@finos/legend-shared';
26
+ import { QueryBuilderPostFilterOperator_StartWith } from './postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js';
27
+ import type { QueryBuilderAggregateColumnState } from './QueryBuilderAggregationState.js';
28
+ import {
29
+ PostFilterConditionState,
30
+ QueryBuilderPostFilterTreeConditionNodeData,
31
+ } from './QueryBuilderPostFilterState.js';
32
+ import {
33
+ QueryBuilderProjectionColumnState,
34
+ QueryBuilderSimpleProjectionColumnState,
35
+ } from './QueryBuilderProjectionState.js';
36
+ import type { QueryBuilderState } from './QueryBuilderState.js';
37
+
38
+ const TYPEAHEAD_TAKE_LIMIT = 10;
39
+ const START_LENGTH = 3;
40
+
41
+ const createAndSetupQueryBuilderStateForTypeAhead = (
42
+ queryBuilderState: QueryBuilderState,
43
+ ): QueryBuilderState => {
44
+ // builderState to build dummy query
45
+ const builderState = queryBuilderState.createBareBuilderState();
46
+ // setup
47
+ builderState.querySetupState = queryBuilderState.querySetupState;
48
+ // result modifiers
49
+ builderState.resultSetModifierState.distinct = true;
50
+ builderState.resultSetModifierState.limit = TYPEAHEAD_TAKE_LIMIT;
51
+ return builderState;
52
+ };
53
+
54
+ const buildColumnTypeAheadQuery = (
55
+ builderState: QueryBuilderState,
56
+ columnState:
57
+ | QueryBuilderProjectionColumnState
58
+ | QueryBuilderAggregateColumnState,
59
+ value: ValueSpecification | undefined,
60
+ ): QueryBuilderState => {
61
+ // projection column
62
+ let projectionState;
63
+ if (columnState instanceof QueryBuilderProjectionColumnState) {
64
+ projectionState = columnState;
65
+ } else {
66
+ projectionState = columnState.projectionColumnState;
67
+ const aggregationState =
68
+ builderState.fetchStructureState.projectionState.aggregationState;
69
+ aggregationState.columns = [columnState];
70
+ }
71
+ builderState.fetchStructureState.projectionState.columns = [projectionState];
72
+ // post filter
73
+ const postConditionState = new PostFilterConditionState(
74
+ builderState.postFilterState,
75
+ columnState,
76
+ value,
77
+ new QueryBuilderPostFilterOperator_StartWith(),
78
+ );
79
+ const postFilterNode = new QueryBuilderPostFilterTreeConditionNodeData(
80
+ undefined,
81
+ postConditionState,
82
+ );
83
+ builderState.postFilterState.addNodeFromNode(postFilterNode, undefined);
84
+ return builderState;
85
+ };
86
+
87
+ export const buildPropertyTypeAheadQuery = (
88
+ queryBuilderState: QueryBuilderState,
89
+ propertyExpression: AbstractPropertyExpression,
90
+ value: ValueSpecification | undefined,
91
+ ): QueryBuilderState => {
92
+ // builderState to build dummy query
93
+ const builderState =
94
+ createAndSetupQueryBuilderStateForTypeAhead(queryBuilderState);
95
+ const projectionState = new QueryBuilderSimpleProjectionColumnState(
96
+ builderState.fetchStructureState.projectionState,
97
+ propertyExpression,
98
+ false,
99
+ );
100
+ return buildColumnTypeAheadQuery(builderState, projectionState, value);
101
+ };
102
+
103
+ export const buildProjectionColumnTypeAheadQuery = (
104
+ queryBuilderState: QueryBuilderState,
105
+ columnState:
106
+ | QueryBuilderProjectionColumnState
107
+ | QueryBuilderAggregateColumnState,
108
+ value: ValueSpecification | undefined,
109
+ ): QueryBuilderState => {
110
+ // builderState to build dummy query
111
+ const builderState =
112
+ createAndSetupQueryBuilderStateForTypeAhead(queryBuilderState);
113
+ return buildColumnTypeAheadQuery(builderState, columnState, value);
114
+ };
115
+
116
+ export const buildTypeAheadOptions = (result: ExecutionResult): string[] => {
117
+ const tdsResult = guaranteeType(
118
+ result,
119
+ TdsExecutionResult,
120
+ 'Type ahead search is only supported for tds result sets',
121
+ );
122
+ const options: string[] = [];
123
+ tdsResult.result.rows
124
+ .map((r) => r.values[0])
125
+ .filter(isNonNullable)
126
+ .forEach((r) => {
127
+ if (isString(r)) {
128
+ options.push(r);
129
+ }
130
+ });
131
+ return options;
132
+ };
133
+
134
+ export const performTypeAhead = (
135
+ val: ValueSpecification | undefined,
136
+ ): boolean => {
137
+ if (val instanceof PrimitiveInstanceValue) {
138
+ const _type = val.genericType.value.rawType;
139
+ switch (_type.path) {
140
+ case PRIMITIVE_TYPE.STRING: {
141
+ const value = val.values[0] as string;
142
+ return value.length >= START_LENGTH;
143
+ }
144
+ default:
145
+ return false;
146
+ }
147
+ }
148
+ return false;
149
+ };
@@ -64,13 +64,15 @@ export const buildGenericLambdaFunctionInstanceValue = (
64
64
  TYPICAL_MULTIPLICITY_TYPE.ONE,
65
65
  );
66
66
  const typeAny = graph.getType(CORE_PURE_PATH.ANY);
67
- const aggregateLambda = new LambdaFunctionInstanceValue(multiplicityOne);
68
- const colLambdaFunctionType = new FunctionType(typeAny, multiplicityOne);
69
- colLambdaFunctionType.parameters.push(
67
+ const functionInstanceValue = new LambdaFunctionInstanceValue(
68
+ multiplicityOne,
69
+ );
70
+ const functionType = new FunctionType(typeAny, multiplicityOne);
71
+ functionType.parameters.push(
70
72
  new VariableExpression(lambdaParameterName, multiplicityOne),
71
73
  );
72
- const colLambdaFunction = new LambdaFunction(colLambdaFunctionType);
73
- colLambdaFunction.expressionSequence = lambdaBodyExpressions;
74
- aggregateLambda.values.push(colLambdaFunction);
75
- return aggregateLambda;
74
+ const lambdaFunction = new LambdaFunction(functionType);
75
+ lambdaFunction.expressionSequence = lambdaBodyExpressions;
76
+ functionInstanceValue.values.push(lambdaFunction);
77
+ return functionInstanceValue;
76
78
  };
@@ -50,6 +50,7 @@ import {
50
50
  type GraphBuilderReport,
51
51
  GraphManagerTelemetry,
52
52
  extractElementNameFromPath,
53
+ isSystemElement,
53
54
  } from '@finos/legend-graph';
54
55
  import {
55
56
  QueryBuilderState,
@@ -67,6 +68,7 @@ import { TAB_SIZE, APPLICATION_EVENT } from '@finos/legend-application';
67
68
  import type { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
68
69
  import { LegendQueryEventService } from './LegendQueryEventService.js';
69
70
  import type { LegendQueryApplicationStore } from './LegendQueryBaseStore.js';
71
+ import type { SDLCServerClient } from '@finos/legend-server-sdlc';
70
72
 
71
73
  export interface QueryExportConfiguration {
72
74
  defaultName?: string | undefined;
@@ -198,6 +200,7 @@ export class QueryExportState {
198
200
  export abstract class QueryEditorStore {
199
201
  applicationStore: LegendQueryApplicationStore;
200
202
  depotServerClient: DepotServerClient;
203
+ sdlcServerClient: SDLCServerClient;
201
204
  pluginManager: LegendQueryPluginManager;
202
205
  graphManagerState: GraphManagerState;
203
206
 
@@ -208,6 +211,7 @@ export abstract class QueryEditorStore {
208
211
  constructor(
209
212
  applicationStore: LegendQueryApplicationStore,
210
213
  depotServerClient: DepotServerClient,
214
+ sdlcServerClient: SDLCServerClient,
211
215
  pluginManager: LegendQueryPluginManager,
212
216
  ) {
213
217
  makeObservable(this, {
@@ -229,6 +233,7 @@ export abstract class QueryEditorStore {
229
233
  this.graphManagerState,
230
234
  new StandardQueryBuilderMode(),
231
235
  );
236
+ this.sdlcServerClient = sdlcServerClient;
232
237
  }
233
238
 
234
239
  setExportState(val: QueryExportState | undefined): void {
@@ -403,6 +408,7 @@ export class CreateQueryEditorStore extends QueryEditorStore {
403
408
  constructor(
404
409
  applicationStore: LegendQueryApplicationStore,
405
410
  depotServerClient: DepotServerClient,
411
+ sdlcServerClient: SDLCServerClient,
406
412
  pluginManager: LegendQueryPluginManager,
407
413
  groupId: string,
408
414
  artifactId: string,
@@ -411,7 +417,7 @@ export class CreateQueryEditorStore extends QueryEditorStore {
411
417
  runtimePath: string,
412
418
  classPath: string | undefined,
413
419
  ) {
414
- super(applicationStore, depotServerClient, pluginManager);
420
+ super(applicationStore, depotServerClient, sdlcServerClient, pluginManager);
415
421
 
416
422
  this.groupId = groupId;
417
423
  this.artifactId = artifactId;
@@ -448,15 +454,30 @@ export class CreateQueryEditorStore extends QueryEditorStore {
448
454
  );
449
455
  this.queryBuilderState.querySetupState.setClassIsReadOnly(true);
450
456
  } else {
451
- this.queryBuilderState.changeClass(
457
+ // try to find a class to set
458
+ // first, find classes which is mapped by the mapping
459
+ // then, find any classes except for class coming from system
460
+ // if none found, default to a dummy blank query
461
+ const defaultClass =
452
462
  getNullableFirstElement(
453
463
  this.queryBuilderState.querySetupState.mapping
454
464
  ? getAllClassMappings(
455
465
  this.queryBuilderState.querySetupState.mapping,
456
466
  ).map((classMapping) => classMapping.class.value)
457
467
  : [],
458
- ),
459
- );
468
+ ) ??
469
+ getNullableFirstElement(
470
+ this.queryBuilderState.graphManagerState.graph.classes.filter(
471
+ (el) => !isSystemElement(el),
472
+ ),
473
+ );
474
+ if (defaultClass) {
475
+ this.queryBuilderState.changeClass(defaultClass);
476
+ } else {
477
+ this.queryBuilderState.initialize(
478
+ this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda(),
479
+ );
480
+ }
460
481
  }
461
482
  }
462
483
 
@@ -482,6 +503,7 @@ export class ServiceQueryEditorStore extends QueryEditorStore {
482
503
  constructor(
483
504
  applicationStore: LegendQueryApplicationStore,
484
505
  depotServerClient: DepotServerClient,
506
+ sdlcServerClient: SDLCServerClient,
485
507
  pluginManager: LegendQueryPluginManager,
486
508
  groupId: string,
487
509
  artifactId: string,
@@ -489,7 +511,7 @@ export class ServiceQueryEditorStore extends QueryEditorStore {
489
511
  servicePath: string,
490
512
  executionKey: string | undefined,
491
513
  ) {
492
- super(applicationStore, depotServerClient, pluginManager);
514
+ super(applicationStore, depotServerClient, sdlcServerClient, pluginManager);
493
515
 
494
516
  this.groupId = groupId;
495
517
  this.artifactId = artifactId;
@@ -573,10 +595,11 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
573
595
  constructor(
574
596
  applicationStore: LegendQueryApplicationStore,
575
597
  depotServerClient: DepotServerClient,
598
+ sdlcServerClient: SDLCServerClient,
576
599
  pluginManager: LegendQueryPluginManager,
577
600
  queryId: string,
578
601
  ) {
579
- super(applicationStore, depotServerClient, pluginManager);
602
+ super(applicationStore, depotServerClient, sdlcServerClient, pluginManager);
580
603
 
581
604
  makeObservable<ExistingQueryEditorStore, '_query'>(this, {
582
605
  _query: observable,
@@ -28,6 +28,7 @@ const TEST_DATA__appConfig = {
28
28
  },
29
29
  studio: {
30
30
  url: 'http://testStudioUrl',
31
+ sdlcUrl: 'http://testSdlcUrl',
31
32
  },
32
33
  };
33
34
 
@@ -31,10 +31,7 @@ import { action, makeObservable, observable } from 'mobx';
31
31
  import type { QueryBuilderState } from './QueryBuilderState.js';
32
32
  import type { TreeNodeData, TreeData } from '@finos/legend-art';
33
33
 
34
- export enum QUERY_BUILDER_FUNCTIONS_EXPLORER_TREE_DND_TYPE {
35
- FUNCTION = 'FUNCTION',
36
- PACKAGE = 'PACKAGE',
37
- }
34
+ export const QUERY_BUILDER_FUNCTION_DND_TYPE = 'QUERY_BUILDER_FUNCTION';
38
35
 
39
36
  export interface QueryBuilderFunctionsExplorerDragSource {
40
37
  node: QueryBuilderFunctionsExplorerTreeNodeData;
@@ -43,7 +40,6 @@ export interface QueryBuilderFunctionsExplorerDragSource {
43
40
  export class QueryBuilderFunctionsExplorerTreeNodeData implements TreeNodeData {
44
41
  id: string;
45
42
  label: string;
46
- dndType: string;
47
43
  childrenIds: string[] = [];
48
44
  isOpen?: boolean | undefined;
49
45
  packageableElement: PackageableElement;
@@ -51,12 +47,10 @@ export class QueryBuilderFunctionsExplorerTreeNodeData implements TreeNodeData {
51
47
  constructor(
52
48
  id: string,
53
49
  label: string,
54
- dndType: string,
55
50
  packageableElement: PackageableElement,
56
51
  ) {
57
52
  this.id = id;
58
53
  this.label = label;
59
- this.dndType = dndType;
60
54
  this.packageableElement = packageableElement;
61
55
  }
62
56
  }
@@ -81,10 +75,6 @@ export const generateFunctionsExplorerTreeNodeData = (
81
75
  rootPackageName: ROOT_PACKAGE_NAME,
82
76
  ): QueryBuilderFunctionsExplorerTreeNodeData => ({
83
77
  id: element.path,
84
- dndType:
85
- element instanceof Package
86
- ? QUERY_BUILDER_FUNCTIONS_EXPLORER_TREE_DND_TYPE.PACKAGE
87
- : QUERY_BUILDER_FUNCTIONS_EXPLORER_TREE_DND_TYPE.FUNCTION,
88
78
  label: element.name,
89
79
  childrenIds:
90
80
  element instanceof Package
@@ -21,9 +21,7 @@ import {
21
21
  import { observable, makeObservable, action } from 'mobx';
22
22
  import type { QueryBuilderState } from './QueryBuilderState.js';
23
23
 
24
- export enum QUERY_BUILDER_PARAMETER_TREE_DND_TYPE {
25
- VARIABLE = 'VARIABLE',
26
- }
24
+ export const QUERY_BUILDER_PARAMETER_DND_TYPE = 'PARAMETER';
27
25
 
28
26
  export interface QueryBuilderParameterDragSource {
29
27
  variable: LambdaParameterState;
@@ -49,6 +49,7 @@ import type { MappingRuntimeCompatibilityAnalysisResult } from '../graphManager/
49
49
  import { APPLICATION_EVENT, TAB_SIZE } from '@finos/legend-application';
50
50
  import type { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
51
51
  import type { LegendQueryApplicationStore } from './LegendQueryBaseStore.js';
52
+ import type { SDLCServerClient } from '@finos/legend-server-sdlc';
52
53
 
53
54
  export abstract class QuerySetupState {
54
55
  setupStore: QuerySetupStore;
@@ -353,6 +354,7 @@ export class QuerySetupStore {
353
354
  applicationStore: LegendQueryApplicationStore;
354
355
  graphManagerState: BasicGraphManagerState;
355
356
  depotServerClient: DepotServerClient;
357
+ sdlcServerClient: SDLCServerClient;
356
358
  pluginManager: LegendQueryPluginManager;
357
359
  querySetupState?: QuerySetupState | undefined;
358
360
  initState = ActionState.create();
@@ -360,6 +362,7 @@ export class QuerySetupStore {
360
362
  constructor(
361
363
  applicationStore: LegendQueryApplicationStore,
362
364
  depotServerClient: DepotServerClient,
365
+ sdlcServerClient: SDLCServerClient,
363
366
  pluginManager: LegendQueryPluginManager,
364
367
  ) {
365
368
  makeObservable(this, {
@@ -374,6 +377,7 @@ export class QuerySetupStore {
374
377
  applicationStore.log,
375
378
  );
376
379
  this.depotServerClient = depotServerClient;
380
+ this.sdlcServerClient = sdlcServerClient;
377
381
  this.pluginManager = pluginManager;
378
382
  }
379
383
 
@@ -99,7 +99,6 @@ export class QueryBuilderFilterOperator_Equal extends QueryBuilderFilterOperator
99
99
  switch (propertyType.path) {
100
100
  case PRIMITIVE_TYPE.STRING:
101
101
  case PRIMITIVE_TYPE.BOOLEAN:
102
- case PRIMITIVE_TYPE.DATE:
103
102
  case PRIMITIVE_TYPE.STRICTDATE:
104
103
  case PRIMITIVE_TYPE.DATETIME:
105
104
  case PRIMITIVE_TYPE.NUMBER:
@@ -113,6 +112,14 @@ export class QueryBuilderFilterOperator_Equal extends QueryBuilderFilterOperator
113
112
  generateDefaultValueForPrimitiveType(propertyType.path),
114
113
  );
115
114
  }
115
+ case PRIMITIVE_TYPE.DATE: {
116
+ return buildPrimitiveInstanceValue(
117
+ filterConditionState.filterState.queryBuilderState.graphManagerState
118
+ .graph,
119
+ PRIMITIVE_TYPE.STRICTDATE,
120
+ generateDefaultValueForPrimitiveType(propertyType.path),
121
+ );
122
+ }
116
123
  default:
117
124
  if (propertyType instanceof Enumeration) {
118
125
  if (propertyType.values.length > 0) {