From e024363ba3cefe6b99a224fad301056ee339f8c4 Mon Sep 17 00:00:00 2001 From: Dmitry Vasilev Date: Tue, 17 Jan 2023 11:14:10 +0800 Subject: [PATCH] fix --- src/editor/ui.js | 35 ++++++++++++++++++----------------- src/effects.js | 32 ++++++++++++++++++-------------- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/src/editor/ui.js b/src/editor/ui.js index a4eed0a..55a8535 100644 --- a/src/editor/ui.js +++ b/src/editor/ui.js @@ -253,26 +253,27 @@ export class UI { reload_run_window(get_state()) } + render_debugger_loading(state) { + this.debugger_container.style = '' + this.problems_container.style = 'display: none' + + this.debugger_loaded.style = 'display: none' + this.debugger_loading.style = '' + + this.debugger_loading.innerText = + state.loading_external_imports_state != null + ? 'Loading external modules...' + : 'Waiting...' + } + render_debugger(state) { this.debugger_container.style = '' this.problems_container.style = 'display: none' - if( - state.loading_external_imports_state != null - || - state.eval_modules_state != null - ) { - this.debugger_loaded.style = 'display: none' - this.debugger_loading.innerText = - state.loading_external_imports_state != null - ? 'Loading external modules...' - : 'Waiting...' - this.debugger_loading.style = '' - } else { - this.debugger_loading.style = 'display: none' - this.debugger_loaded.style = '' - this.calltree.render_calltree(state) - this.logs.render_logs(null, state.logs) - } + + this.debugger_loading.style = 'display: none' + this.debugger_loaded.style = '' + this.calltree.render_calltree(state) + this.logs.render_logs(null, state.logs) } render_problems(problems) { diff --git a/src/effects.js b/src/effects.js index ffe8bbc..29b8a88 100644 --- a/src/effects.js +++ b/src/effects.js @@ -194,15 +194,9 @@ export const render_common_side_effects = (prev, next, command, ui) => { render_parse_result(ui, next) } - if( - !next.parse_result.ok - || - next.loading_external_imports_state != null - || - next.eval_modules_state != null - ) { + if(!next.parse_result.ok) { - ui.render_debugger(next) + ui.calltree.clear_calltree() ui.editor.for_each_session((file, session) => clear_coloring(ui, file)) } else { @@ -212,12 +206,22 @@ export const render_common_side_effects = (prev, next, command, ui) => { || prev.calltree_changed_token != next.calltree_changed_token ) { - // Rerender entire calltree - ui.render_debugger(next) - ui.eval.clear_value_or_error() - ui.editor.for_each_session(f => clear_coloring(ui, f)) - render_coloring(ui, next) - ui.logs.rerender_logs(next.logs) + const is_loading = + next.loading_external_imports_state != null + || + next.eval_modules_state != null + if(is_loading) { + ui.calltree.clear_calltree() + ui.editor.for_each_session((file, session) => clear_coloring(ui, file)) + ui.render_debugger_loading(next) + } else { + // Rerender entire calltree + ui.render_debugger(next) + ui.eval.clear_value_or_error() + ui.editor.for_each_session(f => clear_coloring(ui, f)) + render_coloring(ui, next) + ui.logs.rerender_logs(next.logs) + } } else { if(get_deferred_calls(prev) == null && get_deferred_calls(next) != null) {