This commit is contained in:
@@ -112,6 +112,7 @@ import * as monaco from "monaco-editor";
|
|||||||
|
|
||||||
const FORM_KEY = "ay-report-edit";
|
const FORM_KEY = "ay-report-edit";
|
||||||
let JUST_DELETED = false;
|
let JUST_DELETED = false;
|
||||||
|
let editor = null;
|
||||||
export default {
|
export default {
|
||||||
async created() {
|
async created() {
|
||||||
let vm = this;
|
let vm = this;
|
||||||
@@ -173,20 +174,21 @@ export default {
|
|||||||
"javascript"
|
"javascript"
|
||||||
);
|
);
|
||||||
//Create the editor itself
|
//Create the editor itself
|
||||||
vm.editor = monaco.editor.create(document.getElementById("editContainer"), {
|
editor = monaco.editor.create(document.getElementById("editContainer"), {
|
||||||
model: vm.editData.template.model
|
model: vm.editData.template.model
|
||||||
});
|
});
|
||||||
//save the initial state because we're going to move away from it immediately
|
//save the initial state because we're going to move away from it immediately
|
||||||
vm.editData.template.state = vm.editor.saveViewState();
|
vm.editData.template.state = editor.saveViewState();
|
||||||
vm.showEditor = false;
|
vm.showEditor = false;
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.editor && this.editor.dispose();
|
//dispose all models and editor
|
||||||
|
editor && editor.dispose();
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
editor: null,
|
//editor: null,
|
||||||
editAreaHeight: 300,
|
editAreaHeight: 300,
|
||||||
activeTab: "properties",
|
activeTab: "properties",
|
||||||
lastTab: "properties",
|
lastTab: "properties",
|
||||||
@@ -257,8 +259,8 @@ Handlebars.registerHelper('loud', function (aString) {
|
|||||||
onViewChange() {
|
onViewChange() {
|
||||||
let vm = this;
|
let vm = this;
|
||||||
|
|
||||||
let currentState = vm.editor.saveViewState();
|
let currentState = editor.saveViewState();
|
||||||
let currentModel = vm.editor.getModel();
|
let currentModel = editor.getModel();
|
||||||
// debugger;
|
// debugger;
|
||||||
//save edit state before switching
|
//save edit state before switching
|
||||||
switch (vm.lastTab) {
|
switch (vm.lastTab) {
|
||||||
@@ -285,28 +287,28 @@ Handlebars.registerHelper('loud', function (aString) {
|
|||||||
vm.showEditor = false;
|
vm.showEditor = false;
|
||||||
break;
|
break;
|
||||||
case "template":
|
case "template":
|
||||||
vm.editor.setModel(vm.editData.template.model);
|
editor.setModel(vm.editData.template.model);
|
||||||
vm.editor.restoreViewState(vm.editData.template.state);
|
editor.restoreViewState(vm.editData.template.state);
|
||||||
vm.showEditor = true;
|
vm.showEditor = true;
|
||||||
vm.editor.focus();
|
editor.focus();
|
||||||
break;
|
break;
|
||||||
case "style":
|
case "style":
|
||||||
vm.editor.setModel(vm.editData.style.model);
|
editor.setModel(vm.editData.style.model);
|
||||||
vm.editor.restoreViewState(vm.editData.style.state);
|
editor.restoreViewState(vm.editData.style.state);
|
||||||
vm.showEditor = true;
|
vm.showEditor = true;
|
||||||
vm.editor.focus();
|
editor.focus();
|
||||||
break;
|
break;
|
||||||
case "jsPrerender":
|
case "jsPrerender":
|
||||||
vm.editor.setModel(vm.editData.jsPrerender.model);
|
editor.setModel(vm.editData.jsPrerender.model);
|
||||||
vm.editor.restoreViewState(vm.editData.jsPrerender.state);
|
editor.restoreViewState(vm.editData.jsPrerender.state);
|
||||||
vm.showEditor = true;
|
vm.showEditor = true;
|
||||||
vm.editor.focus();
|
editor.focus();
|
||||||
break;
|
break;
|
||||||
case "jsHelpers":
|
case "jsHelpers":
|
||||||
vm.editor.setModel(vm.editData.jsHelpers.model);
|
editor.setModel(vm.editData.jsHelpers.model);
|
||||||
vm.editor.restoreViewState(vm.editData.jsHelpers.state);
|
editor.restoreViewState(vm.editData.jsHelpers.state);
|
||||||
vm.showEditor = true;
|
vm.showEditor = true;
|
||||||
vm.editor.focus();
|
editor.focus();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
vm.lastTab = vm.activeTab;
|
vm.lastTab = vm.activeTab;
|
||||||
@@ -316,8 +318,8 @@ Handlebars.registerHelper('loud', function (aString) {
|
|||||||
//https://github.com/Microsoft/monaco-editor/issues/28
|
//https://github.com/Microsoft/monaco-editor/issues/28
|
||||||
let el = document.getElementById("editContainer");
|
let el = document.getElementById("editContainer");
|
||||||
el.style = `width:100%;height:${window.innerHeight * 0.77}px`;
|
el.style = `width:100%;height:${window.innerHeight * 0.77}px`;
|
||||||
if (this.editor != null) {
|
if (editor != null) {
|
||||||
this.editor.layout();
|
editor.layout();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
canSave: function() {
|
canSave: function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user