properly replace the editors in initWithStyle

This commit is contained in:
tophf 2017-08-30 01:49:03 +03:00
parent 799108e880
commit ab97108e6f

View File

@ -1247,6 +1247,8 @@ function init() {
// default to enabled // default to enabled
$('#enabled').checked = true; $('#enabled').checked = true;
initHooks(); initHooks();
setCleanGlobal();
updateTitle();
return; return;
} }
// This is an edit // This is an edit
@ -1285,9 +1287,11 @@ function initWithStyle({style, codeIsUpdated}) {
return; return;
} }
// if this was done in response to an update, we need to clear existing sections // if this was done in response to an update, we need to clear existing sections
getSections().forEach(div => { div.remove(); }); editors.length = 0;
getSections().forEach(div => div.remove());
const queue = style.sections.length ? style.sections.slice() : [{code: ''}]; const queue = style.sections.length ? style.sections.slice() : [{code: ''}];
const t0 = performance.now(); const t0 = performance.now();
maximizeCodeHeight.stats = null;
// after 100ms the sections will be added asynchronously // after 100ms the sections will be added asynchronously
while (performance.now() - t0 <= 100 && queue.length) { while (performance.now() - t0 <= 100 && queue.length) {
add(); add();
@ -1299,6 +1303,8 @@ function initWithStyle({style, codeIsUpdated}) {
} }
})(); })();
initHooks(); initHooks();
setCleanGlobal();
updateTitle();
function add() { function add() {
const sectionDiv = addSection(null, queue.shift()); const sectionDiv = addSection(null, queue.shift());
@ -1310,6 +1316,10 @@ function initWithStyle({style, codeIsUpdated}) {
} }
function initHooks() { function initHooks() {
if (initHooks.alreadyDone) {
return;
}
initHooks.alreadyDone = true;
$$('#header .style-contributor').forEach(node => { $$('#header .style-contributor').forEach(node => {
node.addEventListener('change', onChange); node.addEventListener('change', onChange);
node.addEventListener('input', onChange); node.addEventListener('input', onChange);
@ -1341,8 +1351,6 @@ function initHooks() {
}); });
setupGlobalSearch(); setupGlobalSearch();
setCleanGlobal();
updateTitle();
} }