mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-05-26 00:30:02 +08:00
Finished off main functionality of custom tinymce code editor
This commit is contained in:
39
resources/assets/js/vues/code-editor.js
Normal file
39
resources/assets/js/vues/code-editor.js
Normal file
@ -0,0 +1,39 @@
|
||||
const codeLib = require('../code');
|
||||
|
||||
const methods = {
|
||||
show() {
|
||||
if (!this.editor) this.editor = codeLib.popupEditor(this.$refs.editor, this.language);
|
||||
this.$refs.overlay.style.display = 'flex';
|
||||
},
|
||||
hide() {
|
||||
this.$refs.overlay.style.display = 'none';
|
||||
},
|
||||
updateEditorMode(language) {
|
||||
codeLib.setMode(this.editor, language);
|
||||
},
|
||||
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
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
methods,
|
||||
data
|
||||
};
|
Reference in New Issue
Block a user