init autocomplete/blur/focus for usercss in a common hook
This commit is contained in:
parent
b42dfc8300
commit
eaed0de486
|
@ -33,6 +33,27 @@ onDOMscriptReady('/codemirror.js').then(() => {
|
||||||
rerouteHotkeys,
|
rerouteHotkeys,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
CodeMirror.defineInitHook(cm => {
|
||||||
|
if (prefs.get('editor.livePreview')) {
|
||||||
|
cm.on('changes', updatePreview);
|
||||||
|
}
|
||||||
|
if (prefs.get('editor.autocompleteOnTyping')) {
|
||||||
|
setupAutocomplete(cm);
|
||||||
|
}
|
||||||
|
const wrapper = cm.display.wrapper;
|
||||||
|
cm.on('blur', () => {
|
||||||
|
editors.lastActive = cm;
|
||||||
|
cm.rerouteHotkeys(true);
|
||||||
|
setTimeout(() => {
|
||||||
|
wrapper.classList.toggle('CodeMirror-active', wrapper.contains(document.activeElement));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
cm.on('focus', () => {
|
||||||
|
cm.rerouteHotkeys(false);
|
||||||
|
wrapper.classList.add('CodeMirror-active');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
new MutationObserver((mutations, observer) => {
|
new MutationObserver((mutations, observer) => {
|
||||||
if (!$('#sections')) {
|
if (!$('#sections')) {
|
||||||
return;
|
return;
|
||||||
|
@ -561,11 +582,6 @@ onDOMscriptReady('/codemirror.js').then(() => {
|
||||||
updatePreview(null, previewing);
|
updatePreview(null, previewing);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
CodeMirror.defineInitHook(cm => {
|
|
||||||
if (prefs.get('editor.livePreview')) {
|
|
||||||
cm.on('changes', updatePreview);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updatePreview(data, previewing) {
|
function updatePreview(data, previewing) {
|
||||||
|
|
|
@ -190,21 +190,7 @@ function setupCodeMirror(sectionDiv, code, index) {
|
||||||
clearTimeout(onChangeTimer);
|
clearTimeout(onChangeTimer);
|
||||||
onChangeTimer = setTimeout(indicateCodeChange, 200, cm, changes);
|
onChangeTimer = setTimeout(indicateCodeChange, 200, cm, changes);
|
||||||
});
|
});
|
||||||
if (prefs.get('editor.autocompleteOnTyping')) {
|
|
||||||
setupAutocomplete(cm);
|
|
||||||
}
|
|
||||||
wrapper.addEventListener('keydown', event => nextPrevEditorOnKeydown(cm, event), true);
|
wrapper.addEventListener('keydown', event => nextPrevEditorOnKeydown(cm, event), true);
|
||||||
cm.on('blur', () => {
|
|
||||||
editors.lastActive = cm;
|
|
||||||
cm.rerouteHotkeys(true);
|
|
||||||
setTimeout(() => {
|
|
||||||
wrapper.classList.toggle('CodeMirror-active', wrapper.contains(document.activeElement));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
cm.on('focus', () => {
|
|
||||||
cm.rerouteHotkeys(false);
|
|
||||||
wrapper.classList.add('CodeMirror-active');
|
|
||||||
});
|
|
||||||
cm.on('paste', (cm, event) => {
|
cm.on('paste', (cm, event) => {
|
||||||
const text = event.clipboardData.getData('text') || '';
|
const text = event.clipboardData.getData('text') || '';
|
||||||
if (
|
if (
|
||||||
|
|
|
@ -44,9 +44,6 @@ function createSourceEditor(style) {
|
||||||
updateLintReportIfEnabled(cm);
|
updateLintReportIfEnabled(cm);
|
||||||
});
|
});
|
||||||
|
|
||||||
cm.on('focus', () => cm.rerouteHotkeys(false));
|
|
||||||
cm.on('blur', () => cm.rerouteHotkeys(true));
|
|
||||||
|
|
||||||
CodeMirror.commands.prevEditor = cm => nextPrevMozDocument(cm, -1);
|
CodeMirror.commands.prevEditor = cm => nextPrevMozDocument(cm, -1);
|
||||||
CodeMirror.commands.nextEditor = cm => nextPrevMozDocument(cm, 1);
|
CodeMirror.commands.nextEditor = cm => nextPrevMozDocument(cm, 1);
|
||||||
CodeMirror.commands.toggleStyle = toggleStyle;
|
CodeMirror.commands.toggleStyle = toggleStyle;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user