]> BookStack Code Mirror - bookstack/blob - resources/assets/js/vues/code-editor.js
Typo fix
[bookstack] / resources / assets / js / vues / code-editor.js
1 import codeLib from "../services/code";
2
3 const methods = {
4     show() {
5         if (!this.editor) this.editor = codeLib.popupEditor(this.$refs.editor, this.language);
6         this.$refs.overlay.style.display = 'flex';
7     },
8     hide() {
9         this.$refs.overlay.style.display = 'none';
10     },
11     updateEditorMode(language) {
12         codeLib.setMode(this.editor, language);
13     },
14     updateLanguage(lang) {
15         this.language = lang;
16         this.updateEditorMode(lang);
17     },
18     open(code, language, callback) {
19         this.show();
20         this.updateEditorMode(language);
21         this.language = language;
22         codeLib.setContent(this.editor, code);
23         this.code = code;
24         this.callback = callback;
25     },
26     save() {
27         if (!this.callback) return;
28         this.callback(this.editor.getValue(), this.language);
29         this.hide();
30     }
31 };
32
33 const data = {
34     editor: null,
35     language: '',
36     code: '',
37     callback: null
38 };
39
40 export default {
41     methods,
42     data
43 };