pull/4791/head
filip mertens 6 months ago
parent 067be4a40c
commit c790b92a0c
  1. 5
      libs/remix-ui/editor/src/lib/actions/editor.ts
  2. 6
      libs/remix-ui/editor/src/lib/remix-ui-editor.tsx

@ -5,14 +5,14 @@ export interface Action {
type: string; type: string;
payload: Record<string, any> payload: Record<string, any>
monaco: any, monaco: any,
editor: any editors: any[]
} }
export const initialState = {} export const initialState = {}
export const reducerActions = (models = initialState, action: Action) => { export const reducerActions = (models = initialState, action: Action) => {
const monaco = action.monaco const monaco = action.monaco
const editors = action.editor as any[] const editors = action.editors as any[]
switch (action.type) { switch (action.type) {
case 'ADD_MODEL': { case 'ADD_MODEL': {
if (!editors) return models if (!editors) return models
@ -23,6 +23,7 @@ export const reducerActions = (models = initialState, action: Action) => {
if (models[uri]) return models // already existing if (models[uri]) return models // already existing
models[uri] = { language, uri, readOnly } models[uri] = { language, uri, readOnly }
let model let model
try { try {
model = monaco.editor.createModel(value, language, monaco.Uri.parse(uri)) model = monaco.editor.createModel(value, language, monaco.Uri.parse(uri))
} catch (e) { } catch (e) {

@ -631,6 +631,12 @@ export const EditorUI = (props: EditorUIProps) => {
} }
function setReducerListener() { function setReducerListener() {
if(!diffEditorRef.current && editorRef.current){
reducerListener(props.plugin, dispatch, monacoRef.current, [editorRef.current], props.events)
}
if(diffEditorRef.current && diffEditorRef.current.getModifiedEditor() && !editorRef.current){
reducerListener(props.plugin, dispatch, monacoRef.current, [diffEditorRef.current.getModifiedEditor()], props.events)
}
if(diffEditorRef.current && diffEditorRef.current.getModifiedEditor() && editorRef.current){ if(diffEditorRef.current && diffEditorRef.current.getModifiedEditor() && editorRef.current){
reducerListener(props.plugin, dispatch, monacoRef.current, [diffEditorRef.current.getModifiedEditor(), editorRef.current], props.events) reducerListener(props.plugin, dispatch, monacoRef.current, [diffEditorRef.current.getModifiedEditor(), editorRef.current], props.events)
} }

Loading…
Cancel
Save