@finos/legend-cube-builder 0.0.5 → 0.0.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.
- package/docs/adding-an-operation.md +4 -2
- package/docs/demo/README.md +1 -1
- package/docs/hosting.md +40 -9
- package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeHelpText.js +3 -1
- package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
- package/lib/__lib__/LegendCubeLabels.d.ts +34 -5
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +45 -8
- package/lib/__lib__/LegendCubeLabels.js.map +1 -1
- package/lib/__lib__/LegendCubeNavigation.d.ts +23 -0
- package/lib/__lib__/LegendCubeNavigation.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeNavigation.js +33 -0
- package/lib/__lib__/LegendCubeNavigation.js.map +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts +3 -1
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +2 -0
- package/lib/__lib__/LegendCubeTesting.js.map +1 -1
- package/lib/__lib__/LegendCubeTour.d.ts +62 -0
- package/lib/__lib__/LegendCubeTour.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeTour.js +149 -0
- package/lib/__lib__/LegendCubeTour.js.map +1 -0
- package/lib/__test-utils__/CubeExampleTestUtils.d.ts +34 -0
- package/lib/__test-utils__/CubeExampleTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeExampleTestUtils.js +72 -0
- package/lib/__test-utils__/CubeExampleTestUtils.js.map +1 -0
- package/lib/__test-utils__/CubeVariantTestUtils.d.ts +16 -0
- package/lib/__test-utils__/CubeVariantTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeVariantTestUtils.js +66 -0
- package/lib/__test-utils__/CubeVariantTestUtils.js.map +1 -0
- package/lib/components/CubeAddItems.d.ts.map +1 -1
- package/lib/components/CubeAddItems.js +2 -1
- package/lib/components/CubeAddItems.js.map +1 -1
- package/lib/components/CubeEditor.d.ts.map +1 -1
- package/lib/components/CubeEditor.js +11 -5
- package/lib/components/CubeEditor.js.map +1 -1
- package/lib/components/CubeFileMenu.d.ts.map +1 -1
- package/lib/components/CubeFileMenu.js +2 -1
- package/lib/components/CubeFileMenu.js.map +1 -1
- package/lib/components/CubeNodeIcon.d.ts.map +1 -1
- package/lib/components/CubeNodeIcon.js +2 -1
- package/lib/components/CubeNodeIcon.js.map +1 -1
- package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvas.js +3 -2
- package/lib/components/canvas/CubeCanvas.js.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.js +4 -1
- package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
- package/lib/components/dev-settings/CubeDevSettings.d.ts +2 -2
- package/lib/components/dev-settings/CubeDevSettings.d.ts.map +1 -1
- package/lib/components/dev-settings/CubeDevSettings.js +12 -8
- package/lib/components/dev-settings/CubeDevSettings.js.map +1 -1
- package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnPicker.js +3 -1
- package/lib/components/editors/CubeColumnPicker.js.map +1 -1
- package/lib/components/editors/CubeExplodeEditor.d.ts +26 -0
- package/lib/components/editors/CubeExplodeEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExplodeEditor.js +61 -0
- package/lib/components/editors/CubeExplodeEditor.js.map +1 -0
- package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeExpressionFilterEditor.js +8 -5
- package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -1
- package/lib/components/editors/CubeExtendEditor.d.ts +0 -2
- package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeExtendEditor.js +12 -11
- package/lib/components/editors/CubeExtendEditor.js.map +1 -1
- package/lib/components/editors/CubeJsonFieldsTree.d.ts +46 -0
- package/lib/components/editors/CubeJsonFieldsTree.d.ts.map +1 -0
- package/lib/components/editors/CubeJsonFieldsTree.js +93 -0
- package/lib/components/editors/CubeJsonFieldsTree.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js +3 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
- package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
- package/lib/components/grid/CubeGridRegion.js +5 -4
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +5 -3
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +8 -3
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeJsonExplorerDialog.d.ts +27 -0
- package/lib/components/grid/CubeJsonExplorerDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeJsonExplorerDialog.js +102 -0
- package/lib/components/grid/CubeJsonExplorerDialog.js.map +1 -0
- package/lib/components/grid/CubeJsonViewerDialog.d.ts +27 -0
- package/lib/components/grid/CubeJsonViewerDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeJsonViewerDialog.js +68 -0
- package/lib/components/grid/CubeJsonViewerDialog.js.map +1 -0
- package/lib/components/grid/CubeResultGrid.d.ts +15 -3
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +95 -3
- package/lib/components/grid/CubeResultGrid.js.map +1 -1
- package/lib/components/grid/CubeServerSideGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeServerSideGrid.js +4 -2
- package/lib/components/grid/CubeServerSideGrid.js.map +1 -1
- package/lib/components/palette/CubePalette.d.ts.map +1 -1
- package/lib/components/palette/CubePalette.js +4 -1
- package/lib/components/palette/CubePalette.js.map +1 -1
- package/lib/components/source-picker/CubeIngestTab.d.ts +2 -2
- package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeIngestTab.js +19 -13
- package/lib/components/source-picker/CubeIngestTab.js.map +1 -1
- package/lib/components/tour/CubeTour.d.ts +36 -0
- package/lib/components/tour/CubeTour.d.ts.map +1 -0
- package/lib/components/tour/CubeTour.js +183 -0
- package/lib/components/tour/CubeTour.js.map +1 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/stores/CubeEditorState.d.ts +17 -1
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +35 -5
- package/lib/stores/CubeEditorState.js.map +1 -1
- package/lib/stores/CubeExamples.d.ts.map +1 -1
- package/lib/stores/CubeExamples.js +101 -4
- package/lib/stores/CubeExamples.js.map +1 -1
- package/lib/stores/CubeExamplesState.d.ts.map +1 -1
- package/lib/stores/CubeExamplesState.js +4 -1
- package/lib/stores/CubeExamplesState.js.map +1 -1
- package/lib/stores/CubeGridQuickActions.d.ts +7 -0
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
- package/lib/stores/CubeGridQuickActions.js +20 -11
- package/lib/stores/CubeGridQuickActions.js.map +1 -1
- package/lib/stores/CubePureText.d.ts +20 -0
- package/lib/stores/CubePureText.d.ts.map +1 -0
- package/lib/stores/CubePureText.js +24 -0
- package/lib/stores/CubePureText.js.map +1 -0
- package/lib/stores/CubeTourState.d.ts +49 -0
- package/lib/stores/CubeTourState.d.ts.map +1 -0
- package/lib/stores/CubeTourState.js +92 -0
- package/lib/stores/CubeTourState.js.map +1 -0
- package/lib/stores/LegendCubeHost.d.ts +88 -0
- package/lib/stores/LegendCubeHost.d.ts.map +1 -0
- package/lib/stores/LegendCubeHost.js +149 -0
- package/lib/stores/LegendCubeHost.js.map +1 -0
- package/lib/stores/editors/CubeExplodeDraft.d.ts +87 -0
- package/lib/stores/editors/CubeExplodeDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExplodeDraft.js +221 -0
- package/lib/stores/editors/CubeExplodeDraft.js.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +3 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeExpressionFilterDraft.js +4 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -1
- package/lib/stores/editors/CubeExtendDraft.d.ts +9 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeExtendDraft.js +26 -0
- package/lib/stores/editors/CubeExtendDraft.js.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +6 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts +1 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -1
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js +8 -2
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -1
- package/lib/stores/source-picker/CubeIngestTabState.d.ts +48 -14
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeIngestTabState.js +159 -62
- package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -1
- package/lib/stores/variant/CubeJson.d.ts +48 -0
- package/lib/stores/variant/CubeJson.d.ts.map +1 -0
- package/lib/stores/variant/CubeJson.js +207 -0
- package/lib/stores/variant/CubeJson.js.map +1 -0
- package/lib/stores/variant/CubeJsonExplorerState.d.ts +88 -0
- package/lib/stores/variant/CubeJsonExplorerState.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonExplorerState.js +297 -0
- package/lib/stores/variant/CubeJsonExplorerState.js.map +1 -0
- package/lib/stores/variant/CubeJsonFieldsState.d.ts +83 -0
- package/lib/stores/variant/CubeJsonFieldsState.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonFieldsState.js +207 -0
- package/lib/stores/variant/CubeJsonFieldsState.js.map +1 -0
- package/lib/stores/variant/CubeJsonOffers.d.ts +76 -0
- package/lib/stores/variant/CubeJsonOffers.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonOffers.js +250 -0
- package/lib/stores/variant/CubeJsonOffers.js.map +1 -0
- package/lib/stores/variant/CubeJsonParse.d.ts +28 -0
- package/lib/stores/variant/CubeJsonParse.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonParse.js +53 -0
- package/lib/stores/variant/CubeJsonParse.js.map +1 -0
- package/lib/stores/variant/CubeJsonSampling.d.ts +41 -0
- package/lib/stores/variant/CubeJsonSampling.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonSampling.js +59 -0
- package/lib/stores/variant/CubeJsonSampling.js.map +1 -0
- package/lib/stores/variant/CubeJsonShape.d.ts +87 -0
- package/lib/stores/variant/CubeJsonShape.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonShape.js +209 -0
- package/lib/stores/variant/CubeJsonShape.js.map +1 -0
- package/lib/stores/variant/CubeJsonViewerState.d.ts +33 -0
- package/lib/stores/variant/CubeJsonViewerState.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonViewerState.js +53 -0
- package/lib/stores/variant/CubeJsonViewerState.js.map +1 -0
- package/package.json +2 -2
- package/src/__lib__/LegendCubeHelpText.ts +4 -0
- package/src/__lib__/LegendCubeLabels.ts +60 -8
- package/src/__lib__/LegendCubeNavigation.ts +48 -0
- package/src/__lib__/LegendCubeTesting.ts +2 -0
- package/src/__lib__/LegendCubeTour.ts +173 -0
- package/src/__test-utils__/CubeExampleTestUtils.ts +119 -0
- package/src/__test-utils__/CubeVariantTestUtils.ts +103 -0
- package/src/components/CubeAddItems.tsx +2 -0
- package/src/components/CubeEditor.tsx +15 -0
- package/src/components/CubeFileMenu.tsx +2 -0
- package/src/components/CubeNodeIcon.tsx +2 -0
- package/src/components/canvas/CubeCanvas.tsx +17 -1
- package/src/components/canvas/CubeCanvasNode.tsx +7 -0
- package/src/components/dev-settings/CubeDevSettings.tsx +17 -2
- package/src/components/editors/CubeColumnPicker.tsx +3 -0
- package/src/components/editors/CubeExplodeEditor.tsx +207 -0
- package/src/components/editors/CubeExpressionFilterEditor.tsx +25 -8
- package/src/components/editors/CubeExtendEditor.tsx +32 -19
- package/src/components/editors/CubeJsonFieldsTree.tsx +316 -0
- package/src/components/editors/CubeNodeEditorRegistry.ts +3 -0
- package/src/components/grid/CubeGridRegion.tsx +21 -3
- package/src/components/grid/CubeGridValues.ts +8 -3
- package/src/components/grid/CubeJsonExplorerDialog.tsx +304 -0
- package/src/components/grid/CubeJsonViewerDialog.tsx +190 -0
- package/src/components/grid/CubeResultGrid.tsx +144 -2
- package/src/components/grid/CubeServerSideGrid.tsx +13 -0
- package/src/components/palette/CubePalette.tsx +9 -0
- package/src/components/source-picker/CubeIngestTab.tsx +62 -30
- package/src/components/tour/CubeTour.tsx +317 -0
- package/src/index.ts +7 -0
- package/src/stores/CubeEditorState.ts +36 -5
- package/src/stores/CubeExamples.ts +120 -2
- package/src/stores/CubeExamplesState.ts +9 -1
- package/src/stores/CubeGridQuickActions.ts +23 -12
- package/src/stores/CubePureText.ts +28 -0
- package/src/stores/CubeTourState.ts +116 -0
- package/src/stores/LegendCubeHost.ts +243 -0
- package/src/stores/editors/CubeExplodeDraft.ts +272 -0
- package/src/stores/editors/CubeExpressionFilterDraft.ts +4 -0
- package/src/stores/editors/CubeExtendDraft.ts +29 -0
- package/src/stores/editors/CubeNodeDraftRegistry.ts +7 -0
- package/src/stores/fixtures/CubeSalesDuckDbModel.ts +8 -2
- package/src/stores/source-picker/CubeIngestTabState.ts +253 -102
- package/src/stores/variant/CubeJson.ts +229 -0
- package/src/stores/variant/CubeJsonExplorerState.ts +378 -0
- package/src/stores/variant/CubeJsonFieldsState.ts +252 -0
- package/src/stores/variant/CubeJsonOffers.ts +359 -0
- package/src/stores/variant/CubeJsonParse.ts +75 -0
- package/src/stores/variant/CubeJsonSampling.ts +90 -0
- package/src/stores/variant/CubeJsonShape.ts +279 -0
- package/src/stores/variant/CubeJsonViewerState.ts +59 -0
- package/tsconfig.json +22 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-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 { CaretDownIcon, CaretRightIcon, clsx } from '@finos/legend-art';
|
|
18
|
+
import { TypeFamily } from '@finos/legend-cube';
|
|
19
|
+
import { flowResult } from 'mobx';
|
|
20
|
+
import { observer } from 'mobx-react-lite';
|
|
21
|
+
import { CUBE_JSON_FIELDS_TITLE, getCubeJsonFieldsStatus, } from '../../__lib__/LegendCubeLabels.js';
|
|
22
|
+
import { getCubeJsonFieldDefault, getCubeJsonOfferExpression, } from '../../stores/variant/CubeJsonOffers.js';
|
|
23
|
+
import { CubeButton } from '../CubeButton.js';
|
|
24
|
+
/** Whether a column holds JSON, whose fields an expression editor can open */
|
|
25
|
+
export const isCubeJsonColumn = (column) => column.type.family === TypeFamily.VARIANT;
|
|
26
|
+
/**
|
|
27
|
+
* The caret beside a Variant column's chip, which opens or closes its fields;
|
|
28
|
+
* greyed, with the reason, on a database without JSON functions
|
|
29
|
+
*/
|
|
30
|
+
export const CubeJsonFieldsToggle = observer((props) => {
|
|
31
|
+
const { fields, column, disabled } = props;
|
|
32
|
+
const open = fields.isOpen(column.name);
|
|
33
|
+
const problem = fields.databaseProblem;
|
|
34
|
+
return (_jsxs("button", { type: "button", className: clsx('flex h-full items-center rounded-sm border px-0.5 disabled:text-[var(--color-text-disabled)]', open
|
|
35
|
+
? 'border-[var(--color-accent)] text-[var(--color-accent)]'
|
|
36
|
+
: 'border-[var(--color-border-subtle)] hover:bg-[var(--color-bg-hover)]'), "aria-label": `Fields of ${column.name}`, "aria-expanded": open, title: problem ?? (open ? undefined : CUBE_JSON_FIELDS_TITLE.OPEN), disabled: disabled || problem !== undefined, onClick: () => {
|
|
37
|
+
// a failed read shows its message under the chips
|
|
38
|
+
flowResult(fields.toggle(column)).catch(() => undefined);
|
|
39
|
+
}, children: [_jsx("span", { className: "font-mono text-xs", children: '{}' }), open ? _jsx(CaretDownIcon, {}) : _jsx(CaretRightIcon, {})] }));
|
|
40
|
+
});
|
|
41
|
+
/** A field of the tree: its key, kind and share, what a click writes, its other forms, then its fields */
|
|
42
|
+
const CubeJsonFieldsRow = observer((props) => {
|
|
43
|
+
const { fields, column, field, depth, disabled, onInsert, onAddColumn } = props;
|
|
44
|
+
const label = [column, ...field.path].join('.');
|
|
45
|
+
const share = Math.round(field.presence * 100);
|
|
46
|
+
const folded = fields.isFolded(field.path);
|
|
47
|
+
const byDefault = getCubeJsonFieldDefault(column, field);
|
|
48
|
+
const defaultKey = field.offers.find(({ key }) => key === 'value' || key === 'json')?.key;
|
|
49
|
+
const forms = field.offers.filter((offer) => offer.key !== defaultKey);
|
|
50
|
+
const formsShown = fields.areFormsShown(field.path);
|
|
51
|
+
return (_jsxs("li", { children: [_jsxs("div", { className: "flex items-center gap-1 py-0.5 pr-1", style: { paddingLeft: `${4 + depth * 14}px` }, children: [field.children.length ? (_jsx("button", { type: "button", className: "flex w-4 shrink-0 items-center justify-center text-[var(--color-text-secondary)]", "aria-label": `${folded ? 'Unfold' : 'Fold'} ${label}`, onClick: () => fields.toggleFolded(field.path), children: folded ? _jsx(CaretRightIcon, {}) : _jsx(CaretDownIcon, {}) })) : (_jsx("span", { className: "w-4 shrink-0" })), _jsxs("button", { type: "button", className: "flex min-w-0 flex-1 items-baseline gap-2 rounded-sm px-1 text-left enabled:hover:bg-[var(--color-bg-hover)] disabled:text-[var(--color-text-disabled)]", "aria-label": `Write ${label}`, title: `Write ${byDefault.expression}`, disabled: disabled, onClick: () => onInsert(byDefault.expression), children: [_jsx("span", { className: "break-all font-mono text-sm", children: field.path.at(-1) ?? column }), _jsx("span", { className: "shrink-0 text-xs text-[var(--color-text-secondary)]", children: field.description }), share < 100 && (_jsxs("span", { className: "ml-auto shrink-0 text-xs text-[var(--color-text-muted)]", children: [share, "%"] }))] }), onAddColumn && byDefault.column && (_jsx("button", { type: "button", className: "shrink-0 rounded-sm border border-[var(--color-border-subtle)] px-1 text-sm enabled:hover:bg-[var(--color-bg-hover)] disabled:text-[var(--color-text-disabled)]", "aria-label": `Add ${label} as a column`, title: `A new column ${byDefault.column.name}: ${byDefault.column.code}`, disabled: disabled, onClick: () => {
|
|
52
|
+
if (byDefault.column) {
|
|
53
|
+
onAddColumn(byDefault.column.name, byDefault.column.code);
|
|
54
|
+
}
|
|
55
|
+
}, children: "+ column" })), forms.length > 0 && (_jsx("button", { type: "button", className: clsx('shrink-0 rounded-sm border px-1 text-sm enabled:hover:bg-[var(--color-bg-hover)]', formsShown
|
|
56
|
+
? 'border-[var(--color-accent)]'
|
|
57
|
+
: 'border-[var(--color-border-subtle)]'), "aria-label": `Other forms of ${label}`, "aria-expanded": formsShown, title: CUBE_JSON_FIELDS_TITLE.FORMS, onClick: () => fields.toggleForms(field.path), children: "\u00B7\u00B7\u00B7" }))] }), formsShown && (_jsx("ul", { "aria-label": `Forms of ${label}`, className: "my-0.5 rounded-sm border border-[var(--color-border-subtle)]", style: { marginLeft: `${22 + depth * 14}px` }, children: forms.map((offer) => {
|
|
58
|
+
const expression = getCubeJsonOfferExpression(offer);
|
|
59
|
+
return (_jsx("li", { children: _jsxs("button", { type: "button", className: "flex w-full items-baseline gap-2 px-2 py-0.5 text-left text-sm enabled:hover:bg-[var(--color-bg-hover)] disabled:text-[var(--color-text-disabled)]", title: expression === undefined
|
|
60
|
+
? CUBE_JSON_FIELDS_TITLE.EXPLODE
|
|
61
|
+
: `Write ${expression}`, disabled: disabled || expression === undefined, onClick: () => {
|
|
62
|
+
if (expression !== undefined) {
|
|
63
|
+
onInsert(expression);
|
|
64
|
+
}
|
|
65
|
+
}, children: [offer.label, _jsx("span", { className: "text-xs text-[var(--color-text-muted)]", children: offer.explode ? 'Explode Array' : offer.type })] }) }, offer.key));
|
|
66
|
+
}) })), !folded && field.children.length > 0 && (_jsx("ul", { children: field.children.map((child) => (_jsx(CubeJsonFieldsRow, { ...props, field: child, depth: depth + 1 }, JSON.stringify(child.path)))) }))] }));
|
|
67
|
+
});
|
|
68
|
+
/**
|
|
69
|
+
* A Variant input column's fields in an expression editor (PLAN §11.20, V.9),
|
|
70
|
+
* under the input columns while its caret is open: what was read, a search,
|
|
71
|
+
* and the field tree. A field clicked writes its expression where the
|
|
72
|
+
* editor's chips write; "+ column", where the editor has rows, adds one; its
|
|
73
|
+
* other forms write theirs, one row per element being a step of its own.
|
|
74
|
+
*/
|
|
75
|
+
export const CubeJsonFieldsTree = observer((props) => {
|
|
76
|
+
const { fields, disabled, onInsert, onAddColumn } = props;
|
|
77
|
+
const { column } = fields;
|
|
78
|
+
if (!column) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
const sample = fields.sample?.column === column.name ? fields.sample.sample : undefined;
|
|
82
|
+
const shown = fields.shownFields;
|
|
83
|
+
return (_jsxs("div", { "aria-label": `Fields of ${column.name}, read`, className: "flex flex-col gap-1 rounded-sm border border-[var(--color-accent)] p-1", children: [_jsxs("div", { className: "flex items-center gap-2 text-sm text-[var(--color-text-secondary)]", children: [_jsx("span", { role: "status", className: "min-w-0 flex-1", children: fields.isReading
|
|
84
|
+
? `Reading ${column.name}…`
|
|
85
|
+
: sample
|
|
86
|
+
? getCubeJsonFieldsStatus(sample)
|
|
87
|
+
: '' }), fields.isReading ? (_jsx(CubeButton, { onClick: () => fields.stop(), children: "Stop" })) : (sample && (_jsx(CubeButton, { title: sample.complete
|
|
88
|
+
? CUBE_JSON_FIELDS_TITLE.READ_AGAIN
|
|
89
|
+
: CUBE_JSON_FIELDS_TITLE.EVERY_ROW, onClick: () => {
|
|
90
|
+
flowResult(fields.read(!sample.complete)).catch(() => undefined);
|
|
91
|
+
}, children: sample.complete ? 'Read again' : 'Read every row' })))] }), fields.error && (_jsx("div", { role: "alert", className: "break-words text-sm text-[var(--color-status-error)]", children: fields.error })), fields.fields && (_jsxs(_Fragment, { children: [_jsx("input", { className: "h-6 rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] px-1 text-sm", placeholder: "Find a field", "aria-label": "Find a field", value: fields.search, onChange: (event) => fields.setSearch(event.target.value) }), shown ? (_jsx("ul", { "aria-label": `Fields of ${column.name}`, children: _jsx(CubeJsonFieldsRow, { fields: fields, column: column.name, field: shown, depth: 0, disabled: disabled, onInsert: onInsert, onAddColumn: onAddColumn }) })) : (_jsx("div", { className: "px-1 text-sm text-[var(--color-text-muted)]", children: "No field matches." }))] }))] }));
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=CubeJsonFieldsTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeJsonFieldsTree.js","sourceRoot":"","sources":["../../../src/components/editors/CubeJsonFieldsTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeNodeEditorRegistry.d.ts","sourceRoot":"","sources":["../../../src/components/editors/CubeNodeEditorRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"CubeNodeEditorRegistry.d.ts","sourceRoot":"","sources":["../../../src/components/editors/CubeNodeEditorRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAoBL,KAAK,MAAM,EAIZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAuB3E;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CACzC,MAAM,EACN,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAwB7B,CAAC"}
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { Concat, DataProductAccessPointSource, Difference, IngestDatasetSource, Distinct, Drop, ExpressionFilter, Pivot, Extend, Filter, FunctionSource, Group, Join, Limit, Partition, RelationalTableSource, Rename, Restrict, ServiceSource, Slice, Sort, } from '@finos/legend-cube';
|
|
16
|
+
import { Concat, DataProductAccessPointSource, Difference, IngestDatasetSource, Distinct, Drop, ExpressionFilter, Pivot, Explode, Extend, Filter, FunctionSource, Group, Join, Limit, Partition, RelationalTableSource, Rename, Restrict, ServiceSource, Slice, Sort, } from '@finos/legend-cube';
|
|
17
17
|
import { CubeConcatEditor } from './CubeConcatEditor.js';
|
|
18
18
|
import { CubeDataProductSourceEditor } from './CubeDataProductSourceEditor.js';
|
|
19
|
+
import { CubeExplodeEditor } from './CubeExplodeEditor.js';
|
|
19
20
|
import { CubeExpressionFilterEditor } from './CubeExpressionFilterEditor.js';
|
|
20
21
|
import { CubePivotEditor } from './CubePivotEditor.js';
|
|
21
22
|
import { CubeDifferenceEditor } from './CubeDifferenceEditor.js';
|
|
@@ -50,6 +51,7 @@ export const CUBE_NODE_EDITORS = new Map([
|
|
|
50
51
|
[Filter.TYPE, CubeFilterEditor],
|
|
51
52
|
[ExpressionFilter.TYPE, CubeExpressionFilterEditor],
|
|
52
53
|
[Pivot.TYPE, CubePivotEditor],
|
|
54
|
+
[Explode.TYPE, CubeExplodeEditor],
|
|
53
55
|
[Restrict.TYPE, CubeRestrictEditor],
|
|
54
56
|
[Rename.TYPE, CubeRenameEditor],
|
|
55
57
|
[Distinct.TYPE, CubeDistinctEditor],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeNodeEditorRegistry.js","sourceRoot":"","sources":["../../../src/components/editors/CubeNodeEditorRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CubeNodeEditorRegistry.js","sourceRoot":"","sources":["../../../src/components/editors/CubeNodeEditorRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeGridRegion.d.ts","sourceRoot":"","sources":["../../../src/components/grid/CubeGridRegion.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"CubeGridRegion.d.ts","sourceRoot":"","sources":["../../../src/components/grid/CubeGridRegion.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAyBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAqWvE,uFAAuF;AACvF,eAAO,MAAM,cAAc,WACjB;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE;;CAgDzC,CAAC"}
|
|
@@ -21,6 +21,7 @@ import { EXECUTE_SHORTCUT_LABEL } from '../../__lib__/LegendCubeCommand.js';
|
|
|
21
21
|
import { getCubeWarehouseErrorHint } from '../../__lib__/LegendCubeDataProductLabels.js';
|
|
22
22
|
import { CUBE_PENDING_LABEL, formatDisabledReasons, getLevelTruncationMessage, getRowLimitError, getTruncationMessage, ROW_LIMIT_WARNING_THRESHOLD, } from '../../__lib__/LegendCubeLabels.js';
|
|
23
23
|
import { LEGEND_CUBE_TEST_ID } from '../../__lib__/LegendCubeTesting.js';
|
|
24
|
+
import { CUBE_TOUR_ANCHOR, cubeTourAnchor, } from '../../__lib__/LegendCubeTour.js';
|
|
24
25
|
import { CubeDataProductRunErrorKind, } from '../../stores/CubeDataProductRuntimeState.js';
|
|
25
26
|
import { CubeButton } from '../CubeButton.js';
|
|
26
27
|
import { CubeGridMode } from '../../stores/CubeGridState.js';
|
|
@@ -46,7 +47,7 @@ const CubeRowLimitInput = observer((props) => {
|
|
|
46
47
|
editorState.setRowLimit(value);
|
|
47
48
|
}
|
|
48
49
|
};
|
|
49
|
-
return (_jsxs("div", { className: "flex items-center gap-1", children: [_jsxs("label", { className: "flex items-center gap-1 text-base", children: ["Rows", _jsx("input", { className: "h-6 w-20 rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] px-1 text-right text-base text-[var(--color-text-primary)]", "aria-label": "Row limit", "aria-invalid": error !== undefined, value: draft, onChange: (event) => setDraft(event.target.value), onBlur: commit, onKeyDown: (event) => {
|
|
50
|
+
return (_jsxs("div", { className: "flex items-center gap-1", ...cubeTourAnchor(CUBE_TOUR_ANCHOR.EXECUTE), children: [_jsxs("label", { className: "flex items-center gap-1 text-base", children: ["Rows", _jsx("input", { className: "h-6 w-20 rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] px-1 text-right text-base text-[var(--color-text-primary)]", "aria-label": "Row limit", "aria-invalid": error !== undefined, value: draft, onChange: (event) => setDraft(event.target.value), onBlur: commit, onKeyDown: (event) => {
|
|
50
51
|
if (event.key === 'Enter') {
|
|
51
52
|
commit();
|
|
52
53
|
}
|
|
@@ -59,19 +60,19 @@ const CubeGridModeToggle = observer((props) => {
|
|
|
59
60
|
const option = (mode, label, title) => (_jsx("button", { type: "button", className: `h-6 px-2 text-base ${grid.mode === mode
|
|
60
61
|
? 'bg-[var(--color-bg-selected)] font-medium text-[var(--color-text-primary)]'
|
|
61
62
|
: 'text-[var(--color-text-secondary)] hover:bg-[var(--color-bg-hover)]'}`, "aria-pressed": grid.mode === mode, title: title, onClick: () => grid.setMode(mode), children: label }));
|
|
62
|
-
return (_jsxs("div", { className: "flex overflow-hidden rounded-sm border border-[var(--color-border-default)]", role: "group", "aria-label": "Grid mode", children: [option(CubeGridMode.SERVER_SIDE, 'Server-side', 'Each sort and drill-down level runs on the engine, over every row of the query'), option(CubeGridMode.LOCAL, 'Local', "The run's rows, grouped, pivoted and filtered in the browser")] }));
|
|
63
|
+
return (_jsxs("div", { className: "flex overflow-hidden rounded-sm border border-[var(--color-border-default)]", role: "group", "aria-label": "Grid mode", ...cubeTourAnchor(CUBE_TOUR_ANCHOR.GRID_MODE), children: [option(CubeGridMode.SERVER_SIDE, 'Server-side', 'Each sort and drill-down level runs on the engine, over every row of the query'), option(CubeGridMode.LOCAL, 'Local', "The run's rows, grouped, pivoted and filtered in the browser")] }));
|
|
63
64
|
});
|
|
64
65
|
const CubeGridToolbar = observer((props) => {
|
|
65
66
|
const { editorState, onShowSql, showRuns, onToggleRuns } = props;
|
|
66
67
|
const { execution } = editorState;
|
|
67
68
|
const { result } = execution;
|
|
68
69
|
const disabledReasons = execution.disabledReasons;
|
|
69
|
-
return (_jsxs("div", { className: "flex h-8 shrink-0 items-center gap-3 border-b border-[var(--color-border-default)] bg-[var(--color-bg-panel-header)] px-2", "data-testid": LEGEND_CUBE_TEST_ID.GRID_TOOLBAR, children: [execution.isRunning ? (_jsx(CubeButton, { title: "Stop the run", onClick: () => execution.stop(), children: "Stop" })) : (_jsx(CubeButton, { primary: true, disabled: !execution.canExecute, title: disabledReasons.length
|
|
70
|
+
return (_jsxs("div", { className: "flex h-8 shrink-0 items-center gap-3 border-b border-[var(--color-border-default)] bg-[var(--color-bg-panel-header)] px-2", "data-testid": LEGEND_CUBE_TEST_ID.GRID_TOOLBAR, children: [execution.isRunning ? (_jsx(CubeButton, { title: "Stop the run", ...cubeTourAnchor(CUBE_TOUR_ANCHOR.EXECUTE), onClick: () => execution.stop(), children: "Stop" })) : (_jsx(CubeButton, { primary: true, ...cubeTourAnchor(CUBE_TOUR_ANCHOR.EXECUTE), disabled: !execution.canExecute, title: disabledReasons.length
|
|
70
71
|
? `${formatDisabledReasons(disabledReasons)}\n(${EXECUTE_SHORTCUT_LABEL})`
|
|
71
72
|
: `Run the query up to the selected node (${EXECUTE_SHORTCUT_LABEL})`,
|
|
72
73
|
// the node editor's edits apply first, so they run (spec §17.5)
|
|
73
74
|
onClick: () => editorState.executeEdited(), children: "Execute" })), _jsx(CubeRowLimitInput, { editorState: editorState }), _jsx(CubeGridModeToggle, { editorState: editorState }), execution.isRunning && (_jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.EXECUTING_QUERY })), execution.isStale && (_jsx("span", { className: "rounded-sm bg-[var(--color-status-warn-bg)] px-1 text-base text-[var(--color-status-warn)]", title: "The query, the warehouse or the row limit changed since this run", children: "Stale: execute again to refresh" })), result && !execution.isRunning && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: `${result.rows.length.toLocaleString('en-US')} row${result.rows.length === 1 ? '' : 's'} in ${formatDuration(result.durationMs)}` }), result.limited && (_jsx("span", { className: "text-base text-[var(--color-status-warn)]", children: getTruncationMessage(result.rowLimit) })), editorState.grid.isServerSide &&
|
|
74
|
-
editorState.grid.hasLimitedLevel && (_jsx("span", { className: "text-base text-[var(--color-status-warn)]", children: getLevelTruncationMessage(result.rowLimit) })), editorState.export.isExporting && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.EXPORTING_CSV }), _jsx(CubeButton, { title: "Stop the export", onClick: () => editorState.export.stop(), children: "Stop export" })] })), editorState.grid.isServerSide && editorState.grid.fetching > 0 && (_jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.FETCHING_ROWS })), result.sql.length > 0 && (_jsx(CubeButton, { "aria-haspopup": "dialog", onClick: onShowSql, children: "Show SQL" }))] })), _jsx("span", { className: "flex-1" }), _jsx(CubeButton, { "aria-expanded": showRuns, title: "The latest runs, fetches and exports, with their SQL", onClick: onToggleRuns, children: `Runs (${editorState.runStats.entries.length})` })] }));
|
|
75
|
+
editorState.grid.hasLimitedLevel && (_jsx("span", { className: "text-base text-[var(--color-status-warn)]", children: getLevelTruncationMessage(result.rowLimit) })), editorState.export.isExporting && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.EXPORTING_CSV }), _jsx(CubeButton, { title: "Stop the export", onClick: () => editorState.export.stop(), children: "Stop export" })] })), editorState.grid.isServerSide && editorState.grid.fetching > 0 && (_jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.FETCHING_ROWS })), result.sql.length > 0 && (_jsx(CubeButton, { "aria-haspopup": "dialog", ...cubeTourAnchor(CUBE_TOUR_ANCHOR.SHOW_SQL), onClick: onShowSql, children: "Show SQL" }))] })), _jsx("span", { className: "flex-1" }), _jsx(CubeButton, { "aria-expanded": showRuns, ...cubeTourAnchor(CUBE_TOUR_ANCHOR.RUNS), title: "The latest runs, fetches and exports, with their SQL", onClick: onToggleRuns, children: `Runs (${editorState.runStats.entries.length})` })] }));
|
|
75
76
|
});
|
|
76
77
|
/**
|
|
77
78
|
* On a data product cube, what to do about a run refused for its warehouse,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeGridRegion.js","sourceRoot":"","sources":["../../../src/components/grid/CubeGridRegion.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EACL,2BAA2B,GAE5B,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,wFAAwF;AACxF,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,iBAAiB,GAAG,QAAQ,CAChC,CAAC,KAAuC,EAAE,EAAE;IAC1C,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACzD,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"CubeGridRegion.js","sourceRoot":"","sources":["../../../src/components/grid/CubeGridRegion.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,9 +33,11 @@ export declare const groupThousands: (text: string) => string;
|
|
|
33
33
|
* How the grid shows a value of a column of the family (PLAN §9, user,
|
|
34
34
|
* 2026-10-10): Decimal and Number values keep every digit,
|
|
35
35
|
* their thousands grouped; Float values are rounded to
|
|
36
|
-
* `CUBE_GRID_FLOAT_DECIMAL_PLACES` places, grouped too;
|
|
37
|
-
*
|
|
38
|
-
*
|
|
36
|
+
* `CUBE_GRID_FLOAT_DECIMAL_PLACES` places, grouped too; a Variant's JSON on
|
|
37
|
+
* one line, `{name: ann, tier: gold}` (`formatCubeJsonLine`, PLAN §11.20);
|
|
38
|
+
* Integer values, and everything else, show as they are, so ids and years get
|
|
39
|
+
* no commas. The value itself is unchanged, so copying a cell copies its
|
|
40
|
+
* exact value.
|
|
39
41
|
*/
|
|
40
42
|
export declare const formatCellValue: (value: Exclude<CubeResultValue, null>, family: TypeFamily) => string;
|
|
41
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeGridValues.d.ts","sourceRoot":"","sources":["../../../src/components/grid/CubeGridValues.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,QAAQ,EAGb,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"CubeGridValues.d.ts","sourceRoot":"","sources":["../../../src/components/grid/CubeGridValues.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,QAAQ,EAGb,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAczE,eAAO,MAAM,eAAe,GAAI,QAAQ,UAAU,KAAG,OACvB,CAAC;AA6C/B,qHAAqH;AACrH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAY/D,CAAC;AAEF,6GAA6G;AAC7G,eAAO,MAAM,iBAAiB,GAC5B,MAAM,eAAe,GAAG,SAAS,EACjC,OAAO,eAAe,GAAG,SAAS,KACjC,MAuBF,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,cAAc,GAAI,YAAY,MAAM,KAAG,MAGT,CAAC;AAE5C,yDAAyD;AACzD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAIhD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAO7C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,EACrC,QAAQ,UAAU,KACjB,MA0BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,QAAQ,KAAG,MAAM,GAAG,SAKxC,CAAC;AAEhB;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,EACrC,QAAQ,UAAU,EAClB,QAAQ,MAAM,GAAG,SAAS,KACzB,MAoBF,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,QAAO,SAAS,MAAM,EAOtD,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB,GACjC,QAAQ,YAAY,KACnB,MAAM,GAAG,SAWX,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,EACrC,QAAQ,YAAY,KACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,SAsD1D,CAAC"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { ColumnFormatStyle, isColumnFormatStyle, PrimitiveType, TypeFamily, } from '@finos/legend-cube';
|
|
17
|
+
import { formatCubeJsonLine } from '../../stores/variant/CubeJson.js';
|
|
17
18
|
// How the grid shows and sorts values (PLAN §9, Settled before M1.8).
|
|
18
19
|
// Integer and Decimal values arrive as their exact text and are never turned
|
|
19
20
|
// into JS numbers, which would lose digits.
|
|
@@ -111,9 +112,11 @@ export const groupThousands = (text) => {
|
|
|
111
112
|
* How the grid shows a value of a column of the family (PLAN §9, user,
|
|
112
113
|
* 2026-10-10): Decimal and Number values keep every digit,
|
|
113
114
|
* their thousands grouped; Float values are rounded to
|
|
114
|
-
* `CUBE_GRID_FLOAT_DECIMAL_PLACES` places, grouped too;
|
|
115
|
-
*
|
|
116
|
-
*
|
|
115
|
+
* `CUBE_GRID_FLOAT_DECIMAL_PLACES` places, grouped too; a Variant's JSON on
|
|
116
|
+
* one line, `{name: ann, tier: gold}` (`formatCubeJsonLine`, PLAN §11.20);
|
|
117
|
+
* Integer values, and everything else, show as they are, so ids and years get
|
|
118
|
+
* no commas. The value itself is unchanged, so copying a cell copies its
|
|
119
|
+
* exact value.
|
|
117
120
|
*/
|
|
118
121
|
export const formatCellValue = (value, family) => {
|
|
119
122
|
const text = String(value);
|
|
@@ -132,6 +135,8 @@ export const formatCellValue = (value, family) => {
|
|
|
132
135
|
// a value that rounds to zero shows no sign
|
|
133
136
|
return groupThousands(Number(rounded) === 0 ? rounded.replace(/^-/u, '') : rounded);
|
|
134
137
|
}
|
|
138
|
+
case TypeFamily.VARIANT:
|
|
139
|
+
return formatCubeJsonLine(text);
|
|
135
140
|
default:
|
|
136
141
|
return text;
|
|
137
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeGridValues.js","sourceRoot":"","sources":["../../../src/components/grid/CubeGridValues.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,iBAAiB,EAEjB,mBAAmB,EACnB,aAAa,EACb,UAAU,GACX,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"CubeGridValues.js","sourceRoot":"","sources":["../../../src/components/grid/CubeGridValues.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-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 { CubeEditorState } from '../../stores/CubeEditorState.js';
|
|
17
|
+
/**
|
|
18
|
+
* Explore JSON (PLAN §11.20): a Variant column's fields, read from its first
|
|
19
|
+
* values or every row, each with what it held and how often; the selected
|
|
20
|
+
* field's offers, ticked and added as one Extend after the node that ran
|
|
21
|
+
*/
|
|
22
|
+
export declare const CubeJsonExplorerDialog: ((props: {
|
|
23
|
+
editorState: CubeEditorState;
|
|
24
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
25
|
+
displayName: string;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=CubeJsonExplorerDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeJsonExplorerDialog.d.ts","sourceRoot":"","sources":["../../../src/components/grid/CubeJsonExplorerDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAsLvE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,WACzB;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE;;CAsFzC,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-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 { clsx, Dialog, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalHeader, } from '@finos/legend-art';
|
|
18
|
+
import { flowResult } from 'mobx';
|
|
19
|
+
import { observer } from 'mobx-react-lite';
|
|
20
|
+
import { CUBE_JSON_EXPLODE_OFFER_TITLE } from '../../__lib__/LegendCubeLabels.js';
|
|
21
|
+
import { LEGEND_CUBE_TEST_ID } from '../../__lib__/LegendCubeTesting.js';
|
|
22
|
+
import { filterCubeJsonFields, } from '../../stores/variant/CubeJsonOffers.js';
|
|
23
|
+
import { CubeButton } from '../CubeButton.js';
|
|
24
|
+
import { CUBE_PRIMARY_BUTTON_DARK_MODE } from '../CubeDialogTheme.js';
|
|
25
|
+
const format = (count) => count.toLocaleString('en-US');
|
|
26
|
+
/** A share, 0 to 1, as a whole percentage */
|
|
27
|
+
const percentOf = (share) => Math.round(share * 100);
|
|
28
|
+
/** A field's name: its last key, or the column's for the column itself */
|
|
29
|
+
const nameOf = (explorer, field) => field.path.at(-1) ?? explorer.column?.name ?? '';
|
|
30
|
+
/** What was read, on one line: the first values or every row, and why it stopped */
|
|
31
|
+
const CubeJsonExplorerStatus = observer((props) => {
|
|
32
|
+
const { explorer } = props;
|
|
33
|
+
const { sample, column } = explorer;
|
|
34
|
+
let text;
|
|
35
|
+
if (explorer.isReading) {
|
|
36
|
+
text = `Reading ${column?.name ?? ''}…`;
|
|
37
|
+
}
|
|
38
|
+
else if (!sample) {
|
|
39
|
+
text = '';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const values = sample.rows - sample.unreadable;
|
|
43
|
+
const unreadable = sample.unreadable
|
|
44
|
+
? ` (${format(sample.unreadable)} not JSON)`
|
|
45
|
+
: '';
|
|
46
|
+
text = sample.complete
|
|
47
|
+
? `All ${format(sample.rows)} values read${unreadable}: the fields, their types and shares cover the whole column.`
|
|
48
|
+
: `The first ${format(sample.rows)} values read${unreadable}: the types and shares are from this sample.`;
|
|
49
|
+
if (values === 0) {
|
|
50
|
+
text = `No JSON in the ${format(sample.rows)} values read.`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return (_jsxs("div", { className: "mb-2 flex min-h-6 items-center gap-2 text-sm text-[var(--color-text-secondary)]", children: [_jsx("span", { role: "status", children: text }), explorer.isReading ? (_jsx(CubeButton, { onClick: () => explorer.stop(), children: "Stop" })) : (sample &&
|
|
54
|
+
!sample.complete && (_jsx(CubeButton, { title: "Read every value of the column, for the shape of the whole column: listed in Runs, and it can be stopped", onClick: () => {
|
|
55
|
+
// a failed read shows its message in the dialog
|
|
56
|
+
flowResult(explorer.read(true)).catch(() => undefined);
|
|
57
|
+
}, children: "Read every row" })))] }));
|
|
58
|
+
});
|
|
59
|
+
/** A field of the tree, and its fields, indented */
|
|
60
|
+
const CubeJsonFieldRow = observer((props) => {
|
|
61
|
+
const { explorer, field, depth } = props;
|
|
62
|
+
const selected = JSON.stringify(field.path) === JSON.stringify(explorer.selectedPath);
|
|
63
|
+
const share = percentOf(field.presence);
|
|
64
|
+
return (_jsxs(_Fragment, { children: [_jsxs("button", { type: "button", className: clsx('flex w-full items-baseline gap-2 py-0.5 pr-2 text-left hover:bg-[var(--color-bg-hover)]', { 'bg-[var(--color-bg-selected)]': selected }), style: { paddingLeft: `${8 + depth * 16}px` }, "aria-pressed": selected, "aria-label": `Field ${[explorer.column?.name ?? '', ...field.path].join('.')}`, onClick: () => explorer.select(field.path), children: [_jsx("span", { className: "break-all font-mono text-sm text-[var(--color-text-primary)]", children: nameOf(explorer, field) }), _jsx("span", { className: "text-xs text-[var(--color-text-secondary)]", children: field.description }), share < 100 && (_jsxs("span", { className: "ml-auto text-xs text-[var(--color-text-muted)]", title: field.path.length
|
|
65
|
+
? `In ${share}% of the objects it could be in`
|
|
66
|
+
: `In ${share}% of the rows read`, children: [share, "%"] }))] }), field.children.map((child) => (_jsx(CubeJsonFieldRow, { explorer: explorer, field: child, depth: depth + 1 }, JSON.stringify(child.path))))] }));
|
|
67
|
+
});
|
|
68
|
+
/** The selected field: where it is, what it held, and the columns it can become, to tick */
|
|
69
|
+
const CubeJsonFieldOffers = observer((props) => {
|
|
70
|
+
const { explorer } = props;
|
|
71
|
+
const field = explorer.selectedField;
|
|
72
|
+
if (!field) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
const { offers } = field;
|
|
76
|
+
const share = percentOf(field.presence);
|
|
77
|
+
return (_jsxs("div", { className: "flex flex-col gap-2 p-2", children: [_jsx("div", { className: "break-all font-mono text-sm text-[var(--color-text-primary)]", children: [explorer.column?.name ?? '', ...field.path].join(' › ') }), _jsxs("div", { className: "text-sm text-[var(--color-text-secondary)]", children: [field.description, share < 100
|
|
78
|
+
? ` · in ${share}% of ${field.path.length ? 'the objects it could be in' : 'the rows read'}`
|
|
79
|
+
: ''] }), field.topValues.length > 0 && (_jsxs("div", { className: "break-all text-xs text-[var(--color-text-secondary)]", children: ["Values seen: ", field.topValues.join(', ')] })), offers.length ? (_jsx("div", { role: "group", "aria-label": "Columns it can become", children: offers.map((offer) => (_jsxs("label", { className: "flex cursor-pointer items-baseline gap-2 py-0.5 text-sm", title: offer.code ?? CUBE_JSON_EXPLODE_OFFER_TITLE, children: [_jsx("input", { type: "checkbox", checked: explorer.isTicked(field.path, offer), onChange: () => explorer.toggle(field.path, offer) }), _jsx("span", { className: "text-[var(--color-text-primary)]", children: offer.label }), _jsxs("span", { className: "text-xs text-[var(--color-text-muted)]", children: [offer.explode ? 'Explode Array' : offer.type, " \u00B7 ", offer.name] })] }, offer.key))) })) : (_jsx("div", { className: "text-sm text-[var(--color-text-muted)]", children: field.children.length
|
|
80
|
+
? 'Pick one of its fields.'
|
|
81
|
+
: 'Nothing to make of it.' }))] }));
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Explore JSON (PLAN §11.20): a Variant column's fields, read from its first
|
|
85
|
+
* values or every row, each with what it held and how often; the selected
|
|
86
|
+
* field's offers, ticked and added as one Extend after the node that ran
|
|
87
|
+
*/
|
|
88
|
+
export const CubeJsonExplorerDialog = observer((props) => {
|
|
89
|
+
const { editorState } = props;
|
|
90
|
+
const explorer = editorState.jsonExplorer;
|
|
91
|
+
const { applicationStore } = editorState.host;
|
|
92
|
+
const darkMode = !applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;
|
|
93
|
+
const fields = explorer.fields
|
|
94
|
+
? filterCubeJsonFields(explorer.fields, explorer.search)
|
|
95
|
+
: undefined;
|
|
96
|
+
const count = explorer.tickedOffers.length;
|
|
97
|
+
const add = () => {
|
|
98
|
+
flowResult(explorer.add()).catch(applicationStore.alertUnhandledError);
|
|
99
|
+
};
|
|
100
|
+
return (_jsx(Dialog, { open: explorer.isOpen, onClose: () => explorer.close(), children: _jsxs(Modal, { darkMode: darkMode, className: "w-[960px] max-w-full", children: [_jsx(ModalHeader, { children: _jsx("div", { className: "modal__title", children: `Explore JSON: ${explorer.column?.name ?? ''}` }) }), _jsx(ModalBody, { children: _jsxs("div", { "data-testid": LEGEND_CUBE_TEST_ID.JSON_EXPLORER, children: [_jsx(CubeJsonExplorerStatus, { explorer: explorer }), explorer.error && (_jsx("div", { role: "alert", className: "mb-2 break-words text-sm text-[var(--color-status-error)]", children: explorer.error })), explorer.fields && (_jsxs("div", { className: "grid h-[50vh] grid-cols-2 gap-2", children: [_jsxs("div", { className: "flex min-h-0 flex-col rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-panel)]", children: [_jsx("input", { className: "m-1 rounded-sm border border-[var(--color-border-default)] px-1 text-sm", placeholder: "Find a field", "aria-label": "Find a field", value: explorer.search, onChange: (event) => explorer.setSearch(event.target.value) }), _jsx("div", { className: "min-h-0 flex-1 overflow-auto", "aria-label": "Fields", children: fields ? (_jsx(CubeJsonFieldRow, { explorer: explorer, field: fields, depth: 0 })) : (_jsx("div", { className: "p-2 text-sm text-[var(--color-text-muted)]", children: "No field matches." })) })] }), _jsx("div", { className: "min-h-0 overflow-auto rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-panel)]", children: _jsx(CubeJsonFieldOffers, { explorer: explorer }) })] }))] }) }), _jsxs(ModalFooter, { children: [_jsx(ModalFooterButton, { darkMode: CUBE_PRIMARY_BUTTON_DARK_MODE, formatText: false, text: count === 1 ? 'Add 1 column' : `Add ${count} columns`, disabled: !count || explorer.isAdding || explorer.isReading, onClick: add }), _jsx(ModalFooterButton, { darkMode: darkMode, formatText: false, type: "secondary", text: "Cancel", onClick: () => explorer.close() })] })] }) }));
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=CubeJsonExplorerDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeJsonExplorerDialog.js","sourceRoot":"","sources":["../../../src/components/grid/CubeJsonExplorerDialog.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAEL,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAExE,6CAA6C;AAC7C,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AAErE,0EAA0E;AAC1E,MAAM,MAAM,GAAG,CACb,QAA+B,EAC/B,KAAoB,EACZ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;AAE9D,oFAAoF;AACpF,MAAM,sBAAsB,GAAG,QAAQ,CACrC,CAAC,KAA0C,EAAE,EAAE;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACpC,IAAI,IAAY,CAAC;IACjB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,WAAW,MAAM,EAAE,IAAI,IAAI,EAAE,GAAG,CAAC;IAC1C,CAAC;SAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;YAClC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,GAAG,MAAM,CAAC,QAAQ;YACpB,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,8DAA8D;YACnH,CAAC,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,8CAA8C,CAAC;QAC5G,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,IAAI,GAAG,kBAAkB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,CACL,eAAK,SAAS,EAAC,iFAAiF,aAC9F,eAAM,IAAI,EAAC,QAAQ,YAAE,IAAI,GAAQ,EAChC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB,KAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,qBAAmB,CAC9D,CAAC,CAAC,CAAC,CACF,MAAM;gBACN,CAAC,MAAM,CAAC,QAAQ,IAAI,CAClB,KAAC,UAAU,IACT,KAAK,EAAC,0GAA0G,EAChH,OAAO,EAAE,GAAG,EAAE;oBACZ,gDAAgD;oBAChD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACzD,CAAC,+BAGU,CACd,CACF,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,oDAAoD;AACpD,MAAM,gBAAgB,GAAG,QAAQ,CAC/B,CAAC,KAIA,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACzC,MAAM,QAAQ,GACZ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,CACL,8BACE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CACb,yFAAyF,EACzF,EAAE,+BAA+B,EAAE,QAAQ,EAAE,CAC9C,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,IAAI,EAAE,kBAC/B,QAAQ,gBACV,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAC7E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAE1C,eAAM,SAAS,EAAC,8DAA8D,YAC3E,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GACnB,EACP,eAAM,SAAS,EAAC,4CAA4C,YACzD,KAAK,CAAC,WAAW,GACb,EACN,KAAK,GAAG,GAAG,IAAI,CACd,gBACE,SAAS,EAAC,gDAAgD,EAC1D,KAAK,EACH,KAAK,CAAC,IAAI,CAAC,MAAM;4BACf,CAAC,CAAC,MAAM,KAAK,iCAAiC;4BAC9C,CAAC,CAAC,MAAM,KAAK,oBAAoB,aAGpC,KAAK,SACD,CACR,IACM,EACR,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,KAAC,gBAAgB,IAEf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,GAAG,CAAC,IAHX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAI/B,CACH,CAAC,IACD,CACJ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,4FAA4F;AAC5F,MAAM,mBAAmB,GAAG,QAAQ,CAClC,CAAC,KAA0C,EAAE,EAAE;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,8DAA8D,YAC1E,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GACrD,EACN,eAAK,SAAS,EAAC,4CAA4C,aACxD,KAAK,CAAC,WAAW,EACjB,KAAK,GAAG,GAAG;wBACV,CAAC,CAAC,SAAS,KAAK,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,eAAe,EAAE;wBAC5F,CAAC,CAAC,EAAE,IACF,EACL,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7B,eAAK,SAAS,EAAC,sDAAsD,8BACrD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IACpC,CACP,EACA,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CACf,cAAK,IAAI,EAAC,OAAO,gBAAY,uBAAuB,YACjD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,iBAEE,SAAS,EAAC,yDAAyD,EACnE,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,6BAA6B,aAElD,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAC7C,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAClD,EACF,eAAM,SAAS,EAAC,kCAAkC,YAC/C,KAAK,CAAC,KAAK,GACP,EACP,gBAAM,SAAS,EAAC,wCAAwC,aACrD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,cAAK,KAAK,CAAC,IAAI,IACvD,KAdF,KAAK,CAAC,GAAG,CAeR,CACT,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,wCAAwC,YACpD,KAAK,CAAC,QAAQ,CAAC,MAAM;oBACpB,CAAC,CAAC,yBAAyB;oBAC3B,CAAC,CAAC,wBAAwB,GACxB,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAC5C,CAAC,KAAuC,EAAE,EAAE;IAC1C,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC;IAC1C,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;IAC9C,MAAM,QAAQ,GACZ,CAAC,gBAAgB,CAAC,aAAa,CAAC,mCAAmC,CAAC;IACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM;QAC5B,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC;IAC3C,MAAM,GAAG,GAAG,GAAS,EAAE;QACrB,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzE,CAAC,CAAC;IACF,OAAO,CACL,KAAC,MAAM,IAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,YAC5D,MAAC,KAAK,IAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAC,sBAAsB,aACzD,KAAC,WAAW,cACV,cAAK,SAAS,EAAC,cAAc,YAAE,iBAAiB,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAO,GACxE,EACd,KAAC,SAAS,cACR,8BAAkB,mBAAmB,CAAC,aAAa,aACjD,KAAC,sBAAsB,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAC7C,QAAQ,CAAC,KAAK,IAAI,CACjB,cACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,2DAA2D,YAEpE,QAAQ,CAAC,KAAK,GACX,CACP,EACA,QAAQ,CAAC,MAAM,IAAI,CAClB,eAAK,SAAS,EAAC,iCAAiC,aAC9C,eAAK,SAAS,EAAC,yGAAyG,aACtH,gBACE,SAAS,EAAC,yEAAyE,EACnF,WAAW,EAAC,cAAc,gBACf,cAAc,EACzB,KAAK,EAAE,QAAQ,CAAC,MAAM,EACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAExC,EACF,cACE,SAAS,EAAC,8BAA8B,gBAC7B,QAAQ,YAElB,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,GACR,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,4CAA4C,kCAErD,CACP,GACG,IACF,EACN,cAAK,SAAS,EAAC,yGAAyG,YACtH,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,GAAI,GACvC,IACF,CACP,IACG,GACI,EACZ,MAAC,WAAW,eACV,KAAC,iBAAiB,IAChB,QAAQ,EAAE,6BAA6B,EACvC,UAAU,EAAE,KAAK,EACjB,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,EAC3D,QAAQ,EAAE,CAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAC3D,OAAO,EAAE,GAAG,GACZ,EACF,KAAC,iBAAiB,IAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,KAAK,EACjB,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,GAC/B,IACU,IACR,GACD,CACV,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-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 { CubeEditorState } from '../../stores/CubeEditorState.js';
|
|
17
|
+
/**
|
|
18
|
+
* Open JSON (PLAN §11.20): a Variant cell's document as a tree, each object
|
|
19
|
+
* and array open to `OPEN_DEPTH` and opened or closed by a click, with Copy
|
|
20
|
+
* JSON (indented, numbers as written); text that isn't JSON is shown as it is
|
|
21
|
+
*/
|
|
22
|
+
export declare const CubeJsonViewerDialog: ((props: {
|
|
23
|
+
editorState: CubeEditorState;
|
|
24
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
25
|
+
displayName: string;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=CubeJsonViewerDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeJsonViewerDialog.d.ts","sourceRoot":"","sources":["../../../src/components/grid/CubeJsonViewerDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAgGvE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,WACvB;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE;;CA0DzC,CAAC"}
|