mirror of
https://github.com/leporello-js/leporello-js
synced 2026-01-13 21:14:28 -08:00
do not rerender logs on async calls
This commit is contained in:
@@ -40,12 +40,18 @@ export class Logs {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
render_logs(prev_logs, logs) {
|
rerender_logs(logs) {
|
||||||
|
|
||||||
if(prev_logs?.logs != logs.logs) {
|
|
||||||
|
|
||||||
this.el.innerHTML = ''
|
this.el.innerHTML = ''
|
||||||
for(let i = 0; i < logs.logs.length; i++) {
|
this.render_logs(null, logs)
|
||||||
|
}
|
||||||
|
|
||||||
|
render_logs(prev_logs, logs) {
|
||||||
|
for(
|
||||||
|
let i = prev_logs == null ? 0 : prev_logs.logs.length ;
|
||||||
|
i < logs.logs.length;
|
||||||
|
i++
|
||||||
|
)
|
||||||
|
{
|
||||||
const log = logs.logs[i]
|
const log = logs.logs[i]
|
||||||
this.el.appendChild(
|
this.el.appendChild(
|
||||||
el('div',
|
el('div',
|
||||||
@@ -74,8 +80,6 @@ export class Logs {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if(prev_logs?.log_position != logs.log_position) {
|
if(prev_logs?.log_position != logs.log_position) {
|
||||||
if(prev_logs?.logs == logs.logs && prev_logs?.log_position != null) {
|
if(prev_logs?.logs == logs.logs && prev_logs?.log_position != null) {
|
||||||
this.el.children[prev_logs.log_position].classList.remove('active')
|
this.el.children[prev_logs.log_position].classList.remove('active')
|
||||||
|
|||||||
10
src/effects.js
vendored
10
src/effects.js
vendored
@@ -182,18 +182,14 @@ export const render_common_side_effects = (prev, next, command, ui) => {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if(
|
if(prev.calltree_changed_token != next.calltree_changed_token) {
|
||||||
// TODO refactor this condition
|
|
||||||
prev.current_calltree_node == null
|
|
||||||
||
|
|
||||||
prev.calltree_changed_token != next.calltree_changed_token
|
|
||||||
) {
|
|
||||||
// Rerender entire calltree
|
// Rerender entire calltree
|
||||||
ui.render_debugger(next)
|
ui.render_debugger(next)
|
||||||
ui.eval.clear_value_or_error()
|
ui.eval.clear_value_or_error()
|
||||||
ui.editor.for_each_session(f => clear_coloring(ui, f))
|
ui.editor.for_each_session(f => clear_coloring(ui, f))
|
||||||
render_coloring(ui, next)
|
render_coloring(ui, next)
|
||||||
ui.editor.unembed_value_explorer()
|
ui.editor.unembed_value_explorer()
|
||||||
|
ui.logs.rerender_logs(next.logs)
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if(get_async_calls(prev) == null && get_async_calls(next) != null) {
|
if(get_async_calls(prev) == null && get_async_calls(next) != null) {
|
||||||
@@ -225,9 +221,7 @@ export const render_common_side_effects = (prev, next, command, ui) => {
|
|||||||
if(prev.calltree_node_by_loc != next.calltree_node_by_loc) {
|
if(prev.calltree_node_by_loc != next.calltree_node_by_loc) {
|
||||||
render_coloring(ui, next)
|
render_coloring(ui, next)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(prev.logs != next.logs) {
|
|
||||||
ui.logs.render_logs(prev.logs, next.logs)
|
ui.logs.render_logs(prev.logs, next.logs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user