@finos/legend-application-studio 28.19.3 → 28.19.4

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 (50) hide show
  1. package/lib/components/ElementIconUtils.d.ts.map +1 -1
  2. package/lib/components/ElementIconUtils.js +3 -1
  3. package/lib/components/ElementIconUtils.js.map +1 -1
  4. package/lib/components/editor/editor-group/EditorGroup.d.ts.map +1 -1
  5. package/lib/components/editor/editor-group/EditorGroup.js +6 -0
  6. package/lib/components/editor/editor-group/EditorGroup.js.map +1 -1
  7. package/lib/components/editor/editor-group/function-activator/FunctionEditor.d.ts +1 -0
  8. package/lib/components/editor/editor-group/function-activator/FunctionEditor.d.ts.map +1 -1
  9. package/lib/components/editor/editor-group/function-activator/FunctionEditor.js +19 -0
  10. package/lib/components/editor/editor-group/function-activator/FunctionEditor.js.map +1 -1
  11. package/lib/components/editor/editor-group/function-activator/SnowflakeM2MUdfFunctionActivatorEditor.d.ts +19 -0
  12. package/lib/components/editor/editor-group/function-activator/SnowflakeM2MUdfFunctionActivatorEditor.d.ts.map +1 -0
  13. package/lib/components/editor/editor-group/function-activator/SnowflakeM2MUdfFunctionActivatorEditor.js +89 -0
  14. package/lib/components/editor/editor-group/function-activator/SnowflakeM2MUdfFunctionActivatorEditor.js.map +1 -0
  15. package/lib/index.css +2 -2
  16. package/lib/index.css.map +1 -1
  17. package/lib/index.d.ts +2 -0
  18. package/lib/index.d.ts.map +1 -1
  19. package/lib/index.js +2 -0
  20. package/lib/index.js.map +1 -1
  21. package/lib/package.json +1 -1
  22. package/lib/stores/editor/EditorGraphState.d.ts.map +1 -1
  23. package/lib/stores/editor/EditorGraphState.js +4 -1
  24. package/lib/stores/editor/EditorGraphState.js.map +1 -1
  25. package/lib/stores/editor/EditorTabManagerState.d.ts.map +1 -1
  26. package/lib/stores/editor/EditorTabManagerState.js +5 -1
  27. package/lib/stores/editor/EditorTabManagerState.js.map +1 -1
  28. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.d.ts.map +1 -1
  29. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js +15 -1
  30. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js.map +1 -1
  31. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.d.ts +35 -0
  32. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.d.ts.map +1 -0
  33. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.js +94 -0
  34. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.js.map +1 -0
  35. package/lib/stores/editor/utils/ModelClassifierUtils.d.ts +1 -0
  36. package/lib/stores/editor/utils/ModelClassifierUtils.d.ts.map +1 -1
  37. package/lib/stores/editor/utils/ModelClassifierUtils.js +1 -0
  38. package/lib/stores/editor/utils/ModelClassifierUtils.js.map +1 -1
  39. package/package.json +9 -9
  40. package/src/components/ElementIconUtils.tsx +3 -0
  41. package/src/components/editor/editor-group/EditorGroup.tsx +11 -0
  42. package/src/components/editor/editor-group/function-activator/FunctionEditor.tsx +35 -0
  43. package/src/components/editor/editor-group/function-activator/SnowflakeM2MUdfFunctionActivatorEditor.tsx +291 -0
  44. package/src/index.ts +2 -0
  45. package/src/stores/editor/EditorGraphState.ts +3 -0
  46. package/src/stores/editor/EditorTabManagerState.ts +7 -0
  47. package/src/stores/editor/editor-state/element-editor-state/FunctionActivatorState.ts +16 -0
  48. package/src/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.ts +143 -0
  49. package/src/stores/editor/utils/ModelClassifierUtils.ts +1 -0
  50. package/tsconfig.json +2 -0
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { action, flow, flowResult, makeObservable, observable } from 'mobx';
17
- import { PackageableElementExplicitReference, SnowflakeApp, extractElementNameFromPath, extractPackagePathFromPath, SnowflakeAppDeploymentConfiguration, DeploymentOwner, HostedService, MemSQLFunction, MemSQLDeploymentConfiguration, } from '@finos/legend-graph';
17
+ import { PackageableElementExplicitReference, SnowflakeApp, SnowflakeM2MUdf, extractElementNameFromPath, extractPackagePathFromPath, SnowflakeAppDeploymentConfiguration, SnowflakeM2MUdfDeploymentConfiguration, DeploymentOwner, HostedService, MemSQLFunction, MemSQLDeploymentConfiguration, } from '@finos/legend-graph';
18
18
  import { uuid } from '@finos/legend-shared';
19
19
  import { FUNCTION_ACTIVATE_TYPE } from '../../../../components/editor/editor-group/function-activator/FunctionEditor.js';
20
20
  const BASE_ACTIVATOR_NAME = 'NewActivator';
@@ -61,6 +61,20 @@ export class FunctionActivatorState {
61
61
  createFunctionActivator(functionElement) {
62
62
  const type = this.activateType;
63
63
  switch (type) {
64
+ case FUNCTION_ACTIVATE_TYPE.SNOWFLAKE_M2M_UDF: {
65
+ const activatorName = this.activatorPath.includes('::')
66
+ ? extractElementNameFromPath(this.activatorPath)
67
+ : this.activatorPath;
68
+ const snowflakeM2MUdf = new SnowflakeM2MUdf(activatorName);
69
+ snowflakeM2MUdf.udfName = '';
70
+ snowflakeM2MUdf.description = '';
71
+ snowflakeM2MUdf.ownership = new DeploymentOwner('', snowflakeM2MUdf);
72
+ snowflakeM2MUdf.function =
73
+ PackageableElementExplicitReference.create(functionElement);
74
+ snowflakeM2MUdf.activationConfiguration =
75
+ new SnowflakeM2MUdfDeploymentConfiguration();
76
+ return snowflakeM2MUdf;
77
+ }
64
78
  case FUNCTION_ACTIVATE_TYPE.SNOWFLAKE_NATIVE_APP: {
65
79
  const activatorName = this.activatorPath.includes('::')
66
80
  ? extractElementNameFromPath(this.activatorPath)
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionActivatorState.js","sourceRoot":"","sources":["../../../../../src/stores/editor/editor-state/element-editor-state/FunctionActivatorState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FunctionActivatorState.js","sourceRoot":"","sources":["../../../../../src/stores/editor/editor-state/element-editor-state/FunctionActivatorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE5E,OAAO,EAGL,mCAAmC,EACnC,YAAY,EACZ,eAAe,EACf,0BAA0B,EAC1B,0BAA0B,EAC1B,mCAAmC,EACnC,sCAAsC,EACtC,eAAe,EACf,aAAa,EACb,cAAc,EACd,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAoB,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iFAAiF,CAAC;AAEzH,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAE3C,MAAM,OAAO,sBAAsB;IACxB,mBAAmB,CAAsB;IAElD,aAAa,CAAS;IACtB,oBAAoB,GAAG,KAAK,CAAC;IAC7B,6BAA6B,GAAG,KAAK,CAAC;IACtC,YAAY,CAAqB;IAEjC,YAAY,mBAAwC;QAClD,cAAc,CAAC,IAAI,EAAE;YACnB,aAAa,EAAE,UAAU;YACzB,oBAAoB,EAAE,UAAU;YAChC,6BAA6B,EAAE,UAAU;YACzC,YAAY,EAAE,UAAU;YACxB,eAAe,EAAE,MAAM;YACvB,mBAAmB,EAAE,MAAM;YAC3B,uBAAuB,EAAE,MAAM;YAC/B,gCAAgC,EAAE,MAAM;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;IAC3G,CAAC;IAED,uBAAuB,CAAC,GAAY;QAClC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;IAClC,CAAC;IAED,gCAAgC,CAAC,GAAY;QAC3C,IAAI,CAAC,6BAA6B,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC,GAAuB;QACrC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,0BAA0B;QACxB,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,uBAAuB,CACrB,eAA2C;QAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrD,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC;oBAChD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvB,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;gBAC3D,eAAe,CAAC,OAAO,GAAG,EAAE,CAAC;gBAC7B,eAAe,CAAC,WAAW,GAAG,EAAE,CAAC;gBACjC,eAAe,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;gBACrE,eAAe,CAAC,QAAQ;oBACtB,mCAAmC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC9D,eAAe,CAAC,uBAAuB;oBACrC,IAAI,sCAAsC,EAAE,CAAC;gBAC/C,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,KAAK,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACjD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrD,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC;oBAChD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;gBACrD,YAAY,CAAC,eAAe,GAAG,EAAE,CAAC;gBAClC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC9B,YAAY,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;gBAC/D,YAAY,CAAC,QAAQ;oBACnB,mCAAmC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC9D,YAAY,CAAC,uBAAuB;oBAClC,IAAI,mCAAmC,EAAE,CAAC;gBAC5C,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,KAAK,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrD,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC;oBAChD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;gBACvD,aAAa,CAAC,aAAa,GAAG,EAAE,CAAC;gBACjC,aAAa,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBACjE,aAAa,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBACrC,aAAa,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBACzC,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;gBACjC,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC;gBACtC,aAAa,CAAC,QAAQ;oBACpB,mCAAmC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC9D,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,KAAK,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrD,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC;oBAChD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;gBACpD,SAAS,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC5B,SAAS,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC3B,SAAS,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACzD,SAAS,CAAC,QAAQ;oBAChB,mCAAmC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC9D,SAAS,CAAC,uBAAuB,GAAG,IAAI,6BAA6B,EAAE,CAAC;gBACxE,OAAO,SAAS,CAAC;YACnB,CAAC;YACD;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,CAAC,QAAQ,CAAC,eAA2C;QACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,CACd,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAC7D,iBAAiB,EACjB,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,EACpE,IAAI,CACL,CACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CACnF,yBAAyB,CAC1B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,35 @@
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
+ import { type PackageableConnection, SnowflakeM2MUdf } from '@finos/legend-graph';
17
+ import { type GeneratorFn, ActionState } from '@finos/legend-shared';
18
+ import type { EditorStore } from '../../../EditorStore.js';
19
+ import { ElementEditorState } from '../ElementEditorState.js';
20
+ export declare class SnowflakeM2MUdfFunctionActivatorEdtiorState extends ElementEditorState {
21
+ readonly validateState: ActionState;
22
+ readonly deployState: ActionState;
23
+ constructor(editorStore: EditorStore, element: SnowflakeM2MUdf);
24
+ get activator(): SnowflakeM2MUdf;
25
+ updateConnection(val: PackageableConnection): void;
26
+ updateOwnership(val: string): void;
27
+ updateUdfName(val: string): void;
28
+ updateDeploymentSchema(val: string | undefined): void;
29
+ updateDeploymentStage(val: string | undefined): void;
30
+ updateAppDescription(val: string): void;
31
+ validate(): GeneratorFn<void>;
32
+ deployToSandbox(): GeneratorFn<void>;
33
+ reprocess(newElement: SnowflakeM2MUdf, editorStore: EditorStore): SnowflakeM2MUdfFunctionActivatorEdtiorState;
34
+ }
35
+ //# sourceMappingURL=SnowflakeM2MUdfFunctionActivatorEditorState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnowflakeM2MUdfFunctionActivatorEditorState.d.ts","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,qBAAqB,EAC1B,eAAe,EAQhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,WAAW,EAChB,WAAW,EAGZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,qBAAa,2CAA4C,SAAQ,kBAAkB;IACjF,QAAQ,CAAC,aAAa,cAAwB;IAC9C,QAAQ,CAAC,WAAW,cAAwB;gBAEhC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe;IAiB9D,IAAI,SAAS,IAAI,eAAe,CAQ/B;IAED,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI;IAQlD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKlC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIhC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIrD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIpD,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAItC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC;IAkB7B,eAAe,IAAI,WAAW,CAAC,IAAI,CAAC;IAkBrC,SAAS,CACP,UAAU,EAAE,eAAe,EAC3B,WAAW,EAAE,WAAW,GACvB,2CAA2C;CAM/C"}
@@ -0,0 +1,94 @@
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
+ import { SnowflakeM2MUdf, ConnectionPointer, InMemoryGraphData, PackageableElementExplicitReference, observe_SnowflakeM2MUdfDeploymentConfiguration, observe_SnowflakeM2MUdf, DeploymentOwner, observe_DeploymentOwnership, } from '@finos/legend-graph';
17
+ import { ActionState, assertErrorThrown, guaranteeType, } from '@finos/legend-shared';
18
+ import { makeObservable, action, flow, computed } from 'mobx';
19
+ import { ElementEditorState } from '../ElementEditorState.js';
20
+ export class SnowflakeM2MUdfFunctionActivatorEdtiorState extends ElementEditorState {
21
+ validateState = ActionState.create();
22
+ deployState = ActionState.create();
23
+ constructor(editorStore, element) {
24
+ super(editorStore, element);
25
+ makeObservable(this, {
26
+ activator: computed,
27
+ reprocess: action,
28
+ updateOwnership: action,
29
+ updateDeploymentSchema: action,
30
+ updateDeploymentStage: action,
31
+ updateAppDescription: action,
32
+ updateUdfName: action,
33
+ updateConnection: action,
34
+ validate: flow,
35
+ deployToSandbox: flow,
36
+ });
37
+ }
38
+ get activator() {
39
+ return observe_SnowflakeM2MUdf(guaranteeType(this.element, SnowflakeM2MUdf, 'Element inside snowflake m2m udf function editor state must be a SnowflakeM2MUdf'));
40
+ }
41
+ updateConnection(val) {
42
+ this.activator.activationConfiguration.activationConnection =
43
+ new ConnectionPointer(PackageableElementExplicitReference.create(val));
44
+ observe_SnowflakeM2MUdfDeploymentConfiguration(this.activator.activationConfiguration);
45
+ }
46
+ updateOwnership(val) {
47
+ this.activator.ownership = new DeploymentOwner(val, this.activator);
48
+ observe_DeploymentOwnership(this.activator.ownership);
49
+ }
50
+ updateUdfName(val) {
51
+ this.activator.udfName = val;
52
+ }
53
+ updateDeploymentSchema(val) {
54
+ this.activator.deploymentSchema = val;
55
+ }
56
+ updateDeploymentStage(val) {
57
+ this.activator.deploymentStage = val;
58
+ }
59
+ updateAppDescription(val) {
60
+ this.activator.description = val;
61
+ }
62
+ *validate() {
63
+ this.validateState.inProgress();
64
+ try {
65
+ yield this.editorStore.graphManagerState.graphManager.validateFunctionActivator(this.activator, new InMemoryGraphData(this.editorStore.graphManagerState.graph));
66
+ this.editorStore.applicationStore.notificationService.notifySuccess(`Function activator is valid`);
67
+ }
68
+ catch (error) {
69
+ assertErrorThrown(error);
70
+ this.editorStore.applicationStore.notificationService.notifyError(error);
71
+ }
72
+ finally {
73
+ this.validateState.complete();
74
+ }
75
+ }
76
+ *deployToSandbox() {
77
+ this.deployState.inProgress();
78
+ try {
79
+ yield this.editorStore.graphManagerState.graphManager.publishFunctionActivatorToSandbox(this.activator, new InMemoryGraphData(this.editorStore.graphManagerState.graph));
80
+ this.editorStore.applicationStore.notificationService.notifySuccess('SnowflakeM2MUdf Function Activator has been deployed successfully');
81
+ }
82
+ catch (error) {
83
+ assertErrorThrown(error);
84
+ this.editorStore.applicationStore.notificationService.notifyError(error);
85
+ }
86
+ finally {
87
+ this.deployState.complete();
88
+ }
89
+ }
90
+ reprocess(newElement, editorStore) {
91
+ return new SnowflakeM2MUdfFunctionActivatorEdtiorState(editorStore, newElement);
92
+ }
93
+ }
94
+ //# sourceMappingURL=SnowflakeM2MUdfFunctionActivatorEditorState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnowflakeM2MUdfFunctionActivatorEditorState.js","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export declare enum PACKAGEABLE_ELEMENT_TYPE {
45
45
  SECTION_INDEX = "SECTION_INDEX",
46
46
  DATA = "DATA",
47
47
  SNOWFLAKE_APP = "SNOWFLAKE_APP",
48
+ SNOWFLAKE_M2M_UDF = "SNOWFLAKE_M2M_UDF",
48
49
  HOSTED_SERVICE = "HOSTED_SERVICE",
49
50
  MEM_SQL_FUNCTION = "MEM_SQL_FUNCTION",
50
51
  _DATA_PRODUCT = "BETA_DATA_PRODUCT",
@@ -1 +1 @@
1
- {"version":3,"file":"ModelClassifierUtils.d.ts","sourceRoot":"","sources":["../../../../src/stores/editor/utils/ModelClassifierUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,IAAI,EAMV,MAAM,qBAAqB,CAAC;AAG7B,oBAAY,mBAAmB;IAC7B,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,IAAI,KAAG,mBAajD,CAAC;AAEF,oBAAY,wBAAwB;IAClC,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,eAAe,oBAAoB;IACnC,QAAQ,aAAa;IACrB,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,qBAAqB,0BAA0B;IAC/C,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,eAAe,oBAAoB;IACnC,wBAAwB,6BAA6B;IACrD,aAAa,kBAAkB;IAC/B,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IAErC,aAAa,sBAAsB;IAEnC,2BAA2B,qBAAqB;IAChD,wBAAwB,YAAY;IACpC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,qCAAqC;IAC/C,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,KAAK,UAAU;CAChB"}
1
+ {"version":3,"file":"ModelClassifierUtils.d.ts","sourceRoot":"","sources":["../../../../src/stores/editor/utils/ModelClassifierUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,IAAI,EAMV,MAAM,qBAAqB,CAAC;AAG7B,oBAAY,mBAAmB;IAC7B,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;CACxB;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,IAAI,KAAG,mBAajD,CAAC;AAEF,oBAAY,wBAAwB;IAClC,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,eAAe,oBAAoB;IACnC,QAAQ,aAAa;IACrB,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,qBAAqB,0BAA0B;IAC/C,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,eAAe,oBAAoB;IACnC,wBAAwB,6BAA6B;IACrD,aAAa,kBAAkB;IAC/B,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IAErC,aAAa,sBAAsB;IAEnC,2BAA2B,qBAAqB;IAChD,wBAAwB,YAAY;IACpC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,qCAAqC;IAC/C,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,KAAK,UAAU;CAChB"}
@@ -65,6 +65,7 @@ export var PACKAGEABLE_ELEMENT_TYPE;
65
65
  PACKAGEABLE_ELEMENT_TYPE["SECTION_INDEX"] = "SECTION_INDEX";
66
66
  PACKAGEABLE_ELEMENT_TYPE["DATA"] = "DATA";
67
67
  PACKAGEABLE_ELEMENT_TYPE["SNOWFLAKE_APP"] = "SNOWFLAKE_APP";
68
+ PACKAGEABLE_ELEMENT_TYPE["SNOWFLAKE_M2M_UDF"] = "SNOWFLAKE_M2M_UDF";
68
69
  PACKAGEABLE_ELEMENT_TYPE["HOSTED_SERVICE"] = "HOSTED_SERVICE";
69
70
  PACKAGEABLE_ELEMENT_TYPE["MEM_SQL_FUNCTION"] = "MEM_SQL_FUNCTION";
70
71
  // New Strategical Data Product
@@ -1 +1 @@
1
- {"version":3,"file":"ModelClassifierUtils.js","sourceRoot":"","sources":["../../../../src/stores/editor/utils/ModelClassifierUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,EACL,WAAW,EACX,OAAO,EACP,aAAa,EACb,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,kDAA2B,CAAA;IAC3B,0CAAmB,CAAA;IACnB,oCAAa,CAAA;IACb,8CAAuB,CAAA;AACzB,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAuB,EAAE;IACtE,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;QAClC,OAAO,mBAAmB,CAAC,SAAS,CAAC;IACvC,CAAC;SAAM,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC,WAAW,CAAC;IACzC,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;QACjC,OAAO,mBAAmB,CAAC,KAAK,CAAC;IACnC,CAAC;SAAM,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QAChC,OAAO,mBAAmB,CAAC,IAAI,CAAC;IAClC,CAAC;SAAM,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;QACnC,OAAO,mBAAmB,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,yBAAyB,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,CAAN,IAAY,wBA+BX;AA/BD,WAAY,wBAAwB;IAClC,mDAAuB,CAAA;IACvB,+CAAmB,CAAA;IACnB,+CAAmB,CAAA;IACnB,uDAA2B,CAAA;IAC3B,2CAAe,CAAA;IACf,uDAA2B,CAAA;IAC3B,iDAAqB,CAAA;IACrB,+CAAmB,CAAA;IACnB,yCAAa,CAAA;IACb,+DAAmC,CAAA;IACnC,iDAAqB,CAAA;IACrB,2DAA+B,CAAA;IAC/B,+CAAmB,CAAA;IACnB,+CAAmB,CAAA;IACnB,2EAA+C,CAAA;IAC/C,qDAAyB,CAAA;IACzB,+CAAmB,CAAA;IACnB,+DAAmC,CAAA;IACnC,iFAAqD,CAAA;IACrD,2DAA+B,CAAA;IAC/B,yCAAa,CAAA;IACb,2DAA+B,CAAA;IAC/B,6DAAiC,CAAA;IACjC,iEAAqC,CAAA;IACrC,+BAA+B;IAC/B,+DAAmC,CAAA;IAEnC,4EAAgD,CAAA;IAChD,gEAAoC,CAAA;IACpC,mEAAuC,CAAA;AACzC,CAAC,EA/BW,wBAAwB,KAAxB,wBAAwB,QA+BnC;AAED,MAAM,CAAN,IAAY,qCAOX;AAPD,WAAY,qCAAqC;IAC/C,wDAAe,CAAA;IACf,wDAAe,CAAA;IACf,wDAAe,CAAA;IACf,4EAAmC,CAAA;IACnC,kEAAyB,CAAA;IACzB,wDAAe,CAAA;AACjB,CAAC,EAPW,qCAAqC,KAArC,qCAAqC,QAOhD"}
1
+ {"version":3,"file":"ModelClassifierUtils.js","sourceRoot":"","sources":["../../../../src/stores/editor/utils/ModelClassifierUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,EACL,WAAW,EACX,OAAO,EACP,aAAa,EACb,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,kDAA2B,CAAA;IAC3B,0CAAmB,CAAA;IACnB,oCAAa,CAAA;IACb,8CAAuB,CAAA;AACzB,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAuB,EAAE;IACtE,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;QAClC,OAAO,mBAAmB,CAAC,SAAS,CAAC;IACvC,CAAC;SAAM,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC,WAAW,CAAC;IACzC,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;QACjC,OAAO,mBAAmB,CAAC,KAAK,CAAC;IACnC,CAAC;SAAM,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QAChC,OAAO,mBAAmB,CAAC,IAAI,CAAC;IAClC,CAAC;SAAM,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;QACnC,OAAO,mBAAmB,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,yBAAyB,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,CAAN,IAAY,wBAgCX;AAhCD,WAAY,wBAAwB;IAClC,mDAAuB,CAAA;IACvB,+CAAmB,CAAA;IACnB,+CAAmB,CAAA;IACnB,uDAA2B,CAAA;IAC3B,2CAAe,CAAA;IACf,uDAA2B,CAAA;IAC3B,iDAAqB,CAAA;IACrB,+CAAmB,CAAA;IACnB,yCAAa,CAAA;IACb,+DAAmC,CAAA;IACnC,iDAAqB,CAAA;IACrB,2DAA+B,CAAA;IAC/B,+CAAmB,CAAA;IACnB,+CAAmB,CAAA;IACnB,2EAA+C,CAAA;IAC/C,qDAAyB,CAAA;IACzB,+CAAmB,CAAA;IACnB,+DAAmC,CAAA;IACnC,iFAAqD,CAAA;IACrD,2DAA+B,CAAA;IAC/B,yCAAa,CAAA;IACb,2DAA+B,CAAA;IAC/B,mEAAuC,CAAA;IACvC,6DAAiC,CAAA;IACjC,iEAAqC,CAAA;IACrC,+BAA+B;IAC/B,+DAAmC,CAAA;IAEnC,4EAAgD,CAAA;IAChD,gEAAoC,CAAA;IACpC,mEAAuC,CAAA;AACzC,CAAC,EAhCW,wBAAwB,KAAxB,wBAAwB,QAgCnC;AAED,MAAM,CAAN,IAAY,qCAOX;AAPD,WAAY,qCAAqC;IAC/C,wDAAe,CAAA;IACf,wDAAe,CAAA;IACf,wDAAe,CAAA;IACf,4EAAmC,CAAA;IACnC,kEAAyB,CAAA;IACzB,wDAAe,CAAA;AACjB,CAAC,EAPW,qCAAqC,KAArC,qCAAqC,QAOhD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-studio",
3
- "version": "28.19.3",
3
+ "version": "28.19.4",
4
4
  "description": "Legend Studio application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -45,15 +45,15 @@
45
45
  "test:watch": "jest --watch"
46
46
  },
47
47
  "dependencies": {
48
- "@finos/legend-application": "16.0.51",
49
- "@finos/legend-art": "7.1.105",
50
- "@finos/legend-code-editor": "2.0.88",
51
- "@finos/legend-data-cube": "0.2.22",
52
- "@finos/legend-graph": "32.1.46",
53
- "@finos/legend-lego": "2.0.94",
54
- "@finos/legend-query-builder": "4.17.3",
48
+ "@finos/legend-application": "16.0.52",
49
+ "@finos/legend-art": "7.1.106",
50
+ "@finos/legend-code-editor": "2.0.89",
51
+ "@finos/legend-data-cube": "0.2.23",
52
+ "@finos/legend-graph": "32.1.47",
53
+ "@finos/legend-lego": "2.0.95",
54
+ "@finos/legend-query-builder": "4.17.4",
55
55
  "@finos/legend-server-depot": "6.0.93",
56
- "@finos/legend-server-lakehouse": "0.0.5",
56
+ "@finos/legend-server-lakehouse": "0.0.6",
57
57
  "@finos/legend-server-sdlc": "5.3.59",
58
58
  "@finos/legend-server-showcase": "0.2.55",
59
59
  "@finos/legend-shared": "11.0.14",
@@ -42,6 +42,7 @@ import {
42
42
  PURE_PackageIcon,
43
43
  PURE_DataIcon,
44
44
  PURE_SnowflakeAppIcon,
45
+ PURE_SnowflakeM2MUdfIcon,
45
46
  PURE_MemSQLFunctionIcon,
46
47
  LaunchIcon,
47
48
  LinkIcon,
@@ -107,6 +108,8 @@ export const getElementTypeIcon = (
107
108
  return <PURE_GenerationSpecificationIcon />;
108
109
  case PACKAGEABLE_ELEMENT_TYPE.SNOWFLAKE_APP:
109
110
  return <PURE_SnowflakeAppIcon />;
111
+ case PACKAGEABLE_ELEMENT_TYPE.SNOWFLAKE_M2M_UDF:
112
+ return <PURE_SnowflakeM2MUdfIcon />;
110
113
  case PACKAGEABLE_ELEMENT_TYPE.INGEST_DEFINITION:
111
114
  return <PURE_IngestIcon />;
112
115
  case PACKAGEABLE_ELEMENT_TYPE.MEM_SQL_FUNCTION:
@@ -81,6 +81,8 @@ import { QueryConnectionWorflowEditor } from './end-to-end-flow-editor/Connectio
81
81
  import { QueryConnectionEndToEndWorkflowEditorState } from '../../../stores/editor/editor-state/end-to-end-workflow-state/QueryConnectionEndToEndWorkflowEditorState.js';
82
82
  import { SnowflakeAppFunctionActivatorEdtiorState } from '../../../stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js';
83
83
  import { SnowflakeAppFunctionActivatorEditor } from './function-activator/SnowflakeAppFunctionActivatorEditor.js';
84
+ import { SnowflakeM2MUdfFunctionActivatorEdtiorState } from '../../../stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.js';
85
+ import { SnowflakeM2MUdfFunctionActivatorEditor } from './function-activator/SnowflakeM2MUdfFunctionActivatorEditor.js';
84
86
  import {
85
87
  ShowcaseCard,
86
88
  RuleEngagementCard,
@@ -307,6 +309,15 @@ export const EditorGroup = observer(() => {
307
309
  return (
308
310
  <SnowflakeAppFunctionActivatorEditor key={currentTabState.uuid} />
309
311
  );
312
+ } else if (
313
+ currentTabState instanceof
314
+ SnowflakeM2MUdfFunctionActivatorEdtiorState
315
+ ) {
316
+ return (
317
+ <SnowflakeM2MUdfFunctionActivatorEditor
318
+ key={currentTabState.uuid}
319
+ />
320
+ );
310
321
  } else if (
311
322
  currentTabState instanceof HostedServiceFunctionActivatorEditorState
312
323
  ) {
@@ -177,6 +177,7 @@ enum FUNCTION_PARAMETER_TYPE {
177
177
 
178
178
  export enum FUNCTION_ACTIVATE_TYPE {
179
179
  SNOWFLAKE_NATIVE_APP = 'Snowflake UDTF',
180
+ SNOWFLAKE_M2M_UDF = 'Snowflake M2M UDF',
180
181
  HOSTED_SERVICE = 'REST Service',
181
182
  MEM_SQL_FUNCTION = 'Mem SQL Function',
182
183
  SERVICE_JAR = 'Service JAR',
@@ -757,6 +758,22 @@ const FunctionPromoteEditor = observer(
757
758
  }
758
759
  return false;
759
760
  }
761
+ case FUNCTION_ACTIVATE_TYPE.SNOWFLAKE_M2M_UDF: {
762
+ const availableConnections =
763
+ activatorPromoteState.functionEditorState.editorStore.graphManagerState.usableConnections.filter(
764
+ (connection) =>
765
+ connection.connectionValue instanceof
766
+ RelationalDatabaseConnection &&
767
+ connection.connectionValue.type === DatabaseType.Snowflake,
768
+ );
769
+ if (availableConnections.length > 0) {
770
+ return true;
771
+ } else {
772
+ validationMessage =
773
+ 'There is no available connection of type Snowflake';
774
+ }
775
+ return false;
776
+ }
760
777
  case FUNCTION_ACTIVATE_TYPE.MEM_SQL_FUNCTION: {
761
778
  const availableConnections =
762
779
  activatorPromoteState.functionEditorState.editorStore.graphManagerState.usableConnections.filter(
@@ -797,6 +814,24 @@ const FunctionPromoteEditor = observer(
797
814
  }}
798
815
  />
799
816
  );
817
+ case FUNCTION_ACTIVATE_TYPE.SNOWFLAKE_M2M_UDF:
818
+ return (
819
+ <BaseCard
820
+ key={FUNCTION_ACTIVATE_TYPE.SNOWFLAKE_M2M_UDF}
821
+ cardMedia={
822
+ <Snowflake_BrandIcon className="function-promote-editor__type-icon" />
823
+ }
824
+ cardName={type}
825
+ cardContent="Deploy the function as a UDF(user-defined function) in snowflake"
826
+ isActive={
827
+ activatorPromoteState.activateType ===
828
+ FUNCTION_ACTIVATE_TYPE.SNOWFLAKE_M2M_UDF
829
+ }
830
+ onClick={() => {
831
+ activatorPromoteState.setAcitvateType(type);
832
+ }}
833
+ />
834
+ );
800
835
  case FUNCTION_ACTIVATE_TYPE.HOSTED_SERVICE:
801
836
  return (
802
837
  <BaseCard
@@ -0,0 +1,291 @@
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 SelectComponent,
19
+ Panel,
20
+ PanelHeader,
21
+ PanelContent,
22
+ PanelForm,
23
+ PanelFormTextField,
24
+ PURE_FunctionIcon,
25
+ LongArrowRightIcon,
26
+ PanelLoadingIndicator,
27
+ PURE_ConnectionIcon,
28
+ CustomSelectorInput,
29
+ createFilter,
30
+ } from '@finos/legend-art';
31
+ import {
32
+ type PackageableConnection,
33
+ generateFunctionPrettyName,
34
+ RelationalDatabaseConnection,
35
+ DatabaseType,
36
+ } from '@finos/legend-graph';
37
+ import { observer } from 'mobx-react-lite';
38
+ import { useApplicationStore } from '@finos/legend-application';
39
+ import { useEditorStore } from '../../EditorStoreProvider.js';
40
+ import { SnowflakeM2MUdfFunctionActivatorEdtiorState } from '../../../../stores/editor/editor-state/element-editor-state/function-activator/SnowflakeM2MUdfFunctionActivatorEditorState.js';
41
+ import { flowResult } from 'mobx';
42
+ import { useRef } from 'react';
43
+ import {
44
+ type RelationalDatabaseConnectionOption,
45
+ buildRelationalDatabaseConnectionOption,
46
+ } from '../connection-editor/RelationalDatabaseConnectionEditor.js';
47
+ import { ActivatorOwnershipForm } from './ActivatorFormComponents.js';
48
+
49
+ export const SnowflakeM2MUdfFunctionActivatorEditor = observer(() => {
50
+ const editorStore = useEditorStore();
51
+ const applicationStore = useApplicationStore();
52
+ const editorState = editorStore.tabManagerState.getCurrentEditorState(
53
+ SnowflakeM2MUdfFunctionActivatorEdtiorState,
54
+ );
55
+ const isReadOnly = editorState.isReadOnly;
56
+ const activator = editorState.activator;
57
+
58
+ const connectionSelectorRef = useRef<SelectComponent>(null);
59
+ const connectionFilterOption = createFilter({
60
+ ignoreCase: true,
61
+ ignoreAccents: false,
62
+ stringify: (option: { data: RelationalDatabaseConnectionOption }): string =>
63
+ option.data.value.path,
64
+ });
65
+ const connectionOptions = editorStore.graphManagerState.usableConnections
66
+ .filter(
67
+ (connection) =>
68
+ connection.connectionValue instanceof RelationalDatabaseConnection &&
69
+ connection.connectionValue.type === DatabaseType.Snowflake,
70
+ )
71
+ .map(buildRelationalDatabaseConnectionOption);
72
+
73
+ const initializeActivationConnection = (
74
+ val: PackageableConnection | undefined,
75
+ ): PackageableConnection | undefined => {
76
+ if (val) {
77
+ editorState.updateConnection(val);
78
+ }
79
+ return !val
80
+ ? undefined
81
+ : activator.activationConfiguration.activationConnection
82
+ ?.packageableConnection.value;
83
+ };
84
+
85
+ const activationConnection = activator.activationConfiguration
86
+ .activationConnection
87
+ ? activator.activationConfiguration.activationConnection
88
+ .packageableConnection.value
89
+ : initializeActivationConnection(connectionOptions.at(0)?.value);
90
+
91
+ const changeConnection = (val: RelationalDatabaseConnectionOption): void => {
92
+ if (!isReadOnly && val.value === activationConnection) {
93
+ return;
94
+ }
95
+ editorState.updateConnection(val.value);
96
+ };
97
+ const changeDescription: React.ChangeEventHandler<HTMLTextAreaElement> = (
98
+ event,
99
+ ) => {
100
+ if (!isReadOnly) {
101
+ editorState.updateAppDescription(event.target.value);
102
+ }
103
+ };
104
+ const visitFunction = (): void =>
105
+ editorState.editorStore.graphEditorMode.openElement(
106
+ activator.function.value,
107
+ );
108
+ const visitConnection = (): void => {
109
+ if (activationConnection) {
110
+ editorState.editorStore.graphEditorMode.openElement(activationConnection);
111
+ }
112
+ };
113
+ const validate = (): void => {
114
+ flowResult(editorState.validate()).catch(
115
+ applicationStore.alertUnhandledError,
116
+ );
117
+ };
118
+ const deploy = (): void => {
119
+ flowResult(editorState.deployToSandbox()).catch(
120
+ applicationStore.alertUnhandledError,
121
+ );
122
+ };
123
+
124
+ return (
125
+ <div className="snowflake-m2m-udf-function-activator-editor">
126
+ <Panel>
127
+ <PanelHeader title="Snowflake M2M Udf Application" />
128
+ <PanelLoadingIndicator
129
+ isLoading={Boolean(
130
+ editorState.validateState.isInProgress ||
131
+ editorState.deployState.isInProgress,
132
+ )}
133
+ />
134
+ <PanelContent>
135
+ <div className="snowflake-m2m-udf-function-activator-editor__header">
136
+ <div className="snowflake-m2m-udf-function-activator-editor__header__label">
137
+ Snowflake Activator Metadata
138
+ </div>
139
+ <div className="snowflake-m2m-udf-function-activator-editor__header__actions">
140
+ <button
141
+ className="snowflake-m2m-udf-function-activator-editor__header__actions__action snowflake-m2m-udf-function-activator-editor__header__actions__action--primary"
142
+ onClick={validate}
143
+ disabled={editorState.validateState.isInProgress}
144
+ tabIndex={-1}
145
+ title="Click Validate to verify your activator before deployment"
146
+ >
147
+ Validate
148
+ </button>
149
+ <button
150
+ className="snowflake-m2m-udf-function-activator-editor__header__actions__action snowflake-m2m-udf-function-activator-editor__header__actions__action--primary"
151
+ onClick={deploy}
152
+ disabled={editorState.deployState.isInProgress}
153
+ title="Deploy to sandbox"
154
+ tabIndex={-1}
155
+ >
156
+ Deploy to Sandbox
157
+ </button>
158
+ </div>
159
+ </div>
160
+ <PanelForm>
161
+ <div className="panel__content__form__section">
162
+ <div className="panel__content__form__section__header__label">
163
+ Function
164
+ </div>
165
+ </div>
166
+ <div className="snowflake-m2m-udf-function-activator-editor__configuration__items">
167
+ <div className="snowflake-m2m-udf-function-activator-editor__configuration__item">
168
+ <div className="btn--sm snowflake-m2m-udf-function-activator-editor__configuration__item__label">
169
+ <PURE_FunctionIcon />
170
+ </div>
171
+ <input
172
+ className="panel__content__form__section__input"
173
+ spellCheck={false}
174
+ disabled={true}
175
+ value={generateFunctionPrettyName(activator.function.value, {
176
+ fullPath: true,
177
+ spacing: false,
178
+ })}
179
+ />
180
+ <button
181
+ className="btn--dark btn--sm snowflake-m2m-udf-function-activator-editor__configuration__item__btn"
182
+ onClick={visitFunction}
183
+ tabIndex={-1}
184
+ title="See Function"
185
+ >
186
+ <LongArrowRightIcon />
187
+ </button>
188
+ </div>
189
+ </div>
190
+ </PanelForm>
191
+ <PanelForm>
192
+ <div className="panel__content__form__section">
193
+ <div className="panel__content__form__section__header__label">
194
+ Connection
195
+ </div>
196
+ </div>
197
+ <div className="snowflake-m2m-udf-function-activator-editor__configuration__items">
198
+ <div className="snowflake-m2m-udf-function-activator-editor__configuration__item">
199
+ <div className="btn--sm snowflake-m2m-udf-function-activator-editor__configuration__item__label">
200
+ <PURE_ConnectionIcon />
201
+ </div>
202
+ <CustomSelectorInput
203
+ inputRef={connectionSelectorRef}
204
+ className="snowflake-m2m-udf-function-activator-editor__config__connection-selector__input"
205
+ options={connectionOptions}
206
+ onChange={changeConnection}
207
+ value={
208
+ activationConnection
209
+ ? buildRelationalDatabaseConnectionOption(
210
+ activationConnection,
211
+ )
212
+ : undefined
213
+ }
214
+ darkMode={
215
+ !applicationStore.layoutService
216
+ .TEMPORARY__isLightColorThemeEnabled
217
+ }
218
+ placeholder="Choose a connection"
219
+ filterOption={connectionFilterOption}
220
+ />
221
+ <button
222
+ className="btn--dark btn--sm snowflake-m2m-udf-function-activator-editor__configuration__item__btn"
223
+ onClick={visitConnection}
224
+ disabled={!activationConnection}
225
+ tabIndex={-1}
226
+ title="See Connection"
227
+ >
228
+ <LongArrowRightIcon />
229
+ </button>
230
+ </div>
231
+ </div>
232
+ </PanelForm>
233
+ <PanelForm>
234
+ <PanelFormTextField
235
+ value={activator.udfName}
236
+ isReadOnly={isReadOnly}
237
+ name="Activator Identifer"
238
+ placeholder="Specify the name of the UDF for this activator..."
239
+ update={(value: string | undefined): void =>
240
+ editorState.updateUdfName(value ?? '')
241
+ }
242
+ />
243
+ </PanelForm>
244
+ <PanelForm>
245
+ <PanelFormTextField
246
+ value={activator.deploymentSchema}
247
+ isReadOnly={isReadOnly}
248
+ name="Deployment Schema"
249
+ placeholder="Specify the deployment schema"
250
+ update={(value: string | undefined): void =>
251
+ editorState.updateDeploymentSchema(value)
252
+ }
253
+ />
254
+ </PanelForm>
255
+ <PanelForm>
256
+ <PanelFormTextField
257
+ value={activator.deploymentStage}
258
+ isReadOnly={isReadOnly}
259
+ name="Deployment Stage"
260
+ placeholder="Specify the deployment stage"
261
+ update={(value: string | undefined): void =>
262
+ editorState.updateDeploymentStage(value)
263
+ }
264
+ />
265
+ </PanelForm>
266
+ <PanelForm>
267
+ <div className="panel__content__form__section">
268
+ <div className="panel__content__form__section__header__label">
269
+ Description
270
+ </div>
271
+ <div className="panel__content__form__section__header__prompt">{`Provide a brief description of Snowflake M2M Udf`}</div>
272
+ <textarea
273
+ className="panel__content__form__section__textarea service-editor__documentation__input"
274
+ spellCheck={false}
275
+ disabled={isReadOnly}
276
+ value={activator.description}
277
+ onChange={changeDescription}
278
+ />
279
+ </div>
280
+ </PanelForm>
281
+ <PanelForm>
282
+ <ActivatorOwnershipForm
283
+ activator={activator}
284
+ isReadOnly={isReadOnly}
285
+ />
286
+ </PanelForm>
287
+ </PanelContent>
288
+ </Panel>
289
+ </div>
290
+ );
291
+ });