mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-10-01 01:36:00 -04:00
a6bbe46987
- Codemirror mode mapping value can now be a function to dynamically set mode depending on actual code content. - Used above system to set php mode type, depending on if '<?php' tags exist in content. Closes #1557
43 lines
1.0 KiB
JavaScript
43 lines
1.0 KiB
JavaScript
import codeLib from "../services/code";
|
|
|
|
const methods = {
|
|
show() {
|
|
if (!this.editor) this.editor = codeLib.popupEditor(this.$refs.editor, this.language);
|
|
this.$refs.overlay.components.overlay.show();
|
|
},
|
|
hide() {
|
|
this.$refs.overlay.components.overlay.hide();
|
|
},
|
|
updateEditorMode(language) {
|
|
codeLib.setMode(this.editor, language, this.editor.getValue());
|
|
},
|
|
updateLanguage(lang) {
|
|
this.language = lang;
|
|
this.updateEditorMode(lang);
|
|
},
|
|
open(code, language, callback) {
|
|
this.show();
|
|
this.updateEditorMode(language);
|
|
this.language = language;
|
|
codeLib.setContent(this.editor, code);
|
|
this.code = code;
|
|
this.callback = callback;
|
|
},
|
|
save() {
|
|
if (!this.callback) return;
|
|
this.callback(this.editor.getValue(), this.language);
|
|
this.hide();
|
|
}
|
|
};
|
|
|
|
const data = {
|
|
editor: null,
|
|
language: '',
|
|
code: '',
|
|
callback: null
|
|
};
|
|
|
|
export default {
|
|
methods,
|
|
data
|
|
}; |