@finos/legend-extension-dsl-service 1.0.511 → 1.0.512

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.
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { LegendQueryApplicationPlugin } from '@finos/legend-application-query';
17
- import type { QueryBuilderMenuActionConfiguration } from '@finos/legend-query-builder';
17
+ import { type QueryBuilderMenuActionConfiguration } from '@finos/legend-query-builder';
18
18
  export declare class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplicationPlugin {
19
19
  constructor();
20
20
  getExtraQueryBuilderExportMenuActionConfigurations?(): QueryBuilderMenuActionConfiguration[];
@@ -1 +1 @@
1
- {"version":3,"file":"DSL_Service_LegendQueryApplicationPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/query/DSL_Service_LegendQueryApplicationPlugin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,4BAA4B,EAG7B,MAAM,iCAAiC,CAAC;AAOzC,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,6BAA6B,CAAC;AAEvF,qBAAa,wCAAyC,SAAQ,4BAA4B;;IAKxF,kDAAkD,CAAC,IAAI,mCAAmC,EAAE;CAgH7F"}
1
+ {"version":3,"file":"DSL_Service_LegendQueryApplicationPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/query/DSL_Service_LegendQueryApplicationPlugin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,4BAA4B,EAG7B,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,6BAA6B,CAAC;AA8CrC,qBAAa,wCAAyC,SAAQ,4BAA4B;;IAKxF,kDAAkD,CAAC,IAAI,mCAAmC,EAAE;CAgH7F"}
@@ -22,6 +22,30 @@ import { StoreProjectData } from '@finos/legend-server-depot';
22
22
  import { parseProjectIdentifier } from '@finos/legend-storage';
23
23
  import { buildUrl } from '@finos/legend-shared';
24
24
  import { ServiceRegisterModal } from './ServiceRegisterModal.js';
25
+ import {} from '@finos/legend-query-builder';
26
+ import { QueryDataProductLakehouseExecutionContextInfo, QueryDataProductModelAccessExecutionContextInfo, QueryDataProductNativeExecutionContextInfo, QueryIngestExecutionContextInfo, } from '@finos/legend-graph';
27
+ const getExistingQueryEditorStore = (queryBuilderState) => {
28
+ if (queryBuilderState.workflowState.actionConfig instanceof
29
+ QueryBuilderActionConfig_QueryApplication) {
30
+ const editorStore = queryBuilderState.workflowState.actionConfig.editorStore;
31
+ if (editorStore instanceof ExistingQueryEditorStore) {
32
+ return editorStore;
33
+ }
34
+ }
35
+ return undefined;
36
+ };
37
+ const isDataProductOrIngestQuery = (queryBuilderState) => {
38
+ const editorStore = getExistingQueryEditorStore(queryBuilderState);
39
+ const executionContext = editorStore?.queryInfo?.executionContext;
40
+ return (executionContext instanceof QueryDataProductNativeExecutionContextInfo ||
41
+ executionContext instanceof
42
+ QueryDataProductModelAccessExecutionContextInfo ||
43
+ executionContext instanceof QueryDataProductLakehouseExecutionContextInfo ||
44
+ executionContext instanceof QueryIngestExecutionContextInfo);
45
+ };
46
+ const getUnsupportedExportActionMessage = (queryBuilderState) => isDataProductOrIngestQuery(queryBuilderState)
47
+ ? 'Not supported for Data Product or Ingest queries'
48
+ : 'Requires saved query';
25
49
  export class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplicationPlugin {
26
50
  constructor() {
27
51
  super(packageJson.extensions.applicationQueryPlugin, packageJson.version);
@@ -33,12 +57,11 @@ export class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplica
33
57
  title: 'Productionize query...',
34
58
  label: 'Productionized Query',
35
59
  disableFunc: (queryBuilderState) => {
36
- if (queryBuilderState.workflowState.actionConfig instanceof
37
- QueryBuilderActionConfig_QueryApplication) {
38
- const editorStore = queryBuilderState.workflowState.actionConfig.editorStore;
39
- return !(editorStore instanceof ExistingQueryEditorStore);
60
+ const editorStore = getExistingQueryEditorStore(queryBuilderState);
61
+ if (isDataProductOrIngestQuery(queryBuilderState)) {
62
+ return true;
40
63
  }
41
- return true;
64
+ return !editorStore;
42
65
  },
43
66
  onClick: (queryBuilderState) => {
44
67
  if (queryBuilderState.workflowState.actionConfig instanceof
@@ -69,12 +92,14 @@ export class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplica
69
92
  }
70
93
  },
71
94
  icon: _jsx(ArrowCircleUpIcon, {}),
72
- disableMessage: 'Requires saved query',
95
+ getDisableMessage: getUnsupportedExportActionMessage,
73
96
  },
74
97
  {
75
98
  key: 'export-as-dev-service',
76
99
  title: 'Register query as service',
77
100
  label: 'DEV Service',
101
+ disableFunc: (queryBuilderState) => !getExistingQueryEditorStore(queryBuilderState) ||
102
+ isDataProductOrIngestQuery(queryBuilderState),
78
103
  onClick: (queryBuilderState) => {
79
104
  if (queryBuilderState.workflowState.actionConfig instanceof
80
105
  QueryBuilderActionConfig_QueryApplication) {
@@ -83,6 +108,7 @@ export class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplica
83
108
  }
84
109
  },
85
110
  icon: _jsx(RocketIcon, {}),
111
+ getDisableMessage: getUnsupportedExportActionMessage,
86
112
  renderExtraComponent: (queryBuilderState) => {
87
113
  if (queryBuilderState.workflowState.actionConfig instanceof
88
114
  QueryBuilderActionConfig_QueryApplication) {
@@ -1 +1 @@
1
- {"version":3,"file":"DSL_Service_LegendQueryApplicationPlugin.js","sourceRoot":"","sources":["../../../src/components/query/DSL_Service_LegendQueryApplicationPlugin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DSL_Service_LegendQueryApplicationPlugin.js","sourceRoot":"","sources":["../../../src/components/query/DSL_Service_LegendQueryApplicationPlugin.tsx"],"names":[],"mappings":"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"}
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-extension-dsl-service v1.0.511
1
+ /** @license @finos/legend-extension-dsl-service v1.0.512
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-extension-dsl-service",
3
- "version": "1.0.511",
3
+ "version": "1.0.512",
4
4
  "description": "Legend extension for Service DSL",
5
5
  "keywords": [
6
6
  "legend",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-extension-dsl-service",
3
- "version": "1.0.511",
3
+ "version": "1.0.512",
4
4
  "description": "Legend extension for Service DSL",
5
5
  "keywords": [
6
6
  "legend",
@@ -42,18 +42,18 @@
42
42
  "test:watch": "jest --watch"
43
43
  },
44
44
  "dependencies": {
45
- "@finos/legend-application": "16.0.123",
46
- "@finos/legend-application-query": "13.8.52",
47
- "@finos/legend-application-studio": "28.21.42",
48
- "@finos/legend-art": "7.1.163",
49
- "@finos/legend-code-editor": "2.0.203",
50
- "@finos/legend-graph": "32.6.34",
51
- "@finos/legend-lego": "2.0.223",
52
- "@finos/legend-query-builder": "4.19.12",
53
- "@finos/legend-server-depot": "6.1.20",
54
- "@finos/legend-server-sdlc": "5.4.8",
55
- "@finos/legend-shared": "11.0.28",
56
- "@finos/legend-storage": "3.0.150",
45
+ "@finos/legend-application": "16.0.124",
46
+ "@finos/legend-application-query": "13.8.53",
47
+ "@finos/legend-application-studio": "28.21.43",
48
+ "@finos/legend-art": "7.1.164",
49
+ "@finos/legend-code-editor": "2.0.204",
50
+ "@finos/legend-graph": "32.7.0",
51
+ "@finos/legend-lego": "2.0.224",
52
+ "@finos/legend-query-builder": "4.19.13",
53
+ "@finos/legend-server-depot": "6.1.21",
54
+ "@finos/legend-server-sdlc": "5.4.9",
55
+ "@finos/legend-shared": "11.0.29",
56
+ "@finos/legend-storage": "3.0.151",
57
57
  "@types/react": "19.0.10",
58
58
  "mobx": "6.13.6",
59
59
  "mobx-react-lite": "4.1.0",
@@ -26,7 +26,54 @@ import { StoreProjectData } from '@finos/legend-server-depot';
26
26
  import { parseProjectIdentifier } from '@finos/legend-storage';
27
27
  import { buildUrl } from '@finos/legend-shared';
28
28
  import { ServiceRegisterModal } from './ServiceRegisterModal.js';
29
- import type { QueryBuilderMenuActionConfiguration } from '@finos/legend-query-builder';
29
+ import {
30
+ type QueryBuilderMenuActionConfiguration,
31
+ type QueryBuilderState,
32
+ } from '@finos/legend-query-builder';
33
+ import {
34
+ QueryDataProductLakehouseExecutionContextInfo,
35
+ QueryDataProductModelAccessExecutionContextInfo,
36
+ QueryDataProductNativeExecutionContextInfo,
37
+ QueryIngestExecutionContextInfo,
38
+ } from '@finos/legend-graph';
39
+
40
+ const getExistingQueryEditorStore = (
41
+ queryBuilderState: QueryBuilderState,
42
+ ): ExistingQueryEditorStore | undefined => {
43
+ if (
44
+ queryBuilderState.workflowState.actionConfig instanceof
45
+ QueryBuilderActionConfig_QueryApplication
46
+ ) {
47
+ const editorStore =
48
+ queryBuilderState.workflowState.actionConfig.editorStore;
49
+ if (editorStore instanceof ExistingQueryEditorStore) {
50
+ return editorStore;
51
+ }
52
+ }
53
+ return undefined;
54
+ };
55
+
56
+ const isDataProductOrIngestQuery = (
57
+ queryBuilderState: QueryBuilderState,
58
+ ): boolean => {
59
+ const editorStore = getExistingQueryEditorStore(queryBuilderState);
60
+ const executionContext = editorStore?.queryInfo?.executionContext;
61
+
62
+ return (
63
+ executionContext instanceof QueryDataProductNativeExecutionContextInfo ||
64
+ executionContext instanceof
65
+ QueryDataProductModelAccessExecutionContextInfo ||
66
+ executionContext instanceof QueryDataProductLakehouseExecutionContextInfo ||
67
+ executionContext instanceof QueryIngestExecutionContextInfo
68
+ );
69
+ };
70
+
71
+ const getUnsupportedExportActionMessage = (
72
+ queryBuilderState: QueryBuilderState,
73
+ ): string =>
74
+ isDataProductOrIngestQuery(queryBuilderState)
75
+ ? 'Not supported for Data Product or Ingest queries'
76
+ : 'Requires saved query';
30
77
 
31
78
  export class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplicationPlugin {
32
79
  constructor() {
@@ -40,15 +87,11 @@ export class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplica
40
87
  title: 'Productionize query...',
41
88
  label: 'Productionized Query',
42
89
  disableFunc: (queryBuilderState): boolean => {
43
- if (
44
- queryBuilderState.workflowState.actionConfig instanceof
45
- QueryBuilderActionConfig_QueryApplication
46
- ) {
47
- const editorStore =
48
- queryBuilderState.workflowState.actionConfig.editorStore;
49
- return !(editorStore instanceof ExistingQueryEditorStore);
90
+ const editorStore = getExistingQueryEditorStore(queryBuilderState);
91
+ if (isDataProductOrIngestQuery(queryBuilderState)) {
92
+ return true;
50
93
  }
51
- return true;
94
+ return !editorStore;
52
95
  },
53
96
  onClick: (queryBuilderState): void => {
54
97
  if (
@@ -100,12 +143,15 @@ export class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplica
100
143
  }
101
144
  },
102
145
  icon: <ArrowCircleUpIcon />,
103
- disableMessage: 'Requires saved query',
146
+ getDisableMessage: getUnsupportedExportActionMessage,
104
147
  },
105
148
  {
106
149
  key: 'export-as-dev-service',
107
150
  title: 'Register query as service',
108
151
  label: 'DEV Service',
152
+ disableFunc: (queryBuilderState): boolean =>
153
+ !getExistingQueryEditorStore(queryBuilderState) ||
154
+ isDataProductOrIngestQuery(queryBuilderState),
109
155
  onClick: (queryBuilderState): void => {
110
156
  if (
111
157
  queryBuilderState.workflowState.actionConfig instanceof
@@ -117,6 +163,7 @@ export class DSL_Service_LegendQueryApplicationPlugin extends LegendQueryApplica
117
163
  }
118
164
  },
119
165
  icon: <RocketIcon />,
166
+ getDisableMessage: getUnsupportedExportActionMessage,
120
167
  renderExtraComponent: (
121
168
  queryBuilderState,
122
169
  ): React.ReactNode | undefined => {