Refactor: init
This commit is contained in:
parent
8c374db353
commit
1c3317202f
64
edit/edit.js
64
edit/edit.js
|
@ -1197,47 +1197,61 @@ function beautify(event) {
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', init);
|
document.addEventListener('DOMContentLoaded', init);
|
||||||
|
|
||||||
|
function createEmptyStyle() {
|
||||||
|
const params = getParams();
|
||||||
|
const style = {
|
||||||
|
id: null,
|
||||||
|
name: '',
|
||||||
|
enabled: true,
|
||||||
|
sections: [{code: ''}]
|
||||||
|
};
|
||||||
|
for (const i in CssToProperty) {
|
||||||
|
if (params[i]) {
|
||||||
|
style.sections[0][CssToProperty[i]] = [params[i]];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return style;
|
||||||
|
}
|
||||||
|
|
||||||
|
function windowLoaded() {
|
||||||
|
if (document.readyState !== 'loading') {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
return new Promise(resolve => {
|
||||||
|
window.addEventListener('load', function self() {
|
||||||
|
window.removeEventListener('load', self);
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
initCodeMirror();
|
initCodeMirror();
|
||||||
const params = getParams();
|
const params = getParams();
|
||||||
|
return Promise.resolve().then(() => {
|
||||||
if (!params.id) {
|
if (!params.id) {
|
||||||
// match should be 2 - one for the whole thing, one for the parentheses
|
// match should be 2 - one for the whole thing, one for the parentheses
|
||||||
// This is an add
|
// This is an add
|
||||||
$('#heading').textContent = t('addStyleTitle');
|
$('#heading').textContent = t('addStyleTitle');
|
||||||
const section = {code: ''};
|
return createEmptyStyle();
|
||||||
for (const i in CssToProperty) {
|
|
||||||
if (params[i]) {
|
|
||||||
section[CssToProperty[i]] = [params[i]];
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
window.onload = () => {
|
|
||||||
window.onload = null;
|
|
||||||
addSection(null, section);
|
|
||||||
editors[0].setOption('lint', CodeMirror.defaults.lint);
|
|
||||||
// default to enabled
|
|
||||||
$('#enabled').checked = true;
|
|
||||||
initHooks();
|
|
||||||
};
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// This is an edit
|
|
||||||
$('#heading').textContent = t('editStyleHeading');
|
$('#heading').textContent = t('editStyleHeading');
|
||||||
getStylesSafe({id: params.id}).then(styles => {
|
// This is an edit
|
||||||
|
return getStylesSafe({id: params.id}).then(styles => {
|
||||||
let style = styles[0];
|
let style = styles[0];
|
||||||
if (!style) {
|
if (!style) {
|
||||||
style = {id: null, sections: []};
|
style = createEmptyStyle();
|
||||||
history.replaceState({}, document.title, location.pathname);
|
history.replaceState({}, document.title, location.pathname);
|
||||||
}
|
}
|
||||||
|
return style;
|
||||||
|
});
|
||||||
|
}).then(style => {
|
||||||
styleId = style.id;
|
styleId = style.id;
|
||||||
sessionStorage.justEditedStyleId = styleId;
|
sessionStorage.justEditedStyleId = styleId;
|
||||||
setStyleMeta(style);
|
|
||||||
window.onload = () => {
|
return windowLoaded().then(() => {
|
||||||
window.onload = null;
|
|
||||||
initWithStyle({style});
|
initWithStyle({style});
|
||||||
};
|
});
|
||||||
if (document.readyState !== 'loading') {
|
|
||||||
window.onload();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user