@finos/legend-query-builder 4.15.0 → 4.15.2
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
- package/lib/components/QueryBuilderSideBar.js +4 -4
- package/lib/components/QueryBuilderSideBar.js.map +1 -1
- package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.d.ts.map +1 -1
- package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js +2 -1
- package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js.map +1 -1
- package/lib/components/data-cube/QueryBuilderDataCube.d.ts.map +1 -1
- package/lib/components/data-cube/QueryBuilderDataCube.js +3 -10
- package/lib/components/data-cube/QueryBuilderDataCube.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.js +13 -1
- package/lib/components/result/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.d.ts.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js +4 -4
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.js +5 -5
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
- package/lib/components/shared/CustomDatePicker.d.ts.map +1 -1
- package/lib/components/shared/CustomDatePicker.js +2 -2
- package/lib/components/shared/CustomDatePicker.js.map +1 -1
- package/lib/components/workflows/ClassQueryBuilder.d.ts.map +1 -1
- package/lib/components/workflows/ClassQueryBuilder.js +3 -3
- package/lib/components/workflows/ClassQueryBuilder.js.map +1 -1
- package/lib/components/workflows/MappingQueryBuilder.d.ts.map +1 -1
- package/lib/components/workflows/MappingQueryBuilder.js +3 -3
- package/lib/components/workflows/MappingQueryBuilder.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +7 -7
- package/lib/stores/data-cube/QueryBuilderDataCubeApplicationEngine.d.ts +1 -3
- package/lib/stores/data-cube/QueryBuilderDataCubeApplicationEngine.d.ts.map +1 -1
- package/lib/stores/data-cube/QueryBuilderDataCubeApplicationEngine.js +1 -7
- package/lib/stores/data-cube/QueryBuilderDataCubeApplicationEngine.js.map +1 -1
- package/lib/stores/data-cube/QueryBuilderDataCubeEngine.d.ts +5 -2
- package/lib/stores/data-cube/QueryBuilderDataCubeEngine.d.ts.map +1 -1
- package/lib/stores/data-cube/QueryBuilderDataCubeEngine.js +14 -2
- package/lib/stores/data-cube/QueryBuilderDataCubeEngine.js.map +1 -1
- package/lib/stores/data-cube/QueryBuilderDataCubeEngineHelper.d.ts +1 -1
- package/lib/stores/data-cube/QueryBuilderDataCubeEngineHelper.d.ts.map +1 -1
- package/lib/stores/data-cube/QueryBuilderDataCubeEngineHelper.js +8 -1
- package/lib/stores/data-cube/QueryBuilderDataCubeEngineHelper.js.map +1 -1
- package/lib/stores/shared/LambdaParameterState.d.ts +2 -1
- package/lib/stores/shared/LambdaParameterState.d.ts.map +1 -1
- package/lib/stores/shared/LambdaParameterState.js +1 -0
- package/lib/stores/shared/LambdaParameterState.js.map +1 -1
- package/package.json +17 -17
- package/src/components/QueryBuilderSideBar.tsx +11 -10
- package/src/components/__test-utils__/QueryBuilderComponentTestUtils.tsx +8 -2
- package/src/components/data-cube/QueryBuilderDataCube.tsx +4 -16
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +1 -1
- package/src/components/result/QueryBuilderResultPanel.tsx +23 -3
- package/src/components/result/tds/QueryBuilderTDSGridResult.tsx +11 -6
- package/src/components/shared/BasicValueSpecificationEditor.tsx +21 -15
- package/src/components/shared/CustomDatePicker.tsx +10 -17
- package/src/components/workflows/ClassQueryBuilder.tsx +6 -5
- package/src/components/workflows/MappingQueryBuilder.tsx +6 -5
- package/src/stores/data-cube/QueryBuilderDataCubeApplicationEngine.ts +1 -12
- package/src/stores/data-cube/QueryBuilderDataCubeEngine.ts +23 -0
- package/src/stores/data-cube/QueryBuilderDataCubeEngineHelper.ts +16 -1
- package/src/stores/shared/LambdaParameterState.ts +1 -0
@@ -13,7 +13,7 @@
|
|
13
13
|
* See the License for the specific language governing permissions and
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
|
-
import { V1_Lambda, RawLambda, TDSExecutionResult, type GraphManagerState, type PureModel, type V1_ValueSpecification } from '@finos/legend-graph';
|
16
|
+
import { V1_Lambda, RawLambda, TDSExecutionResult, type GraphManagerState, type PureModel, type V1_ValueSpecification, type ParameterValue } from '@finos/legend-graph';
|
17
17
|
import { DataCubeGetBaseQueryResult, DataCubeEngine, type CompletionItem, DataCubeQuerySource, type DataCubeInfrastructureInfo, type RelationType } from '@finos/legend-data-cube';
|
18
18
|
import { LogService } from '@finos/legend-shared';
|
19
19
|
export declare class _DataCubeQuery {
|
@@ -30,8 +30,10 @@ export declare class QueryBuilderDataCubeEngine extends DataCubeEngine {
|
|
30
30
|
readonly graphState: GraphManagerState;
|
31
31
|
readonly selectInitialQuery: RawLambda;
|
32
32
|
readonly mappingPath: string | undefined;
|
33
|
+
readonly parameterValues: ParameterValue[] | undefined;
|
33
34
|
readonly runtimePath: string;
|
34
|
-
|
35
|
+
_parameters: object | undefined;
|
36
|
+
constructor(selectQuery: RawLambda, parameterValues: ParameterValue[] | undefined, mappingPath: string | undefined, runtimePath: string, graphManagerState: GraphManagerState);
|
35
37
|
get sourceLabel(): string;
|
36
38
|
getBaseQuery(): Promise<DataCubeGetBaseQueryResult>;
|
37
39
|
buildBaseQuery(): Promise<DataCubeGetBaseQueryResult>;
|
@@ -40,6 +42,7 @@ export declare class QueryBuilderDataCubeEngine extends DataCubeEngine {
|
|
40
42
|
getInfrastructureInfo(): Promise<DataCubeInfrastructureInfo>;
|
41
43
|
getQueryTypeahead(code: string, query: V1_ValueSpecification): Promise<CompletionItem[]>;
|
42
44
|
parseQuery(code: string, returnSourceInformation?: boolean): Promise<V1_ValueSpecification>;
|
45
|
+
getQueryCode(query: V1_ValueSpecification, pretty?: boolean | undefined): Promise<string>;
|
43
46
|
getQueryRelationType(query: V1_ValueSpecification): Promise<RelationType>;
|
44
47
|
getRelationalType(query: RawLambda): Promise<RelationType>;
|
45
48
|
getQueryCodeRelationReturnType(code: string, baseQuery: V1_ValueSpecification): Promise<RelationType>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderDataCubeEngine.d.ts","sourceRoot":"","sources":["../../../src/stores/data-cube/QueryBuilderDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,SAAS,EACT,SAAS,EAET,kBAAkB,EAKlB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,qBAAqB,
|
1
|
+
{"version":3,"file":"QueryBuilderDataCubeEngine.d.ts","sourceRoot":"","sources":["../../../src/stores/data-cube/QueryBuilderDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,SAAS,EACT,SAAS,EAET,kBAAkB,EAKlB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,0BAA0B,EAC1B,cAAc,EACd,KAAK,cAAc,EACnB,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAiB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEjE,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC;gBAG1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,mBAAmB;CAO9B;AAED,qBAAa,+BAAgC,SAAQ,mBAAmB;CAAG;AAC3E,qBAAa,0BAA2B,SAAQ,cAAc;IAC5D,QAAQ,CAAC,UAAU,aAAoB;IACvC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG9B,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,cAAc,EAAE,GAAG,SAAS,EAC7C,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,iBAAiB;IAUtC,IAAI,WAAW,IAAI,MAAM,CAExB;IACQ,YAAY,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAItD,cAAc,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAsD3D,IAAI,KAAK,IAAI,SAAS,CAErB;IAED,OAAO,CAAC,2BAA2B;IAU1B,qBAAqB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAQtD,iBAAiB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC;IAcb,UAAU,CACvB,IAAI,EAAE,MAAM,EACZ,uBAAuB,CAAC,EAAE,OAAO,GAChC,OAAO,CAAC,qBAAqB,CAAC;IAUxB,YAAY,CACnB,KAAK,EAAE,qBAAqB,EAC5B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAC3B,OAAO,CAAC,MAAM,CAAC;IAOT,oBAAoB,CAC3B,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,YAAY,CAAC;IAKlB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;IASjD,8BAA8B,CAC3C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,qBAAqB,GAC/B,OAAO,CAAC,YAAY,CAAC;IAWT,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,kBAAkB,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CA+BH"}
|
@@ -35,13 +35,16 @@ export class QueryBuilderDataCubeEngine extends DataCubeEngine {
|
|
35
35
|
graphState;
|
36
36
|
selectInitialQuery;
|
37
37
|
mappingPath;
|
38
|
+
parameterValues;
|
38
39
|
runtimePath;
|
39
|
-
|
40
|
+
_parameters;
|
41
|
+
constructor(selectQuery, parameterValues, mappingPath, runtimePath, graphManagerState) {
|
40
42
|
super();
|
41
43
|
this.graphState = graphManagerState;
|
42
44
|
this.selectInitialQuery = selectQuery;
|
43
45
|
this.mappingPath = mappingPath;
|
44
46
|
this.runtimePath = runtimePath;
|
47
|
+
this.parameterValues = parameterValues;
|
45
48
|
}
|
46
49
|
get sourceLabel() {
|
47
50
|
return `Query Builder Report`;
|
@@ -59,6 +62,7 @@ export class QueryBuilderDataCubeEngine extends DataCubeEngine {
|
|
59
62
|
srcFuncExp.body[0]) {
|
60
63
|
srcFuncExp = srcFuncExp.body[0];
|
61
64
|
}
|
65
|
+
this._parameters = this.selectInitialQuery.parameters;
|
62
66
|
const fromFuncExp = new V1_AppliedFunction();
|
63
67
|
fromFuncExp.function = _functionName(SUPPORTED_FUNCTIONS.FROM);
|
64
68
|
fromFuncExp.parameters = [srcFuncExp];
|
@@ -101,6 +105,8 @@ export class QueryBuilderDataCubeEngine extends DataCubeEngine {
|
|
101
105
|
// we return undefined as we assume the grid license is set at the application level where query builder is built
|
102
106
|
return Promise.resolve({
|
103
107
|
gridClientLicense: undefined,
|
108
|
+
simpleSampleDataTableName: '',
|
109
|
+
complexSampleDataTableName: '',
|
104
110
|
});
|
105
111
|
}
|
106
112
|
async getQueryTypeahead(code, query) {
|
@@ -114,6 +120,9 @@ export class QueryBuilderDataCubeEngine extends DataCubeEngine {
|
|
114
120
|
async parseQuery(code, returnSourceInformation) {
|
115
121
|
return V1_deserializeValueSpecification(await this.graphState.graphManager.pureCodeToValueSpecification(code, returnSourceInformation), []);
|
116
122
|
}
|
123
|
+
getQueryCode(query, pretty) {
|
124
|
+
return this.graphState.graphManager.valueSpecificationToPureCode(V1_serializeValueSpecification(query, []), pretty);
|
125
|
+
}
|
117
126
|
getQueryRelationType(query) {
|
118
127
|
const lambda = this.buildRawLambdaFromValueSpec(query);
|
119
128
|
return this.getRelationalType(lambda);
|
@@ -129,8 +138,11 @@ export class QueryBuilderDataCubeEngine extends DataCubeEngine {
|
|
129
138
|
}
|
130
139
|
async executeQuery(query) {
|
131
140
|
const lambda = this.buildRawLambdaFromValueSpec(query);
|
141
|
+
lambda.parameters = this._parameters;
|
132
142
|
const [executionWithMetadata, queryString] = await Promise.all([
|
133
|
-
this.graphState.graphManager.runQuery(lambda, undefined, undefined, this.graph
|
143
|
+
this.graphState.graphManager.runQuery(lambda, undefined, undefined, this.graph, {
|
144
|
+
parameterValues: this.parameterValues ?? [],
|
145
|
+
}),
|
134
146
|
this.graphState.graphManager.lambdaToPureCode(lambda),
|
135
147
|
]);
|
136
148
|
const expectedTDS = guaranteeType(executionWithMetadata.executionResult, TDSExecutionResult, 'Query returned expected to be of tabular data set');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderDataCubeEngine.js","sourceRoot":"","sources":["../../../src/stores/data-cube/QueryBuilderDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,6BAA6B,EAC7B,kBAAkB,EAClB,mCAAmC,EACnC,gCAAgC,EAChC,YAAY,EACZ,8BAA8B,
|
1
|
+
{"version":3,"file":"QueryBuilderDataCubeEngine.js","sourceRoot":"","sources":["../../../src/stores/data-cube/QueryBuilderDataCubeEngine.ts"],"names":[],"mappings":"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"}
|
@@ -14,6 +14,6 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import { type DataCubeEngine } from '@finos/legend-data-cube';
|
17
|
-
import type
|
17
|
+
import { type QueryBuilderState } from '../QueryBuilderState.js';
|
18
18
|
export declare const createDataCubeEngineFromQueryBuilder: (queryBuilderState: QueryBuilderState) => DataCubeEngine | undefined;
|
19
19
|
//# sourceMappingURL=QueryBuilderDataCubeEngineHelper.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderDataCubeEngineHelper.d.ts","sourceRoot":"","sources":["../../../src/stores/data-cube/QueryBuilderDataCubeEngineHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"QueryBuilderDataCubeEngineHelper.d.ts","sourceRoot":"","sources":["../../../src/stores/data-cube/QueryBuilderDataCubeEngineHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAKjC,eAAO,MAAM,oCAAoC,sBAC5B,iBAAiB,KACnC,cAAc,GAAG,SA4BnB,CAAC"}
|
@@ -14,8 +14,10 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import {} from '@finos/legend-data-cube';
|
17
|
+
import { QUERY_BUILDER_LAMBDA_WRITER_MODE, } from '../QueryBuilderState.js';
|
17
18
|
import { RuntimePointer } from '@finos/legend-graph';
|
18
19
|
import { QueryBuilderDataCubeEngine } from './QueryBuilderDataCubeEngine.js';
|
20
|
+
import { buildExecutionParameterValues } from '../shared/LambdaParameterState.js';
|
19
21
|
export const createDataCubeEngineFromQueryBuilder = (queryBuilderState) => {
|
20
22
|
const runtime = queryBuilderState.executionContextState.runtimeValue instanceof
|
21
23
|
RuntimePointer
|
@@ -25,7 +27,12 @@ export const createDataCubeEngineFromQueryBuilder = (queryBuilderState) => {
|
|
25
27
|
if (!runtime) {
|
26
28
|
return undefined;
|
27
29
|
}
|
28
|
-
const
|
30
|
+
const currentLambdaWriterMode = queryBuilderState.lambdaWriteMode;
|
31
|
+
// ensure we write in new tds mode
|
32
|
+
queryBuilderState.setLambdaWriteMode(QUERY_BUILDER_LAMBDA_WRITER_MODE.TYPED_FETCH_STRUCTURE);
|
33
|
+
const parameterValues = buildExecutionParameterValues(queryBuilderState.parametersState.parameterStates, queryBuilderState.graphManagerState);
|
34
|
+
const queryBuilderEngine = new QueryBuilderDataCubeEngine(queryBuilderState.buildQuery(), parameterValues, queryBuilderState.executionContextState.mapping?.path, runtime, queryBuilderState.graphManagerState);
|
35
|
+
queryBuilderState.setLambdaWriteMode(currentLambdaWriterMode);
|
29
36
|
return queryBuilderEngine;
|
30
37
|
};
|
31
38
|
//# sourceMappingURL=QueryBuilderDataCubeEngineHelper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderDataCubeEngineHelper.js","sourceRoot":"","sources":["../../../src/stores/data-cube/QueryBuilderDataCubeEngineHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAuB,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"QueryBuilderDataCubeEngineHelper.js","sourceRoot":"","sources":["../../../src/stores/data-cube/QueryBuilderDataCubeEngineHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAuB,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,gCAAgC,GAEjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,iBAAoC,EACR,EAAE;IAC9B,MAAM,OAAO,GACX,iBAAiB,CAAC,qBAAqB,CAAC,YAAY;QACpD,cAAc;QACZ,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,YAAY,CAAC,kBAAkB;aACpE,KAAK,CAAC,IAAI;QACf,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,eAAe,CAAC;IAClE,kCAAkC;IAClC,iBAAiB,CAAC,kBAAkB,CAClC,gCAAgC,CAAC,qBAAqB,CACvD,CAAC;IACF,MAAM,eAAe,GAAG,6BAA6B,CACnD,iBAAiB,CAAC,eAAe,CAAC,eAAe,EACjD,iBAAiB,CAAC,iBAAiB,CACpC,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,0BAA0B,CACvD,iBAAiB,CAAC,UAAU,EAAE,EAC9B,eAAe,EACf,iBAAiB,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,EACrD,OAAO,EACP,iBAAiB,CAAC,iBAAiB,CACpC,CAAC;IACF,iBAAiB,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IAC9D,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC"}
|
@@ -17,7 +17,8 @@ import { type ObserverContext, type Type, type ValueSpecification, type PureMode
|
|
17
17
|
import { type Hashable } from '@finos/legend-shared';
|
18
18
|
export declare enum PARAMETER_SUBMIT_ACTION {
|
19
19
|
RUN = "RUN",
|
20
|
-
EXPORT = "EXPORT"
|
20
|
+
EXPORT = "EXPORT",
|
21
|
+
DATA_CUBE = "DATA_CUBE"
|
21
22
|
}
|
22
23
|
export declare const buildParametersLetLambdaFunc: (graph: PureModel, lambdaParametersStates: LambdaParameterState[]) => LambdaFunction;
|
23
24
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LambdaParameterState.d.ts","sourceRoot":"","sources":["../../../src/stores/shared/LambdaParameterState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAKd,kBAAkB,EAGlB,cAAc,EAId,YAAY,EAKZ,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAQ9B,oBAAY,uBAAuB;IACjC,GAAG,QAAQ;IACX,MAAM,WAAW;
|
1
|
+
{"version":3,"file":"LambdaParameterState.d.ts","sourceRoot":"","sources":["../../../src/stores/shared/LambdaParameterState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAKd,kBAAkB,EAGlB,cAAc,EAId,YAAY,EAKZ,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,QAAQ,EAMd,MAAM,sBAAsB,CAAC;AAQ9B,oBAAY,uBAAuB;IACjC,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAOD,eAAO,MAAM,4BAA4B,UAChC,SAAS,0BACQ,oBAAoB,EAAE,KAC7C,cA6BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6CAA6C,mBACxC,oBAAoB,KACnC,OAIA,CAAC;AAEJ,eAAO,MAAM,oCAAoC,oBAC9B,oBAAoB,EAAE,KACtC,oBAAoB,EACgD,CAAC;AAExE,eAAO,MAAM,6BAA6B,gBAC3B,oBAAoB,EAAE,cACvB,iBAAiB,KAC5B,cAAc,EAUX,CAAC;AAEP,eAAO,MAAM,8BAA8B,cAC9B,SAAS,mBACH,oBAAoB,EAAE,qBACpB,iBAAiB,KACnC,SA0BF,CAAC;AAEF,eAAO,MAAM,qCAAqC,mBAChC,cAAc,mBACb,oBAAoB,EAAE,qBACpB,iBAAiB,KACnC,cAwBF,CAAC;AAEF,qBAAa,oBAAqB,YAAW,QAAQ;IACnD,QAAQ,CAAC,IAAI,SAAU;IACvB,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE1C,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;gBAGpC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,SAAS;IAclB,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED,kBAAkB,IAAI,IAAI;IAW1B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAWrD,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAUpC,kBAAkB,CAChB,kBAAkB,EAAE,kBAAkB,EACtC,GAAG,EAAE,YAAY,GAChB,IAAI;IAQP,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,IAAI,GAAG,SAAS,CAEnC;CACF;AAED,qBAAa,kCAAkC;IAC7C,SAAS,UAAS;IAClB,YAAY,EACR;QACE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC;KACf,GACD,SAAS,CAAC;;IAYd,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIhC,eAAe,CACb,GAAG,EACC;QACE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC;KACf,GACD,SAAS,GACZ,IAAI;IAIP,IAAI,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvD,KAAK,IAAI,IAAI;CAId;AAED,8BAAsB,qBAAsB,YAAW,QAAQ;IAC7D,eAAe,EAAE,oBAAoB,EAAE,CAAM;IAC7C,0BAA0B,qCAA4C;;IAQtE,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED,YAAY,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAI7C,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAIhD,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,IAAI;CAGjD"}
|
@@ -22,6 +22,7 @@ export var PARAMETER_SUBMIT_ACTION;
|
|
22
22
|
(function (PARAMETER_SUBMIT_ACTION) {
|
23
23
|
PARAMETER_SUBMIT_ACTION["RUN"] = "RUN";
|
24
24
|
PARAMETER_SUBMIT_ACTION["EXPORT"] = "EXPORT";
|
25
|
+
PARAMETER_SUBMIT_ACTION["DATA_CUBE"] = "DATA_CUBE";
|
25
26
|
})(PARAMETER_SUBMIT_ACTION || (PARAMETER_SUBMIT_ACTION = {}));
|
26
27
|
var LAMABA_PARAMETER_HASH_STRUCTURE;
|
27
28
|
(function (LAMABA_PARAMETER_HASH_STRUCTURE) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LambdaParameterState.js","sourceRoot":"","sources":["../../../src/stores/shared/LambdaParameterState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAOL,WAAW,EACX,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,wBAAwB,EACxB,mCAAmC,EACnC,cAAc,EACd,YAAY,EACZ,cAAc,EACd,0BAA0B,EAC1B,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,WAAW,EAEX,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,aAAa,EACb,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EACL,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAN,IAAY,
|
1
|
+
{"version":3,"file":"LambdaParameterState.js","sourceRoot":"","sources":["../../../src/stores/shared/LambdaParameterState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-query-builder",
|
3
|
-
"version": "4.15.
|
3
|
+
"version": "4.15.2",
|
4
4
|
"description": "Legend query builder core",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -42,21 +42,21 @@
|
|
42
42
|
"test:watch": "jest --watch"
|
43
43
|
},
|
44
44
|
"dependencies": {
|
45
|
-
"@finos/legend-application": "16.0.
|
46
|
-
"@finos/legend-art": "7.1.
|
47
|
-
"@finos/legend-code-editor": "2.0.
|
48
|
-
"@finos/legend-data-cube": "0.0.
|
49
|
-
"@finos/legend-graph": "31.10.
|
50
|
-
"@finos/legend-lego": "2.0.
|
51
|
-
"@finos/legend-server-depot": "6.0.
|
52
|
-
"@finos/legend-shared": "10.0.
|
53
|
-
"@finos/legend-storage": "3.0.
|
45
|
+
"@finos/legend-application": "16.0.3",
|
46
|
+
"@finos/legend-art": "7.1.62",
|
47
|
+
"@finos/legend-code-editor": "2.0.3",
|
48
|
+
"@finos/legend-data-cube": "0.0.8",
|
49
|
+
"@finos/legend-graph": "31.10.37",
|
50
|
+
"@finos/legend-lego": "2.0.5",
|
51
|
+
"@finos/legend-server-depot": "6.0.62",
|
52
|
+
"@finos/legend-shared": "10.0.57",
|
53
|
+
"@finos/legend-storage": "3.0.107",
|
54
54
|
"@testing-library/dom": "10.4.0",
|
55
55
|
"@testing-library/react": "16.0.1",
|
56
|
-
"@types/react": "18.3.
|
56
|
+
"@types/react": "18.3.11",
|
57
57
|
"@types/react-dom": "18.3.0",
|
58
58
|
"chart.js": "4.4.4",
|
59
|
-
"mathjs": "13.
|
59
|
+
"mathjs": "13.2.0",
|
60
60
|
"mobx": "6.13.3",
|
61
61
|
"mobx-react-lite": "4.0.7",
|
62
62
|
"monaco-editor": "0.52.0",
|
@@ -65,18 +65,18 @@
|
|
65
65
|
"react-dnd": "16.0.1",
|
66
66
|
"react-dom": "18.3.1",
|
67
67
|
"serializr": "3.0.2",
|
68
|
-
"sql-formatter": "15.4.
|
68
|
+
"sql-formatter": "15.4.3"
|
69
69
|
},
|
70
70
|
"devDependencies": {
|
71
|
-
"@finos/legend-dev-utils": "2.1.
|
71
|
+
"@finos/legend-dev-utils": "2.1.25",
|
72
72
|
"@jest/globals": "29.7.0",
|
73
73
|
"cross-env": "7.0.3",
|
74
|
-
"eslint": "
|
74
|
+
"eslint": "9.12.0",
|
75
75
|
"jest": "29.7.0",
|
76
76
|
"npm-run-all": "4.1.5",
|
77
77
|
"rimraf": "6.0.1",
|
78
|
-
"sass": "1.79.
|
79
|
-
"typescript": "5.6.
|
78
|
+
"sass": "1.79.4",
|
79
|
+
"typescript": "5.6.3"
|
80
80
|
},
|
81
81
|
"peerDependencies": {
|
82
82
|
"react": "^18.0.0"
|
@@ -105,8 +105,8 @@ export const QueryBuilderClassSelector = observer(
|
|
105
105
|
const elementFilterOption = createFilter({
|
106
106
|
ignoreCase: true,
|
107
107
|
ignoreAccents: false,
|
108
|
-
stringify: (option: PackageableElementOption<Class>): string =>
|
109
|
-
option.value.path,
|
108
|
+
stringify: (option: { data: PackageableElementOption<Class> }): string =>
|
109
|
+
option.data.value.path,
|
110
110
|
});
|
111
111
|
|
112
112
|
const classOptions = classes
|
@@ -114,12 +114,12 @@ export const QueryBuilderClassSelector = observer(
|
|
114
114
|
.map((_class) => ({
|
115
115
|
value: _class,
|
116
116
|
label: generateClassLabel(_class, queryBuilderState),
|
117
|
-
}));
|
117
|
+
})) as PackageableElementOption<Class>[];
|
118
118
|
const selectedClassOption = queryBuilderState.class
|
119
|
-
? {
|
119
|
+
? ({
|
120
120
|
value: queryBuilderState.class,
|
121
121
|
label: generateClassLabel(queryBuilderState.class, queryBuilderState),
|
122
|
-
}
|
122
|
+
} as PackageableElementOption<Class>)
|
123
123
|
: null;
|
124
124
|
const changeClass = (val: PackageableElementOption<Class>): void => {
|
125
125
|
if (val.value === queryBuilderState.class) {
|
@@ -233,8 +233,9 @@ const BasicQueryBuilderSetup = observer(
|
|
233
233
|
const mappingFilterOption = createFilter({
|
234
234
|
ignoreCase: true,
|
235
235
|
ignoreAccents: false,
|
236
|
-
stringify: (option:
|
237
|
-
|
236
|
+
stringify: (option: {
|
237
|
+
data: PackageableElementOption<Mapping>;
|
238
|
+
}): string => option.data.value.path,
|
238
239
|
});
|
239
240
|
|
240
241
|
// runtime
|
@@ -263,9 +264,9 @@ const BasicQueryBuilderSetup = observer(
|
|
263
264
|
const runtimeFilterOption = createFilter({
|
264
265
|
ignoreCase: true,
|
265
266
|
ignoreAccents: false,
|
266
|
-
stringify: (option: { value: Runtime }): string =>
|
267
|
-
option.value instanceof RuntimePointer
|
268
|
-
? option.value.packageableRuntime.value.path
|
267
|
+
stringify: (option: { data: { value: Runtime } }): string =>
|
268
|
+
option.data.value instanceof RuntimePointer
|
269
|
+
? option.data.value.packageableRuntime.value.path
|
269
270
|
: 'custom',
|
270
271
|
});
|
271
272
|
|
@@ -55,6 +55,7 @@ import {
|
|
55
55
|
import { STYLE_PREFIX, STYLE_PREFIX__DARK } from '@finos/legend-art';
|
56
56
|
import { expect } from '@jest/globals';
|
57
57
|
import { QueryBuilderAdvancedWorkflowState } from '../../stores/query-workflow/QueryBuilderWorkFlowState.js';
|
58
|
+
import { Route, Routes } from '@finos/legend-application/browser';
|
58
59
|
|
59
60
|
const getSelectorContainerClassName = (lightMode?: boolean): string =>
|
60
61
|
'.' + `${lightMode ? STYLE_PREFIX : STYLE_PREFIX__DARK}__value-container`;
|
@@ -254,9 +255,14 @@ export const TEST__setUpQueryBuilder = async (
|
|
254
255
|
|
255
256
|
const renderResult = render(
|
256
257
|
<ApplicationStoreProvider store={MOCK__applicationStore}>
|
257
|
-
<TEST__BrowserEnvironmentProvider>
|
258
|
+
<TEST__BrowserEnvironmentProvider initialEntries={['/']}>
|
258
259
|
<ApplicationFrameworkProvider>
|
259
|
-
<
|
260
|
+
<Routes>
|
261
|
+
<Route
|
262
|
+
path="*"
|
263
|
+
element={<QueryBuilder queryBuilderState={queryBuilderState} />}
|
264
|
+
/>
|
265
|
+
</Routes>
|
260
266
|
</ApplicationFrameworkProvider>
|
261
267
|
</TEST__BrowserEnvironmentProvider>
|
262
268
|
</ApplicationStoreProvider>,
|
@@ -27,8 +27,7 @@ import {
|
|
27
27
|
WindowMaximizeIcon,
|
28
28
|
} from '@finos/legend-art';
|
29
29
|
import { useState } from 'react';
|
30
|
-
import {
|
31
|
-
import { QueryBuilderDataCubeEngine } from '../../stores/data-cube/QueryBuilderDataCubeEngine.js';
|
30
|
+
import { createDataCubeEngineFromQueryBuilder } from '../../stores/data-cube/QueryBuilderDataCubeEngineHelper.js';
|
32
31
|
|
33
32
|
const QueryBuilderDataCube = observer(
|
34
33
|
(props: { queryBuilderState: QueryBuilderState }) => {
|
@@ -36,22 +35,11 @@ const QueryBuilderDataCube = observer(
|
|
36
35
|
const applicationStore = new QueryBuilderDataCubeApplicationEngine(
|
37
36
|
queryBuilderState.applicationStore,
|
38
37
|
);
|
39
|
-
const
|
40
|
-
queryBuilderState
|
41
|
-
|
42
|
-
? queryBuilderState.executionContextState.runtimeValue
|
43
|
-
.packageableRuntime.value.path
|
44
|
-
: undefined;
|
45
|
-
if (!runtime) {
|
46
|
-
// TODO: add better message
|
38
|
+
const queryBuilderEngine =
|
39
|
+
createDataCubeEngineFromQueryBuilder(queryBuilderState);
|
40
|
+
if (!queryBuilderEngine) {
|
47
41
|
return null;
|
48
42
|
}
|
49
|
-
const queryBuilderEngine = new QueryBuilderDataCubeEngine(
|
50
|
-
queryBuilderState.buildQuery(),
|
51
|
-
queryBuilderState.executionContextState.mapping?.path,
|
52
|
-
runtime,
|
53
|
-
queryBuilderState.graphManagerState,
|
54
|
-
);
|
55
43
|
|
56
44
|
return (
|
57
45
|
<DataCubeProvider
|
@@ -408,6 +408,28 @@ export const QueryBuilderResultPanel = observer(
|
|
408
408
|
}
|
409
409
|
resultState.pressedRunQuery.complete();
|
410
410
|
};
|
411
|
+
|
412
|
+
const openDataCube = (): void => {
|
413
|
+
if (
|
414
|
+
queryParametersState.parameterStates.length &&
|
415
|
+
queryParametersState.parameterStates.find(
|
416
|
+
(param) =>
|
417
|
+
!queryBuilderState.milestoningState.isMilestoningParameter(
|
418
|
+
param.parameter,
|
419
|
+
),
|
420
|
+
)
|
421
|
+
) {
|
422
|
+
queryParametersState.parameterValuesEditorState.open(
|
423
|
+
(): Promise<void> => {
|
424
|
+
queryBuilderState.setIsCubeEnabled(true);
|
425
|
+
return Promise.resolve();
|
426
|
+
},
|
427
|
+
PARAMETER_SUBMIT_ACTION.DATA_CUBE,
|
428
|
+
);
|
429
|
+
} else {
|
430
|
+
queryBuilderState.setIsCubeEnabled(true);
|
431
|
+
}
|
432
|
+
};
|
411
433
|
const cancelQuery = applicationStore.guardUnhandledError(() =>
|
412
434
|
flowResult(resultState.cancelQuery()),
|
413
435
|
);
|
@@ -841,9 +863,7 @@ export const QueryBuilderResultPanel = observer(
|
|
841
863
|
</MenuContentItem>
|
842
864
|
{queryBuilderState.config?.TEMPORARY__enableExportToCube && (
|
843
865
|
<MenuContentItem
|
844
|
-
onClick={
|
845
|
-
queryBuilderState.setIsCubeEnabled(true)
|
846
|
-
}
|
866
|
+
onClick={openDataCube}
|
847
867
|
disabled={
|
848
868
|
!queryBuilderState.fetchStructureState.implementation
|
849
869
|
.canBeExportedToCube ||
|
@@ -44,6 +44,7 @@ import { QueryBuilderTDSState } from '../../../stores/fetch-structure/tds/QueryB
|
|
44
44
|
import { DEFAULT_LOCALE } from '../../../graph-manager/QueryBuilderConst.js';
|
45
45
|
import {
|
46
46
|
assertErrorThrown,
|
47
|
+
guaranteeNonNullable,
|
47
48
|
isBoolean,
|
48
49
|
isNumber,
|
49
50
|
isString,
|
@@ -393,18 +394,22 @@ export const QueryBuilderTDSGridResult = observer(
|
|
393
394
|
aggFuncParams.colDef.field,
|
394
395
|
)
|
395
396
|
? {
|
396
|
-
label:
|
397
|
-
|
397
|
+
label: guaranteeNonNullable(
|
398
|
+
resultState.wavgAggregationState.weightedColumnIdPairs.get(
|
399
|
+
aggFuncParams.colDef.field,
|
400
|
+
),
|
398
401
|
),
|
399
|
-
value:
|
400
|
-
|
402
|
+
value: guaranteeNonNullable(
|
403
|
+
resultState.wavgAggregationState.weightedColumnIdPairs.get(
|
404
|
+
aggFuncParams.colDef.field,
|
405
|
+
),
|
401
406
|
),
|
402
407
|
}
|
403
408
|
: null;
|
404
409
|
|
405
|
-
const onWeightedColumnOptionChange =
|
410
|
+
const onWeightedColumnOptionChange = (
|
406
411
|
option: { label: string; value: string } | null,
|
407
|
-
)
|
412
|
+
) => {
|
408
413
|
if (aggFuncParams?.colDef.field && option?.value) {
|
409
414
|
resultState.wavgAggregationState?.addWeightedColumnIdPair(
|
410
415
|
aggFuncParams.colDef.field,
|
@@ -233,9 +233,7 @@ const StringPrimitiveInstanceValueEditor = observer(
|
|
233
233
|
selectorConfig?: BasicValueSpecificationEditorSelectorConfig | undefined;
|
234
234
|
observerContext: ObserverContext;
|
235
235
|
handleBlur?: (() => void) | undefined;
|
236
|
-
handleKeyDown?:
|
237
|
-
| ((event: React.KeyboardEvent<HTMLInputElement>) => void)
|
238
|
-
| undefined;
|
236
|
+
handleKeyDown?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
|
239
237
|
}
|
240
238
|
>(function StringPrimitiveInstanceValueEditor(props, ref) {
|
241
239
|
const {
|
@@ -261,7 +259,7 @@ const StringPrimitiveInstanceValueEditor = observer(
|
|
261
259
|
updateValueSpec(event.target.value);
|
262
260
|
};
|
263
261
|
// custom select
|
264
|
-
const selectedValue = { value: value, label: value };
|
262
|
+
const selectedValue = value ? { value: value, label: value } : null;
|
265
263
|
const reloadValuesFunc = selectorConfig?.reloadValues;
|
266
264
|
const changeValue = (
|
267
265
|
val: null | { value: number | string; label: string },
|
@@ -318,7 +316,7 @@ const StringPrimitiveInstanceValueEditor = observer(
|
|
318
316
|
className="value-spec-editor__enum-selector"
|
319
317
|
options={queryOptions}
|
320
318
|
onChange={changeValue}
|
321
|
-
value={selectedValue
|
319
|
+
value={selectedValue}
|
322
320
|
inputValue={value ?? ''}
|
323
321
|
onInputChange={handleInputChange}
|
324
322
|
darkMode={
|
@@ -333,8 +331,10 @@ const StringPrimitiveInstanceValueEditor = observer(
|
|
333
331
|
}}
|
334
332
|
hasError={!isValidInstanceValue(valueSpecification)}
|
335
333
|
placeholder={value === '' ? '(empty)' : undefined}
|
336
|
-
|
337
|
-
onKeyDown={
|
334
|
+
inputRef={ref as React.Ref<SelectComponent>}
|
335
|
+
onKeyDown={
|
336
|
+
handleKeyDown as React.KeyboardEventHandler<HTMLDivElement>
|
337
|
+
}
|
338
338
|
inputName={inputName}
|
339
339
|
/>
|
340
340
|
) : (
|
@@ -911,14 +911,18 @@ const PrimitiveCollectionInstanceValueEditor = observer(
|
|
911
911
|
saveEdit();
|
912
912
|
};
|
913
913
|
|
914
|
-
const handleKeyDown = (
|
914
|
+
const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (
|
915
|
+
event,
|
916
|
+
) => {
|
915
917
|
if ((event.key === 'Enter' || event.key === ',') && !event.shiftKey) {
|
916
918
|
addInputValueToSelectedOptions();
|
917
919
|
event.preventDefault();
|
918
920
|
}
|
919
921
|
};
|
920
922
|
|
921
|
-
const handlePaste
|
923
|
+
const handlePaste: React.ClipboardEventHandler<HTMLInputElement> = (
|
924
|
+
event,
|
925
|
+
) => {
|
922
926
|
const pastedText = event.clipboardData.getData('text');
|
923
927
|
const parsedData = parseCSVString(pastedText);
|
924
928
|
if (!parsedData) {
|
@@ -982,8 +986,7 @@ const PrimitiveCollectionInstanceValueEditor = observer(
|
|
982
986
|
}
|
983
987
|
isLoading={isLoading}
|
984
988
|
noMatchMessage={noMatchMessage}
|
985
|
-
placeholder={
|
986
|
-
inputPlaceholder={getPlaceHolder(expectedType)}
|
989
|
+
placeholder={getPlaceHolder(expectedType)}
|
987
990
|
components={{
|
988
991
|
DropdownIndicator: null,
|
989
992
|
}}
|
@@ -1121,14 +1124,18 @@ const EnumCollectionInstanceValueEditor = observer(
|
|
1121
1124
|
}
|
1122
1125
|
};
|
1123
1126
|
|
1124
|
-
const handleKeyDown = (
|
1127
|
+
const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (
|
1128
|
+
event,
|
1129
|
+
) => {
|
1125
1130
|
if ((event.key === 'Enter' || event.key === ',') && !event.shiftKey) {
|
1126
1131
|
addInputValueToSelectedOptions();
|
1127
1132
|
event.preventDefault();
|
1128
1133
|
}
|
1129
1134
|
};
|
1130
1135
|
|
1131
|
-
const handlePaste
|
1136
|
+
const handlePaste: React.ClipboardEventHandler<HTMLInputElement> = (
|
1137
|
+
event,
|
1138
|
+
) => {
|
1132
1139
|
const pastedText = event.clipboardData.getData('text');
|
1133
1140
|
const parsedData = parseCSVString(pastedText);
|
1134
1141
|
if (!parsedData) {
|
@@ -1199,8 +1206,7 @@ const EnumCollectionInstanceValueEditor = observer(
|
|
1199
1206
|
darkMode={
|
1200
1207
|
!applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled
|
1201
1208
|
}
|
1202
|
-
placeholder=
|
1203
|
-
inputPlaceholder="Add"
|
1209
|
+
placeholder="Add"
|
1204
1210
|
menuIsOpen={true}
|
1205
1211
|
inputName={inputName}
|
1206
1212
|
/>
|