@finos/legend-query-builder 4.16.20 → 4.16.22

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 (59) hide show
  1. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.d.ts +23 -1
  2. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.d.ts.map +1 -1
  3. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js +16 -2
  4. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js.map +1 -1
  5. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +1 -1
  6. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  7. package/lib/components/filter/QueryBuilderFilterPanel.js +1 -1
  8. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  9. package/lib/components/shared/BasicValueSpecificationEditor.d.ts +162 -4
  10. package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
  11. package/lib/components/shared/BasicValueSpecificationEditor.js +253 -172
  12. package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
  13. package/lib/components/shared/CustomDatePicker.d.ts +8 -55
  14. package/lib/components/shared/CustomDatePicker.d.ts.map +1 -1
  15. package/lib/components/shared/CustomDatePicker.js +33 -417
  16. package/lib/components/shared/CustomDatePicker.js.map +1 -1
  17. package/lib/components/shared/CustomDatePickerHelper.d.ts +145 -0
  18. package/lib/components/shared/CustomDatePickerHelper.d.ts.map +1 -0
  19. package/lib/components/shared/CustomDatePickerHelper.js +517 -0
  20. package/lib/components/shared/CustomDatePickerHelper.js.map +1 -0
  21. package/lib/components/shared/QueryBuilderVariableSelector.js +1 -1
  22. package/lib/components/shared/QueryBuilderVariableSelector.js.map +1 -1
  23. package/lib/components/shared/V1_BasicValueSpecificationEditor.d.ts +38 -0
  24. package/lib/components/shared/V1_BasicValueSpecificationEditor.d.ts.map +1 -0
  25. package/lib/components/shared/V1_BasicValueSpecificationEditor.js +166 -0
  26. package/lib/components/shared/V1_BasicValueSpecificationEditor.js.map +1 -0
  27. package/lib/index.css +2 -2
  28. package/lib/index.css.map +1 -1
  29. package/lib/index.d.ts +4 -0
  30. package/lib/index.d.ts.map +1 -1
  31. package/lib/index.js +4 -0
  32. package/lib/index.js.map +1 -1
  33. package/lib/package.json +1 -1
  34. package/lib/stores/shared/V1_ValueSpecificationEditorHelper.d.ts +23 -0
  35. package/lib/stores/shared/V1_ValueSpecificationEditorHelper.d.ts.map +1 -0
  36. package/lib/stores/shared/V1_ValueSpecificationEditorHelper.js +83 -0
  37. package/lib/stores/shared/V1_ValueSpecificationEditorHelper.js.map +1 -0
  38. package/lib/stores/shared/V1_ValueSpecificationModifierHelper.d.ts +20 -0
  39. package/lib/stores/shared/V1_ValueSpecificationModifierHelper.d.ts.map +1 -0
  40. package/lib/stores/shared/V1_ValueSpecificationModifierHelper.js +38 -0
  41. package/lib/stores/shared/V1_ValueSpecificationModifierHelper.js.map +1 -0
  42. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts +4 -1
  43. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
  44. package/lib/stores/shared/ValueSpecificationEditorHelper.js +23 -2
  45. package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
  46. package/package.json +10 -10
  47. package/src/components/__test-utils__/QueryBuilderComponentTestUtils.tsx +103 -12
  48. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +1 -1
  49. package/src/components/filter/QueryBuilderFilterPanel.tsx +1 -1
  50. package/src/components/shared/BasicValueSpecificationEditor.tsx +1477 -1088
  51. package/src/components/shared/CustomDatePicker.tsx +146 -905
  52. package/src/components/shared/CustomDatePickerHelper.ts +984 -0
  53. package/src/components/shared/QueryBuilderVariableSelector.tsx +1 -1
  54. package/src/components/shared/V1_BasicValueSpecificationEditor.tsx +409 -0
  55. package/src/index.ts +7 -0
  56. package/src/stores/shared/V1_ValueSpecificationEditorHelper.ts +131 -0
  57. package/src/stores/shared/V1_ValueSpecificationModifierHelper.ts +76 -0
  58. package/src/stores/shared/ValueSpecificationEditorHelper.ts +71 -2
  59. package/tsconfig.json +4 -0
@@ -13,11 +13,13 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { type TooltipPlacement } from '@finos/legend-art';
17
- import { type Type, type ValueSpecification, type PureModel, type ObserverContext, VariableExpression } from '@finos/legend-graph';
16
+ import { type TooltipPlacement, type SelectComponent } from '@finos/legend-art';
17
+ import { type Enum, type ObserverContext, type PureModel, type ValueSpecification, Type, VariableExpression, V1_PackageableType } from '@finos/legend-graph';
18
18
  import { type DebouncedFunc, type GeneratorFn } from '@finos/legend-shared';
19
19
  import React from 'react';
20
- type TypeCheckOption = {
20
+ import { type CustomDatePickerValueSpecification, type CustomDatePickerUpdateValueSpecification } from './CustomDatePickerHelper.js';
21
+ import type { V1_TypeCheckOption } from './V1_BasicValueSpecificationEditor.js';
22
+ export type TypeCheckOption = {
21
23
  expectedType: Type;
22
24
  /**
23
25
  * Indicates if a strict type-matching will happen.
@@ -25,6 +27,10 @@ type TypeCheckOption = {
25
27
  * for example we can assign a Float to an Integer, a
26
28
  * Date to a DateTime. With this flag set to `true`
27
29
  * we will not allow this.
30
+ *
31
+ * For example, if `match=true`, it means that options in the
32
+ * date-capability-dropdown which are not returning type DateTime
33
+ * will be filtered out.
28
34
  */
29
35
  match?: boolean;
30
36
  };
@@ -37,12 +43,160 @@ export declare const QUERY_BUILDER_VARIABLE_DND_TYPE = "VARIABLE";
37
43
  export interface QueryBuilderVariableDragSource {
38
44
  variable: VariableExpression;
39
45
  }
40
- interface BasicValueSpecificationEditorSelectorConfig {
46
+ /**
47
+ * This is the base interface for primitive instance value editors (non-collection values).
48
+ * The interface is made generic so that it can support various types of objects that hold the value
49
+ * to be edited (currently, we just use this for ValueSpecification and V1_ValueSpecification).
50
+ *
51
+ * T represents the type of the object that holds the value to be edited (i.e. ValueSpecification or V1_ValueSpecification).
52
+ * U represents the type of data that the object holds.
53
+ *
54
+ * valueSelector: callback that handles extracting the data value from the object.
55
+ * updateValueSpecification: callback that takes the valueSpecification object and the new value and handles updating
56
+ * the object with the new value.
57
+ * errorChecker: optional callback that should return true if the valueSpecification is invalid.
58
+ */
59
+ export interface PrimitiveInstanceValueEditorProps<T, U extends string | number | boolean | Enum | null> {
60
+ valueSpecification: T;
61
+ valueSelector: (val: T) => U;
62
+ updateValueSpecification: (valueSpecification: T, value: U) => void;
63
+ errorChecker?: (valueSpecification: T) => boolean;
64
+ resetValue: () => void;
65
+ handleBlur?: (() => void) | undefined;
66
+ handleKeyDown?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
67
+ className?: string | undefined;
68
+ readOnly?: boolean | undefined;
69
+ }
70
+ export interface BasicValueSpecificationEditorSelectorSearchConfig {
41
71
  values: string[] | undefined;
42
72
  isLoading: boolean;
43
73
  reloadValues: DebouncedFunc<(inputValue: string) => GeneratorFn<void>> | undefined;
44
74
  cleanUpReloadValues?: () => void;
45
75
  }
76
+ export interface BasicValueSpecificationEditorSelectorConfig {
77
+ optionCustomization?: {
78
+ rowHeight?: number | undefined;
79
+ } | undefined;
80
+ }
81
+ interface StringPrimitiveInstanceValueEditorProps<T> extends PrimitiveInstanceValueEditorProps<T, string | null> {
82
+ selectorSearchConfig?: BasicValueSpecificationEditorSelectorSearchConfig | undefined;
83
+ selectorConfig?: BasicValueSpecificationEditorSelectorConfig | undefined;
84
+ lightMode?: boolean | undefined;
85
+ }
86
+ declare const StringPrimitiveInstanceValueEditorInner: <T>(props: StringPrimitiveInstanceValueEditorProps<T>, ref: React.ForwardedRef<HTMLInputElement | SelectComponent | null>) => React.ReactElement;
87
+ export declare const StringPrimitiveInstanceValueEditor: (<T>(props: StringPrimitiveInstanceValueEditorProps<T> & {
88
+ ref: React.ForwardedRef<HTMLInputElement | SelectComponent | null>;
89
+ }) => ReturnType<typeof StringPrimitiveInstanceValueEditorInner>) & {
90
+ displayName: string;
91
+ };
92
+ type BooleanInstanceValueEditorProps<T> = PrimitiveInstanceValueEditorProps<T, boolean>;
93
+ declare const BooleanInstanceValueEditorInner: <T>(props: BooleanInstanceValueEditorProps<T>) => React.ReactElement;
94
+ export declare const BooleanPrimitiveInstanceValueEditor: (<T>(props: BooleanInstanceValueEditorProps<T>) => ReturnType<typeof BooleanInstanceValueEditorInner>) & {
95
+ displayName: string;
96
+ };
97
+ interface NumberPrimitiveInstanceValueEditorProps<T> extends PrimitiveInstanceValueEditorProps<T, number | null> {
98
+ isInteger: boolean;
99
+ }
100
+ declare const NumberPrimitiveInstanceValueEditorInner: <T>(props: NumberPrimitiveInstanceValueEditorProps<T>, ref: React.ForwardedRef<HTMLInputElement>) => React.ReactElement;
101
+ export declare const NumberPrimitiveInstanceValueEditor: (<T>(props: NumberPrimitiveInstanceValueEditorProps<T> & {
102
+ ref: React.ForwardedRef<HTMLInputElement>;
103
+ }) => ReturnType<typeof NumberPrimitiveInstanceValueEditorInner>) & {
104
+ displayName: string;
105
+ };
106
+ /**
107
+ * Generic interface for handling editing enum values. The editor component
108
+ * expects an options array which contains the list of possible enum values.
109
+ */
110
+ interface EnumInstanceValueEditorProps<T> extends PrimitiveInstanceValueEditorProps<T, string | null> {
111
+ options: {
112
+ label: string;
113
+ value: string;
114
+ }[];
115
+ selectorConfig?: BasicValueSpecificationEditorSelectorConfig | undefined;
116
+ lightMode?: boolean | undefined;
117
+ }
118
+ declare const EnumInstanceValueEditorInner: <T>(props: EnumInstanceValueEditorProps<T>) => React.ReactElement;
119
+ export declare const EnumInstanceValueEditor: (<T>(props: EnumInstanceValueEditorProps<T>) => ReturnType<typeof EnumInstanceValueEditorInner>) & {
120
+ displayName: string;
121
+ };
122
+ /**
123
+ * This is the base interface for collection primitive instance value editors.
124
+ * The interface is made generic so that it can support various types of objects that hold the value
125
+ * to be edited (currently, we just use this for CollectionInstanceValue and V1_Collection).
126
+ *
127
+ * T represents the type of the objects held in the collection (i.e. ValueSpecification or V1_ValueSpecification).
128
+ * U represents the interface of the collection object (i.e. CollectionInstanceValue or V1_Collection). Currently,
129
+ * this only supports collection objects that hold their data in a property called values.
130
+ *
131
+ * updateValueSpecification: callback that takes the collection object and the new values and handles updating
132
+ * the collection object with the new values.
133
+ * convertTextToValueSpecification: callback that takes a string and converts it to the expected valueSpecification type.
134
+ * convertValueSpecificationToText: callback that takes a valueSpecification and converts it to a string.
135
+ * expectedType: the expected type of the values in the collection.
136
+ * errorChecker: optional callback that should return true if the valueSpecification is invalid.
137
+ */
138
+ interface PrimitiveCollectionInstanceValueEditorProps<T, U extends {
139
+ values: T[];
140
+ }> {
141
+ valueSpecification: U;
142
+ updateValueSpecification: (valueSpecification: U, values: T[]) => void;
143
+ convertTextToValueSpecification: (type: Type | V1_PackageableType, text: string) => T | null;
144
+ convertValueSpecificationToText: (valueSpecification: T) => string | undefined;
145
+ expectedType: Type | V1_PackageableType;
146
+ saveEdit: () => void;
147
+ selectorSearchConfig?: BasicValueSpecificationEditorSelectorSearchConfig | undefined;
148
+ selectorConfig?: BasicValueSpecificationEditorSelectorConfig | undefined;
149
+ errorChecker?: (valueSpecification: U) => boolean;
150
+ className?: string | undefined;
151
+ lightMode?: boolean | undefined;
152
+ readOnly?: boolean | undefined;
153
+ }
154
+ declare const PrimitiveCollectionInstanceValueEditorInner: <T, U extends {
155
+ values: T[];
156
+ }>(props: PrimitiveCollectionInstanceValueEditorProps<T, U>) => React.ReactElement;
157
+ export declare const PrimitiveCollectionInstanceValueEditor: (<T, U extends {
158
+ values: T[];
159
+ }>(props: PrimitiveCollectionInstanceValueEditorProps<T, U>) => ReturnType<typeof PrimitiveCollectionInstanceValueEditorInner>) & {
160
+ displayName: string;
161
+ };
162
+ interface EnumCollectionInstanceValueEditorProps<T, U extends {
163
+ values: T[];
164
+ }> extends PrimitiveCollectionInstanceValueEditorProps<T, U> {
165
+ enumOptions: {
166
+ label: string;
167
+ value: string;
168
+ }[] | undefined;
169
+ }
170
+ declare const EnumCollectionInstanceValueEditorInner: <T, U extends {
171
+ values: T[];
172
+ }>(props: EnumCollectionInstanceValueEditorProps<T, U>) => React.ReactElement;
173
+ export declare const EnumCollectionInstanceValueEditor: (<T, U extends {
174
+ values: T[];
175
+ }>(props: EnumCollectionInstanceValueEditorProps<T, U>) => ReturnType<typeof EnumCollectionInstanceValueEditorInner>) & {
176
+ displayName: string;
177
+ };
178
+ interface CollectionValueInstanceValueEditorProps<T, U extends {
179
+ values: T[];
180
+ }> extends Omit<PrimitiveCollectionInstanceValueEditorProps<T, U>, 'saveEdit'>, Omit<EnumCollectionInstanceValueEditorProps<T, U>, 'saveEdit'> {
181
+ stringifyCollectionValueSpecification: (valueSpecification: U) => string;
182
+ }
183
+ declare const CollectionValueInstanceValueEditorInner: <T, U extends {
184
+ values: T[];
185
+ }>(props: CollectionValueInstanceValueEditorProps<T, U>) => React.ReactElement;
186
+ export declare const CollectionValueInstanceValueEditor: (<T, U extends {
187
+ values: T[];
188
+ }>(props: CollectionValueInstanceValueEditorProps<T, U>) => ReturnType<typeof CollectionValueInstanceValueEditorInner>) & {
189
+ displayName: string;
190
+ };
191
+ interface DateInstanceValueEditorProps<T extends CustomDatePickerValueSpecification | undefined> extends Omit<PrimitiveInstanceValueEditorProps<T, string | null>, 'updateValueSpecification'> {
192
+ updateValueSpecification: CustomDatePickerUpdateValueSpecification<T>;
193
+ typeCheckOption: TypeCheckOption | V1_TypeCheckOption;
194
+ displayAsEditableValue?: boolean | undefined;
195
+ }
196
+ declare const DateInstanceValueEditorInner: <T extends CustomDatePickerValueSpecification | undefined>(props: DateInstanceValueEditorProps<T>) => React.ReactElement;
197
+ export declare const DateInstanceValueEditor: (<T extends CustomDatePickerValueSpecification | undefined>(props: DateInstanceValueEditorProps<T>) => ReturnType<typeof DateInstanceValueEditorInner>) & {
198
+ displayName: string;
199
+ };
46
200
  /**
47
201
  * TODO we should pass in the props `resetValueSpecification`. Reset
48
202
  * should be part of this editor. Also through here we can call `observe_` accordingly.
@@ -58,10 +212,12 @@ export declare const BasicValueSpecificationEditor: React.ForwardRefExoticCompon
58
212
  setValueSpecification: (val: ValueSpecification) => void;
59
213
  resetValue: () => void;
60
214
  isConstant?: boolean | undefined;
215
+ selectorSearchConfig?: BasicValueSpecificationEditorSelectorSearchConfig | undefined;
61
216
  selectorConfig?: BasicValueSpecificationEditorSelectorConfig | undefined;
62
217
  handleBlur?: (() => void) | undefined;
63
218
  handleKeyDown?: ((event: React.KeyboardEvent<HTMLInputElement>) => void) | undefined;
64
219
  displayDateEditorAsEditableValue?: boolean | undefined;
220
+ readOnly?: boolean | undefined;
65
221
  } & React.RefAttributes<HTMLInputElement | null>>;
66
222
  export declare const EditableBasicValueSpecificationEditor: ((props: {
67
223
  valueSpecification: ValueSpecification;
@@ -70,9 +226,11 @@ export declare const EditableBasicValueSpecificationEditor: ((props: {
70
226
  observerContext: ObserverContext;
71
227
  typeCheckOption: TypeCheckOption;
72
228
  resetValue: () => void;
229
+ selectorSearchConfig?: BasicValueSpecificationEditorSelectorSearchConfig | undefined;
73
230
  selectorConfig?: BasicValueSpecificationEditorSelectorConfig | undefined;
74
231
  isConstant?: boolean;
75
232
  initializeAsEditable?: boolean;
233
+ readOnly?: boolean;
76
234
  }) => import("react/jsx-runtime").JSX.Element) & {
77
235
  displayName: string;
78
236
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BasicValueSpecificationEditor.d.ts","sourceRoot":"","sources":["../../../src/components/shared/BasicValueSpecificationEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EACL,KAAK,gBAAgB,EAkBtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,eAAe,EAMpB,kBAAkB,EAWnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAUjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAMN,MAAM,OAAO,CAAC;AAmBf,KAAK,eAAe,GAAG;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IACzC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC1C,CAkDA,CAAC;AAEF,eAAO,MAAM,+BAA+B,aAAa,CAAC;AAE1D,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AA4hBD,UAAU,2CAA2C;IACnD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EACR,aAAa,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,GACxD,SAAS,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAmpBD;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;wBAGlB,kBAAkB;WAC/B,SAAS;qBACC,eAAe;qBACf,eAAe;gBACpB,MAAM,GAAG,SAAS;2BACP,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI;gBAC5C,MAAM,IAAI;iBACT,OAAO,GAAG,SAAS;qBACf,2CAA2C,GAAG,SAAS;iBAC3D,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;oBAEjC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,GACxD,SAAS;uCACsB,OAAO,GAAG,SAAS;iDAqMxD,CAAC;AAEH,eAAO,MAAM,qCAAqC,WACxC;IACN,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,qBAAqB,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/D,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,2CAA2C,GAAG,SAAS,CAAC;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;;CAoFF,CAAC"}
1
+ {"version":3,"file":"BasicValueSpecificationEditor.d.ts","sourceRoot":"","sources":["../../../src/components/shared/BasicValueSpecificationEditor.tsx"],"names":[],"mappings":"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"}