@finos/legend-data-cube 0.1.12 → 0.1.13

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 (44) hide show
  1. package/lib/components/DataCubePlaceholder.d.ts.map +1 -1
  2. package/lib/components/DataCubePlaceholder.js +2 -1
  3. package/lib/components/DataCubePlaceholder.js.map +1 -1
  4. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts +2 -1
  5. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts.map +1 -1
  6. package/lib/components/core/DataCubePureCodeEditorUtils.js.map +1 -1
  7. package/lib/components/view/extend/DataCubeCodeEditor.d.ts +22 -0
  8. package/lib/components/view/extend/DataCubeCodeEditor.d.ts.map +1 -0
  9. package/lib/components/view/extend/DataCubeCodeEditor.js +114 -0
  10. package/lib/components/view/extend/DataCubeCodeEditor.js.map +1 -0
  11. package/lib/components/view/extend/DataCubeCodeEditorState.d.ts +43 -0
  12. package/lib/components/view/extend/DataCubeCodeEditorState.d.ts.map +1 -0
  13. package/lib/components/view/extend/DataCubeCodeEditorState.js +37 -0
  14. package/lib/components/view/extend/DataCubeCodeEditorState.js.map +1 -0
  15. package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -1
  16. package/lib/components/view/extend/DataCubeColumnEditor.js +5 -84
  17. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
  18. package/lib/index.css +1 -1
  19. package/lib/index.d.ts +3 -0
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js +3 -0
  22. package/lib/index.js.map +1 -1
  23. package/lib/package.json +1 -1
  24. package/lib/stores/core/DataCubeEngine.d.ts +1 -1
  25. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
  26. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts +2 -0
  27. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts.map +1 -1
  28. package/lib/stores/core/model/AdhocQueryDataCubeSource.js +3 -0
  29. package/lib/stores/core/model/AdhocQueryDataCubeSource.js.map +1 -1
  30. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +7 -14
  31. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  32. package/lib/stores/view/extend/DataCubeColumnEditorState.js +14 -22
  33. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  34. package/package.json +3 -3
  35. package/src/components/DataCubePlaceholder.tsx +2 -0
  36. package/src/components/core/DataCubePureCodeEditorUtils.tsx +2 -1
  37. package/src/components/view/extend/DataCubeCodeEditor.tsx +175 -0
  38. package/src/components/view/extend/DataCubeCodeEditorState.tsx +72 -0
  39. package/src/components/view/extend/DataCubeColumnEditor.tsx +5 -133
  40. package/src/index.tsx +3 -0
  41. package/src/stores/core/DataCubeEngine.tsx +1 -1
  42. package/src/stores/core/model/AdhocQueryDataCubeSource.ts +3 -0
  43. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +16 -26
  44. package/tsconfig.json +2 -0
@@ -18,6 +18,7 @@ import { DataCubeSource } from './DataCubeSource.js';
18
18
  import { createModelSchema, optional, primitive, raw } from 'serializr';
19
19
  export class AdhocQueryDataCubeSource extends DataCubeSource {
20
20
  runtime;
21
+ mapping;
21
22
  model;
22
23
  }
23
24
  export class UserDefinedFunctionDataCubeSource extends DataCubeSource {
@@ -30,12 +31,14 @@ export const ADHOC_FUNCTION_DATA_CUBE_SOURCE_TYPE = 'userDefinedFunction';
30
31
  export class RawAdhocQueryDataCubeSource {
31
32
  query;
32
33
  runtime;
34
+ mapping;
33
35
  model;
34
36
  static serialization = new SerializationFactory(createModelSchema(RawAdhocQueryDataCubeSource, {
35
37
  _type: usingConstantValueSchema(ADHOC_QUERY_DATA_CUBE_SOURCE_TYPE),
36
38
  model: raw(),
37
39
  query: primitive(),
38
40
  runtime: primitive(),
41
+ mapping: optional(primitive()),
39
42
  }));
40
43
  }
41
44
  export class RawUserDefinedFunctionDataCubeSource {
@@ -1 +1 @@
1
- {"version":3,"file":"AdhocQueryDataCubeSource.js","sourceRoot":"","sources":["../../../../src/stores/core/model/AdhocQueryDataCubeSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGxE,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IAC1D,OAAO,CAAU;IACjB,KAAK,CAAoC;CAC1C;AAED,MAAM,OAAO,iCAAkC,SAAQ,cAAc;IACnE,YAAY,CAAU;IACtB,OAAO,CAAU;IACjB,KAAK,CAAoC;CAC1C;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,YAAY,CAAC;AAC9D,MAAM,CAAC,MAAM,oCAAoC,GAAG,qBAAqB,CAAC;AAE1E,MAAM,OAAO,2BAA2B;IACtC,KAAK,CAAU;IACf,OAAO,CAAU;IACjB,KAAK,CAAoC;IAEzC,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CACtD,iBAAiB,CAAC,2BAA2B,EAAE;QAC7C,KAAK,EAAE,wBAAwB,CAAC,iCAAiC,CAAC;QAClE,KAAK,EAAE,GAAG,EAAE;QACZ,KAAK,EAAE,SAAS,EAAE;QAClB,OAAO,EAAE,SAAS,EAAE;KACrB,CAAC,CACH,CAAC;;AAGJ,MAAM,OAAO,oCAAoC;IAC/C,OAAO,CAAU;IACjB,KAAK,CAAe;IACpB,YAAY,CAAU;IAEtB,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CACtD,iBAAiB,CAAC,oCAAoC,EAAE;QACtD,KAAK,EAAE,wBAAwB,CAAC,oCAAoC,CAAC;QACrE,KAAK,EAAE,GAAG,EAAE;QACZ,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC9B,YAAY,EAAE,SAAS,EAAE;KAC1B,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"AdhocQueryDataCubeSource.js","sourceRoot":"","sources":["../../../../src/stores/core/model/AdhocQueryDataCubeSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGxE,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IAC1D,OAAO,CAAU;IACjB,OAAO,CAAU;IACjB,KAAK,CAAoC;CAC1C;AAED,MAAM,OAAO,iCAAkC,SAAQ,cAAc;IACnE,YAAY,CAAU;IACtB,OAAO,CAAU;IACjB,KAAK,CAAoC;CAC1C;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,YAAY,CAAC;AAC9D,MAAM,CAAC,MAAM,oCAAoC,GAAG,qBAAqB,CAAC;AAE1E,MAAM,OAAO,2BAA2B;IACtC,KAAK,CAAU;IACf,OAAO,CAAU;IACjB,OAAO,CAAU;IACjB,KAAK,CAAoC;IAEzC,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CACtD,iBAAiB,CAAC,2BAA2B,EAAE;QAC7C,KAAK,EAAE,wBAAwB,CAAC,iCAAiC,CAAC;QAClE,KAAK,EAAE,GAAG,EAAE;QACZ,KAAK,EAAE,SAAS,EAAE;QAClB,OAAO,EAAE,SAAS,EAAE;QACpB,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;KAC/B,CAAC,CACH,CAAC;;AAGJ,MAAM,OAAO,oCAAoC;IAC/C,OAAO,CAAU;IACjB,KAAK,CAAe;IACpB,YAAY,CAAU;IAEtB,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CACtD,iBAAiB,CAAC,oCAAoC,EAAE;QACtD,KAAK,EAAE,wBAAwB,CAAC,oCAAoC,CAAC;QACrE,KAAK,EAAE,GAAG,EAAE;QACZ,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC9B,YAAY,EAAE,SAAS,EAAE;KAC1B,CAAC,CACH,CAAC"}
@@ -15,34 +15,30 @@
15
15
  */
16
16
  import type { DataCubeViewState } from '../DataCubeViewState.js';
17
17
  import type { DisplayState } from '../../services/DataCubeLayoutService.js';
18
- import { editor as monacoEditorAPI, Uri } from 'monaco-editor';
19
18
  import { ActionState, type PlainObject } from '@finos/legend-shared';
20
19
  import { DataCubeColumnKind } from '../../core/DataCubeQueryEngine.js';
21
20
  import type { DataCubeExtendManagerState } from './DataCubeExtendManagerState.js';
22
21
  import { EngineError, V1_Lambda } from '@finos/legend-graph';
23
22
  import type { DataCubeColumnConfiguration } from '../../core/model/DataCubeConfiguration.js';
24
23
  import type { DataCubeSnapshotExtendedColumn } from '../../core/DataCubeSnapshot.js';
25
- export declare abstract class DataCubeColumnBaseEditorState {
24
+ import { DataCubeCodeEditorState } from '../../../components/view/extend/DataCubeCodeEditorState.js';
25
+ import type { DataCubeSource } from '../../core/model/DataCubeSource.js';
26
+ export declare abstract class DataCubeColumnBaseEditorState extends DataCubeCodeEditorState {
26
27
  protected readonly uuid: string;
27
28
  protected readonly _manager: DataCubeExtendManagerState;
28
29
  readonly view: DataCubeViewState;
29
30
  private readonly _name;
30
31
  readonly display: DisplayState;
31
32
  readonly validationState: ActionState;
32
- readonly finalizationState: ActionState;
33
33
  name: string;
34
34
  expectedType: string;
35
35
  isGroupLevel: boolean;
36
36
  columnKind?: DataCubeColumnKind | undefined;
37
- code: string;
38
- codePrefix: string;
39
37
  codeSuffix: string;
40
- editor?: monacoEditorAPI.IStandaloneCodeEditor | undefined;
41
- readonly editorModel: monacoEditorAPI.ITextModel;
42
- readonly editorModelUri: Uri;
43
- codeError?: EngineError | undefined;
44
- returnType?: string | undefined;
38
+ model: DataCubeSource;
39
+ queryLambda: () => V1_Lambda;
45
40
  constructor(manager: DataCubeExtendManagerState, name: string, expectedType: string, isGroupLevel: boolean, columnKind: DataCubeColumnKind | undefined);
41
+ alertHandler: (error: Error) => void;
46
42
  abstract getInitialCode(): Promise<string>;
47
43
  initialize(): Promise<void>;
48
44
  protected abstract newDisplay(state: DataCubeColumnBaseEditorState): DisplayState;
@@ -51,11 +47,8 @@ export declare abstract class DataCubeColumnBaseEditorState {
51
47
  setExpectedType(value: string): void;
52
48
  get isTypeValid(): boolean;
53
49
  setColumnKind(isGroupLevel: boolean, columnKind: DataCubeColumnKind | undefined): void;
54
- setEditor(editor: monacoEditorAPI.IStandaloneCodeEditor): void;
55
- setReturnType(value: string | undefined): void;
56
50
  showError(error: EngineError): void;
57
- clearError(): void;
58
- buildExtendBaseQuery(): V1_Lambda;
51
+ buildExtendBaseQuery: () => V1_Lambda;
59
52
  getReturnType(): Promise<string | undefined>;
60
53
  abstract applyChanges(): Promise<void>;
61
54
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeColumnEditorState.d.ts","sourceRoot":"","sources":["../../../../src/stores/view/extend/DataCubeColumnEditorState.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeColumnEditorState.d.ts","sourceRoot":"","sources":["../../../../src/stores/view/extend/DataCubeColumnEditorState.tsx"],"names":[],"mappings":"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"}
@@ -20,11 +20,12 @@ import { editor as monacoEditorAPI, Uri } from 'monaco-editor';
20
20
  import { ActionState, assertErrorThrown, guaranteeNonNullable, uuid, } from '@finos/legend-shared';
21
21
  import { buildExecutableQuery } from '../../core/DataCubeQueryBuilder.js';
22
22
  import { DataCubeColumnDataType, DataCubeColumnKind, DEFAULT_LAMBDA_VARIABLE_NAME, getDataType, isPrimitiveType, } from '../../core/DataCubeQueryEngine.js';
23
- import { clearMarkers, CODE_EDITOR_LANGUAGE, setErrorMarkers, } from '@finos/legend-code-editor';
23
+ import { CODE_EDITOR_LANGUAGE, setErrorMarkers, } from '@finos/legend-code-editor';
24
24
  import { EngineError, V1_Lambda, } from '@finos/legend-graph';
25
25
  import { _lambda } from '../../core/DataCubeQueryBuilderUtils.js';
26
26
  import { _findCol } from '../../core/model/DataCubeColumn.js';
27
- export class DataCubeColumnBaseEditorState {
27
+ import { DataCubeCodeEditorState } from '../../../components/view/extend/DataCubeCodeEditorState.js';
28
+ export class DataCubeColumnBaseEditorState extends DataCubeCodeEditorState {
28
29
  uuid = uuid();
29
30
  _manager;
30
31
  view;
@@ -33,20 +34,15 @@ export class DataCubeColumnBaseEditorState {
33
34
  _name = `col_${this.uuid.replaceAll('-', '_')}`;
34
35
  display;
35
36
  validationState = ActionState.create();
36
- finalizationState = ActionState.create();
37
37
  name;
38
38
  expectedType;
39
39
  isGroupLevel;
40
40
  columnKind;
41
- code = '';
42
- codePrefix;
43
41
  codeSuffix;
44
- editor;
45
- editorModel;
46
- editorModelUri;
47
- codeError;
48
- returnType;
42
+ model;
43
+ queryLambda;
49
44
  constructor(manager, name, expectedType, isGroupLevel, columnKind) {
45
+ super(manager.view.engine);
50
46
  makeObservable(this, {
51
47
  name: observable,
52
48
  setName: action,
@@ -67,6 +63,8 @@ export class DataCubeColumnBaseEditorState {
67
63
  });
68
64
  this._manager = manager;
69
65
  this.view = manager.view;
66
+ this.model = manager.view.source;
67
+ this.engine = this.view.engine;
70
68
  this.display = this.newDisplay(this);
71
69
  this.name = name;
72
70
  this.expectedType = expectedType;
@@ -76,7 +74,11 @@ export class DataCubeColumnBaseEditorState {
76
74
  this.codeSuffix = `)`;
77
75
  this.editorModelUri = Uri.file(`/${this.uuid}.pure`);
78
76
  this.editorModel = monacoEditorAPI.createModel('', CODE_EDITOR_LANGUAGE.PURE, this.editorModelUri);
77
+ this.queryLambda = this.buildExtendBaseQuery;
79
78
  }
79
+ alertHandler = (error) => {
80
+ this.view.dataCube.alertService.alertUnhandledError(error);
81
+ };
80
82
  async initialize() {
81
83
  this.code = await this.getInitialCode();
82
84
  this.editorModel.setValue(this.code);
@@ -98,12 +100,6 @@ export class DataCubeColumnBaseEditorState {
98
100
  this.isGroupLevel = isGroupLevel;
99
101
  this.columnKind = columnKind;
100
102
  }
101
- setEditor(editor) {
102
- this.editor = editor;
103
- }
104
- setReturnType(value) {
105
- this.returnType = value;
106
- }
107
103
  showError(error) {
108
104
  this.codeError = error;
109
105
  if (error.sourceInformation) {
@@ -118,11 +114,7 @@ export class DataCubeColumnBaseEditorState {
118
114
  ], this.uuid);
119
115
  }
120
116
  }
121
- clearError() {
122
- this.codeError = undefined;
123
- clearMarkers(this.uuid);
124
- }
125
- buildExtendBaseQuery() {
117
+ buildExtendBaseQuery = () => {
126
118
  const currentSnapshot = guaranteeNonNullable(this._manager.getLatestSnapshot());
127
119
  const snapshot = currentSnapshot.clone();
128
120
  if (!this.isGroupLevel) {
@@ -140,7 +132,7 @@ export class DataCubeColumnBaseEditorState {
140
132
  skipExecutionContext: true,
141
133
  }),
142
134
  ]);
143
- }
135
+ };
144
136
  async getReturnType() {
145
137
  this.validationState.inProgress();
146
138
  // properly reset the error state before revalidating
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeColumnEditorState.js","sourceRoot":"","sources":["../../../../src/stores/view/extend/DataCubeColumnEditorState.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeColumnEditorState.js","sourceRoot":"","sources":["../../../../src/stores/view/extend/DataCubeColumnEditorState.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAG9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,IAAI,GAEL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,WAAW,EACX,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,WAAW,EACX,SAAS,GAEV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AAGrG,MAAM,OAAgB,6BAA8B,SAAQ,uBAAuB;IACrD,IAAI,GAAG,IAAI,EAAE,CAAC;IACvB,QAAQ,CAA6B;IAC/C,IAAI,CAAoB;IAEjC,yDAAyD;IACzD,wCAAwC;IACvB,KAAK,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxD,OAAO,CAAe;IACtB,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAEhD,IAAI,CAAS;IACb,YAAY,CAAS;IACrB,YAAY,CAAU;IACtB,UAAU,CAAkC;IAE5C,UAAU,CAAS;IAEV,KAAK,CAAiB;IAC/B,WAAW,CAAkB;IAE7B,YACE,OAAmC,EACnC,IAAY,EACZ,YAAoB,EACpB,YAAqB,EACrB,UAA0C;QAE1C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,QAAQ;YAErB,YAAY,EAAE,UAAU;YACxB,eAAe,EAAE,MAAM;YACvB,WAAW,EAAE,QAAQ;YAErB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,MAAM;YAErB,MAAM,EAAE,UAAU,CAAC,GAAG;YACtB,SAAS,EAAE,MAAM;YAEjB,SAAS,EAAE,UAAU,CAAC,GAAG;YACzB,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,MAAM;YAElB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,MAAM;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,UAAU,GAAG,aAAa,IAAI,CAAC,KAAK,GAAG,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAEtB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAC5C,EAAE,EACF,oBAAoB,CAAC,IAAI,EACzB,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC;IAC/C,CAAC;IAED,YAAY,GAAG,CAAC,KAAY,EAAQ,EAAE;QACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC;IAIF,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAMD,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CACL,IAAI,CAAC,UAAU,KAAK,SAAS;YAC7B,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CACnD,CAAC;IACJ,CAAC;IAED,aAAa,CACX,YAAqB,EACrB,UAA0C;QAE1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,KAAkB;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,eAAe,CACb,IAAI,CAAC,WAAW,EAChB;gBACE;oBACE,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS;oBAClD,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW;oBAChD,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO;oBAC9C,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS;iBAC7C;aACF,EACD,IAAI,CAAC,IAAI,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oBAAoB,GAAG,GAAG,EAAE;QAC1B,MAAM,eAAe,GAAG,oBAAoB,CAC1C,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAClC,CAAC;QACF,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAClC,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAChC,OAAO,OAAO,CACZ,EAAE,EACF;YACE,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACjE,oBAAoB,EAAE,IAAI;aAC3B,CAAC;SACH,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QAElC,qDAAqD;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,8BAA8B,CACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAC7C,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CACjB,CAAC;YACJ,IAAI,UAAU,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;YACxE,UAAU;gBACR,UAAU,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC5B,mEAAmE;gBACnE,iCAAiC;gBACjC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,KAAK,CAAC,iBAAiB,CAAC,WAAW;wBACjC,KAAK,CAAC,iBAAiB,CAAC,SAAS,KAAK,CAAC;4BACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;4BACxB,CAAC,CAAC,CAAC,CAAC;oBACR,KAAK,CAAC,iBAAiB,CAAC,SAAS;wBAC/B,KAAK,CAAC,iBAAiB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;oBACvD,IACE,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,CAAC;wBACrC,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,KAAK,CAAC;4BACtC,KAAK,CAAC,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAC;wBAC1C,KAAK,CAAC,iBAAiB,CAAC,OAAO,GAAG,SAAS,CAAC,aAAa;wBACzD,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,KAAK,SAAS,CAAC,aAAa;4BAC1D,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,EAC1D,CAAC;wBACD,KAAK,CAAC,iBAAiB,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;wBAC5D,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC;wBAC9D,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;wBACxD,KAAK,CAAC,iBAAiB,CAAC,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE;gBAChD,OAAO,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE;aAC3D,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAID,KAAK;QACH,wDAAwD;QACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,6BAA6B;IAC/D,WAAW,CAAS;IAE5B,YACE,OAAmC,EACnC,eAAyD;QAEzD,KAAK,CACH,OAAO,EACP,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,EAC1C,eAAe;YACb,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,sBAAsB,CAAC,MAAM,EACjC,KAAK,EACL,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CACpE,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,eAAe;YAChC,CAAC,CAAC,GAAG,4BAA4B,KAAK,4BAA4B,IAAI,eAAe,CAAC,IAAI,EAAE;YAC5F,CAAC,CAAC,GAAG,4BAA4B,GAAG,CAAC;IACzC,CAAC;IAEQ,KAAK,CAAC,cAAc;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEQ,UAAU,CAAC,KAAoC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAChD,gBAAgB,EAChB,GAAG,EAAE,CAAC,KAAC,qBAAqB,IAAC,KAAK,EAAE,IAAI,GAAI,EAC5C;YACE,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,KAAK;SACd,CACF,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,YAAY;QACzB,IACE,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY;YAClC,CAAC,IAAI,CAAC,WAAW;YACjB,CAAC,IAAI,CAAC,WAAW,EACjB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAEpC,IAAI,KAA4B,CAAC;QACjC,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC1D,IAAI,CAAC,aAAa,EAAE,EAAE,mCAAmC;aAC1D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE;gBAChD,OAAO,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE;aAC3D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,EAAE;gBACtD,OAAO,EAAE,6DAA6D;aACvE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,EAAE;gBACtD,OAAO,EAAE,sEAAsE;aAChF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB;YACE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,CAAC;SAC3D,EACD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,EACf,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,6BAA6B;IACzE,WAAW,CAMlB;IAEF,YACE,OAAmC,EACnC,MAAsC,EACtC,IAAwB,EACxB,YAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAE1E,cAAc,CAAC,IAAI,EAAE;YACnB,WAAW,EAAE,UAAU,CAAC,GAAG;YAC3B,WAAW,EAAE,QAAQ;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI;YACJ,YAAY,EAAE,YAAY;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc;aACjC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;aACtD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAEQ,KAAK,CAAC,cAAc;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACtE,IAAI,CACL,CAAC;IACJ,CAAC;IAEQ,UAAU,CAAC,KAAoC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAChD,aAAa,EACb,GAAG,EAAE,CAAC,KAAC,qBAAqB,IAAC,KAAK,EAAE,IAAI,GAAI,EAC5C;YACE,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,KAAK;SACd,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEQ,KAAK,CAAC,YAAY;QACzB,IACE,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY;YAClC,CAAC,IAAI,CAAC,WAAW;YACjB,CAAC,IAAI,CAAC,WAAW,EACjB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAEpC,IAAI,KAA4B,CAAC;QACjC,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC1D,IAAI,CAAC,aAAa,EAAE,EAAE,mCAAmC;aAC1D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE;gBAChD,OAAO,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE;aAC3D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,EAAE;gBACtD,OAAO,EAAE,6DAA6D;aACvE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,EAAE;gBACtD,OAAO,EAAE,sEAAsE;aAChF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB;YACE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,CAAC;SAC3D,EACD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-data-cube",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "description": "Legend DataCube",
5
5
  "keywords": [
6
6
  "legend",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@finos/legend-art": "7.1.87",
46
- "@finos/legend-code-editor": "2.0.52",
47
- "@finos/legend-graph": "32.1.10",
46
+ "@finos/legend-code-editor": "2.0.53",
47
+ "@finos/legend-graph": "32.1.11",
48
48
  "@finos/legend-shared": "11.0.9",
49
49
  "@types/react": "19.0.10",
50
50
  "ag-grid-community": "33.1.1",
@@ -26,6 +26,7 @@ import { DataCubeLayout } from './core/DataCubeLayout.js';
26
26
  import { DataCubeIcon } from '@finos/legend-art';
27
27
  import type { TaskManager } from '../stores/services/DataCubeTaskService.js';
28
28
  import { LEGEND_DATACUBE_TEST_ID } from '../__lib__/DataCubeTesting.js';
29
+ import { INTERNAL__MonacoEditorWidgetsRoot } from './core/DataCubePureCodeEditorUtils.js';
29
30
 
30
31
  export const DataCubePlaceholderErrorDisplay = (props: {
31
32
  message: string;
@@ -97,6 +98,7 @@ export const DataCubePlaceholder = observer(
97
98
  {children}
98
99
  </DataCubeViewPlaceholder>
99
100
  {layoutManager ? <DataCubeLayout layout={layoutManager} /> : null}
101
+ <INTERNAL__MonacoEditorWidgetsRoot />
100
102
  </div>
101
103
  );
102
104
  },
@@ -24,6 +24,7 @@ import type {
24
24
  DataCubeEngine,
25
25
  } from '../../stores/core/DataCubeEngine.js';
26
26
  import type { V1_Lambda } from '@finos/legend-graph';
27
+ import type { PlainObject } from '@finos/legend-shared';
27
28
  import type { DataCubeSource } from '../../stores/core/model/DataCubeSource.js';
28
29
 
29
30
  // Since we render the editor in a window which has been CSS transformed, and monaco-editor renders
@@ -47,7 +48,7 @@ export async function getCodeSuggestions(
47
48
  model: monacoEditorAPI.ITextModel,
48
49
  prefix: string | undefined,
49
50
  engine: DataCubeEngine,
50
- source: DataCubeSource,
51
+ source: DataCubeSource | PlainObject,
51
52
  baseQueryBuilder: () => V1_Lambda,
52
53
  ) {
53
54
  const textUntilPosition = model.getValueInRange({
@@ -0,0 +1,175 @@
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 { cn } from '@finos/legend-art';
18
+ import {
19
+ getBaseCodeEditorOptions,
20
+ CODE_EDITOR_LANGUAGE,
21
+ CODE_EDITOR_THEME,
22
+ PURE_CODE_EDITOR_WORD_SEPARATORS,
23
+ } from '@finos/legend-code-editor';
24
+ import {
25
+ debounce,
26
+ guaranteeNonNullable,
27
+ isNonNullable,
28
+ } from '@finos/legend-shared';
29
+ import { observer } from 'mobx-react-lite';
30
+ import { useRef, useState, useMemo, useEffect } from 'react';
31
+ import {
32
+ MONACO_EDITOR_OVERFLOW_WIDGETS_ROOT_ID,
33
+ getCodeSuggestions,
34
+ } from '../../core/DataCubePureCodeEditorUtils.js';
35
+ import {
36
+ editor as monacoEditorAPI,
37
+ languages as monacoLanguagesAPI,
38
+ type IDisposable,
39
+ } from 'monaco-editor';
40
+ import type { DataCubeCodeEditorState } from './DataCubeCodeEditorState.js';
41
+ import { runInAction } from 'mobx';
42
+
43
+ export const DataCubeCodeEditor = observer(
44
+ (props: { state: DataCubeCodeEditorState }) => {
45
+ const { state } = props;
46
+
47
+ const editorRef = useRef<HTMLDivElement>(null);
48
+ const [editor, setEditor] = useState<
49
+ monacoEditorAPI.IStandaloneCodeEditor | undefined
50
+ >();
51
+
52
+ const suggestionsProvider = useRef<IDisposable | undefined>(undefined);
53
+
54
+ const debouncedCheckReturnType = useMemo(
55
+ () =>
56
+ debounce((): void => {
57
+ state.getReturnType().catch((error) => {
58
+ state.alertHandler(error);
59
+ });
60
+ }, 500),
61
+ [state],
62
+ );
63
+
64
+ useEffect(() => {
65
+ if (!editor && editorRef.current) {
66
+ const element = editorRef.current;
67
+ const widgetRoot = document.getElementById(
68
+ MONACO_EDITOR_OVERFLOW_WIDGETS_ROOT_ID,
69
+ );
70
+ const newEditor = monacoEditorAPI.create(element, {
71
+ ...getBaseCodeEditorOptions(),
72
+ fontSize: 12,
73
+ language: CODE_EDITOR_LANGUAGE.PURE,
74
+ theme: CODE_EDITOR_THEME.GITHUB_LIGHT,
75
+ wordSeparators: PURE_CODE_EDITOR_WORD_SEPARATORS,
76
+ // Make sure the widgets (tooltips, menus) are not clipped by the container bounds
77
+ // and fix the problem where widgets are rendered with position=fixed not working well with parent
78
+ // containers (i.e. the draggable window) which has been transformed
79
+ // See https://dev.to/salilnaik/the-uncanny-relationship-between-position-fixed-and-transform-property-32f6
80
+ // See https://github.com/microsoft/monaco-editor/issues/2793#issuecomment-999337740
81
+ fixedOverflowWidgets: true,
82
+ ...(isNonNullable(widgetRoot)
83
+ ? { overflowWidgetsDomNode: widgetRoot }
84
+ : {}),
85
+ });
86
+
87
+ // NOTE: since engine suggestions are computed based on the current text content
88
+ // we put it in this block to simplify the flow and really to "bend" monaco-editor
89
+ // suggestion provider to our needs. But we also need to make sure this suggestion
90
+ // provider is scoped to the current editor only by checking the editor model
91
+ suggestionsProvider.current?.dispose();
92
+ suggestionsProvider.current =
93
+ monacoLanguagesAPI.registerCompletionItemProvider(
94
+ CODE_EDITOR_LANGUAGE.PURE,
95
+ {
96
+ // NOTE: this is a hack to fetch suggestions from engine for every keystroke
97
+ triggerCharacters: [...PURE_CODE_EDITOR_WORD_SEPARATORS, '$'],
98
+ provideCompletionItems: async (model, position, context) => {
99
+ let suggestions: monacoLanguagesAPI.CompletionItem[] = [];
100
+
101
+ if (model.uri === state.editorModelUri) {
102
+ suggestions = suggestions.concat(
103
+ await getCodeSuggestions(
104
+ position,
105
+ model,
106
+ state.codePrefix,
107
+ state.engine,
108
+ guaranteeNonNullable(state.model),
109
+ state.queryLambda,
110
+ ),
111
+ );
112
+ }
113
+
114
+ return { suggestions };
115
+ },
116
+ },
117
+ );
118
+
119
+ newEditor.setModel(state.editorModel);
120
+ newEditor.onDidChangeModelContent(() => {
121
+ state.currentlyEditing = true;
122
+ const currentVal = newEditor.getValue();
123
+ if (currentVal !== state.code) {
124
+ runInAction(() => {
125
+ state.code = currentVal;
126
+ });
127
+ // clear error on content change/typing
128
+ state.clearError();
129
+ state.setReturnType(undefined);
130
+ debouncedCheckReturnType.cancel();
131
+ debouncedCheckReturnType();
132
+ }
133
+ });
134
+ // focus on the editor initially and set the cursor to the end
135
+ // since we're trying to create a new column
136
+ newEditor.focus();
137
+ newEditor.setPosition({
138
+ lineNumber: 1,
139
+ column: state.code.length + 1,
140
+ });
141
+ state.setEditor(newEditor);
142
+ setEditor(newEditor);
143
+ }
144
+ }, [state, editor, debouncedCheckReturnType]);
145
+
146
+ // clean up
147
+ useEffect(
148
+ () => (): void => {
149
+ if (editor) {
150
+ editor.dispose();
151
+
152
+ suggestionsProvider.current?.dispose();
153
+ }
154
+ },
155
+ [editor],
156
+ );
157
+
158
+ useEffect(() => {
159
+ state.editor?.updateOptions({
160
+ readOnly: state.finalizationState.isInProgress,
161
+ });
162
+ }, [state, state.finalizationState.isInProgress]);
163
+
164
+ return (
165
+ <div
166
+ className={cn('relative h-full w-full border border-neutral-200', {
167
+ 'border-red-500': state.hasErrors,
168
+ })}
169
+ >
170
+ <div className="absolute left-0 top-0 h-full w-full overflow-hidden" />
171
+ <div ref={editorRef} style={{ height: '100%', width: '100%' }} />
172
+ </div>
173
+ );
174
+ },
175
+ );
@@ -0,0 +1,72 @@
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 { EngineError, V1_Lambda } from '@finos/legend-graph';
17
+ import { ActionState, uuid, type PlainObject } from '@finos/legend-shared';
18
+ import { editor as monacoEditorAPI, Uri } from 'monaco-editor';
19
+ import type { DataCubeEngine } from '../../../stores/core/DataCubeEngine.js';
20
+ import type { DataCubeSource } from '../../../stores/core/model/DataCubeSource.js';
21
+ import { clearMarkers, CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
22
+
23
+ export abstract class DataCubeCodeEditorState {
24
+ protected readonly uuid = uuid();
25
+
26
+ editorModel: monacoEditorAPI.ITextModel;
27
+ editor?: monacoEditorAPI.IStandaloneCodeEditor | undefined;
28
+ editorModelUri: Uri;
29
+
30
+ code = '';
31
+ codePrefix: string;
32
+ returnType?: string | undefined;
33
+
34
+ finalizationState = ActionState.create();
35
+ codeError?: EngineError | undefined;
36
+ model: DataCubeSource | PlainObject | undefined;
37
+ engine: DataCubeEngine;
38
+
39
+ currentlyEditing?: boolean;
40
+
41
+ constructor(engine: DataCubeEngine) {
42
+ this.engine = engine;
43
+ this.codePrefix = '';
44
+ this.editorModelUri = Uri.file(`/${this.uuid}.pure`);
45
+ this.editorModel = monacoEditorAPI.createModel(
46
+ '',
47
+ CODE_EDITOR_LANGUAGE.PURE,
48
+ this.editorModelUri,
49
+ );
50
+ }
51
+
52
+ get hasErrors(): boolean {
53
+ return Boolean(this.codeError);
54
+ }
55
+
56
+ clearError() {
57
+ this.codeError = undefined;
58
+ clearMarkers(this.uuid);
59
+ }
60
+
61
+ setReturnType(value: string | undefined) {
62
+ this.returnType = value;
63
+ }
64
+
65
+ setEditor(editor: monacoEditorAPI.IStandaloneCodeEditor) {
66
+ this.editor = editor;
67
+ }
68
+
69
+ abstract alertHandler: (error: Error) => void;
70
+ abstract getReturnType(): Promise<string | boolean | undefined>;
71
+ abstract queryLambda: () => V1_Lambda;
72
+ }