Skip to content

Commit b1e50c4

Browse files
fix: avoid editor popup close when open from config popup
1 parent f606a4c commit b1e50c4

File tree

3 files changed

+23
-19
lines changed

3 files changed

+23
-19
lines changed

client/packages/lowcoder/src/app.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ class AppIndex extends React.Component<AppIndexProps, any> {
159159
)}
160160
</Switch>
161161
</Router>
162-
<CodeEditorTooltipContainer />
163162
</Wrapper>
164163
);
165164
}

client/packages/lowcoder/src/base/codeEditor/codeEditor.tsx

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@ function useCodeMirror(
227227
...props,
228228
showLineNum,
229229
onChange: handleChange,
230+
tooltipContainer: container.current,
230231
});
231232
useEffect(() => reconfigure(viewRef.current), [reconfigure]);
232233
useEffect(() => {
@@ -385,24 +386,26 @@ export function CodeEditor(props: CodeEditorProps) {
385386
const { expandable = true, ...editorProps } = props;
386387
const [disabled, setDisabled] = useState(false);
387388
return (
388-
<CodeEditorCommon {...editorProps} editor={editor} disabled={disabled}>
389-
<Container
390-
styleName={props.styleName}
391-
bordered={props.bordered}
392-
disabled={disabled}
393-
error={props.hasError}
394-
ref={editor as MutableRefObject<HTMLDivElement>}
395-
enableClickCompName={props.enableClickCompName}
396-
>
397-
{expandable && (
398-
<CodeEditorPanel
399-
breadcrumb={[props.label ?? ""]}
400-
editor={<CodeEditorForPanel {...props} styleName="window" showLineNum />}
401-
onVisibleChange={(visible) => setDisabled(visible)}
402-
/>
403-
)}
404-
</Container>
405-
</CodeEditorCommon>
389+
<CodeEditorTooltipContainer>
390+
<CodeEditorCommon {...editorProps} editor={editor} disabled={disabled}>
391+
<Container
392+
styleName={props.styleName}
393+
bordered={props.bordered}
394+
disabled={disabled}
395+
error={props.hasError}
396+
ref={editor as MutableRefObject<HTMLDivElement>}
397+
enableClickCompName={props.enableClickCompName}
398+
>
399+
{expandable && (
400+
<CodeEditorPanel
401+
breadcrumb={[props.label ?? ""]}
402+
editor={<CodeEditorForPanel {...props} styleName="window" showLineNum />}
403+
onVisibleChange={(visible) => setDisabled(visible)}
404+
/>
405+
)}
406+
</Container>
407+
</CodeEditorCommon>
408+
</CodeEditorTooltipContainer>
406409
);
407410
}
408411

client/packages/lowcoder/src/pages/editor/codeEditorPanel.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,9 @@ export const CodeEditorPanel = (props: {
127127
zIndex={Layers.codeEditorPanel}
128128
popupStyle={{ opacity: 1, display: visible ? "block" : "none" }}
129129
maskClosable={true}
130+
onPopupVisibleChange={(visible) => setVisible(visible)}
130131
afterPopupVisibleChange={(visible) => props.onVisibleChange(visible)}
132+
getPopupContainer={(node: any) => node.parentNode.parentNode}
131133
popup={() => (
132134
<Draggable
133135
positionOffset={{ x: "-50%", y: "-50%" }}

0 commit comments

Comments
 (0)