@finos/legend-application-studio 28.21.52 → 28.21.53
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.
- package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.js +2 -5
- package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.js.map +1 -1
- package/lib/components/editor/embedded-cube/EmbeddedCubeEditor.d.ts.map +1 -1
- package/lib/components/editor/embedded-cube/EmbeddedCubeEditor.js +6 -4
- package/lib/components/editor/embedded-cube/EmbeddedCubeEditor.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/embedded-cube/EmbeddedCubeState.d.ts +8 -3
- package/lib/stores/editor/embedded-cube/EmbeddedCubeState.d.ts.map +1 -1
- package/lib/stores/editor/embedded-cube/EmbeddedCubeState.js +23 -3
- package/lib/stores/editor/embedded-cube/EmbeddedCubeState.js.map +1 -1
- package/package.json +4 -4
- package/src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx +52 -55
- package/src/components/editor/embedded-cube/EmbeddedCubeEditor.tsx +8 -4
- package/src/stores/editor/embedded-cube/EmbeddedCubeState.ts +37 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IngestDefinitionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA4BH,OAAO,EAEL,2BAA2B,EAC5B,MAAM,mGAAmG,CAAC;AAiB3G,eAAO,MAAM,kBAAkB,WACrB;IAAE,2BAA2B,EAAE,2BAA2B,CAAA;CAAE;;CAmHrE,CAAC;AAEF,eAAO,MAAM,sBAAsB;;
|
|
1
|
+
{"version":3,"file":"IngestDefinitionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA4BH,OAAO,EAEL,2BAA2B,EAC5B,MAAM,mGAAmG,CAAC;AAiB3G,eAAO,MAAM,kBAAkB,WACrB;IAAE,2BAA2B,EAAE,2BAA2B,CAAA;CAAE;;CAmHrE,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAwOjC,CAAC"}
|
|
@@ -123,10 +123,7 @@ export const IngestDefinitionEditor = observer(() => {
|
|
|
123
123
|
.artifactGenerationState.isInProgress, children: [_jsx(SQLIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title", children: ingestDefinitionEditorState
|
|
124
124
|
.artifactGenerationState.isInProgress
|
|
125
125
|
? 'Generating...'
|
|
126
|
-
: 'View SQL' })] }) })), editorStore.
|
|
127
|
-
.NonProductionFeatureFlag && (
|
|
128
|
-
// sized to its label, longer than the other buttons'
|
|
129
|
-
_jsxs("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary !w-auto", children: [_jsxs("button", { className: "btn__dropdown-combo__label !w-auto", onClick: () => editorStore.embeddedCubeState.open(ingestDef), tabIndex: -1, disabled: ingestDefinitionEditorState.isReadOnly, title: "Build a materialized view of the project's ingest data sets in Legend Cube", children: [_jsx(CubeIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title whitespace-nowrap pr-2", children: "Create MatView" })] }), materializedViews.length > 0 && (_jsx(ControlledDropdownMenu, { className: "btn__dropdown-combo__dropdown-btn", title: "Edit a materialized view with Cube", disabled: ingestDefinitionEditorState.isReadOnly, content: _jsx(MenuContent, { children: materializedViews.map(({ name }) => (_jsx(MenuContentItem, { className: "btn__dropdown-combo__option", onClick: () => editorStore.embeddedCubeState.open(ingestDef, name), children: `Edit MatView ${name}` }, name))) }), menuProps: {
|
|
126
|
+
: 'View SQL' })] }) })), _jsxs("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary !w-auto", children: [_jsxs("button", { className: "btn__dropdown-combo__label !w-auto", onClick: () => editorStore.embeddedCubeState.open(ingestDef), tabIndex: -1, disabled: ingestDefinitionEditorState.isReadOnly, title: "Build a materialized view of the project's ingest data sets in Legend Cube", children: [_jsx(CubeIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title whitespace-nowrap pr-2", children: "Create MatView" })] }), materializedViews.length > 0 && (_jsx(ControlledDropdownMenu, { className: "btn__dropdown-combo__dropdown-btn", title: "Edit a materialized view with Cube", disabled: ingestDefinitionEditorState.isReadOnly, content: _jsx(MenuContent, { children: materializedViews.map(({ name }) => (_jsx(MenuContentItem, { className: "btn__dropdown-combo__option", onClick: () => editorStore.embeddedCubeState.open(ingestDef, name), children: `Edit MatView ${name}` }, name))) }), menuProps: {
|
|
130
127
|
anchorOrigin: {
|
|
131
128
|
vertical: 'bottom',
|
|
132
129
|
horizontal: 'right',
|
|
@@ -135,7 +132,7 @@ export const IngestDefinitionEditor = observer(() => {
|
|
|
135
132
|
vertical: 'top',
|
|
136
133
|
horizontal: 'right',
|
|
137
134
|
},
|
|
138
|
-
}, children: _jsx(CaretDownIcon, {}) }))] })
|
|
135
|
+
}, children: _jsx(CaretDownIcon, {}) }))] })] }) }) }), _jsx(PanelLoadingIndicator, { isLoading: ingestDefinitionEditorState.artifactGenerationState
|
|
139
136
|
.isInProgress ||
|
|
140
137
|
ingestDefinitionEditorState.lineageGenerationState
|
|
141
138
|
.isInProgress }), _jsx(PanelContent, { children: _jsx(CodeEditor, { inputValue: ingestDefinitionEditorState.textContent, isReadOnly: true, language: CODE_EDITOR_LANGUAGE.PURE }) }), _jsx(IngestLineageModal, { ingestDefinitionEditorState: ingestDefinitionEditorState }), _jsx(IngestionDefinitionArtifactViewer, { artifact: ingestDefinitionEditorState.ingestionArtifact, onClose: () => ingestDefinitionEditorState.setIngestionArtifact(undefined), darkMode: !editorStore.applicationStore.layoutService
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IngestDefinitionEditor.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"IngestDefinitionEditor.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedCubeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/editor/embedded-cube/EmbeddedCubeEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAC;AAGnG,eAAO,MAAM,qBAAqB;;;;CAIjC,CAAC;
|
|
1
|
+
{"version":3,"file":"EmbeddedCubeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/editor/embedded-cube/EmbeddedCubeEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAC;AAGnG,eAAO,MAAM,qBAAqB;;;;CAIjC,CAAC;AAuUF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,WACrB;IACN,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;;CAuEF,CAAC"}
|
|
@@ -35,8 +35,9 @@ const MaterializedViewClassification = observer((props) => {
|
|
|
35
35
|
return (_jsxs("label", { className: "flex flex-col gap-1 text-base", children: ["Data classification", classifications.length ? (_jsxs("select", { className: "input--dark h-8 rounded-sm px-2", "aria-label": "Data classification", value: sensitivity, onChange: (event) => setSensitivity(event.target.value), children: [_jsx("option", { value: "", disabled: true, children: "Pick a classification" }), classifications.map((classification) => (_jsx("option", { value: classification, children: classification }, classification)))] })) : (_jsx("input", { className: "input--dark h-8 rounded-sm px-2", "aria-label": "Data classification", placeholder: "Classification", spellCheck: false, value: sensitivity, onChange: (event) => setSensitivity(event.target.value) }))] }));
|
|
36
36
|
});
|
|
37
37
|
/**
|
|
38
|
-
* The view's primary key: none or some of the columns
|
|
39
|
-
* runs, kept in the order of the
|
|
38
|
+
* The view's primary key: none or some of the columns it can take, those of
|
|
39
|
+
* the step that runs but the milestoning ones, kept in the order of the
|
|
40
|
+
* columns
|
|
40
41
|
*/
|
|
41
42
|
const MaterializedViewPrimaryKey = ({ columns, primaryKey, setPrimaryKey }) => (_jsxs("fieldset", { className: "flex min-w-0 flex-col gap-1 text-base", children: [_jsx("legend", { children: "Primary key" }), _jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: "The columns that identify a row, if any" }), _jsx("ul", { className: "max-h-40 overflow-auto", "aria-label": "Primary key columns", children: columns.map((column) => (_jsx("li", { children: _jsxs("label", { className: "flex items-center gap-2", children: [_jsx("input", { type: "checkbox", checked: primaryKey.includes(column), onChange: () => setPrimaryKey(primaryKey.includes(column)
|
|
42
43
|
? primaryKey.filter((each) => each !== column)
|
|
@@ -52,8 +53,9 @@ const MaterializedViewDialog = observer((props) => {
|
|
|
52
53
|
const { embeddedCubeState, input, close } = props;
|
|
53
54
|
const { lambda, saveProblems } = input;
|
|
54
55
|
const saved = saveProblems ? embeddedCubeState.matViewDataSet : undefined;
|
|
55
|
-
// a view saved when Cube doesn't know the
|
|
56
|
-
|
|
56
|
+
// the columns the key can take; a view saved when Cube doesn't know the
|
|
57
|
+
// step's columns keeps its key
|
|
58
|
+
const columns = embeddedCubeState.getMaterializedViewKeyColumns(input.columns ?? saved?.primaryKey ?? []);
|
|
57
59
|
// as Cube's dialogs: the dialog follows the theme, and its primary button
|
|
58
60
|
// is an accent button in every theme (legend-art's light one is grey)
|
|
59
61
|
const darkMode = !embeddedCubeState.editorStore.applicationStore.layoutService
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedCubeEditor.js","sourceRoot":"","sources":["../../../../src/components/editor/embedded-cube/EmbeddedCubeEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,UAAU,EACV,UAAU,EACV,qBAAqB,GAEtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAoB,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AAEpG,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,uBAAuB;IAC/B,qBAAqB,EAAE,sCAAsC;IAC7D,sBAAsB,EAAE,uCAAuC;CAChE,CAAC;AAEF;;;GAGG;AACH,MAAM,8BAA8B,GAAG,QAAQ,CAC7C,CAAC,KAIA,EAAE,EAAE;IACH,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC;IAC9C,OAAO,CACL,iBAAO,SAAS,EAAC,+BAA+B,oCAE7C,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CACxB,kBACE,SAAS,EAAC,iCAAiC,gBAChC,qBAAqB,EAChC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAEvD,iBAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,sCAEtB,EACR,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CACvC,iBAA6B,KAAK,EAAE,cAAc,YAC/C,cAAc,IADJ,cAAc,CAElB,CACV,CAAC,IACK,CACV,CAAC,CAAC,CAAC,CACF,gBACE,SAAS,EAAC,iCAAiC,gBAChC,qBAAqB,EAChC,WAAW,EAAC,gBAAgB,EAC5B,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GACvD,CACH,IACK,CACT,CAAC;AACJ,CAAC,CACF,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"EmbeddedCubeEditor.js","sourceRoot":"","sources":["../../../../src/components/editor/embedded-cube/EmbeddedCubeEditor.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type
|
|
16
|
+
import { type IngestDefinition } from '@finos/legend-graph';
|
|
17
17
|
import type { PlainObject } from '@finos/legend-shared';
|
|
18
18
|
import { type IngestMaterializedView, type IngestMaterializedViewOptions } from '../../graph-modifier/DSL_Ingest_GraphModifierHelper.js';
|
|
19
19
|
import type { EditorStore } from '../EditorStore.js';
|
|
@@ -53,6 +53,11 @@ export declare class EmbeddedCubeState {
|
|
|
53
53
|
get classifications(): string[];
|
|
54
54
|
/** Why the classification can't be the new materialized view's; none when it can */
|
|
55
55
|
getMaterializedViewClassificationProblem(sensitivity: string): string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* The columns of the step that runs a materialized view's primary key can
|
|
58
|
+
* take: all but the milestoning columns a write mode adds
|
|
59
|
+
*/
|
|
60
|
+
getMaterializedViewKeyColumns(columns: readonly string[]): string[];
|
|
56
61
|
/**
|
|
57
62
|
* Adds the lambda to the ingest definition as a materialized view, with
|
|
58
63
|
* its primary key and the classification of its data, closes the cube and
|
|
@@ -64,8 +69,8 @@ export declare class EmbeddedCubeState {
|
|
|
64
69
|
* edit with the step that runs, given the step's columns (unknown, the key
|
|
65
70
|
* isn't checked): its data has no classification, as Studio wrote a view
|
|
66
71
|
* before it asked for one, or one that isn't among the classifications; or
|
|
67
|
-
* its primary key has a column the step no longer has
|
|
68
|
-
* can be saved as it is
|
|
72
|
+
* its primary key has a column the step no longer has, or a milestoning
|
|
73
|
+
* column. None when the view can be saved as it is
|
|
69
74
|
*/
|
|
70
75
|
getMaterializedViewSaveProblems(columns: readonly string[] | undefined): string[];
|
|
71
76
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedCubeState.d.ts","sourceRoot":"","sources":["../../../../src/stores/editor/embedded-cube/EmbeddedCubeState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"EmbeddedCubeState.d.ts","sourceRoot":"","sources":["../../../../src/stores/editor/embedded-cube/EmbeddedCubeState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAKL,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EACnC,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAerD;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,0EAA0E;IAC1E,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEhB,WAAW,EAAE,WAAW;IAcpC,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,8FAA8F;IAC9F,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtD,KAAK,IAAI,IAAI;IAKb,uEAAuE;IACvE,IAAI,cAAc,IAAI,sBAAsB,GAAG,SAAS,CAKvD;IAED,yEAAyE;IACzE,IAAI,aAAa,IAAI,WAAW,GAAG,SAAS,CAE3C;IAED,0EAA0E;IAC1E,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAahE;;;;OAIG;IACH,IAAI,eAAe,IAAI,MAAM,EAAE,CAK9B;IAED,oFAAoF;IACpF,wCAAwC,CACtC,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS;IAWrB;;;OAGG;IACH,6BAA6B,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAInE;;;;OAIG;IACH,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,6BAA6B,GACrC,IAAI;IAoBP;;;;;;;OAOG;IACH,+BAA+B,CAC7B,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACrC,MAAM,EAAE;IAuCX;;;;;OAKG;IACH,oBAAoB,CAClB,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,6BAA6B,GACtC,IAAI;IA2BP,2EAA2E;IAC3E,OAAO,CAAC,OAAO;CAehB"}
|
|
@@ -13,11 +13,18 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import { MILESTONE_INGEST_COLUMNS, } from '@finos/legend-graph';
|
|
16
17
|
import { action, computed, flowResult, makeObservable, observable } from 'mobx';
|
|
17
18
|
import { getIngestDataSetNames, getIngestMaterializedViews, ingestDefinition_addMaterializedView, ingestDefinition_updateMaterializedView, } from '../../graph-modifier/DSL_Ingest_GraphModifierHelper.js';
|
|
18
19
|
import { IngestDefinitionEditorState } from '../editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js';
|
|
19
20
|
/** A data set's name: a letter or an underscore, then letters, digits and underscores */
|
|
20
21
|
const DATA_SET_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/u;
|
|
22
|
+
/**
|
|
23
|
+
* The columns a batch-milestoned data set's write mode adds, `LAKE_IN_ID`,
|
|
24
|
+
* `LAKE_DIGEST` and the like, which a materialized view's primary key leaves
|
|
25
|
+
* out
|
|
26
|
+
*/
|
|
27
|
+
const MILESTONING_COLUMNS = Object.values(MILESTONE_INGEST_COLUMNS);
|
|
21
28
|
/**
|
|
22
29
|
* Legend Cube, opened full screen from an ingest definition's editor to build
|
|
23
30
|
* a materialized view of it from the project's ingest data sets (Create
|
|
@@ -104,6 +111,13 @@ export class EmbeddedCubeState {
|
|
|
104
111
|
? `${trimmed} isn't one of the data classifications.`
|
|
105
112
|
: undefined;
|
|
106
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* The columns of the step that runs a materialized view's primary key can
|
|
116
|
+
* take: all but the milestoning columns a write mode adds
|
|
117
|
+
*/
|
|
118
|
+
getMaterializedViewKeyColumns(columns) {
|
|
119
|
+
return columns.filter((column) => !MILESTONING_COLUMNS.includes(column));
|
|
120
|
+
}
|
|
107
121
|
/**
|
|
108
122
|
* Adds the lambda to the ingest definition as a materialized view, with
|
|
109
123
|
* its primary key and the classification of its data, closes the cube and
|
|
@@ -128,8 +142,8 @@ export class EmbeddedCubeState {
|
|
|
128
142
|
* edit with the step that runs, given the step's columns (unknown, the key
|
|
129
143
|
* isn't checked): its data has no classification, as Studio wrote a view
|
|
130
144
|
* before it asked for one, or one that isn't among the classifications; or
|
|
131
|
-
* its primary key has a column the step no longer has
|
|
132
|
-
* can be saved as it is
|
|
145
|
+
* its primary key has a column the step no longer has, or a milestoning
|
|
146
|
+
* column. None when the view can be saved as it is
|
|
133
147
|
*/
|
|
134
148
|
getMaterializedViewSaveProblems(columns) {
|
|
135
149
|
const view = this.matViewDataSet;
|
|
@@ -143,14 +157,20 @@ export class EmbeddedCubeState {
|
|
|
143
157
|
if (classificationProblem !== undefined) {
|
|
144
158
|
problems.push(classificationProblem);
|
|
145
159
|
}
|
|
160
|
+
const milestoning = view.primaryKey.filter((column) => MILESTONING_COLUMNS.includes(column));
|
|
146
161
|
const gone = columns
|
|
147
|
-
? view.primaryKey.filter((column) => !columns.includes(column))
|
|
162
|
+
? view.primaryKey.filter((column) => !columns.includes(column) && !milestoning.includes(column))
|
|
148
163
|
: [];
|
|
149
164
|
if (gone.length) {
|
|
150
165
|
problems.push(gone.length === 1
|
|
151
166
|
? `Its primary key's ${gone.join(', ')} is no longer a column of the cube.`
|
|
152
167
|
: `Its primary key's ${gone.join(', ')} are no longer columns of the cube.`);
|
|
153
168
|
}
|
|
169
|
+
if (milestoning.length) {
|
|
170
|
+
problems.push(milestoning.length === 1
|
|
171
|
+
? `Its primary key's ${milestoning.join(', ')} is a milestoning column, which a key leaves out.`
|
|
172
|
+
: `Its primary key's ${milestoning.join(', ')} are milestoning columns, which a key leaves out.`);
|
|
173
|
+
}
|
|
154
174
|
return problems;
|
|
155
175
|
}
|
|
156
176
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedCubeState.js","sourceRoot":"","sources":["../../../../src/stores/editor/embedded-cube/EmbeddedCubeState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"EmbeddedCubeState.js","sourceRoot":"","sources":["../../../../src/stores/editor/embedded-cube/EmbeddedCubeState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-studio",
|
|
3
|
-
"version": "28.21.
|
|
3
|
+
"version": "28.21.53",
|
|
4
4
|
"description": "Legend Studio application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"@finos/legend-application": "16.0.129",
|
|
51
51
|
"@finos/legend-art": "7.1.169",
|
|
52
52
|
"@finos/legend-code-editor": "2.0.211",
|
|
53
|
-
"@finos/legend-cube": "0.0.
|
|
54
|
-
"@finos/legend-cube-builder": "0.0.
|
|
53
|
+
"@finos/legend-cube": "0.0.6",
|
|
54
|
+
"@finos/legend-cube-builder": "0.0.6",
|
|
55
55
|
"@finos/legend-data-cube": "0.3.129",
|
|
56
|
-
"@finos/legend-extension-dsl-data-product": "0.2.
|
|
56
|
+
"@finos/legend-extension-dsl-data-product": "0.2.1",
|
|
57
57
|
"@finos/legend-extension-dsl-diagram": "8.1.275",
|
|
58
58
|
"@finos/legend-graph": "32.8.0",
|
|
59
59
|
"@finos/legend-lego": "2.0.231",
|
|
@@ -313,63 +313,60 @@ export const IngestDefinitionEditor = observer(() => {
|
|
|
313
313
|
</button>
|
|
314
314
|
</div>
|
|
315
315
|
)}
|
|
316
|
-
{
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
316
|
+
{/* sized to its label, longer than the other buttons' */}
|
|
317
|
+
<div className="btn__dropdown-combo btn__dropdown-combo--primary !w-auto">
|
|
318
|
+
<button
|
|
319
|
+
className="btn__dropdown-combo__label !w-auto"
|
|
320
|
+
onClick={() =>
|
|
321
|
+
editorStore.embeddedCubeState.open(ingestDef)
|
|
322
|
+
}
|
|
323
|
+
tabIndex={-1}
|
|
324
|
+
disabled={ingestDefinitionEditorState.isReadOnly}
|
|
325
|
+
title="Build a materialized view of the project's ingest data sets in Legend Cube"
|
|
326
|
+
>
|
|
327
|
+
<CubeIcon className="btn__dropdown-combo__label__icon" />
|
|
328
|
+
<div className="btn__dropdown-combo__label__title whitespace-nowrap pr-2">
|
|
329
|
+
Create MatView
|
|
330
|
+
</div>
|
|
331
|
+
</button>
|
|
332
|
+
{materializedViews.length > 0 && (
|
|
333
|
+
<ControlledDropdownMenu
|
|
334
|
+
className="btn__dropdown-combo__dropdown-btn"
|
|
335
|
+
title="Edit a materialized view with Cube"
|
|
326
336
|
disabled={ingestDefinitionEditorState.isReadOnly}
|
|
327
|
-
|
|
337
|
+
content={
|
|
338
|
+
<MenuContent>
|
|
339
|
+
{materializedViews.map(({ name }) => (
|
|
340
|
+
<MenuContentItem
|
|
341
|
+
key={name}
|
|
342
|
+
className="btn__dropdown-combo__option"
|
|
343
|
+
onClick={() =>
|
|
344
|
+
editorStore.embeddedCubeState.open(
|
|
345
|
+
ingestDef,
|
|
346
|
+
name,
|
|
347
|
+
)
|
|
348
|
+
}
|
|
349
|
+
>
|
|
350
|
+
{`Edit MatView ${name}`}
|
|
351
|
+
</MenuContentItem>
|
|
352
|
+
))}
|
|
353
|
+
</MenuContent>
|
|
354
|
+
}
|
|
355
|
+
menuProps={{
|
|
356
|
+
anchorOrigin: {
|
|
357
|
+
vertical: 'bottom',
|
|
358
|
+
horizontal: 'right',
|
|
359
|
+
},
|
|
360
|
+
transformOrigin: {
|
|
361
|
+
vertical: 'top',
|
|
362
|
+
horizontal: 'right',
|
|
363
|
+
},
|
|
364
|
+
}}
|
|
328
365
|
>
|
|
329
|
-
<
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
</button>
|
|
334
|
-
{materializedViews.length > 0 && (
|
|
335
|
-
<ControlledDropdownMenu
|
|
336
|
-
className="btn__dropdown-combo__dropdown-btn"
|
|
337
|
-
title="Edit a materialized view with Cube"
|
|
338
|
-
disabled={ingestDefinitionEditorState.isReadOnly}
|
|
339
|
-
content={
|
|
340
|
-
<MenuContent>
|
|
341
|
-
{materializedViews.map(({ name }) => (
|
|
342
|
-
<MenuContentItem
|
|
343
|
-
key={name}
|
|
344
|
-
className="btn__dropdown-combo__option"
|
|
345
|
-
onClick={() =>
|
|
346
|
-
editorStore.embeddedCubeState.open(
|
|
347
|
-
ingestDef,
|
|
348
|
-
name,
|
|
349
|
-
)
|
|
350
|
-
}
|
|
351
|
-
>
|
|
352
|
-
{`Edit MatView ${name}`}
|
|
353
|
-
</MenuContentItem>
|
|
354
|
-
))}
|
|
355
|
-
</MenuContent>
|
|
356
|
-
}
|
|
357
|
-
menuProps={{
|
|
358
|
-
anchorOrigin: {
|
|
359
|
-
vertical: 'bottom',
|
|
360
|
-
horizontal: 'right',
|
|
361
|
-
},
|
|
362
|
-
transformOrigin: {
|
|
363
|
-
vertical: 'top',
|
|
364
|
-
horizontal: 'right',
|
|
365
|
-
},
|
|
366
|
-
}}
|
|
367
|
-
>
|
|
368
|
-
<CaretDownIcon />
|
|
369
|
-
</ControlledDropdownMenu>
|
|
370
|
-
)}
|
|
371
|
-
</div>
|
|
372
|
-
)}
|
|
366
|
+
<CaretDownIcon />
|
|
367
|
+
</ControlledDropdownMenu>
|
|
368
|
+
)}
|
|
369
|
+
</div>
|
|
373
370
|
</div>
|
|
374
371
|
</PanelHeaderActions>
|
|
375
372
|
</PanelHeader>
|
|
@@ -90,8 +90,9 @@ const MaterializedViewClassification = observer(
|
|
|
90
90
|
);
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
-
* The view's primary key: none or some of the columns
|
|
94
|
-
* runs, kept in the order of the
|
|
93
|
+
* The view's primary key: none or some of the columns it can take, those of
|
|
94
|
+
* the step that runs but the milestoning ones, kept in the order of the
|
|
95
|
+
* columns
|
|
95
96
|
*/
|
|
96
97
|
const MaterializedViewPrimaryKey: React.FC<{
|
|
97
98
|
columns: readonly string[];
|
|
@@ -154,8 +155,11 @@ const MaterializedViewDialog = observer(
|
|
|
154
155
|
const { embeddedCubeState, input, close } = props;
|
|
155
156
|
const { lambda, saveProblems } = input;
|
|
156
157
|
const saved = saveProblems ? embeddedCubeState.matViewDataSet : undefined;
|
|
157
|
-
// a view saved when Cube doesn't know the
|
|
158
|
-
|
|
158
|
+
// the columns the key can take; a view saved when Cube doesn't know the
|
|
159
|
+
// step's columns keeps its key
|
|
160
|
+
const columns = embeddedCubeState.getMaterializedViewKeyColumns(
|
|
161
|
+
input.columns ?? saved?.primaryKey ?? [],
|
|
162
|
+
);
|
|
159
163
|
// as Cube's dialogs: the dialog follows the theme, and its primary button
|
|
160
164
|
// is an accent button in every theme (legend-art's light one is grey)
|
|
161
165
|
const darkMode =
|
|
@@ -14,7 +14,10 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import
|
|
17
|
+
import {
|
|
18
|
+
MILESTONE_INGEST_COLUMNS,
|
|
19
|
+
type IngestDefinition,
|
|
20
|
+
} from '@finos/legend-graph';
|
|
18
21
|
import type { PlainObject } from '@finos/legend-shared';
|
|
19
22
|
import { action, computed, flowResult, makeObservable, observable } from 'mobx';
|
|
20
23
|
import {
|
|
@@ -31,6 +34,15 @@ import { IngestDefinitionEditorState } from '../editor-state/element-editor-stat
|
|
|
31
34
|
/** A data set's name: a letter or an underscore, then letters, digits and underscores */
|
|
32
35
|
const DATA_SET_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/u;
|
|
33
36
|
|
|
37
|
+
/**
|
|
38
|
+
* The columns a batch-milestoned data set's write mode adds, `LAKE_IN_ID`,
|
|
39
|
+
* `LAKE_DIGEST` and the like, which a materialized view's primary key leaves
|
|
40
|
+
* out
|
|
41
|
+
*/
|
|
42
|
+
const MILESTONING_COLUMNS: readonly string[] = Object.values(
|
|
43
|
+
MILESTONE_INGEST_COLUMNS,
|
|
44
|
+
);
|
|
45
|
+
|
|
34
46
|
/**
|
|
35
47
|
* Legend Cube, opened full screen from an ingest definition's editor to build
|
|
36
48
|
* a materialized view of it from the project's ingest data sets (Create
|
|
@@ -131,6 +143,14 @@ export class EmbeddedCubeState {
|
|
|
131
143
|
: undefined;
|
|
132
144
|
}
|
|
133
145
|
|
|
146
|
+
/**
|
|
147
|
+
* The columns of the step that runs a materialized view's primary key can
|
|
148
|
+
* take: all but the milestoning columns a write mode adds
|
|
149
|
+
*/
|
|
150
|
+
getMaterializedViewKeyColumns(columns: readonly string[]): string[] {
|
|
151
|
+
return columns.filter((column) => !MILESTONING_COLUMNS.includes(column));
|
|
152
|
+
}
|
|
153
|
+
|
|
134
154
|
/**
|
|
135
155
|
* Adds the lambda to the ingest definition as a materialized view, with
|
|
136
156
|
* its primary key and the classification of its data, closes the cube and
|
|
@@ -165,8 +185,8 @@ export class EmbeddedCubeState {
|
|
|
165
185
|
* edit with the step that runs, given the step's columns (unknown, the key
|
|
166
186
|
* isn't checked): its data has no classification, as Studio wrote a view
|
|
167
187
|
* before it asked for one, or one that isn't among the classifications; or
|
|
168
|
-
* its primary key has a column the step no longer has
|
|
169
|
-
* can be saved as it is
|
|
188
|
+
* its primary key has a column the step no longer has, or a milestoning
|
|
189
|
+
* column. None when the view can be saved as it is
|
|
170
190
|
*/
|
|
171
191
|
getMaterializedViewSaveProblems(
|
|
172
192
|
columns: readonly string[] | undefined,
|
|
@@ -183,8 +203,14 @@ export class EmbeddedCubeState {
|
|
|
183
203
|
if (classificationProblem !== undefined) {
|
|
184
204
|
problems.push(classificationProblem);
|
|
185
205
|
}
|
|
206
|
+
const milestoning = view.primaryKey.filter((column) =>
|
|
207
|
+
MILESTONING_COLUMNS.includes(column),
|
|
208
|
+
);
|
|
186
209
|
const gone = columns
|
|
187
|
-
? view.primaryKey.filter(
|
|
210
|
+
? view.primaryKey.filter(
|
|
211
|
+
(column) =>
|
|
212
|
+
!columns.includes(column) && !milestoning.includes(column),
|
|
213
|
+
)
|
|
188
214
|
: [];
|
|
189
215
|
if (gone.length) {
|
|
190
216
|
problems.push(
|
|
@@ -193,6 +219,13 @@ export class EmbeddedCubeState {
|
|
|
193
219
|
: `Its primary key's ${gone.join(', ')} are no longer columns of the cube.`,
|
|
194
220
|
);
|
|
195
221
|
}
|
|
222
|
+
if (milestoning.length) {
|
|
223
|
+
problems.push(
|
|
224
|
+
milestoning.length === 1
|
|
225
|
+
? `Its primary key's ${milestoning.join(', ')} is a milestoning column, which a key leaves out.`
|
|
226
|
+
: `Its primary key's ${milestoning.join(', ')} are milestoning columns, which a key leaves out.`,
|
|
227
|
+
);
|
|
228
|
+
}
|
|
196
229
|
return problems;
|
|
197
230
|
}
|
|
198
231
|
|