@finos/legend-application-studio 28.20.0 → 28.21.0

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 (61) hide show
  1. package/lib/__lib__/LegendStudioUserDataHelper.d.ts +4 -1
  2. package/lib/__lib__/LegendStudioUserDataHelper.d.ts.map +1 -1
  3. package/lib/__lib__/LegendStudioUserDataHelper.js +18 -0
  4. package/lib/__lib__/LegendStudioUserDataHelper.js.map +1 -1
  5. package/lib/components/editor/editor-group/EditorGroup.d.ts.map +1 -1
  6. package/lib/components/editor/editor-group/EditorGroup.js +5 -0
  7. package/lib/components/editor/editor-group/EditorGroup.js.map +1 -1
  8. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts.map +1 -1
  9. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js +13 -44
  10. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js.map +1 -1
  11. package/lib/components/editor/editor-group/database-editor/DatabaseAnnotationDisplay.d.ts +26 -0
  12. package/lib/components/editor/editor-group/database-editor/DatabaseAnnotationDisplay.d.ts.map +1 -0
  13. package/lib/components/editor/editor-group/database-editor/DatabaseAnnotationDisplay.js +101 -0
  14. package/lib/components/editor/editor-group/database-editor/DatabaseAnnotationDisplay.js.map +1 -0
  15. package/lib/components/editor/editor-group/database-editor/DatabaseDiagramCanvas.d.ts +23 -0
  16. package/lib/components/editor/editor-group/database-editor/DatabaseDiagramCanvas.d.ts.map +1 -0
  17. package/lib/components/editor/editor-group/database-editor/DatabaseDiagramCanvas.js +434 -0
  18. package/lib/components/editor/editor-group/database-editor/DatabaseDiagramCanvas.js.map +1 -0
  19. package/lib/components/editor/editor-group/database-editor/DatabaseDiagramHelper.d.ts +242 -0
  20. package/lib/components/editor/editor-group/database-editor/DatabaseDiagramHelper.d.ts.map +1 -0
  21. package/lib/components/editor/editor-group/database-editor/DatabaseDiagramHelper.js +371 -0
  22. package/lib/components/editor/editor-group/database-editor/DatabaseDiagramHelper.js.map +1 -0
  23. package/lib/components/editor/editor-group/database-editor/DatabaseEditor.d.ts +29 -0
  24. package/lib/components/editor/editor-group/database-editor/DatabaseEditor.d.ts.map +1 -0
  25. package/lib/components/editor/editor-group/database-editor/DatabaseEditor.js +78 -0
  26. package/lib/components/editor/editor-group/database-editor/DatabaseEditor.js.map +1 -0
  27. package/lib/components/editor/editor-group/database-editor/DatabaseSchemaTree.d.ts +30 -0
  28. package/lib/components/editor/editor-group/database-editor/DatabaseSchemaTree.d.ts.map +1 -0
  29. package/lib/components/editor/editor-group/database-editor/DatabaseSchemaTree.js +331 -0
  30. package/lib/components/editor/editor-group/database-editor/DatabaseSchemaTree.js.map +1 -0
  31. package/lib/components/editor/editor-group/database-editor/DatabaseTableNode.d.ts +104 -0
  32. package/lib/components/editor/editor-group/database-editor/DatabaseTableNode.d.ts.map +1 -0
  33. package/lib/components/editor/editor-group/database-editor/DatabaseTableNode.js +151 -0
  34. package/lib/components/editor/editor-group/database-editor/DatabaseTableNode.js.map +1 -0
  35. package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.d.ts.map +1 -1
  36. package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.js +3 -78
  37. package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.js.map +1 -1
  38. package/lib/index.css +2 -2
  39. package/lib/index.css.map +1 -1
  40. package/lib/package.json +4 -1
  41. package/lib/stores/editor/EditorTabManagerState.d.ts.map +1 -1
  42. package/lib/stores/editor/EditorTabManagerState.js +5 -3
  43. package/lib/stores/editor/EditorTabManagerState.js.map +1 -1
  44. package/lib/stores/editor/editor-state/element-editor-state/DatabaseEditorState.d.ts +252 -0
  45. package/lib/stores/editor/editor-state/element-editor-state/DatabaseEditorState.d.ts.map +1 -0
  46. package/lib/stores/editor/editor-state/element-editor-state/DatabaseEditorState.js +755 -0
  47. package/lib/stores/editor/editor-state/element-editor-state/DatabaseEditorState.js.map +1 -0
  48. package/package.json +12 -9
  49. package/src/__lib__/LegendStudioUserDataHelper.ts +30 -0
  50. package/src/components/editor/editor-group/EditorGroup.tsx +4 -0
  51. package/src/components/editor/editor-group/dataProduct/DataProductEditor.tsx +0 -52
  52. package/src/components/editor/editor-group/database-editor/DatabaseAnnotationDisplay.tsx +200 -0
  53. package/src/components/editor/editor-group/database-editor/DatabaseDiagramCanvas.tsx +701 -0
  54. package/src/components/editor/editor-group/database-editor/DatabaseDiagramHelper.ts +555 -0
  55. package/src/components/editor/editor-group/database-editor/DatabaseEditor.tsx +246 -0
  56. package/src/components/editor/editor-group/database-editor/DatabaseSchemaTree.tsx +1053 -0
  57. package/src/components/editor/editor-group/database-editor/DatabaseTableNode.tsx +465 -0
  58. package/src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx +2 -242
  59. package/src/stores/editor/EditorTabManagerState.ts +4 -5
  60. package/src/stores/editor/editor-state/element-editor-state/DatabaseEditorState.ts +938 -0
  61. package/tsconfig.json +7 -0
@@ -0,0 +1,104 @@
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 NodeProps } from '@xyflow/react';
17
+ import type { Column, Table, View } from '@finos/legend-graph';
18
+ /**
19
+ * Discriminator for the two relation kinds the canvas renders. Drives icon
20
+ * choice, column-row content (type vs. formula), and the SCSS color tint.
21
+ */
22
+ export type DatabaseTableNodeKind = 'table' | 'view';
23
+ export interface DatabaseTableNodeData extends Record<string, unknown> {
24
+ /** The underlying Table or View — narrow with `kind` before accessing
25
+ * kind-specific fields like `Table.primaryKey` or `View.columnMappings`. */
26
+ relation: Table | View;
27
+ kind: DatabaseTableNodeKind;
28
+ schemaName: string;
29
+ /** True when THIS relation is the currently selected one (blue ring). */
30
+ isSelected: boolean;
31
+ /** True when THIS relation is one of the two endpoints of the currently
32
+ * selected join (yellow ring — visually distinct from blue selection). */
33
+ isJoinEndpoint: boolean;
34
+ /** Columns that participate in any join in the database. Used to tint
35
+ * table columns in blue ("FK-like"). Doesn't apply to views. */
36
+ fkColumns: Set<Column>;
37
+ /** Column currently focused via the side-panel. Drives the single-row
38
+ * highlight inside the matching table node. Tables only — views use
39
+ * `selectedViewColumnName` since their "columns" are mapping names. */
40
+ selectedColumn: Column | undefined;
41
+ /** Name of the view column-mapping currently focused via the side panel.
42
+ * Mirrors `selectedColumn` but for views, where mappings don't have
43
+ * `Column` instances. Always `undefined` for table-kind nodes. */
44
+ selectedViewColumnName: string | undefined;
45
+ /**
46
+ * Lookup table for view-column Pure-code formulas, keyed by
47
+ * `<schema>.<view>.<column>`. Forwarded from the editor state via the
48
+ * canvas. Empty until `loadViewColumnFormulas` resolves; consumers fall
49
+ * back to a static placeholder per `resolveViewColumnFormula`. Empty for
50
+ * table-kind nodes (we still pass it for prop-shape stability).
51
+ */
52
+ viewColumnFormulas: ReadonlyMap<string, string>;
53
+ /**
54
+ * Lookup table for view groupBy Pure-code expressions, keyed by
55
+ * `<schema>.<view>.groupBy[<index>]`. Forwarded from the editor state
56
+ * via the canvas alongside `viewColumnFormulas`; same lazy-load story
57
+ * with a separate static placeholder per `resolveViewGroupByFormula`.
58
+ * Empty for table-kind nodes and for views with no groupBy.
59
+ */
60
+ viewGroupByFormulas: ReadonlyMap<string, string>;
61
+ }
62
+ /**
63
+ * View-only React Flow node representing a single relation (Table or View).
64
+ *
65
+ * Layout: header (icon + relation name + schema badge + optional VIEW tag) +
66
+ * a list of column rows. Each row is a fixed-height grid:
67
+ * - Tables: [PK key icon | column name | column type]
68
+ * - Views: [bullet | column name | formula placeholder]
69
+ *
70
+ * Two invisible Handles (left/right) let React Flow route edges into either
71
+ * side of the box without committing to a specific column anchor.
72
+ */
73
+ export declare const DatabaseTableNode: ((props: NodeProps & {
74
+ data: DatabaseTableNodeData;
75
+ }) => import("react/jsx-runtime").JSX.Element) & {
76
+ displayName: string;
77
+ };
78
+ /**
79
+ * Data attached to the placeholder node that stands in for a relation that
80
+ * lives in another database (cross-database join endpoint). Rendered
81
+ * smaller and visually distinct so users can tell at a glance that the
82
+ * actual relation isn't part of this database's schema tree.
83
+ */
84
+ export interface DatabaseForeignRelationStubNodeData extends Record<string, unknown> {
85
+ schemaName: string;
86
+ relationName: string;
87
+ /** Path of the database that actually owns the relation. Surfaced in the
88
+ * tooltip so users know where to navigate to see the real definition. */
89
+ ownerPath: string;
90
+ isJoinEndpoint: boolean;
91
+ }
92
+ /**
93
+ * Compact stub rendered when a join references a relation in another
94
+ * database. Shows the schema/name plus the owning database path, with a
95
+ * dashed border to distinguish it from real in-database table nodes. Two
96
+ * invisible Handles let React Flow attach edges to either side. Not
97
+ * selectable — the canvas swallows clicks on stubs.
98
+ */
99
+ export declare const DatabaseForeignRelationStubNode: ((props: NodeProps & {
100
+ data: DatabaseForeignRelationStubNodeData;
101
+ }) => import("react/jsx-runtime").JSX.Element) & {
102
+ displayName: string;
103
+ };
104
+ //# sourceMappingURL=DatabaseTableNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseTableNode.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/database-editor/DatabaseTableNode.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAUjE,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAW/D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,qBAAsB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpE;iFAC6E;IAC7E,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,UAAU,EAAE,OAAO,CAAC;IACpB;+EAC2E;IAC3E,cAAc,EAAE,OAAO,CAAC;IACxB;qEACiE;IACjE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB;;4EAEwE;IACxE,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;uEAEmE;IACnE,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C;;;;;;OAMG;IACH,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;;;;;;OAMG;IACH,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,WACpB,SAAS,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE;;CA+EpD,CAAC;AAmOF;;;;;GAKG;AACH,MAAM,WAAW,mCACf,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB;8EAC0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,WAClC,SAAS,GAAG;IAAE,IAAI,EAAE,mCAAmC,CAAA;CAAE;;CAuClE,CAAC"}
@@ -0,0 +1,151 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2020-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Handle, Position } from '@xyflow/react';
18
+ import { EyeIcon, KeyIcon, PURE_DatabaseIcon, PURE_DatabaseTableIcon, clsx, } from '@finos/legend-art';
19
+ import { observer } from 'mobx-react-lite';
20
+ import { getColumnTypeLabel, getTableColumns, isPrimaryKey, resolveViewColumnFormula, resolveViewGroupByFormula, summarizeMilestoning, } from './DatabaseDiagramHelper.js';
21
+ import { DatabaseAnnotationDisplay } from './DatabaseAnnotationDisplay.js';
22
+ /**
23
+ * View-only React Flow node representing a single relation (Table or View).
24
+ *
25
+ * Layout: header (icon + relation name + schema badge + optional VIEW tag) +
26
+ * a list of column rows. Each row is a fixed-height grid:
27
+ * - Tables: [PK key icon | column name | column type]
28
+ * - Views: [bullet | column name | formula placeholder]
29
+ *
30
+ * Two invisible Handles (left/right) let React Flow route edges into either
31
+ * side of the box without committing to a specific column anchor.
32
+ */
33
+ export const DatabaseTableNode = observer((props) => {
34
+ const { relation, kind, schemaName, isSelected, isJoinEndpoint, fkColumns, selectedColumn, selectedViewColumnName, viewColumnFormulas, viewGroupByFormulas, } = props.data;
35
+ const isViewKind = kind === 'view';
36
+ return (_jsxs("div", { className: clsx('database-diagram__table-node', {
37
+ 'database-diagram__table-node--selected': isSelected,
38
+ 'database-diagram__table-node--join-endpoint': isJoinEndpoint,
39
+ 'database-diagram__table-node--view': isViewKind,
40
+ }), children: [_jsx(Handle, { type: "target", position: Position.Left, className: "database-diagram__table-node__handle", isConnectable: false }), _jsx(Handle, { type: "source", position: Position.Right, className: "database-diagram__table-node__handle", isConnectable: false }), _jsxs("div", { className: "database-diagram__table-node__header", children: [_jsx("div", { className: "database-diagram__table-node__header__icon", children: isViewKind ? _jsx(EyeIcon, {}) : _jsx(PURE_DatabaseTableIcon, {}) }), _jsx("div", { className: "database-diagram__table-node__header__name", children: relation.name }), isViewKind && (_jsx("div", { className: "database-diagram__table-node__header__kind-tag", children: "VIEW" })), isViewKind && renderViewMetadataTags(relation), !isViewKind && renderMilestoningTags(relation), _jsx("div", { className: "database-diagram__table-node__header__schema", children: schemaName }), _jsx(DatabaseAnnotationDisplay, { stereotypes: relation.stereotypes, taggedValues: relation.taggedValues, layout: "compact" })] }), _jsx("div", { className: "database-diagram__table-node__columns", children: isViewKind
41
+ ? renderViewColumns(relation, viewColumnFormulas, selectedViewColumnName)
42
+ : renderTableColumns(relation, fkColumns, selectedColumn) }), isViewKind &&
43
+ renderViewGroupBySection(relation, viewGroupByFormulas)] }));
44
+ });
45
+ // Function declarations (not const arrow) so they're hoisted and the React
46
+ // component above can call them without triggering `no-use-before-define`.
47
+ function renderTableColumns(table, fkColumns, selectedColumn) {
48
+ return getTableColumns(table).map((column) => {
49
+ const isPk = isPrimaryKey(table, column.name);
50
+ const isFk = fkColumns.has(column);
51
+ const isFocused = selectedColumn === column;
52
+ return (_jsxs("div", { className: clsx('database-diagram__table-node__column', {
53
+ 'database-diagram__table-node__column--pk': isPk,
54
+ 'database-diagram__table-node__column--fk': isFk,
55
+ 'database-diagram__table-node__column--nullable': column.nullable === true,
56
+ 'database-diagram__table-node__column--focused': isFocused,
57
+ }), title: column.nullable ? `${column.name} (nullable)` : column.name, children: [_jsx("div", { className: "database-diagram__table-node__column__key", children: isPk ? _jsx(KeyIcon, {}) : null }), _jsx("div", { className: "database-diagram__table-node__column__name", children: column.name }), _jsx("div", { className: "database-diagram__table-node__column__type", children: getColumnTypeLabel(column) })] }, column.name));
58
+ });
59
+ }
60
+ /**
61
+ * View columns are defined by `view.columnMappings` rather than `Column[]`.
62
+ * Each mapping carries the column name and a relational operation that
63
+ * computes the value. We render the Pure code returned by the engine (cached
64
+ * in `DatabaseEditorState.viewColumnFormulas`); while it's still loading we
65
+ * fall back to a placeholder so the layout stays stable.
66
+ *
67
+ * The `title` attribute also surfaces the formula for tooltip-on-hover, since
68
+ * complex formulas may not fit in the 1-line display.
69
+ */
70
+ function renderViewColumns(view, formulas, selectedViewColumnName) {
71
+ return view.columnMappings.map((mapping) => {
72
+ const isPk = isPrimaryKey(view, mapping.columnName);
73
+ const isFocused = selectedViewColumnName === mapping.columnName;
74
+ const formula = resolveViewColumnFormula(formulas, view.schema.name, view.name, mapping.columnName);
75
+ return (_jsxs("div", { className: clsx('database-diagram__table-node__column', {
76
+ 'database-diagram__table-node__column--pk': isPk,
77
+ 'database-diagram__table-node__column--view': true,
78
+ 'database-diagram__table-node__column--focused': isFocused,
79
+ }), title: `${mapping.columnName}: ${formula}`, children: [_jsx("div", { className: "database-diagram__table-node__column__key", children: isPk ? _jsx(KeyIcon, {}) : null }), _jsx("div", { className: "database-diagram__table-node__column__name", children: mapping.columnName }), _jsx("div", { className: "database-diagram__table-node__column__type", children: formula })] }, mapping.columnName));
80
+ });
81
+ }
82
+ /**
83
+ * Render the secondary view-metadata tags shown next to the primary "VIEW"
84
+ * tag in the canvas node header. These mirror the tags rendered in the
85
+ * schema tree's view row (see `DatabaseTreeViewRow`) so the two surfaces
86
+ * stay in sync.
87
+ *
88
+ * Returns `null` when the view has none of these features set, so the
89
+ * header stays compact for "plain" views.
90
+ */
91
+ function renderViewMetadataTags(view) {
92
+ const groupByCount = view.groupBy?.columns.length ?? 0;
93
+ const hasDistinct = view.distinct === true;
94
+ const hasFilter = Boolean(view.filter);
95
+ const hasGroupBy = groupByCount > 0;
96
+ if (!hasDistinct && !hasFilter && !hasGroupBy) {
97
+ return null;
98
+ }
99
+ return (_jsxs(_Fragment, { children: [hasDistinct && (_jsx("div", { className: "database-diagram__table-node__header__kind-tag database-diagram__table-node__header__kind-tag--distinct", title: "View applies DISTINCT", children: "DISTINCT" })), hasFilter && view.filter && (_jsx("div", { className: "database-diagram__table-node__header__kind-tag database-diagram__table-node__header__kind-tag--filtered", title: `Filtered by ${view.filter.filter.ownerReference.valueForSerialization ?? ''}.${view.filter.filterName}`, children: "FILTERED" })), hasGroupBy && (_jsx("div", { className: "database-diagram__table-node__header__kind-tag database-diagram__table-node__header__kind-tag--grouped", title: `GROUP BY ${groupByCount} expression${groupByCount === 1 ? '' : 's'}`, children: `GROUP BY (${groupByCount})` }))] }));
100
+ }
101
+ /**
102
+ * Compact header tags surfacing a table's `milestoning` configuration.
103
+ * One tag per Milestoning entry (a table can declare both business and
104
+ * processing milestoning). The tag color follows the kind classifier from
105
+ * `summarizeMilestoning` so business and processing read distinctly.
106
+ *
107
+ * Returns `null` for non-milestoned tables to keep the header compact \u2014
108
+ * the vast majority of tables are not milestoned.
109
+ */
110
+ function renderMilestoningTags(table) {
111
+ if (table.milestoning.length === 0) {
112
+ return null;
113
+ }
114
+ return (_jsx(_Fragment, { children: table.milestoning.map((milestoning) => {
115
+ const summary = summarizeMilestoning(milestoning);
116
+ return (_jsx("div", { className: clsx('database-diagram__table-node__header__kind-tag', `database-diagram__table-node__header__kind-tag--milestoned-${summary.kind}`), title: summary.description, children: summary.label }, summary.label));
117
+ }) }));
118
+ }
119
+ /**
120
+ * Footer rendered under the column rows when a view declares `groupBy`.
121
+ * Lists each grouping expression as one row of Pure code (lazy-resolved
122
+ * from `viewGroupByFormulas` — falls back to a placeholder while the
123
+ * batched engine call is in flight).
124
+ *
125
+ * Returns `null` for views with no groupBy and for table-kind nodes, so the
126
+ * footer doesn't add visual weight to nodes that don't need it.
127
+ */
128
+ function renderViewGroupBySection(view, formulas) {
129
+ const columns = view.groupBy?.columns ?? [];
130
+ if (columns.length === 0) {
131
+ return null;
132
+ }
133
+ return (_jsxs("div", { className: "database-diagram__table-node__group-by", title: `GROUP BY (${columns.length})`, children: [_jsx("div", { className: "database-diagram__table-node__group-by__header", children: "GROUP BY" }), columns.map((_, index) => {
134
+ const formula = resolveViewGroupByFormula(formulas, view.schema.name, view.name, index);
135
+ return (_jsxs("div", { className: "database-diagram__table-node__group-by__row", title: formula, children: [_jsx("span", { className: "database-diagram__table-node__group-by__index", children: `[${index}]` }), _jsx("span", { className: "database-diagram__table-node__group-by__formula", children: formula })] }, formula));
136
+ })] }));
137
+ }
138
+ /**
139
+ * Compact stub rendered when a join references a relation in another
140
+ * database. Shows the schema/name plus the owning database path, with a
141
+ * dashed border to distinguish it from real in-database table nodes. Two
142
+ * invisible Handles let React Flow attach edges to either side. Not
143
+ * selectable — the canvas swallows clicks on stubs.
144
+ */
145
+ export const DatabaseForeignRelationStubNode = observer((props) => {
146
+ const { schemaName, relationName, ownerPath, isJoinEndpoint } = props.data;
147
+ return (_jsxs("div", { className: clsx('database-diagram__table-node', 'database-diagram__table-node--foreign-stub', {
148
+ 'database-diagram__table-node--join-endpoint': isJoinEndpoint,
149
+ }), title: `${schemaName}.${relationName}\n(in database: ${ownerPath})`, children: [_jsx(Handle, { type: "target", position: Position.Left, className: "database-diagram__table-node__handle", isConnectable: false }), _jsx(Handle, { type: "source", position: Position.Right, className: "database-diagram__table-node__handle", isConnectable: false }), _jsxs("div", { className: "database-diagram__table-node__header", children: [_jsx("div", { className: "database-diagram__table-node__header__icon", children: _jsx(PURE_DatabaseIcon, {}) }), _jsx("div", { className: "database-diagram__table-node__header__name", children: `${schemaName}.${relationName}` })] }), _jsx("div", { className: "database-diagram__table-node__foreign-stub__owner", children: ownerPath })] }));
150
+ });
151
+ //# sourceMappingURL=DatabaseTableNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseTableNode.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/database-editor/DatabaseTableNode.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IngestDefinitionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH,OAAO,EAEL,2BAA2B,EAC5B,MAAM,mGAAmG,CAAC;AA6J3G,eAAO,MAAM,kBAAkB,WACrB;IAAE,2BAA2B,EAAE,2BAA2B,CAAA;CAAE;;CAmHrE,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAmKjC,CAAC"}
1
+ {"version":3,"file":"IngestDefinitionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH,OAAO,EAAE,2BAA2B,EAAE,MAAM,mGAAmG,CAAC;AAchJ,eAAO,MAAM,kBAAkB,WACrB;IAAE,2BAA2B,EAAE,2BAA2B,CAAA;CAAE;;CAmHrE,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAwEjC,CAAC"}
@@ -16,42 +16,15 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
16
16
  */
17
17
  import { observer } from 'mobx-react-lite';
18
18
  import { useEditorStore } from '../../EditorStoreProvider.js';
19
- import { CheckCircleIcon, CopyIcon, Dialog, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalHeader, ModalTitle, PanelContent, PanelHeader, PanelHeaderActions, RocketIcon, EyeIcon, ModalHeaderActions, CustomSelectorInput, } from '@finos/legend-art';
20
- import { generateUrlToDeployOnOpen, IngestDefinitionEditorState, } from '../../../../stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js';
19
+ import { Dialog, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalHeader, ModalTitle, PanelContent, PanelHeader, PanelHeaderActions, EyeIcon, ModalHeaderActions, CustomSelectorInput, } from '@finos/legend-art';
20
+ import { IngestDefinitionEditorState } from '../../../../stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js';
21
21
  import { CodeEditor } from '@finos/legend-lego/code-editor';
22
22
  import React, { useEffect, useState } from 'react';
23
23
  import { CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
24
24
  import { flowResult } from 'mobx';
25
- import { useAuth } from 'react-oidc-context';
26
- import { IngestDefinitionDeploymentResponse, IngestDefinitionValidationResponse, } from '@finos/legend-server-lakehouse';
27
25
  import { useApplicationNavigationContext } from '@finos/legend-application';
28
26
  import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../../__lib__/LegendStudioApplicationNavigationContext.js';
29
27
  import { LINEAGE_VIEW_MODE, LineageViewerContent, } from '@finos/legend-query-builder';
30
- const IngestValidationError = observer((props) => {
31
- const { state, validateResponse } = props;
32
- const applicationStore = state.editorStore.applicationStore;
33
- const closeModal = () => state.setValidateAndDeployResponse(undefined);
34
- return (_jsx(Dialog, { open: true, classes: {
35
- root: 'editor-modal__root-container',
36
- container: 'editor-modal__container',
37
- paper: 'editor-modal__content',
38
- }, onClose: closeModal, children: _jsxs(Modal, { darkMode: !applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled, className: "editor-modal", children: [_jsx(ModalHeader, { children: _jsx(ModalTitle, { title: 'Validation Error' }) }), _jsx(ModalBody, { children: _jsx(PanelContent, { children: _jsx(CodeEditor, { inputValue: JSON.stringify(validateResponse, null, 2), isReadOnly: true, language: CODE_EDITOR_LANGUAGE.JSON }) }) }), _jsx(ModalFooter, { children: _jsx(ModalFooterButton, { onClick: closeModal, text: "Close", type: "secondary" }) })] }) }));
39
- });
40
- const IngestDeploymentResponseModal = observer((props) => {
41
- const { closeModal, deploymentResponse, copyHandler } = props;
42
- const copyURN = (text) => {
43
- copyHandler(text, 'Ingest URN copied to clipboard');
44
- };
45
- return (_jsx(Dialog, { open: true, classes: {
46
- root: 'ingestion-modal__root-container',
47
- container: 'ingestion-modal__container',
48
- paper: 'ingestion-modal__content',
49
- }, children: _jsxs(Modal, { darkMode: true, className: "ingestion-modal", children: [_jsx(ModalHeader, { children: _jsx(ModalTitle, { icon: _jsx(CheckCircleIcon, { className: "ingestion-modal--success" }), title: "Deployment Response" }) }), _jsxs(ModalBody, { children: [_jsxs("div", { className: "ingestion-modal__urn", children: [_jsxs("div", { className: "ingestion-modal__urn__info", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Deployment URN" }), _jsx("div", { className: "ingestion-modal__urn__value", children: deploymentResponse.ingestDefinitionUrn })] }), _jsx("div", { className: "ingestion-modal__urn__copy", children: _jsx("button", { className: "ingestion-modal__urn__copy--btn", tabIndex: -1, title: "Copy", onClick: () => {
50
- copyURN(deploymentResponse.ingestDefinitionUrn);
51
- }, children: _jsx(CopyIcon, {}) }) })] }), _jsxs("div", { className: "ingestion-modal__write", children: [_jsx("div", { className: "ingestion-modal__write__label", children: "Write Location" }), _jsx("div", { className: "ingestion-modal__write--value", children: deploymentResponse.write_location ? (_jsx(CodeEditor, { inputValue: JSON.stringify(deploymentResponse.write_location, null, 2), isReadOnly: true, language: CODE_EDITOR_LANGUAGE.JSON, extraEditorOptions: {
52
- wordWrap: 'on',
53
- }, hideActionBar: true })) : (_jsx("div", { className: "ingestion-modal__write--no-value", children: "No write location provided" })) })] })] }), _jsx(ModalFooter, { children: _jsx(ModalFooterButton, { onClick: closeModal, text: "Close", type: "secondary" }) })] }) }));
54
- });
55
28
  export const IngestLineageModal = observer((props) => {
56
29
  const { ingestDefinitionEditorState } = props;
57
30
  const matviewFunctions = ingestDefinitionEditorState.ingest.TEMPORARY_MATVIEW_FUNCTION_DATA_SETS;
@@ -105,59 +78,11 @@ export const IngestDefinitionEditor = observer(() => {
105
78
  const editorStore = useEditorStore();
106
79
  const ingestDefinitionEditorState = editorStore.tabManagerState.getCurrentEditorState(IngestDefinitionEditorState);
107
80
  const ingestDef = ingestDefinitionEditorState.ingest;
108
- const auth = useAuth();
109
- const deployIngest = () => {
110
- // Trigger OAuth flow if not authenticated
111
- if (!auth.isAuthenticated) {
112
- // remove this redirect if we move to do oauth at the beginning of opening studio
113
- auth
114
- .signinRedirect({
115
- state: generateUrlToDeployOnOpen(ingestDefinitionEditorState),
116
- })
117
- .catch(editorStore.applicationStore.alertUnhandledError);
118
- return;
119
- }
120
- // Use the token for deployment
121
- const token = auth.user?.access_token;
122
- if (token) {
123
- flowResult(ingestDefinitionEditorState.deploy(token)).catch(editorStore.applicationStore.alertUnhandledError);
124
- }
125
- else {
126
- editorStore.applicationStore.notificationService.notifyError('Authentication failed. No token available.');
127
- }
128
- };
129
- const renderDeploymentResponse = () => {
130
- const response = ingestDefinitionEditorState.deploymentResponse;
131
- if (response instanceof IngestDefinitionValidationResponse) {
132
- return (_jsx(IngestValidationError, { state: ingestDefinitionEditorState, validateResponse: response }));
133
- }
134
- else if (response instanceof IngestDefinitionDeploymentResponse) {
135
- const copyHanlder = (text, successMessage) => {
136
- ingestDefinitionEditorState.editorStore.applicationStore.clipboardService
137
- .copyTextToClipboard(text)
138
- .then(() => ingestDefinitionEditorState.editorStore.applicationStore.notificationService.notifySuccess(successMessage, undefined, 2500))
139
- .catch(ingestDefinitionEditorState.editorStore.applicationStore
140
- .alertUnhandledError);
141
- };
142
- return (_jsx(IngestDeploymentResponseModal, { closeModal: () => ingestDefinitionEditorState.setValidateAndDeployResponse(undefined), deploymentResponse: response, copyHandler: copyHanlder }));
143
- }
144
- return null;
145
- };
146
- const isValid = ingestDefinitionEditorState.validForDeployment;
147
81
  const isValidForLineage = ingestDefinitionEditorState.validForLineageViewer;
148
82
  useEffect(() => {
149
83
  ingestDefinitionEditorState.generateElementGrammar();
150
84
  }, [ingestDefinitionEditorState]);
151
85
  useApplicationNavigationContext(LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.INGEST_DEFINITION_EDITOR);
152
- useEffect(() => {
153
- if (ingestDefinitionEditorState.deployOnOpen) {
154
- flowResult(ingestDefinitionEditorState.init_with_deploy(auth)).catch(editorStore.applicationStore.alertUnhandledError);
155
- }
156
- }, [
157
- auth,
158
- editorStore.applicationStore.alertUnhandledError,
159
- ingestDefinitionEditorState,
160
- ]);
161
86
  const viewLineage = () => {
162
87
  const firstMatViewQuery = ingestDefinitionEditorState.ingest
163
88
  .TEMPORARY_MATVIEW_FUNCTION_DATA_SETS?.[0];
@@ -168,6 +93,6 @@ export const IngestDefinitionEditor = observer(() => {
168
93
  editorStore.applicationStore.notificationService.notifyError('No MatView datasets available for lineage generation');
169
94
  }
170
95
  };
171
- return (_jsxs("div", { className: "data-product-editor", children: [_jsx(PanelHeader, { title: "Ingest", titleContent: ingestDef.name, darkMode: true, isReadOnly: true }), _jsxs(PanelContent, { children: [_jsx(PanelHeader, { title: "deployment", darkMode: true, children: _jsx(PanelHeaderActions, { children: _jsxs("div", { className: "panel__header__actions", children: [_jsx("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary", children: _jsxs("button", { className: "btn__dropdown-combo__label", onClick: viewLineage, tabIndex: -1, disabled: !isValidForLineage, children: [_jsx(EyeIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title", children: "Lineage" })] }) }), _jsx("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary", children: _jsxs("button", { className: "btn__dropdown-combo__label", onClick: deployIngest, title: ingestDefinitionEditorState.validationMessage, tabIndex: -1, disabled: !isValid, children: [_jsx(RocketIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title", children: "Deploy" })] }) })] }) }) }), _jsx(PanelContent, { children: _jsx(CodeEditor, { inputValue: ingestDefinitionEditorState.textContent, isReadOnly: true, language: CODE_EDITOR_LANGUAGE.PURE }) }), _jsx(IngestLineageModal, { ingestDefinitionEditorState: ingestDefinitionEditorState }), renderDeploymentResponse()] })] }));
96
+ return (_jsxs("div", { className: "data-product-editor", children: [_jsx(PanelHeader, { title: "Ingest", titleContent: ingestDef.name, darkMode: true, isReadOnly: true }), _jsxs(PanelContent, { children: [_jsx(PanelHeader, { title: "deployment", darkMode: true, children: _jsx(PanelHeaderActions, { children: _jsx("div", { className: "panel__header__actions", children: _jsx("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary", children: _jsxs("button", { className: "btn__dropdown-combo__label", onClick: viewLineage, tabIndex: -1, disabled: !isValidForLineage, children: [_jsx(EyeIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title", children: "Lineage" })] }) }) }) }) }), _jsx(PanelContent, { children: _jsx(CodeEditor, { inputValue: ingestDefinitionEditorState.textContent, isReadOnly: true, language: CODE_EDITOR_LANGUAGE.PURE }) }), _jsx(IngestLineageModal, { ingestDefinitionEditorState: ingestDefinitionEditorState })] })] }));
172
97
  });
173
98
  //# sourceMappingURL=IngestDefinitionEditor.js.map
@@ -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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"}