@finos/legend-application 8.0.2 → 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/LegendApplicationComponentFrameworkProvider.d.ts +4 -2
- package/lib/components/LegendApplicationComponentFrameworkProvider.d.ts.map +1 -1
- package/lib/components/LegendApplicationComponentFrameworkProvider.js +7 -4
- package/lib/components/LegendApplicationComponentFrameworkProvider.js.map +1 -1
- package/lib/components/NotificationManager.js +1 -1
- package/lib/components/NotificationManager.js.map +1 -1
- package/lib/components/WebApplicationNavigatorProvider.d.ts.map +1 -1
- package/lib/components/WebApplicationNavigatorProvider.js +1 -1
- package/lib/components/WebApplicationNavigatorProvider.js.map +1 -1
- package/lib/components/{shared/execution-plan-viewer → execution-plan-viewer}/ExecutionPlanViewer.d.ts +1 -1
- package/lib/components/execution-plan-viewer/ExecutionPlanViewer.d.ts.map +1 -0
- package/lib/components/{shared/execution-plan-viewer → execution-plan-viewer}/ExecutionPlanViewer.js +3 -3
- package/lib/components/execution-plan-viewer/ExecutionPlanViewer.js.map +1 -0
- package/lib/components/{shared/execution-plan-viewer → execution-plan-viewer}/SQLExecutionNodeViewer.d.ts +1 -1
- package/lib/components/execution-plan-viewer/SQLExecutionNodeViewer.d.ts.map +1 -0
- package/lib/components/{shared/execution-plan-viewer → execution-plan-viewer}/SQLExecutionNodeViewer.js +2 -2
- package/lib/components/execution-plan-viewer/SQLExecutionNodeViewer.js.map +1 -0
- package/lib/components/shared/DocumentationLink.d.ts +5 -0
- package/lib/components/shared/DocumentationLink.d.ts.map +1 -1
- package/lib/components/shared/DocumentationLink.js +12 -2
- package/lib/components/shared/DocumentationLink.js.map +1 -1
- package/lib/components/shared/{PackageableElementOptionRenderer.d.ts → PackageableElementOptionLabel.d.ts} +1 -1
- package/lib/components/shared/PackageableElementOptionLabel.d.ts.map +1 -0
- package/lib/components/shared/{PackageableElementOptionRenderer.js → PackageableElementOptionLabel.js} +5 -5
- package/lib/components/shared/PackageableElementOptionLabel.js.map +1 -0
- package/lib/components/shared/TextInputEditor.d.ts.map +1 -1
- package/lib/components/shared/TextInputEditor.js +1 -2
- package/lib/components/shared/TextInputEditor.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +8 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -9
- package/lib/index.js.map +1 -1
- package/lib/stores/ApplicationStore.d.ts +2 -0
- package/lib/stores/ApplicationStore.d.ts.map +1 -1
- package/lib/stores/ApplicationStore.js +13 -10
- package/lib/stores/ApplicationStore.js.map +1 -1
- package/lib/stores/AssistantService.js +1 -1
- package/lib/stores/AssistantService.js.map +1 -1
- package/lib/stores/{shared/ExecutionPlanState.d.ts → ExecutionPlanState.d.ts} +1 -1
- package/lib/stores/ExecutionPlanState.d.ts.map +1 -0
- package/lib/stores/{shared/ExecutionPlanState.js → ExecutionPlanState.js} +0 -0
- package/lib/stores/ExecutionPlanState.js.map +1 -0
- package/lib/stores/LegendApplicationDocumentation.d.ts +2 -1
- package/lib/stores/LegendApplicationDocumentation.d.ts.map +1 -1
- package/lib/stores/LegendApplicationDocumentation.js +1 -0
- package/lib/stores/LegendApplicationDocumentation.js.map +1 -1
- package/lib/stores/WebApplicationNavigator.d.ts +62 -30
- package/lib/stores/WebApplicationNavigator.d.ts.map +1 -1
- package/lib/stores/WebApplicationNavigator.js +80 -15
- package/lib/stores/WebApplicationNavigator.js.map +1 -1
- package/lib/{components/ApplicationTestID.js → stores/WebApplicationRouter.d.ts} +4 -5
- package/lib/stores/WebApplicationRouter.d.ts.map +1 -0
- package/{src/components/ApplicationTestID.ts → lib/stores/WebApplicationRouter.js} +4 -4
- package/lib/stores/WebApplicationRouter.js.map +1 -0
- package/package.json +9 -11
- package/src/components/LegendApplicationComponentFrameworkProvider.tsx +18 -14
- package/src/components/NotificationManager.tsx +1 -1
- package/src/components/WebApplicationNavigatorProvider.tsx +1 -1
- package/src/components/{shared/execution-plan-viewer → execution-plan-viewer}/ExecutionPlanViewer.tsx +3 -3
- package/src/components/{shared/execution-plan-viewer → execution-plan-viewer}/SQLExecutionNodeViewer.tsx +3 -3
- package/src/components/shared/DocumentationLink.tsx +25 -1
- package/src/components/shared/{PackageableElementOptionRenderer.tsx → PackageableElementOptionLabel.tsx} +4 -4
- package/src/components/shared/TextInputEditor.tsx +1 -2
- package/src/index.ts +9 -9
- package/src/stores/ApplicationStore.ts +15 -12
- package/src/stores/AssistantService.ts +1 -1
- package/src/stores/{shared/ExecutionPlanState.ts → ExecutionPlanState.ts} +1 -1
- package/src/stores/LegendApplicationDocumentation.ts +1 -0
- package/src/stores/WebApplicationNavigator.ts +149 -39
- package/{lib/components/ApplicationTestID.d.ts → src/stores/WebApplicationRouter.ts} +12 -4
- package/tsconfig.json +7 -16
- package/lib/components/ApplicationTestID.d.ts.map +0 -1
- package/lib/components/ApplicationTestID.js.map +0 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts +0 -52
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +0 -1
- package/lib/components/shared/BasicValueSpecificationEditor.js +0 -323
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +0 -1
- package/lib/components/shared/CustomDatePicker.d.ts +0 -38
- package/lib/components/shared/CustomDatePicker.d.ts.map +0 -1
- package/lib/components/shared/CustomDatePicker.js +0 -616
- package/lib/components/shared/CustomDatePicker.js.map +0 -1
- package/lib/components/shared/LambdaEditor.d.ts +0 -92
- package/lib/components/shared/LambdaEditor.d.ts.map +0 -1
- package/lib/components/shared/LambdaEditor.js +0 -434
- package/lib/components/shared/LambdaEditor.js.map +0 -1
- package/lib/components/shared/LambdaParameterValuesEditor.d.ts +0 -25
- package/lib/components/shared/LambdaParameterValuesEditor.d.ts.map +0 -1
- package/lib/components/shared/LambdaParameterValuesEditor.js +0 -52
- package/lib/components/shared/LambdaParameterValuesEditor.js.map +0 -1
- package/lib/components/shared/PackageableElementOptionRenderer.d.ts.map +0 -1
- package/lib/components/shared/PackageableElementOptionRenderer.js.map +0 -1
- package/lib/components/shared/execution-plan-viewer/ExecutionPlanViewer.d.ts.map +0 -1
- package/lib/components/shared/execution-plan-viewer/ExecutionPlanViewer.js.map +0 -1
- package/lib/components/shared/execution-plan-viewer/SQLExecutionNodeViewer.d.ts.map +0 -1
- package/lib/components/shared/execution-plan-viewer/SQLExecutionNodeViewer.js.map +0 -1
- package/lib/stores/CJS__Fuse.cjs +0 -35
- package/lib/stores/CJS__Fuse.cjs.map +0 -1
- package/lib/stores/CJS__Fuse.d.cts +0 -28
- package/lib/stores/CJS__Fuse.d.cts.map +0 -1
- package/lib/stores/shared/ExecutionPlanState.d.ts.map +0 -1
- package/lib/stores/shared/ExecutionPlanState.js.map +0 -1
- package/lib/stores/shared/LambdaEditorState.d.ts +0 -40
- package/lib/stores/shared/LambdaEditorState.d.ts.map +0 -1
- package/lib/stores/shared/LambdaEditorState.js +0 -81
- package/lib/stores/shared/LambdaEditorState.js.map +0 -1
- package/lib/stores/shared/LambdaParameterState.d.ts +0 -62
- package/lib/stores/shared/LambdaParameterState.d.ts.map +0 -1
- package/lib/stores/shared/LambdaParameterState.js +0 -160
- package/lib/stores/shared/LambdaParameterState.js.map +0 -1
- package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts +0 -27
- package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts.map +0 -1
- package/lib/stores/shared/ValueSpecificationModifierHelper.js +0 -49
- package/lib/stores/shared/ValueSpecificationModifierHelper.js.map +0 -1
- package/src/components/shared/BasicValueSpecificationEditor.tsx +0 -828
- package/src/components/shared/CustomDatePicker.tsx +0 -1292
- package/src/components/shared/LambdaEditor.tsx +0 -854
- package/src/components/shared/LambdaParameterValuesEditor.tsx +0 -118
- package/src/stores/CJS__Fuse.cts +0 -28
- package/src/stores/shared/LambdaEditorState.ts +0 -118
- package/src/stores/shared/LambdaParameterState.ts +0 -253
- package/src/stores/shared/ValueSpecificationModifierHelper.ts +0 -104
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDatePicker.js","sourceRoot":"","sources":["../../../src/components/shared/CustomDatePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
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
|
-
/// <reference types="react" resolution-mode="require"/>
|
|
17
|
-
import { type IKeyboardEvent } from 'monaco-editor';
|
|
18
|
-
import type { LambdaEditorState } from '../../stores/shared/LambdaEditorState.js';
|
|
19
|
-
import { type Type } from '@finos/legend-graph';
|
|
20
|
-
export declare type LambdaEditorOnKeyDownEventHandler = {
|
|
21
|
-
matcher: (event: IKeyboardEvent) => boolean;
|
|
22
|
-
action: (event: IKeyboardEvent) => void;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* This is not strictly meant for lambda. The idea is to create an editor that allows
|
|
26
|
-
* editing _something_ but allows user to edit via text.
|
|
27
|
-
*/
|
|
28
|
-
export declare const LambdaEditor: ((props: {
|
|
29
|
-
className?: string | undefined;
|
|
30
|
-
disabled: boolean;
|
|
31
|
-
lambdaEditorState: LambdaEditorState;
|
|
32
|
-
/**
|
|
33
|
-
* TODO: when we pass in these expected type we should match a type as expected type if it's covariance, i.e. it is a subtype of
|
|
34
|
-
* the expected type. Note that we also have to handle that relationship for Primitive type
|
|
35
|
-
* See https://dzone.com/articles/covariance-and-contravariance
|
|
36
|
-
*/
|
|
37
|
-
expectedType?: Type | undefined;
|
|
38
|
-
matchedExpectedType?: (() => boolean) | undefined;
|
|
39
|
-
onExpectedTypeLabelSelect?: (() => void) | undefined;
|
|
40
|
-
/**
|
|
41
|
-
* As backdrop element is often shared in the application, and there could be multiple
|
|
42
|
-
* editor using that backdrop, we could end up in situation where some such editors
|
|
43
|
-
* have parser errors and some don't (this can happen when user make edits very quickly 2 lambda
|
|
44
|
-
* editor and causes parsers error simultaneously). In this case, we want to make sure when
|
|
45
|
-
* parser error is fixed in one editor, the backdrop is not dismissed immediately.
|
|
46
|
-
*
|
|
47
|
-
* NOTE: the current approach has a critical flaw, where on the same screen, there could be multiple
|
|
48
|
-
* sets of lambda editors with different values for `forceBackdrop`. So really, the only way to
|
|
49
|
-
* accomondate for this is to have `forceBackdrop` as a global value. Or we should get rid of this
|
|
50
|
-
* backdrop mechanism altogether as it's not really a good UX pattern. i.e. quick evaluation makes
|
|
51
|
-
* us believe that this is a good option, user will lose what they type, but the most recent parsable
|
|
52
|
-
* input will still be captured.
|
|
53
|
-
*/
|
|
54
|
-
forceBackdrop: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* (de)activator for backdrop that is usually used to block any background interactions
|
|
57
|
-
* while there is a parser error in the editor
|
|
58
|
-
*/
|
|
59
|
-
backdropSetter?: ((val: boolean) => void) | undefined;
|
|
60
|
-
/**
|
|
61
|
-
* To whether or not disable expasipn toggler
|
|
62
|
-
*/
|
|
63
|
-
disableExpansion?: boolean | undefined;
|
|
64
|
-
/**
|
|
65
|
-
* To whether show the inline editor in expanded mode initially and
|
|
66
|
-
* disable expansion toggler
|
|
67
|
-
*
|
|
68
|
-
* This flag will override the effect of `forceExpansion`
|
|
69
|
-
*/
|
|
70
|
-
forceExpansion?: boolean | undefined;
|
|
71
|
-
/**
|
|
72
|
-
* To whether or not disable popup mode
|
|
73
|
-
*/
|
|
74
|
-
disablePopUp?: boolean | undefined;
|
|
75
|
-
/**
|
|
76
|
-
* To whether or not style inline editor
|
|
77
|
-
*/
|
|
78
|
-
useBaseTextEditorSettings?: boolean | undefined;
|
|
79
|
-
/**
|
|
80
|
-
* To whether or not hide parser error bar in inline mode
|
|
81
|
-
*/
|
|
82
|
-
hideErrorBar?: boolean | undefined;
|
|
83
|
-
/**
|
|
84
|
-
* Allow adding hotkeys handler to the editor, this is usually used
|
|
85
|
-
* to allow activating global hotkeys while typing in the editor
|
|
86
|
-
*/
|
|
87
|
-
onKeyDownEventHandlers?: LambdaEditorOnKeyDownEventHandler[];
|
|
88
|
-
onEditorFocusEventHandler?: (() => void) | undefined;
|
|
89
|
-
}) => JSX.Element) & {
|
|
90
|
-
displayName: string;
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=LambdaEditor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LambdaEditor.d.ts","sourceRoot":"","sources":["../../../src/components/shared/LambdaEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAGH,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAgBvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAQlF,OAAO,EAAiC,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAK/E,oBAAY,iCAAiC,GAAG;IAC9C,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACzC,CAAC;AA4nBF;;;GAGG;AACH,eAAO,MAAM,YAAY;gBAET,MAAM,GAAG,SAAS;cACpB,OAAO;uBACE,iBAAiB;IACpC;;;;OAIG;mBACY,IAAI,GAAG,SAAS;0BACT,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS;gCACrB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IACpD;;;;;;;;;;;;;OAaG;mBACY,OAAO;IACtB;;;OAGG;4BACqB,OAAO,KAAK,IAAI;IACxC;;OAEG;uBACgB,OAAO,GAAG,SAAS;IACtC;;;;;OAKG;qBACc,OAAO,GAAG,SAAS;IACpC;;OAEG;mBACY,OAAO,GAAG,SAAS;IAClC;;OAEG;gCACyB,OAAO,GAAG,SAAS;IAC/C;;OAEG;mBACY,OAAO,GAAG,SAAS;IAClC;;;OAGG;6BACsB,iCAAiC,EAAE;gCAChC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;;;CAmGvD,CAAC"}
|
|
@@ -1,434 +0,0 @@
|
|
|
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 { useRef, useEffect, useState, useMemo } from 'react';
|
|
18
|
-
import { editor as monacoEditorAPI, } from 'monaco-editor';
|
|
19
|
-
import { observer } from 'mobx-react-lite';
|
|
20
|
-
import { useResizeDetector } from 'react-resize-detector';
|
|
21
|
-
import { clsx, setErrorMarkers, disposeEditor, disableEditorHotKeys, baseTextEditorSettings, getEditorValue, normalizeLineEnding, FilledWindowMaximizeIcon, LongArrowAltDownIcon, LongArrowAltUpIcon, Dialog, } from '@finos/legend-art';
|
|
22
|
-
import { debounce, noop, } from '@finos/legend-shared';
|
|
23
|
-
import { flowResult } from 'mobx';
|
|
24
|
-
import { ParserError } from '@finos/legend-graph';
|
|
25
|
-
import { APPLICATION_TEST_ID } from '../ApplicationTestID.js';
|
|
26
|
-
import { useApplicationStore } from '../ApplicationStoreProvider.js';
|
|
27
|
-
import { EDITOR_LANGUAGE, EDITOR_THEME, TAB_SIZE } from '../../const.js';
|
|
28
|
-
const LambdaErrorFeedback = (props) => {
|
|
29
|
-
const { error, discardChanges } = props;
|
|
30
|
-
if (!error) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
return (_jsxs("div", { className: "lambda-editor__error-feedback", children: [_jsx("div", { className: "lambda-editor__error-feedback__error__message", children: error.message }), error instanceof ParserError && (_jsx("div", { className: "lambda-editor__error-feedback__parsing-error__content", children: _jsx("button", { className: "lambda-editor__error-feedback__parsing-error__discard-changes-btn", onClick: discardChanges, tabIndex: -1, children: "Discard Changes" }) }))] }));
|
|
34
|
-
};
|
|
35
|
-
const LambdaEditorInline = observer((props) => {
|
|
36
|
-
const { className, disabled, lambdaEditorState, transformStringToLambda, expectedType, onExpectedTypeLabelSelect, matchedExpectedType, forceBackdrop, backdropSetter, disableExpansion, forceExpansion, disablePopUp, useBaseTextEditorSettings, hideErrorBar, onKeyDownEventHandlers, openInPopUp, onEditorFocusEventHandler, } = props;
|
|
37
|
-
const applicationStore = useApplicationStore();
|
|
38
|
-
const onDidChangeModelContentEventDisposer = useRef(undefined);
|
|
39
|
-
const onKeyDownEventDisposer = useRef(undefined);
|
|
40
|
-
const onDidFocusEditorWidgetDisposer = useRef(undefined);
|
|
41
|
-
const value = normalizeLineEnding(lambdaEditorState.lambdaString);
|
|
42
|
-
const parserError = lambdaEditorState.parserError;
|
|
43
|
-
const compilationError = lambdaEditorState.compilationError;
|
|
44
|
-
const selectTypeLabel = () => onExpectedTypeLabelSelect?.();
|
|
45
|
-
const [isExpanded, setExpanded] = useState(Boolean(forceExpansion));
|
|
46
|
-
const [editor, setEditor] = useState();
|
|
47
|
-
const textInputRef = useRef(null);
|
|
48
|
-
const transformLambdaToString = async (pretty) => {
|
|
49
|
-
transformStringToLambda?.cancel();
|
|
50
|
-
return flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(pretty)).catch(applicationStore.alertUnhandledError);
|
|
51
|
-
};
|
|
52
|
-
const discardChanges = applicationStore.guardUnhandledError(() => transformLambdaToString(isExpanded));
|
|
53
|
-
const toggleExpandedMode = () => {
|
|
54
|
-
if (!forceExpansion && !parserError) {
|
|
55
|
-
transformLambdaToString(!isExpanded).catch(applicationStore.alertUnhandledError);
|
|
56
|
-
setExpanded(!isExpanded);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
const { ref, width, height } = useResizeDetector();
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
if (width !== undefined && height !== undefined) {
|
|
62
|
-
editor?.layout({ width, height });
|
|
63
|
-
}
|
|
64
|
-
}, [editor, width, height]);
|
|
65
|
-
useEffect(() => {
|
|
66
|
-
if (!editor && textInputRef.current) {
|
|
67
|
-
const element = textInputRef.current;
|
|
68
|
-
const lambdaEditorOptions = useBaseTextEditorSettings
|
|
69
|
-
? {}
|
|
70
|
-
: {
|
|
71
|
-
renderLineHighlight: 'none',
|
|
72
|
-
lineHeight: 24,
|
|
73
|
-
overviewRulerBorder: false,
|
|
74
|
-
overviewRulerLanes: 0,
|
|
75
|
-
hideCursorInOverviewRuler: false,
|
|
76
|
-
glyphMargin: false,
|
|
77
|
-
folding: false,
|
|
78
|
-
minimap: { enabled: false },
|
|
79
|
-
lineNumbers: 'off',
|
|
80
|
-
lineNumbersMinChars: 0,
|
|
81
|
-
lineDecorationsWidth: 5,
|
|
82
|
-
snippetSuggestions: 'none',
|
|
83
|
-
scrollbar: { vertical: 'hidden' },
|
|
84
|
-
};
|
|
85
|
-
const _editor = monacoEditorAPI.create(element, {
|
|
86
|
-
...baseTextEditorSettings,
|
|
87
|
-
language: EDITOR_LANGUAGE.PURE,
|
|
88
|
-
theme: applicationStore.TEMPORARY__isLightThemeEnabled
|
|
89
|
-
? EDITOR_THEME.TEMPORARY__VSCODE_LIGHT
|
|
90
|
-
: EDITOR_THEME.LEGEND,
|
|
91
|
-
...lambdaEditorOptions,
|
|
92
|
-
});
|
|
93
|
-
disableEditorHotKeys(_editor);
|
|
94
|
-
setEditor(_editor);
|
|
95
|
-
}
|
|
96
|
-
}, [editor, applicationStore, useBaseTextEditorSettings]);
|
|
97
|
-
// set styling for expanded mode
|
|
98
|
-
useEffect(() => {
|
|
99
|
-
if (editor) {
|
|
100
|
-
const currentClassName = editor.getRawOptions().extraEditorClassName;
|
|
101
|
-
const isInExpanded = currentClassName === 'lambda-editor__expanded';
|
|
102
|
-
if (isInExpanded !== isExpanded) {
|
|
103
|
-
editor.updateOptions(isExpanded
|
|
104
|
-
? {
|
|
105
|
-
extraEditorClassName: 'lambda-editor__editor__input__expanded',
|
|
106
|
-
}
|
|
107
|
-
: {
|
|
108
|
-
extraEditorClassName: 'lambda-editor__editor__input__compressed',
|
|
109
|
-
});
|
|
110
|
-
// set the value here so we don't lose the error when toggling between expand/collape modes
|
|
111
|
-
const currentValue = getEditorValue(editor);
|
|
112
|
-
editor.setValue(currentValue);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}, [editor, isExpanded]);
|
|
116
|
-
// set backdrop to force user to fix parser error when it happens
|
|
117
|
-
useEffect(() => {
|
|
118
|
-
if (backdropSetter) {
|
|
119
|
-
if (parserError) {
|
|
120
|
-
backdropSetter(true);
|
|
121
|
-
}
|
|
122
|
-
else if (!forceBackdrop) {
|
|
123
|
-
// make sure the backdrop is no longer `needed` for blocking by another parser error before hiding it
|
|
124
|
-
// NOTE: this has a serious drawback, see the documentation for `forceBackdrop` prop of `LambdaEditor`
|
|
125
|
-
// for better context
|
|
126
|
-
backdropSetter(false);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}, [parserError, forceBackdrop, backdropSetter]);
|
|
130
|
-
if (editor) {
|
|
131
|
-
/**
|
|
132
|
-
* See the extensive note about this instantiation in `LambdaEditor`. The fact that `transformStringToLambda` can change
|
|
133
|
-
* since it does not solely depends on `LambdaEditorState` but also the `disabled` flag means that the update function
|
|
134
|
-
* can go stale, so we cannot place this `onDidChangeModelContent` in a one-time called instantiation of the editor
|
|
135
|
-
* (i.e. the first `useEffect` where we create the editor). As such, we have to use refs and disposer to update this every time
|
|
136
|
-
* the lambda editor is re-rendered.
|
|
137
|
-
*
|
|
138
|
-
* A potential bug that could come up if we place this logic in the `useEffect` for instantiating the editor is:
|
|
139
|
-
* 1. Initially set the `disabled` to true, then switch it back to `false` (using a timer or something)
|
|
140
|
-
* 2. Type something in the lambda editor, the transform function is `undefined` and does not update the underlying lambda
|
|
141
|
-
*/
|
|
142
|
-
onDidChangeModelContentEventDisposer.current?.dispose();
|
|
143
|
-
onDidChangeModelContentEventDisposer.current =
|
|
144
|
-
editor.onDidChangeModelContent(() => {
|
|
145
|
-
const currentVal = getEditorValue(editor);
|
|
146
|
-
/**
|
|
147
|
-
* Avoid unecessary setting of lambda string. Also, this prevents clearing the non-parser error on first render.
|
|
148
|
-
* Since this method is guaranteed to be called one time during the first rendering when we first set the
|
|
149
|
-
* value for the lambda editor, we do not want to clear any existing non-parser error in case it is set by methods
|
|
150
|
-
* like reveal error in each editor
|
|
151
|
-
*/
|
|
152
|
-
if (currentVal !== value) {
|
|
153
|
-
lambdaEditorState.setLambdaString(currentVal);
|
|
154
|
-
/**
|
|
155
|
-
* Here we clear the error as user changes the input
|
|
156
|
-
* NOTE: we don't reset the parser error here, we could, but with that, we have to assume that the parsing check is
|
|
157
|
-
* pretty quick--almost near real time, but if after typing new character, we clear the parsing error and the user
|
|
158
|
-
* still make mistake, then the warning message will appear to flash, which is bad UX, so for now, we leave it be
|
|
159
|
-
*/
|
|
160
|
-
lambdaEditorState.setCompilationError(undefined);
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* This method MUST run on the first rendering of the lambda editor, as it will update the lambda object. This is
|
|
164
|
-
* needed for new lambda where a lot of time is just a stub lambda. Without having this method called on the first
|
|
165
|
-
* rendering, that stub lambda will remain stub lambda until user starts typing something in the lambda editor.
|
|
166
|
-
* This stub lambda sometimes does not even get registered in change detection and causing the user to lose data
|
|
167
|
-
* Although, technically a stub lambda is useless, so this is not too serious, but it may come across as buggy
|
|
168
|
-
*/
|
|
169
|
-
transformStringToLambda?.cancel();
|
|
170
|
-
if (transformStringToLambda) {
|
|
171
|
-
const stringToLambdaTransformation = transformStringToLambda();
|
|
172
|
-
if (stringToLambdaTransformation) {
|
|
173
|
-
flowResult(stringToLambdaTransformation).catch(applicationStore.alertUnhandledError);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
// set hotkeys (before calling the action, finish parsing the current text value)
|
|
178
|
-
onKeyDownEventDisposer.current?.dispose(); // dispose to avoid trigger hotkeys multiple times
|
|
179
|
-
/**
|
|
180
|
-
* NOTE: We can use `setCommand` here but that does not expose the event so we cannot `stopPropagation`, and we need to
|
|
181
|
-
* use `stopPropagation` to prevent the event top bubble up to global hotkeys listener.
|
|
182
|
-
* If we really want to use `setCommand` the other approach is to set <HotKeys/> around this lambda editor to override F9
|
|
183
|
-
* perhaps that's the cleaner approach because we use `react-hotkeys` to handle it's business, but there is an on-going
|
|
184
|
-
* issue with <HotKeys/> keybindings are lost when component rerenders and this happen as users type because we call `setValue`
|
|
185
|
-
* See https://github.com/greena13/react-hotkeys/issues/209
|
|
186
|
-
*
|
|
187
|
-
* The main role of this section is to disable `monaco-editor` command and override with global actions, such as generate, compile,
|
|
188
|
-
* toggle text mode, etc. The important thing is before we do so, we would like to finish the parsing of the current string, otherwise,
|
|
189
|
-
* those operations can end up flushing the current state and trashing the user input, which is bad, as such, we make sure the
|
|
190
|
-
* parsing passes before actually calling those global operations.
|
|
191
|
-
*/
|
|
192
|
-
onKeyDownEventDisposer.current = editor.onKeyDown((event) => {
|
|
193
|
-
onKeyDownEventHandlers.forEach((handler) => {
|
|
194
|
-
if (handler.matcher(event)) {
|
|
195
|
-
event.preventDefault();
|
|
196
|
-
event.stopPropagation();
|
|
197
|
-
transformStringToLambda?.cancel();
|
|
198
|
-
handler.action(event);
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
onDidFocusEditorWidgetDisposer.current?.dispose();
|
|
203
|
-
onDidFocusEditorWidgetDisposer.current = editor.onDidFocusEditorWidget(() => {
|
|
204
|
-
onEditorFocusEventHandler?.();
|
|
205
|
-
});
|
|
206
|
-
// Set the text value
|
|
207
|
-
const currentValue = getEditorValue(editor);
|
|
208
|
-
const editorModel = editor.getModel();
|
|
209
|
-
const currentConfig = editor.getRawOptions();
|
|
210
|
-
if (currentValue !== value) {
|
|
211
|
-
editor.setValue(value);
|
|
212
|
-
}
|
|
213
|
-
if (currentConfig.readOnly !== disabled) {
|
|
214
|
-
editor.updateOptions({
|
|
215
|
-
readOnly: disabled,
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
// Set the errors
|
|
219
|
-
if (editorModel) {
|
|
220
|
-
editorModel.updateOptions({ tabSize: TAB_SIZE });
|
|
221
|
-
const error = parserError ?? compilationError;
|
|
222
|
-
if (error?.sourceInformation) {
|
|
223
|
-
setErrorMarkers(editorModel, error.message, error.sourceInformation.startLine, error.sourceInformation.startColumn, error.sourceInformation.endLine, error.sourceInformation.endColumn);
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
monacoEditorAPI.setModelMarkers(editorModel, 'Error', []);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
useEffect(() => () => {
|
|
231
|
-
if (editor) {
|
|
232
|
-
disposeEditor(editor);
|
|
233
|
-
}
|
|
234
|
-
}, [editor]); // dispose editor
|
|
235
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: clsx('lambda-editor', className, {
|
|
236
|
-
'lambda-editor__expanded': isExpanded,
|
|
237
|
-
}), children: [_jsx("div", { ref: ref, "data-testid": APPLICATION_TEST_ID.LAMBDA_EDITOR__EDITOR_INPUT, className: "lambda-editor__editor__input", children: _jsx("div", { className: "text-editor__body", ref: textInputRef }) }), Boolean(expectedType) && (_jsxs("div", { className: "lambda-editor__editor__info", children: [onExpectedTypeLabelSelect && (_jsx("button", { className: clsx('lambda-editor__editor__expected-return-type lambda-editor__editor__expected-return-type--clickable', {
|
|
238
|
-
'lambda-editor__editor__expected-return-type--highlighted': matchedExpectedType?.(),
|
|
239
|
-
}), onClick: selectTypeLabel, tabIndex: -1, title: 'Toggle highlight expected type', children: expectedType?.name ?? 'unknown' })), !onExpectedTypeLabelSelect && (_jsx("div", { className: clsx('lambda-editor__editor__expected-return-type', {
|
|
240
|
-
'lambda-editor__editor__expected-return-type--highlighted': matchedExpectedType?.(),
|
|
241
|
-
}), children: expectedType?.name ?? 'unknown' }))] })), !disableExpansion && !forceExpansion && (_jsx("button", { className: "lambda-editor__editor__expand-btn", onClick: toggleExpandedMode, disabled: Boolean(parserError), tabIndex: -1, title: "Toggle Expand", children: isExpanded ? _jsx(LongArrowAltUpIcon, {}) : _jsx(LongArrowAltDownIcon, {}) })), !disablePopUp && (_jsx("button", { className: "lambda-editor__action", onClick: openInPopUp, disabled: Boolean(parserError), tabIndex: -1, title: "Open...", children: _jsx(FilledWindowMaximizeIcon, {}) }))] }), !hideErrorBar && (_jsx(LambdaErrorFeedback, { error: parserError ?? compilationError, discardChanges: discardChanges }))] }));
|
|
242
|
-
});
|
|
243
|
-
const LambdaEditorPopUp = observer((props) => {
|
|
244
|
-
const { className, disabled, lambdaEditorState, transformStringToLambda, onKeyDownEventHandlers, onClose, } = props;
|
|
245
|
-
const applicationStore = useApplicationStore();
|
|
246
|
-
const onKeyDownEventDisposer = useRef(undefined);
|
|
247
|
-
const onDidChangeModelContentEventDisposer = useRef(undefined);
|
|
248
|
-
const value = normalizeLineEnding(lambdaEditorState.lambdaString);
|
|
249
|
-
const parserError = lambdaEditorState.parserError;
|
|
250
|
-
const compilationError = lambdaEditorState.compilationError;
|
|
251
|
-
const [editor, setEditor] = useState();
|
|
252
|
-
const textInputRef = useRef(null);
|
|
253
|
-
const transformLambdaToString = async (pretty) => {
|
|
254
|
-
transformStringToLambda?.cancel();
|
|
255
|
-
return flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(pretty)).catch(applicationStore.alertUnhandledError);
|
|
256
|
-
};
|
|
257
|
-
const discardChanges = applicationStore.guardUnhandledError(() => transformLambdaToString(true));
|
|
258
|
-
const { ref, width, height } = useResizeDetector();
|
|
259
|
-
useEffect(() => {
|
|
260
|
-
if (width !== undefined && height !== undefined) {
|
|
261
|
-
editor?.layout({ width, height });
|
|
262
|
-
}
|
|
263
|
-
}, [editor, width, height]);
|
|
264
|
-
const onEnter = () => {
|
|
265
|
-
if (!editor && textInputRef.current) {
|
|
266
|
-
const element = textInputRef.current;
|
|
267
|
-
const _editor = monacoEditorAPI.create(element, {
|
|
268
|
-
...baseTextEditorSettings,
|
|
269
|
-
language: EDITOR_LANGUAGE.PURE,
|
|
270
|
-
theme: EDITOR_THEME.LEGEND,
|
|
271
|
-
});
|
|
272
|
-
disableEditorHotKeys(_editor);
|
|
273
|
-
setEditor(_editor);
|
|
274
|
-
}
|
|
275
|
-
};
|
|
276
|
-
if (editor) {
|
|
277
|
-
/**
|
|
278
|
-
* See the extensive note about this instantiation in `LambdaEditor`. The fact that `transformStringToLambda` can change
|
|
279
|
-
* since it does not solely depends on `LambdaEditorState` but also the `disabled` flag means that the update function
|
|
280
|
-
* can go stale, so we cannot place this `onDidChangeModelContent` in a one-time called instantiation of the editor
|
|
281
|
-
* (i.e. the first `useEffect` where we create the editor). As such, we have to use refs and disposer to update this every time
|
|
282
|
-
* the lambda editor is re-rendered.
|
|
283
|
-
*
|
|
284
|
-
* A potential bug that could come up if we place this logic in the `useEffect` for instantiating the editor is:
|
|
285
|
-
* 1. Initially set the `disabled` to true, then switch it back to `false` (using a timer or something)
|
|
286
|
-
* 2. Type something in the lambda editor, the transform function is `undefined` and does not update the underlying lambda
|
|
287
|
-
*/
|
|
288
|
-
onDidChangeModelContentEventDisposer.current?.dispose();
|
|
289
|
-
onDidChangeModelContentEventDisposer.current =
|
|
290
|
-
editor.onDidChangeModelContent(() => {
|
|
291
|
-
const currentVal = getEditorValue(editor);
|
|
292
|
-
/**
|
|
293
|
-
* Avoid unecessary setting of lambda string. Also, this prevents clearing the non-parser error on first render.
|
|
294
|
-
* Since this method is guaranteed to be called one time during the first rendering when we first set the
|
|
295
|
-
* value for the lambda editor, we do not want to clear any existing non-parser error in case it is set by methods
|
|
296
|
-
* like reveal error in each editor
|
|
297
|
-
*/
|
|
298
|
-
if (currentVal !== value) {
|
|
299
|
-
lambdaEditorState.setLambdaString(currentVal);
|
|
300
|
-
/**
|
|
301
|
-
* Here we clear the error as user changes the input
|
|
302
|
-
* NOTE: we don't reset the parser error here, we could, but with that, we have to assume that the parsing check is
|
|
303
|
-
* pretty quick--almost near real time, but if after typing new character, we clear the parsing error and the user
|
|
304
|
-
* still make mistake, then the warning message will appear to flash, which is bad UX, so for now, we leave it be
|
|
305
|
-
*/
|
|
306
|
-
lambdaEditorState.setCompilationError(undefined);
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* This method MUST run on the first rendering of the lambda editor, as it will update the lambda object. This is
|
|
310
|
-
* needed for new lambda where a lot of time is just a stub lambda. Without having this method called on the first
|
|
311
|
-
* rendering, that stub lambda will remain stub lambda until user starts typing something in the lambda editor.
|
|
312
|
-
* This stub lambda sometimes does not even get registered in change detection and causing the user to lose data
|
|
313
|
-
* Although, technically a stub lambda is useless, so this is not too serious, but it may come across as buggy
|
|
314
|
-
*/
|
|
315
|
-
transformStringToLambda?.cancel();
|
|
316
|
-
if (transformStringToLambda) {
|
|
317
|
-
const stringToLambdaTransformation = transformStringToLambda();
|
|
318
|
-
if (stringToLambdaTransformation) {
|
|
319
|
-
flowResult(stringToLambdaTransformation).catch(applicationStore.alertUnhandledError);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
});
|
|
323
|
-
// set hotkeys (before calling the action, finish parsing the current text value)
|
|
324
|
-
onKeyDownEventDisposer.current?.dispose(); // dispose to avoid trigger hotkeys multiple times
|
|
325
|
-
/**
|
|
326
|
-
* NOTE: We can use `setCommand` here but that does not expose the event so we cannot `stopPropagation`, and we need to
|
|
327
|
-
* use `stopPropagation` to prevent the event top bubble up to global hotkeys listener.
|
|
328
|
-
* If we really want to use `setCommand` the other approach is to set <HotKeys/> around this lambda editor to override F9
|
|
329
|
-
* perhaps that's the cleaner approach because we use `react-hotkeys` to handle it's business, but there is an on-going
|
|
330
|
-
* issue with <HotKeys/> keybindings are lost when component rerenders and this happen as users type because we call `setValue`
|
|
331
|
-
* See https://github.com/greena13/react-hotkeys/issues/209
|
|
332
|
-
*
|
|
333
|
-
* The main role of this section is to disable `monaco-editor` command and override with global actions, such as generate, compile,
|
|
334
|
-
* toggle text mode, etc. The important thing is before we do so, we would like to finish the parsing of the current string, otherwise,
|
|
335
|
-
* those operations can end up flushing the current state and trashing the user input, which is bad, as such, we make sure the
|
|
336
|
-
* parsing passes before actually calling those global operations.
|
|
337
|
-
*/
|
|
338
|
-
onKeyDownEventDisposer.current = editor.onKeyDown((event) => {
|
|
339
|
-
onKeyDownEventHandlers.forEach((handler) => {
|
|
340
|
-
if (handler.matcher(event)) {
|
|
341
|
-
event.preventDefault();
|
|
342
|
-
event.stopPropagation();
|
|
343
|
-
transformStringToLambda?.cancel();
|
|
344
|
-
handler.action(event);
|
|
345
|
-
}
|
|
346
|
-
});
|
|
347
|
-
});
|
|
348
|
-
// Set the text value
|
|
349
|
-
const currentValue = getEditorValue(editor);
|
|
350
|
-
const editorModel = editor.getModel();
|
|
351
|
-
const currentConfig = editor.getRawOptions();
|
|
352
|
-
if (currentValue !== value) {
|
|
353
|
-
editor.setValue(value);
|
|
354
|
-
}
|
|
355
|
-
if (currentConfig.readOnly !== disabled) {
|
|
356
|
-
editor.updateOptions({
|
|
357
|
-
readOnly: disabled,
|
|
358
|
-
});
|
|
359
|
-
}
|
|
360
|
-
// Set the errors
|
|
361
|
-
if (editorModel) {
|
|
362
|
-
editorModel.updateOptions({ tabSize: TAB_SIZE });
|
|
363
|
-
const error = parserError ?? compilationError;
|
|
364
|
-
if (error?.sourceInformation) {
|
|
365
|
-
setErrorMarkers(editorModel, error.message, error.sourceInformation.startLine, error.sourceInformation.startColumn, error.sourceInformation.endLine, error.sourceInformation.endColumn);
|
|
366
|
-
}
|
|
367
|
-
else {
|
|
368
|
-
monacoEditorAPI.setModelMarkers(editorModel, 'Error', []);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
useEffect(() => {
|
|
373
|
-
flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(true)).catch(applicationStore.alertUnhandledError);
|
|
374
|
-
}, [applicationStore, lambdaEditorState]);
|
|
375
|
-
useEffect(() => () => {
|
|
376
|
-
if (editor) {
|
|
377
|
-
disposeEditor(editor);
|
|
378
|
-
}
|
|
379
|
-
}, [editor]); // dispose editor
|
|
380
|
-
return (_jsx(Dialog, { open: true, TransitionProps: {
|
|
381
|
-
onEnter,
|
|
382
|
-
}, onClose: noop, classes: {
|
|
383
|
-
root: 'editor-modal__root-container',
|
|
384
|
-
container: 'editor-modal__container',
|
|
385
|
-
paper: 'editor-modal__content',
|
|
386
|
-
}, children: _jsxs("div", { className: clsx('modal modal--dark editor-modal lambda-editor__popup__modal', {
|
|
387
|
-
'lambda-editor__popup__modal--has-error': Boolean(lambdaEditorState.parserError),
|
|
388
|
-
}), children: [_jsxs("div", { className: "modal__header", children: [_jsx("div", { className: "modal__title", children: "Edit Lambda" }), lambdaEditorState.parserError && (_jsx("div", { className: "modal__title__error-badge", children: "Failed to parse lambda" }))] }), _jsx("div", { className: "modal__body", children: _jsx("div", { className: clsx('lambda-editor__popup__content', className), children: _jsx("div", { ref: ref, "data-testid": APPLICATION_TEST_ID.LAMBDA_EDITOR__EDITOR_INPUT, className: "lambda-editor__editor__input", children: _jsx("div", { className: "text-editor__body", ref: textInputRef }) }) }) }), _jsxs("div", { className: "modal__footer", children: [_jsx("button", { className: "btn btn--dark btn--caution", onClick: discardChanges, children: "Discard changes" }), _jsx("button", { className: "btn btn--dark", onClick: onClose, disabled: Boolean(lambdaEditorState.parserError), children: "Close" })] })] }) }));
|
|
389
|
-
});
|
|
390
|
-
/**
|
|
391
|
-
* This is not strictly meant for lambda. The idea is to create an editor that allows
|
|
392
|
-
* editing _something_ but allows user to edit via text.
|
|
393
|
-
*/
|
|
394
|
-
export const LambdaEditor = observer((props) => {
|
|
395
|
-
const { className, lambdaEditorState, disabled, forceBackdrop, backdropSetter, expectedType, onExpectedTypeLabelSelect, matchedExpectedType, disableExpansion, forceExpansion, disablePopUp, useBaseTextEditorSettings, hideErrorBar, onKeyDownEventHandlers, onEditorFocusEventHandler, } = props;
|
|
396
|
-
const [showPopUp, setShowPopUp] = useState(false);
|
|
397
|
-
const openInPopUp = () => setShowPopUp(true);
|
|
398
|
-
const closePopUp = () => setShowPopUp(false);
|
|
399
|
-
const debouncedTransformStringToLambda = useMemo(() => disabled
|
|
400
|
-
? undefined
|
|
401
|
-
: debounce(() => lambdaEditorState.convertLambdaGrammarStringToObject(), 1000), [lambdaEditorState, disabled]);
|
|
402
|
-
if (!disablePopUp && showPopUp) {
|
|
403
|
-
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "lambda-editor" }), _jsx(LambdaEditorPopUp, { className: className, disabled: disabled, lambdaEditorState: lambdaEditorState, transformStringToLambda: debouncedTransformStringToLambda, onKeyDownEventHandlers: onKeyDownEventHandlers ?? [], onClose: closePopUp })] }));
|
|
404
|
-
}
|
|
405
|
-
return (_jsx(LambdaEditorInline
|
|
406
|
-
/**
|
|
407
|
-
* See the usage of `transformStringToLambda` as well as the instatiation of the editor in `LambdaEditorInner`.
|
|
408
|
-
* One of the big problem is that the editor uses lambda editor state (there are some non-trivial logic there, that
|
|
409
|
-
* handles string <-> lambda object conversion), but there are certain operations in this app that can potentially
|
|
410
|
-
* remove and recreate the lambda editor state, such as global generate or global compile, for such case, `LambdaEditorInner`
|
|
411
|
-
* receives a new lambda editor state, but since React is smart about redrawing the DOM, it will not recreate the instance
|
|
412
|
-
* of `monaco-editor` (see the useEffect() block), as such, the editor is using a stale state. That is definitely a bug;
|
|
413
|
-
* and to demonstrate, we can try the following sequence of actions:
|
|
414
|
-
*
|
|
415
|
-
* 1. Type something that parses in the lambda editor
|
|
416
|
-
* 2. Wait till the parse call finishes, hit F10 (trigger state update)
|
|
417
|
-
* 3. Type something to cause parser error
|
|
418
|
-
* 4. We will see that nothing happens. If we inspect network call, we will see a call returns with parsing error, but
|
|
419
|
-
* the editor is refering to the old state, hence no reporting
|
|
420
|
-
*
|
|
421
|
-
* As such, the most appropriate resolution is to intentionally force remount of lambda editor when user perform a state
|
|
422
|
-
* refresh operations. To do this, we use React `key` field with UUID bound to the state, as the state is recreated, the UUID
|
|
423
|
-
* changes and the editor is recreated. However, this alone is not enough because we use `useMemo` for the debounced
|
|
424
|
-
* transform function, which relies on another value other than the state (i.e. `disabled` flag), the same problem happens
|
|
425
|
-
* as the function goes stale if `disabled` flag changes value. For that, see the implementation trick below (involving refs and disposer)
|
|
426
|
-
*
|
|
427
|
-
* So technically, we don't need to do the force-remount using `key`, but to be cleaner, we prevent other poential bugs, we do it anyway
|
|
428
|
-
* to reset everything.
|
|
429
|
-
*/
|
|
430
|
-
, { className: className, disabled: disabled, lambdaEditorState: lambdaEditorState, transformStringToLambda: debouncedTransformStringToLambda, expectedType: expectedType, matchedExpectedType: matchedExpectedType, onExpectedTypeLabelSelect: onExpectedTypeLabelSelect, forceBackdrop: forceBackdrop, backdropSetter: backdropSetter, disableExpansion: disableExpansion, forceExpansion: disableExpansion !== undefined
|
|
431
|
-
? !disableExpansion && forceExpansion
|
|
432
|
-
: forceExpansion, disablePopUp: disablePopUp, useBaseTextEditorSettings: useBaseTextEditorSettings, hideErrorBar: hideErrorBar, onKeyDownEventHandlers: onKeyDownEventHandlers ?? [], openInPopUp: openInPopUp, onEditorFocusEventHandler: onEditorFocusEventHandler }, lambdaEditorState.uuid));
|
|
433
|
-
});
|
|
434
|
-
//# sourceMappingURL=LambdaEditor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LambdaEditor.js","sourceRoot":"","sources":["../../../src/components/shared/LambdaEditor.tsx"],"names":[],"mappings":"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"}
|