@finos/legend-application-data-cube 0.3.4 → 0.3.6

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 (77) hide show
  1. package/lib/components/builder/LegendDataCubeCreator.d.ts.map +1 -1
  2. package/lib/components/builder/LegendDataCubeCreator.js +2 -5
  3. package/lib/components/builder/LegendDataCubeCreator.js.map +1 -1
  4. package/lib/components/builder/source/AdhocQueryDataCubeSourceBuilder.d.ts +8 -0
  5. package/lib/components/builder/source/AdhocQueryDataCubeSourceBuilder.d.ts.map +1 -1
  6. package/lib/components/builder/source/AdhocQueryDataCubeSourceBuilder.js +175 -2
  7. package/lib/components/builder/source/AdhocQueryDataCubeSourceBuilder.js.map +1 -1
  8. package/lib/components/builder/source/LegendDataCubeSourceLoader.d.ts.map +1 -1
  9. package/lib/components/builder/source/LegendDataCubeSourceLoader.js +5 -2
  10. package/lib/components/builder/source/LegendDataCubeSourceLoader.js.map +1 -1
  11. package/lib/components/builder/source/LocalFileDataCubeSourceBuilder.d.ts.map +1 -1
  12. package/lib/components/builder/source/LocalFileDataCubeSourceBuilder.js +10 -2
  13. package/lib/components/builder/source/LocalFileDataCubeSourceBuilder.js.map +1 -1
  14. package/lib/components/builder/source/LocalFileDataCubeSourceLoader.d.ts.map +1 -1
  15. package/lib/components/builder/source/LocalFileDataCubeSourceLoader.js +10 -2
  16. package/lib/components/builder/source/LocalFileDataCubeSourceLoader.js.map +1 -1
  17. package/lib/index.css +1 -1
  18. package/lib/package.json +1 -1
  19. package/lib/stores/LegendDataCubeDataCubeEngine.d.ts +9 -4
  20. package/lib/stores/LegendDataCubeDataCubeEngine.d.ts.map +1 -1
  21. package/lib/stores/LegendDataCubeDataCubeEngine.js +34 -10
  22. package/lib/stores/LegendDataCubeDataCubeEngine.js.map +1 -1
  23. package/lib/stores/builder/LegendDataCubeBuilderStore.d.ts.map +1 -1
  24. package/lib/stores/builder/LegendDataCubeBuilderStore.js +16 -0
  25. package/lib/stores/builder/LegendDataCubeBuilderStore.js.map +1 -1
  26. package/lib/stores/builder/LegendDataCubeCreatorState.d.ts.map +1 -1
  27. package/lib/stores/builder/LegendDataCubeCreatorState.js +3 -3
  28. package/lib/stores/builder/LegendDataCubeCreatorState.js.map +1 -1
  29. package/lib/stores/builder/source/AdHocCodeEditorState.d.ts +40 -0
  30. package/lib/stores/builder/source/AdHocCodeEditorState.d.ts.map +1 -0
  31. package/lib/stores/builder/source/AdHocCodeEditorState.js +147 -0
  32. package/lib/stores/builder/source/AdHocCodeEditorState.js.map +1 -0
  33. package/lib/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.d.ts +38 -1
  34. package/lib/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.d.ts.map +1 -1
  35. package/lib/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.js +144 -4
  36. package/lib/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.js.map +1 -1
  37. package/lib/stores/builder/source/LegendDataCubeSourceBuilderState.d.ts +3 -2
  38. package/lib/stores/builder/source/LegendDataCubeSourceBuilderState.d.ts.map +1 -1
  39. package/lib/stores/builder/source/LegendDataCubeSourceBuilderState.js +3 -1
  40. package/lib/stores/builder/source/LegendDataCubeSourceBuilderState.js.map +1 -1
  41. package/lib/stores/builder/source/LegendDataCubeSourceLoaderState.d.ts +0 -1
  42. package/lib/stores/builder/source/LegendDataCubeSourceLoaderState.d.ts.map +1 -1
  43. package/lib/stores/builder/source/LegendDataCubeSourceLoaderState.js.map +1 -1
  44. package/lib/stores/builder/source/LegendQueryDataCubeSourceBuilderState.d.ts +0 -1
  45. package/lib/stores/builder/source/LegendQueryDataCubeSourceBuilderState.d.ts.map +1 -1
  46. package/lib/stores/builder/source/LegendQueryDataCubeSourceBuilderState.js +1 -3
  47. package/lib/stores/builder/source/LegendQueryDataCubeSourceBuilderState.js.map +1 -1
  48. package/lib/stores/builder/source/LocalFileDataCubeSourceBuilderState.d.ts +4 -2
  49. package/lib/stores/builder/source/LocalFileDataCubeSourceBuilderState.d.ts.map +1 -1
  50. package/lib/stores/builder/source/LocalFileDataCubeSourceBuilderState.js +38 -29
  51. package/lib/stores/builder/source/LocalFileDataCubeSourceBuilderState.js.map +1 -1
  52. package/lib/stores/builder/source/LocalFileDataCubeSourceLoaderState.d.ts +2 -2
  53. package/lib/stores/builder/source/LocalFileDataCubeSourceLoaderState.d.ts.map +1 -1
  54. package/lib/stores/builder/source/LocalFileDataCubeSourceLoaderState.js +36 -35
  55. package/lib/stores/builder/source/LocalFileDataCubeSourceLoaderState.js.map +1 -1
  56. package/lib/stores/builder/source/UserDefinedFunctionDataCubeSourceBuilderState.d.ts +2 -2
  57. package/lib/stores/builder/source/UserDefinedFunctionDataCubeSourceBuilderState.d.ts.map +1 -1
  58. package/lib/stores/builder/source/UserDefinedFunctionDataCubeSourceBuilderState.js +2 -2
  59. package/lib/stores/builder/source/UserDefinedFunctionDataCubeSourceBuilderState.js.map +1 -1
  60. package/package.json +10 -10
  61. package/src/components/builder/LegendDataCubeCreator.tsx +2 -4
  62. package/src/components/builder/source/AdhocQueryDataCubeSourceBuilder.tsx +348 -4
  63. package/src/components/builder/source/LegendDataCubeSourceLoader.tsx +21 -5
  64. package/src/components/builder/source/LocalFileDataCubeSourceBuilder.tsx +23 -1
  65. package/src/components/builder/source/LocalFileDataCubeSourceLoader.tsx +23 -1
  66. package/src/stores/LegendDataCubeDataCubeEngine.ts +38 -12
  67. package/src/stores/builder/LegendDataCubeBuilderStore.tsx +15 -0
  68. package/src/stores/builder/LegendDataCubeCreatorState.tsx +4 -0
  69. package/src/stores/builder/source/AdHocCodeEditorState.tsx +189 -0
  70. package/src/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.ts +221 -4
  71. package/src/stores/builder/source/LegendDataCubeSourceBuilderState.ts +7 -1
  72. package/src/stores/builder/source/LegendDataCubeSourceLoaderState.tsx +0 -2
  73. package/src/stores/builder/source/LegendQueryDataCubeSourceBuilderState.ts +1 -3
  74. package/src/stores/builder/source/LocalFileDataCubeSourceBuilderState.ts +45 -35
  75. package/src/stores/builder/source/LocalFileDataCubeSourceLoaderState.ts +46 -47
  76. package/src/stores/builder/source/UserDefinedFunctionDataCubeSourceBuilderState.ts +3 -1
  77. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeCreator.d.ts","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeCreator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH,eAAO,MAAM,qBAAqB;;CAsGhC,CAAC"}
1
+ {"version":3,"file":"LegendDataCubeCreator.d.ts","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeCreator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH,eAAO,MAAM,qBAAqB;;CAoGhC,CAAC"}
@@ -32,10 +32,7 @@ export const LegendDataCubeCreator = observer(() => {
32
32
  const state = store.creator;
33
33
  const sourceBuilder = state.sourceBuilder;
34
34
  const selectedSourceType = sourceBuilder.label;
35
- const WIPSourceTypes = [
36
- LegendDataCubeSourceBuilderType.ADHOC_QUERY,
37
- LegendDataCubeSourceBuilderType.LOCAL_FILE,
38
- ];
35
+ const WIPSourceTypes = [LegendDataCubeSourceBuilderType.LOCAL_FILE];
39
36
  const [openSourceTypeDropdown, closeSourceTypeDropdown, sourceTypeDropdownProps, sourceTypeDropdownPropsOpen,] = useDropdownMenu();
40
37
  return (_jsxs(_Fragment, { children: [_jsx("div", { className: "h-[calc(100%_-_40px)] w-full px-2 pt-2", children: _jsx("div", { className: "h-full w-full border border-neutral-300 bg-white", children: _jsxs("div", { className: "h-full w-full select-none", children: [_jsxs("div", { className: "flex h-10 w-full items-center p-2", children: [_jsx("div", { className: "flex h-full w-32 flex-shrink-0 items-center text-sm", children: "Choose Source Type:" }), _jsx(FormDropdownMenuTrigger, { className: "w-80", onClick: openSourceTypeDropdown, open: sourceTypeDropdownPropsOpen, children: _jsxs("div", { className: "flex items-center", children: [selectedSourceType, WIPSourceTypes.includes(selectedSourceType) && (_jsx(FormBadge_WIP, {}))] }) }), _jsx(FormDropdownMenu, { className: "w-80", ...sourceTypeDropdownProps, children: [
41
38
  LegendDataCubeSourceBuilderType.LEGEND_QUERY,
@@ -47,7 +44,7 @@ export const LegendDataCubeCreator = observer(() => {
47
44
  closeSourceTypeDropdown();
48
45
  }, autoFocus: type === selectedSourceType, children: [type, WIPSourceTypes.includes(type) && _jsx(FormBadge_WIP, {})] }, type))) })] }), _jsx("div", { className: "ml-2 h-[1px] w-[calc(100%_-_16px)] bg-neutral-200" }), _jsxs("div", { className: "h-[calc(100%_-_41px)] w-full overflow-auto", children: [sourceBuilder instanceof
49
46
  LegendQueryDataCubeSourceBuilderState && (_jsx(LegendQueryDataCubeSourceBuilder, { sourceBuilder: sourceBuilder })), sourceBuilder instanceof
50
- AdhocQueryDataCubeSourceBuilderState && (_jsx(AdhocQueryDataCubeSourceBuilder, { sourceBuilder: sourceBuilder })), sourceBuilder instanceof LocalFileDataCubeSourceBuilderState && (_jsx(LocalFileDataCubeSourceBuilder, { sourceBuilder: sourceBuilder })), sourceBuilder instanceof
47
+ AdhocQueryDataCubeSourceBuilderState && (_jsx(AdhocQueryDataCubeSourceBuilder, { sourceBuilder: sourceBuilder, store: store })), sourceBuilder instanceof LocalFileDataCubeSourceBuilderState && (_jsx(LocalFileDataCubeSourceBuilder, { sourceBuilder: sourceBuilder })), sourceBuilder instanceof
51
48
  UserDefinedFunctionDataCubeSourceBuilderState && (_jsx(UserDefinedFunctionDataCubeSourceBuilder, { sourceBuilder: sourceBuilder, store: store }))] })] }) }) }), _jsxs("div", { className: "flex h-10 items-center justify-end px-2", children: [_jsx(FormButton, { onClick: () => state.display.close(), children: "Cancel" }), _jsx(FormButton, { className: "ml-2", disabled: !sourceBuilder.isValid || state.finalizeState.isInProgress, onClick: () => {
52
49
  state
53
50
  .finalize()
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeCreator.js","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeCreator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendDataCubeCreator.js","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeCreator.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAClH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qCAAqC,EAAE,MAAM,sEAAsE,CAAC;AAC7H,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,oCAAoC,EAAE,MAAM,qEAAqE,CAAC;AAC3H,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,mCAAmC,EAAE,MAAM,oEAAoE,CAAC;AACzH,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,6CAA6C,EAAE,MAAM,8EAA8E,CAAC;AAC7I,OAAO,EAAE,wCAAwC,EAAE,MAAM,sDAAsD,CAAC;AAEhH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,EAAE;IACjD,MAAM,KAAK,GAAG,6BAA6B,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC;IAC/C,MAAM,cAAc,GAAG,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,CACJ,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC5B,GAAG,eAAe,EAAE,CAAC;IAEtB,OAAO,CACL,8BACE,cAAK,SAAS,EAAC,wCAAwC,YACrD,cAAK,SAAS,EAAC,kDAAkD,YAC/D,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAK,SAAS,EAAC,mCAAmC,aAChD,cAAK,SAAS,EAAC,qDAAqD,oCAE9D,EACN,KAAC,uBAAuB,IACtB,SAAS,EAAC,MAAM,EAChB,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,2BAA2B,YAEjC,eAAK,SAAS,EAAC,mBAAmB,aAC/B,kBAAkB,EAClB,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAC9C,KAAC,aAAa,KAAG,CAClB,IACG,GACkB,EAC1B,KAAC,gBAAgB,IAAC,SAAS,EAAC,MAAM,KAAK,uBAAuB,YAC3D;4CACC,+BAA+B,CAAC,YAAY;4CAC5C,+BAA+B,CAAC,qBAAqB;4CACrD,+BAA+B,CAAC,WAAW;4CAC3C,+BAA+B,CAAC,UAAU;yCAC3C,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACd,MAAC,oBAAoB,IAEnB,OAAO,EAAE,GAAG,EAAE;gDACZ,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gDAChC,uBAAuB,EAAE,CAAC;4CAC5B,CAAC,EACD,SAAS,EAAE,IAAI,KAAK,kBAAkB,aAErC,IAAI,EACJ,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAC,aAAa,KAAG,KAR9C,IAAI,CASY,CACxB,CAAC,GACe,IACf,EACN,cAAK,SAAS,EAAC,mDAAmD,GAAG,EACrE,eAAK,SAAS,EAAC,4CAA4C,aACxD,aAAa;wCACZ,qCAAqC,IAAI,CACzC,KAAC,gCAAgC,IAC/B,aAAa,EAAE,aAAa,GAC5B,CACH,EACA,aAAa;wCACZ,oCAAoC,IAAI,CACxC,KAAC,+BAA+B,IAC9B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,GACZ,CACH,EACA,aAAa,YAAY,mCAAmC,IAAI,CAC/D,KAAC,8BAA8B,IAAC,aAAa,EAAE,aAAa,GAAI,CACjE,EACA,aAAa;wCACZ,6CAA6C,IAAI,CACjD,KAAC,wCAAwC,IACvC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,GACZ,CACH,IACG,IACF,GACF,GACF,EACN,eAAK,SAAS,EAAC,yCAAyC,aACtD,KAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,uBAAqB,EACrE,KAAC,UAAU,IACT,SAAS,EAAC,MAAM,EAChB,QAAQ,EAAE,CAAC,aAAa,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,YAAY,EACpE,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK;iCACF,QAAQ,EAAE;iCACV,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;wBACrE,CAAC,mBAGU,IACT,IACL,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -13,9 +13,17 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import { type LegendDataCubeBuilderStore } from '../../../stores/builder/LegendDataCubeBuilderStore.js';
17
+ import { V1_Mapping } from '@finos/legend-graph';
16
18
  import type { AdhocQueryDataCubeSourceBuilderState } from '../../../stores/builder/source/AdhocQueryDataCubeSourceBuilderState.js';
19
+ export type MappingOption = {
20
+ label: string;
21
+ value: V1_Mapping;
22
+ };
23
+ export declare const buildMappingOption: (mapping: V1_Mapping) => MappingOption;
17
24
  export declare const AdhocQueryDataCubeSourceBuilder: ((props: {
18
25
  sourceBuilder: AdhocQueryDataCubeSourceBuilderState;
26
+ store: LegendDataCubeBuilderStore;
19
27
  }) => import("react/jsx-runtime").JSX.Element) & {
20
28
  displayName: string;
21
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AdhocQueryDataCubeSourceBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/source/AdhocQueryDataCubeSourceBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,wEAAwE,CAAC;AAEnI,eAAO,MAAM,+BAA+B,WAClC;IAAE,aAAa,EAAE,oCAAoC,CAAA;CAAE;;CAShE,CAAC"}
1
+ {"version":3,"file":"AdhocQueryDataCubeSourceBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/source/AdhocQueryDataCubeSourceBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AAQxG,OAAO,EAEL,UAAU,EAGX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,wEAAwE,CAAC;AAWnI,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AACF,eAAO,MAAM,kBAAkB,GAAI,SAAS,UAAU,KAAG,aAGvD,CAAC;AAEH,eAAO,MAAM,+BAA+B,WAClC;IACN,aAAa,EAAE,oCAAoC,CAAC;IACpD,KAAK,EAAE,0BAA0B,CAAC;CACnC;;CA0TF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * Copyright (c) 2020-present, Goldman Sachs
4
4
  *
@@ -15,7 +15,180 @@ import { jsx as _jsx } from "react/jsx-runtime";
15
15
  * limitations under the License.
16
16
  */
17
17
  import { observer } from 'mobx-react-lite';
18
+ import { CustomSelectorInput, WarningIcon } from '@finos/legend-art';
19
+ import { useEffect, useState } from 'react';
20
+ import { flowResult } from 'mobx';
21
+ import {} from '../../../stores/builder/LegendDataCubeBuilderStore.js';
22
+ import { LATEST_VERSION_ALIAS } from '@finos/legend-server-depot';
23
+ import { ActionState, assertErrorThrown, compareSemVerVersions, guaranteeNonNullable, } from '@finos/legend-shared';
24
+ import { CORE_PURE_PATH, V1_Mapping, V1_PackageableRuntime, V1_deserializePackageableElement, } from '@finos/legend-graph';
25
+ import { buildProjectOption, buildRuntimeOption, buildVersionOption, } from './UserDefinedFunctionDataCubeSourceBuilder.js';
26
+ import { DataCubeCodeEditor } from '@finos/legend-data-cube';
27
+ export const buildMappingOption = (mapping) => ({
28
+ label: mapping.name,
29
+ value: mapping,
30
+ });
18
31
  export const AdhocQueryDataCubeSourceBuilder = observer((props) => {
19
- return (_jsx("div", { className: "flex h-full w-full p-2", children: _jsx("div", { className: "flex h-6 items-center text-neutral-500", children: "This is a work-in-progress." }) }));
32
+ const { sourceBuilder, store } = props;
33
+ const [fetchSelectedProjectVersionsStatus] = useState(ActionState.create());
34
+ const [fetchSelectedVersionRuntimesStatus] = useState(ActionState.create());
35
+ const [fetchSelectedVersionMappingsStatus] = useState(ActionState.create());
36
+ //projects
37
+ const projectOptions = sourceBuilder.projects.map(buildProjectOption);
38
+ const selectedProjectOption = sourceBuilder.currentProject
39
+ ? buildProjectOption(sourceBuilder.currentProject)
40
+ : null;
41
+ const projectSelectorPlaceholder = sourceBuilder.loadProjectsState
42
+ .isInProgress
43
+ ? 'Loading projects'
44
+ : sourceBuilder.loadProjectsState.hasFailed
45
+ ? 'Error fetching projects'
46
+ : sourceBuilder.projects.length
47
+ ? 'Choose a project'
48
+ : 'No Projects available from depot';
49
+ const onProjectOptionChange = async (option) => {
50
+ if (option?.value !== sourceBuilder.currentProject) {
51
+ sourceBuilder.setCurrentProject(option?.value);
52
+ // cascade
53
+ sourceBuilder.setCurrentVersionId(undefined);
54
+ sourceBuilder.setCurrentProjectVersions([]);
55
+ sourceBuilder.setCurrentRuntime(undefined);
56
+ sourceBuilder.setRuntimes([]);
57
+ sourceBuilder.setModelPointer(undefined);
58
+ sourceBuilder.setMappings([]);
59
+ sourceBuilder.setCurrentMapping(undefined);
60
+ sourceBuilder.codeEditorState.clearQuery();
61
+ try {
62
+ fetchSelectedProjectVersionsStatus.inProgress();
63
+ const versions = await store.depotServerClient.getVersions(guaranteeNonNullable(option?.value.groupId), guaranteeNonNullable(option?.value.artifactId), true);
64
+ sourceBuilder.setCurrentProjectVersions(versions);
65
+ }
66
+ catch (error) {
67
+ assertErrorThrown(error);
68
+ store.application.notificationService.notifyError(error);
69
+ }
70
+ finally {
71
+ fetchSelectedProjectVersionsStatus.reset();
72
+ }
73
+ }
74
+ };
75
+ //versions
76
+ const versionOptions = [
77
+ LATEST_VERSION_ALIAS,
78
+ ...(sourceBuilder.currentProjectVersions ?? []),
79
+ ]
80
+ .toSorted((v1, v2) => compareSemVerVersions(v2, v1))
81
+ .map(buildVersionOption);
82
+ const selectedVersionOption = sourceBuilder.currentVersionId
83
+ ? buildVersionOption(sourceBuilder.currentVersionId)
84
+ : null;
85
+ const versionSelectorPlaceholder = !sourceBuilder.currentProject
86
+ ? 'No project selected'
87
+ : 'Choose a version';
88
+ const onVersionChange = async (option) => {
89
+ if (option?.value !== sourceBuilder.currentVersionId) {
90
+ sourceBuilder.setCurrentVersionId(option?.value);
91
+ //cascade
92
+ sourceBuilder.setCurrentRuntime(undefined);
93
+ sourceBuilder.setRuntimes([]);
94
+ sourceBuilder.setCurrentMapping(undefined);
95
+ sourceBuilder.setMappings([]);
96
+ sourceBuilder.codeEditorState.clearQuery();
97
+ //by this point, we should have all the necessary info to build the model context pointer
98
+ sourceBuilder.setModelPointer(sourceBuilder.buildPureModelContextPointer());
99
+ try {
100
+ const plugins = store.application.pluginManager.getPureProtocolProcessorPlugins();
101
+ //runtimes
102
+ fetchSelectedVersionRuntimesStatus.inProgress();
103
+ const allFetchedRuntimes = await store.depotServerClient.getVersionEntities(guaranteeNonNullable(sourceBuilder.currentProject?.groupId), guaranteeNonNullable(sourceBuilder.currentProject?.artifactId), guaranteeNonNullable(option?.value), CORE_PURE_PATH.RUNTIME);
104
+ const fetchedRuntimeOptions = [];
105
+ allFetchedRuntimes.forEach((runtime) => {
106
+ const runtimeEntity = runtime.entity;
107
+ const currentRuntimeElement = V1_deserializePackageableElement(runtimeEntity.content, plugins);
108
+ if (currentRuntimeElement instanceof V1_PackageableRuntime) {
109
+ fetchedRuntimeOptions.push(currentRuntimeElement);
110
+ }
111
+ });
112
+ sourceBuilder.setRuntimes(fetchedRuntimeOptions);
113
+ fetchSelectedVersionRuntimesStatus.reset();
114
+ //mappings
115
+ fetchSelectedVersionMappingsStatus.inProgress();
116
+ const allFetchedMappings = await store.depotServerClient.getVersionEntities(guaranteeNonNullable(sourceBuilder.currentProject?.groupId), guaranteeNonNullable(sourceBuilder.currentProject?.artifactId), guaranteeNonNullable(option?.value), CORE_PURE_PATH.MAPPING);
117
+ const fetchedMappingOptions = [];
118
+ allFetchedMappings.forEach((mapping) => {
119
+ const mappingEntity = mapping.entity;
120
+ const currentMappingElement = V1_deserializePackageableElement(mappingEntity.content, plugins);
121
+ if (currentMappingElement instanceof V1_Mapping) {
122
+ fetchedMappingOptions.push(currentMappingElement);
123
+ }
124
+ });
125
+ sourceBuilder.setMappings(fetchedMappingOptions);
126
+ fetchSelectedVersionMappingsStatus.reset();
127
+ }
128
+ catch (error) {
129
+ assertErrorThrown(error);
130
+ store.application.notificationService.notifyError(error);
131
+ }
132
+ }
133
+ };
134
+ //runtimes
135
+ const runtimeOptions = sourceBuilder.runtimes?.map(buildRuntimeOption);
136
+ const selectedRuntimeOption = sourceBuilder.currentRuntime
137
+ ? buildRuntimeOption(sourceBuilder.currentRuntime)
138
+ : null;
139
+ const runtimeSelectorPlaceholder = !sourceBuilder.currentVersionId
140
+ ? 'No version selected'
141
+ : 'Choose a runtime';
142
+ const onRuntimeChange = (option) => {
143
+ if (option === null) {
144
+ sourceBuilder.codeEditorState.clearQuery();
145
+ }
146
+ if (option?.value !== sourceBuilder.currentRuntime) {
147
+ sourceBuilder.setCurrentRuntime(option?.value);
148
+ }
149
+ };
150
+ //mappings
151
+ const mappingOptions = sourceBuilder.mappings?.map(buildMappingOption);
152
+ const selectedMappingOption = sourceBuilder.currentMapping
153
+ ? buildMappingOption(sourceBuilder.currentMapping)
154
+ : null;
155
+ const mappingSelectorPlaceholder = !sourceBuilder.currentVersionId
156
+ ? 'No version selected'
157
+ : 'Choose a mapping';
158
+ const onMappingChange = (option) => {
159
+ if (option?.value !== sourceBuilder.currentMapping) {
160
+ sourceBuilder.setCurrentMapping(option?.value);
161
+ }
162
+ };
163
+ const allowQueryEditing = () => {
164
+ return Boolean(sourceBuilder.currentProject &&
165
+ sourceBuilder.currentVersionId &&
166
+ sourceBuilder.currentRuntime);
167
+ };
168
+ useEffect(() => {
169
+ flowResult(sourceBuilder.loadProjects()).catch(store.application.alertUnhandledError);
170
+ }, [sourceBuilder, store.application]);
171
+ return (_jsx("div", { className: "flex h-full w-full", children: _jsxs("div", { className: "m-3 flex w-full flex-col items-stretch gap-2 text-neutral-500", children: [_jsxs("div", { className: "query-setup__wizard__group", children: [_jsx("div", { className: "query-setup__wizard__group__title", children: "Project" }), _jsx(CustomSelectorInput, { className: "query-setup__wizard__selector", options: projectOptions, disabled: sourceBuilder.loadProjectsState.isInProgress ||
172
+ !projectOptions.length, isLoading: sourceBuilder.loadProjectsState.isInProgress, onChange: (option) => {
173
+ onProjectOptionChange(option).catch(store.application.alertUnhandledError);
174
+ }, value: selectedProjectOption, placeholder: projectSelectorPlaceholder, isClearable: true, escapeClearsValue: true })] }), _jsxs("div", { className: "query-setup__wizard__group", children: [_jsx("div", { className: "query-setup__wizard__group__title", children: "Version" }), _jsx(CustomSelectorInput, { className: "query-setup__wizard__selector", options: versionOptions, disabled: !sourceBuilder.currentProject ||
175
+ fetchSelectedProjectVersionsStatus.isInProgress ||
176
+ !versionOptions.length, isLoading: fetchSelectedProjectVersionsStatus.isInProgress, onChange: (option) => {
177
+ onVersionChange(option).catch(store.application.alertUnhandledError);
178
+ }, value: selectedVersionOption, placeholder: versionSelectorPlaceholder, isClearable: true, escapeClearsValue: true })] }), _jsxs("div", { className: "query-setup__wizard__group", children: [_jsx("div", { className: "query-setup__wizard__group__title", children: "Runtime" }), _jsx(CustomSelectorInput, { className: "query-setup__wizard__selector", options: runtimeOptions, disabled: !sourceBuilder.currentVersionId ||
179
+ fetchSelectedVersionRuntimesStatus.isInProgress ||
180
+ !versionOptions.length, isLoading: fetchSelectedVersionRuntimesStatus.isInProgress, onChange: (option) => {
181
+ onRuntimeChange(option);
182
+ }, value: selectedRuntimeOption, placeholder: runtimeSelectorPlaceholder, isClearable: true, escapeClearsValue: true })] }), _jsxs("div", { className: "query-setup__wizard__group", children: [_jsx("div", { className: "query-setup__wizard__group__title", children: "Mapping (optional)" }), _jsx(CustomSelectorInput, { className: "query-setup__wizard__selector", options: mappingOptions, disabled: !sourceBuilder.currentVersionId ||
183
+ fetchSelectedVersionMappingsStatus.isInProgress ||
184
+ !versionOptions.length, isLoading: fetchSelectedVersionMappingsStatus.isInProgress, onChange: (option) => {
185
+ onMappingChange(option);
186
+ }, value: selectedMappingOption, placeholder: mappingSelectorPlaceholder, isClearable: true, escapeClearsValue: true })] }), _jsxs("div", { className: "query-setup__wizard__group", children: [_jsx("div", { className: "query-setup__wizard__group__title", children: "Query" }), _jsx("div", { className: "mt-2 h-40 w-full", style: {
187
+ border: '2px solid #e5e7eb',
188
+ padding: '5px',
189
+ borderRadius: '5px',
190
+ position: 'relative',
191
+ backgroundColor: allowQueryEditing() ? '#ffffff' : '#f2f2f2',
192
+ }, children: allowQueryEditing() ? (_jsx(DataCubeCodeEditor, { state: sourceBuilder.codeEditorState })) : (_jsx("div", { children: "No runtime selected " })) }), sourceBuilder.codeEditorState.compilationError ? (_jsxs("div", { className: "flex h-full w-full flex-shrink-0 text-sm", style: { color: 'red' }, children: [_jsx(WarningIcon, {}), "Compilation Error: Ensure TDS is returned and all class names are correct"] })) : sourceBuilder.queryCompileState.isInProgress ? (_jsx("div", { className: "flex h-full w-full flex-shrink-0 text-sm", children: "Compiling query..." })) : null] })] }) }));
20
193
  });
21
194
  //# sourceMappingURL=AdhocQueryDataCubeSourceBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdhocQueryDataCubeSourceBuilder.js","sourceRoot":"","sources":["../../../../src/components/builder/source/AdhocQueryDataCubeSourceBuilder.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,MAAM,CAAC,MAAM,+BAA+B,GAAG,QAAQ,CACrD,CAAC,KAA8D,EAAE,EAAE;IACjE,OAAO,CACL,cAAK,SAAS,EAAC,wBAAwB,YACrC,cAAK,SAAS,EAAC,wCAAwC,4CAEjD,GACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"AdhocQueryDataCubeSourceBuilder.js","sourceRoot":"","sources":["../../../../src/components/builder/source/AdhocQueryDataCubeSourceBuilder.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeSourceLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/source/LegendDataCubeSourceLoader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mEAAmE,CAAC;AAGzH,eAAO,MAAM,0BAA0B,WAC7B;IAAE,KAAK,EAAE,+BAA+B,CAAA;CAAE;;CAwEnD,CAAC;AAEF,eAAO,MAAM,wCAAwC;;CASnD,CAAC"}
1
+ {"version":3,"file":"LegendDataCubeSourceLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/source/LegendDataCubeSourceLoader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mEAAmE,CAAC;AAGzH,eAAO,MAAM,0BAA0B,WAC7B;IAAE,KAAK,EAAE,+BAA+B,CAAA;CAAE;;CAwFnD,CAAC;AAEF,eAAO,MAAM,wCAAwC;;CASnD,CAAC"}
@@ -15,7 +15,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
15
15
  * limitations under the License.
16
16
  */
17
17
  import { observer } from 'mobx-react-lite';
18
- import { FormButton } from '@finos/legend-data-cube';
18
+ import { FormButton, FormDropdownMenuTrigger } from '@finos/legend-data-cube';
19
19
  import { useLegendDataCubeBuilderStore } from '../LegendDataCubeBuilderStoreProvider.js';
20
20
  import { LocalFileDataCubeSourceLoaderState } from '../../../stores/builder/source/LocalFileDataCubeSourceLoaderState.js';
21
21
  import { LocalFileDataCubePartialSourceLoader } from './LocalFileDataCubeSourceLoader.js';
@@ -31,7 +31,10 @@ export const LegendDataCubeSourceLoader = observer((props) => {
31
31
  includeSeconds: true,
32
32
  addSuffix: true,
33
33
  })
34
- : '(unknown)' })] }), _jsxs("div", { className: "flex", children: [_jsx(DataCubeIcon.User, { className: "text-sm text-neutral-500" }), _jsx("div", { className: "ml-1 text-sm text-neutral-500", children: persistentDataCube.owner })] })] })] }) }), _jsx("div", { className: "flex h-10 w-full items-center", children: _jsxs("div", { className: "flex h-full w-32 flex-shrink-0 items-center text-sm", children: ["Source Type:", _jsx("div", { className: "pl-3", children: state.label })] }) }), _jsx("div", { className: "h-[calc(100%_-_41px)] w-full overflow-auto", children: state instanceof LocalFileDataCubeSourceLoaderState && (_jsx(LocalFileDataCubePartialSourceLoader, { partialSourceLoader: state })) })] }) }) }), _jsxs("div", { className: "flex h-10 items-center justify-end px-2", children: [_jsx(FormButton, { onClick: state.display.onClose, children: "Cancel" }), _jsx(FormButton, { className: "ml-2", disabled: !state.isValid || state.finalizeState.isInProgress, onClick: () => {
34
+ : '(unknown)' })] }), _jsxs("div", { className: "flex", children: [_jsx(DataCubeIcon.User, { className: "text-sm text-neutral-500" }), _jsx("div", { className: "ml-1 text-sm text-neutral-500", children: persistentDataCube.owner })] })] })] }) }), _jsx("div", { className: "mt-2 h-[1px] w-full bg-neutral-200" }), _jsxs("div", { className: "flex h-10 w-full items-center py-2", children: [_jsx("div", { className: "flex h-full w-32 flex-shrink-0 items-center text-sm", children: "Source Type:" }), _jsx(FormDropdownMenuTrigger, { className: "w-80", onClick: () => { }, open: false, disabled: true, children: _jsx("div", { className: "flex items-center", children: state.label }) })] }), _jsx("div", { className: "mb-2 h-[1px] w-full bg-neutral-200" }), _jsx("div", { className: "h-[calc(100%_-_98px)] w-full overflow-auto", children: state instanceof LocalFileDataCubeSourceLoaderState && (_jsx(LocalFileDataCubePartialSourceLoader, { partialSourceLoader: state })) })] }) }) }), _jsxs("div", { className: "flex h-10 items-center justify-end px-2", children: [_jsx(FormButton, { onClick: () => {
35
+ state.display.onClose?.();
36
+ state.display.close();
37
+ }, children: "Cancel" }), _jsx(FormButton, { className: "ml-2", disabled: !state.isValid || state.finalizeState.isInProgress, onClick: () => {
35
38
  state.finalize().catch((error) => {
36
39
  store.alertService.alertUnhandledError(error);
37
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeSourceLoader.js","sourceRoot":"","sources":["../../../../src/components/builder/source/LegendDataCubeSourceLoader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendDataCubeSourceLoader.js","sourceRoot":"","sources":["../../../../src/components/builder/source/LegendDataCubeSourceLoader.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalFileDataCubeSourceBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/source/LocalFileDataCubeSourceBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,uEAAuE,CAAC;AAIjI,eAAO,MAAM,8BAA8B,WACjC;IAAE,aAAa,EAAE,mCAAmC,CAAA;CAAE;;CAmC/D,CAAC"}
1
+ {"version":3,"file":"LocalFileDataCubeSourceBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/source/LocalFileDataCubeSourceBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,uEAAuE,CAAC;AAMjI,eAAO,MAAM,8BAA8B,WACjC;IAAE,aAAa,EAAE,mCAAmC,CAAA;CAAE;;CAuD/D,CAAC"}
@@ -17,12 +17,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  import { observer } from 'mobx-react-lite';
18
18
  import { AlertType, FormAlert, FormCodeEditor } from '@finos/legend-data-cube';
19
19
  import { CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
20
+ import { useLegendDataCubeBuilderStore } from '../LegendDataCubeBuilderStoreProvider.js';
21
+ import { useEffect } from 'react';
20
22
  export const LocalFileDataCubeSourceBuilder = observer((props) => {
21
23
  const { sourceBuilder } = props;
24
+ const store = useLegendDataCubeBuilderStore();
25
+ useEffect(() => {
26
+ sourceBuilder.reset();
27
+ }, [sourceBuilder]);
22
28
  return (_jsxs("div", { className: "h-full w-full p-2", children: [_jsx(FormAlert, { message: "Local file support is experimental", type: AlertType.WARNING, text: `Currently, support for local file comes with the following limitations:
23
29
  - Only CSV files are supported, but not all variants of CSV files are supported (required header row, comma delimiter, single escape quote).
24
30
  - Data from uploaded file will not be stored nor shared.` }), _jsx("div", { className: "mt-2 flex h-6 w-full items-center text-neutral-500", children: _jsx("input", { type: "file", onChange: (event) => {
25
- sourceBuilder.processFile(event.target.files?.[0]);
26
- }, className: "w-full" }) }), sourceBuilder.previewText !== undefined && (_jsx("div", { className: "mt-2 h-40", children: _jsx(FormCodeEditor, { value: sourceBuilder.previewText, language: CODE_EDITOR_LANGUAGE.TEXT, isReadOnly: true, hidePadding: true, title: "Data Preview" }) }))] }));
31
+ sourceBuilder
32
+ .processFile(event.target.files?.[0])
33
+ .catch((error) => store.alertService.alertUnhandledError(error));
34
+ }, className: "w-full" }) }), sourceBuilder.processState.hasFailed && (_jsx("div", { className: "mt-2 h-40", children: _jsx(FormCodeEditor, { value: `ERR: Failed to process file.`, language: CODE_EDITOR_LANGUAGE.TEXT, isReadOnly: true, hidePadding: true, hideActionBar: true }) })), sourceBuilder.previewText !== undefined && (_jsx("div", { className: "mt-2 h-40", children: _jsx(FormCodeEditor, { value: sourceBuilder.previewText, language: CODE_EDITOR_LANGUAGE.TEXT, isReadOnly: true, hidePadding: true, title: "Data Preview" }) }))] }));
27
35
  });
28
36
  //# sourceMappingURL=LocalFileDataCubeSourceBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalFileDataCubeSourceBuilder.js","sourceRoot":"","sources":["../../../../src/components/builder/source/LocalFileDataCubeSourceBuilder.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,CAAC,MAAM,8BAA8B,GAAG,QAAQ,CACpD,CAAC,KAA6D,EAAE,EAAE;IAChE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEhC,OAAO,CACL,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,SAAS,IACR,OAAO,EAAC,oCAAoC,EAC5C,IAAI,EAAE,SAAS,CAAC,OAAO,EACvB,IAAI,EAAE;;yDAEyC,GAC/C,EACF,cAAK,SAAS,EAAC,oDAAoD,YACjE,gBACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,CAAC,EACD,SAAS,EAAC,QAAQ,GAClB,GACE,EACL,aAAa,CAAC,WAAW,KAAK,SAAS,IAAI,CAC1C,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,cAAc,IACb,KAAK,EAAE,aAAa,CAAC,WAAW,EAChC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EACnC,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,IAAI,EACjB,KAAK,EAAC,cAAc,GACpB,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"LocalFileDataCubeSourceBuilder.js","sourceRoot":"","sources":["../../../../src/components/builder/source/LocalFileDataCubeSourceBuilder.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,CAAC,MAAM,8BAA8B,GAAG,QAAQ,CACpD,CAAC,KAA6D,EAAE,EAAE;IAChE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAChC,MAAM,KAAK,GAAG,6BAA6B,EAAE,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,SAAS,IACR,OAAO,EAAC,oCAAoC,EAC5C,IAAI,EAAE,SAAS,CAAC,OAAO,EACvB,IAAI,EAAE;;yDAEyC,GAC/C,EACF,cAAK,SAAS,EAAC,oDAAoD,YACjE,gBACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,aAAa;6BACV,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;6BACpC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACf,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAC9C,CAAC;oBACN,CAAC,EACD,SAAS,EAAC,QAAQ,GAClB,GACE,EACL,aAAa,CAAC,YAAY,CAAC,SAAS,IAAI,CACvC,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,cAAc,IACb,KAAK,EAAE,8BAA8B,EACrC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EACnC,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,IAAI,EACjB,aAAa,EAAE,IAAI,GACnB,GACE,CACP,EACA,aAAa,CAAC,WAAW,KAAK,SAAS,IAAI,CAC1C,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,cAAc,IACb,KAAK,EAAE,aAAa,CAAC,WAAW,EAChC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EACnC,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,IAAI,EACjB,KAAK,EAAC,cAAc,GACpB,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalFileDataCubeSourceLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/source/LocalFileDataCubeSourceLoader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,sEAAsE,CAAC;AAE/H,eAAO,MAAM,oCAAoC,WACvC;IAAE,mBAAmB,EAAE,kCAAkC,CAAA;CAAE;;CAmCpE,CAAC"}
1
+ {"version":3,"file":"LocalFileDataCubeSourceLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/source/LocalFileDataCubeSourceLoader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,sEAAsE,CAAC;AAI/H,eAAO,MAAM,oCAAoC,WACvC;IAAE,mBAAmB,EAAE,kCAAkC,CAAA;CAAE;;CAuDpE,CAAC"}
@@ -17,12 +17,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  import { observer } from 'mobx-react-lite';
18
18
  import { AlertType, FormAlert, FormCodeEditor } from '@finos/legend-data-cube';
19
19
  import { CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
20
+ import { useLegendDataCubeBuilderStore } from '../LegendDataCubeBuilderStoreProvider.js';
21
+ import { useEffect } from 'react';
20
22
  export const LocalFileDataCubePartialSourceLoader = observer((props) => {
21
23
  const { partialSourceLoader } = props;
24
+ const store = useLegendDataCubeBuilderStore();
25
+ useEffect(() => {
26
+ partialSourceLoader.reset();
27
+ }, [partialSourceLoader]);
22
28
  return (_jsxs("div", { className: "h-full w-full", children: [_jsx(FormAlert, { message: "Local file support is experimental", type: AlertType.WARNING, text: `Currently, support for local file comes with the following limitations:
23
29
  - Only CSV files are supported, but not all variants of CSV files are supported (required header row, comma delimiter, single escape quote).
24
30
  - Data from uploaded file will not be stored nor shared.` }), _jsx("div", { className: "mt-2 flex h-6 w-full items-center text-neutral-500", children: _jsx("input", { type: "file", onChange: (event) => {
25
- partialSourceLoader.processFile(event.target.files?.[0]);
26
- }, className: "w-full" }) }), partialSourceLoader.previewText !== undefined && (_jsx("div", { className: "mt-2 h-40", children: _jsx(FormCodeEditor, { value: partialSourceLoader.previewText, language: CODE_EDITOR_LANGUAGE.TEXT, isReadOnly: true, hidePadding: true, title: "Data Preview" }) }))] }));
31
+ partialSourceLoader
32
+ .processFile(event.target.files?.[0])
33
+ .catch((error) => store.alertService.alertUnhandledError(error));
34
+ }, className: "w-full" }) }), partialSourceLoader.processState.hasFailed && (_jsx("div", { className: "mt-2 h-40", children: _jsx(FormCodeEditor, { value: `ERR: Failed to process file.`, language: CODE_EDITOR_LANGUAGE.TEXT, isReadOnly: true, hidePadding: true, hideActionBar: true }) })), partialSourceLoader.previewText !== undefined && (_jsx("div", { className: "mt-2 h-40", children: _jsx(FormCodeEditor, { value: partialSourceLoader.previewText, language: CODE_EDITOR_LANGUAGE.TEXT, isReadOnly: true, hidePadding: true, title: "Data Preview" }) }))] }));
27
35
  });
28
36
  //# sourceMappingURL=LocalFileDataCubeSourceLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalFileDataCubeSourceLoader.js","sourceRoot":"","sources":["../../../../src/components/builder/source/LocalFileDataCubeSourceLoader.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,CAAC,MAAM,oCAAoC,GAAG,QAAQ,CAC1D,CAAC,KAAkE,EAAE,EAAE;IACrE,MAAM,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAEtC,OAAO,CACL,eAAK,SAAS,EAAC,eAAe,aAC5B,KAAC,SAAS,IACR,OAAO,EAAC,oCAAoC,EAC5C,IAAI,EAAE,SAAS,CAAC,OAAO,EACvB,IAAI,EAAE;;yDAEyC,GAC/C,EACF,cAAK,SAAS,EAAC,oDAAoD,YACjE,gBACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3D,CAAC,EACD,SAAS,EAAC,QAAQ,GAClB,GACE,EACL,mBAAmB,CAAC,WAAW,KAAK,SAAS,IAAI,CAChD,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,cAAc,IACb,KAAK,EAAE,mBAAmB,CAAC,WAAW,EACtC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EACnC,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,IAAI,EACjB,KAAK,EAAC,cAAc,GACpB,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"LocalFileDataCubeSourceLoader.js","sourceRoot":"","sources":["../../../../src/components/builder/source/LocalFileDataCubeSourceLoader.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,CAAC,MAAM,oCAAoC,GAAG,QAAQ,CAC1D,CAAC,KAAkE,EAAE,EAAE;IACrE,MAAM,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,6BAA6B,EAAE,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,eAAK,SAAS,EAAC,eAAe,aAC5B,KAAC,SAAS,IACR,OAAO,EAAC,oCAAoC,EAC5C,IAAI,EAAE,SAAS,CAAC,OAAO,EACvB,IAAI,EAAE;;yDAEyC,GAC/C,EACF,cAAK,SAAS,EAAC,oDAAoD,YACjE,gBACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,mBAAmB;6BAChB,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;6BACpC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACf,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAC9C,CAAC;oBACN,CAAC,EACD,SAAS,EAAC,QAAQ,GAClB,GACE,EACL,mBAAmB,CAAC,YAAY,CAAC,SAAS,IAAI,CAC7C,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,cAAc,IACb,KAAK,EAAE,8BAA8B,EACrC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EACnC,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,IAAI,EACjB,aAAa,EAAE,IAAI,GACnB,GACE,CACP,EACA,mBAAmB,CAAC,WAAW,KAAK,SAAS,IAAI,CAChD,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,cAAc,IACb,KAAK,EAAE,mBAAmB,CAAC,WAAW,EACtC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EACnC,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,IAAI,EACjB,KAAK,EAAC,cAAc,GACpB,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application-data-cube v0.3.4
1
+ /** @license @finos/legend-application-data-cube v0.3.6
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-application-data-cube",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "Legend DataCube application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { V1_Lambda, type V1_ValueSpecification, type V1_EngineServerClient, V1_PureGraphManager, TDSExecutionResult, V1_AppliedFunction } from '@finos/legend-graph';
17
- import { DataCubeEngine, type DataCubeSource, type CompletionItem, CachedDataCubeSource, type DataCubeExecutionOptions, type DataCubeCacheInitializationOptions } from '@finos/legend-data-cube';
16
+ import { V1_Lambda, type V1_ValueSpecification, type V1_EngineServerClient, V1_PureGraphManager, type V1_PureModelContext, TDSExecutionResult, V1_AppliedFunction } from '@finos/legend-graph';
17
+ import { DataCubeEngine, type CompletionItem, CachedDataCubeSource, type DataCubeExecutionOptions, type DataCubeCacheInitializationOptions, type DataCubeSource } from '@finos/legend-data-cube';
18
18
  import { LogEvent, type PlainObject } from '@finos/legend-shared';
19
19
  import type { LegendDataCubeApplicationStore } from './LegendDataCubeBaseStore.js';
20
20
  import { type DepotServerClient } from '@finos/legend-server-depot';
@@ -30,7 +30,7 @@ export declare class LegendDataCubeDataCubeEngine extends DataCubeEngine {
30
30
  processSource(value: PlainObject): Promise<DataCubeSource>;
31
31
  parseValueSpecification(code: string, returnSourceInformation?: boolean | undefined): Promise<V1_ValueSpecification>;
32
32
  getValueSpecificationCode(value: V1_ValueSpecification, pretty?: boolean | undefined): Promise<string>;
33
- getQueryTypeahead(code: string, baseQuery: V1_Lambda, source: DataCubeSource): Promise<CompletionItem[]>;
33
+ getQueryTypeahead(code: string, baseQuery: V1_Lambda, context: DataCubeSource | PlainObject): Promise<CompletionItem[]>;
34
34
  getQueryRelationReturnType(query: V1_Lambda, source: DataCubeSource): Promise<{
35
35
  columns: {
36
36
  name: string;
@@ -53,7 +53,12 @@ export declare class LegendDataCubeDataCubeEngine extends DataCubeEngine {
53
53
  initializeCache(source: DataCubeSource, options?: DataCubeCacheInitializationOptions | undefined): Promise<CachedDataCubeSource | undefined>;
54
54
  disposeCache(source: CachedDataCubeSource): Promise<void>;
55
55
  private _getQueryRelationType;
56
- private _getLambdaRelationType;
56
+ _getLambdaRelationType(lambda: PlainObject<V1_Lambda>, model: PlainObject<V1_PureModelContext>): Promise<{
57
+ columns: {
58
+ name: string;
59
+ type: string;
60
+ }[];
61
+ }>;
57
62
  private _runQuery;
58
63
  private _generateExecutionPlan;
59
64
  ingestLocalFileData(data: string, format: string, refId?: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeDataCubeEngine.d.ts","sourceRoot":"","sources":["../../src/stores/LegendDataCubeDataCubeEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendDataCubeDataCubeEngine.d.ts","sourceRoot":"","sources":["../../src/stores/LegendDataCubeDataCubeEngine.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,9 @@ export class LegendDataCubeDataCubeEngine extends DataCubeEngine {
48
48
  case ADHOC_QUERY_DATA_CUBE_SOURCE_TYPE: {
49
49
  const rawSource = RawAdhocQueryDataCubeSource.serialization.fromJson(value);
50
50
  const source = new AdhocQueryDataCubeSource();
51
+ if (rawSource.mapping) {
52
+ source.mapping = rawSource.mapping;
53
+ }
51
54
  source.runtime = rawSource.runtime;
52
55
  source.model = rawSource.model;
53
56
  source.query = await this.parseValueSpecification(rawSource.query, false);
@@ -188,7 +191,10 @@ export class LegendDataCubeDataCubeEngine extends DataCubeEngine {
188
191
  source.model = V1_serializePureModelContext(new V1_PureModelContextPointer(
189
192
  // TODO: remove as backend should handle undefined protocol input
190
193
  new V1_Protocol(V1_PureGraphManager.PURE_PROTOCOL_NAME, PureClientVersion.VX_X_X), new V1_LegendSDLC(queryInfo.groupId, queryInfo.artifactId, resolveVersion(queryInfo.versionId))));
191
- source.query = at(source.lambda.body, 0);
194
+ // If the lambda has multiple expressions, the source query should only be the final
195
+ // expression of the lambda. All previous expressions should be left untouched and will
196
+ // be prepended to the transformed query when it is executed.
197
+ source.query = at(source.lambda.body, source.lambda.body.length - 1);
192
198
  try {
193
199
  source.columns = (await this._getLambdaRelationType(this.serializeValueSpecification(source.lambda), source.model)).columns;
194
200
  }
@@ -251,28 +257,34 @@ export class LegendDataCubeDataCubeEngine extends DataCubeEngine {
251
257
  }
252
258
  // TODO: we could optimize this by synthesizing the base query from the source columns
253
259
  // instead of having to send the entire graph model
254
- async getQueryTypeahead(code, baseQuery, source) {
260
+ async getQueryTypeahead(code, baseQuery, context) {
255
261
  const baseQueryCode = await this.getValueSpecificationCode(baseQuery);
256
262
  let codeBlock = baseQueryCode + code;
257
263
  codeBlock = codeBlock.startsWith(LAMBDA_PIPE)
258
264
  ? codeBlock.substring(LAMBDA_PIPE.length)
259
265
  : codeBlock;
260
- if (source instanceof AdhocQueryDataCubeSource) {
266
+ if (context instanceof AdhocQueryDataCubeSource) {
261
267
  return (await this._engineServerClient.completeCode({
262
268
  codeBlock,
263
- model: source.model,
269
+ model: context.model,
264
270
  })).completions;
265
271
  }
266
- else if (source instanceof UserDefinedFunctionDataCubeSource) {
272
+ else if (context instanceof UserDefinedFunctionDataCubeSource) {
267
273
  return (await this._engineServerClient.completeCode({
268
274
  codeBlock,
269
- model: source.model,
275
+ model: context.model,
270
276
  })).completions;
271
277
  }
272
- else if (source instanceof LegendQueryDataCubeSource) {
278
+ else if (context instanceof LegendQueryDataCubeSource) {
273
279
  return (await this._engineServerClient.completeCode({
274
280
  codeBlock,
275
- model: source.model,
281
+ model: context.model,
282
+ })).completions;
283
+ }
284
+ else if (Object.getPrototypeOf(context) === Object.prototype) {
285
+ return (await this._engineServerClient.completeCode({
286
+ codeBlock,
287
+ model: context,
276
288
  })).completions;
277
289
  }
278
290
  throw new UnsupportedOperationError(`Can't get code completion for lambda with unsupported source`);
@@ -327,7 +339,16 @@ export class LegendDataCubeDataCubeEngine extends DataCubeEngine {
327
339
  }
328
340
  else if (source instanceof LegendQueryDataCubeSource) {
329
341
  query.parameters = source.lambda.parameters;
330
- query.body = [...source.letParameterValueSpec, ...query.body];
342
+ // If the source lambda has multiple expressions, we should prepend all but the
343
+ // last expression to the transformed query body (which came from the final
344
+ // expression of the source lambda).
345
+ query.body = [
346
+ ...source.letParameterValueSpec,
347
+ ...(source.lambda.body.length > 1
348
+ ? source.lambda.body.slice(0, -1)
349
+ : []),
350
+ ...query.body,
351
+ ];
331
352
  result = await this._runQuery(query, source.model, source.parameterValues, options);
332
353
  }
333
354
  else if (source instanceof CachedDataCubeSource) {
@@ -402,7 +423,10 @@ export class LegendDataCubeDataCubeEngine extends DataCubeEngine {
402
423
  }
403
424
  buildExecutionContext(source) {
404
425
  if (source instanceof AdhocQueryDataCubeSource) {
405
- return _function(DataCubeFunction.FROM, [_elementPtr(source.runtime)].filter(isNonNullable));
426
+ return _function(DataCubeFunction.FROM, [
427
+ source.mapping ? _elementPtr(source.mapping) : undefined,
428
+ _elementPtr(source.runtime),
429
+ ].filter(isNonNullable));
406
430
  }
407
431
  else if (source instanceof UserDefinedFunctionDataCubeSource) {
408
432
  return _function(DataCubeFunction.FROM, [_elementPtr(source.runtime)].filter(isNonNullable));