This commit is contained in:
@@ -29,6 +29,10 @@
|
|||||||
<v-btn value="jsHelpers">
|
<v-btn value="jsHelpers">
|
||||||
Helpers
|
Helpers
|
||||||
</v-btn>
|
</v-btn>
|
||||||
|
|
||||||
|
<v-btn value="rawData">
|
||||||
|
Data
|
||||||
|
</v-btn>
|
||||||
</v-btn-toggle>
|
</v-btn-toggle>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" v-show="showEditor">
|
<v-col cols="12" v-show="showEditor">
|
||||||
@@ -86,6 +90,7 @@
|
|||||||
></v-textarea>
|
></v-textarea>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
{{ reportData }}
|
||||||
</v-form>
|
</v-form>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@@ -150,6 +155,42 @@ export default {
|
|||||||
loading: false
|
loading: false
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------
|
||||||
|
//setup the editor and models
|
||||||
|
|
||||||
|
//Created editor models for each type of report element that can be edited
|
||||||
|
vm.editData.template.model = monaco.editor.createModel(
|
||||||
|
vm.obj.template,
|
||||||
|
"javascript"
|
||||||
|
);
|
||||||
|
|
||||||
|
vm.editData.style.model = monaco.editor.createModel(vm.obj.style, "css");
|
||||||
|
vm.editData.jsPrerender.model = monaco.editor.createModel(
|
||||||
|
vm.obj.jsPrerender,
|
||||||
|
"javascript"
|
||||||
|
);
|
||||||
|
|
||||||
|
vm.editData.rawData.model = monaco.editor.createModel(
|
||||||
|
JSON.stringify(vm.reportData, null, "\t"),
|
||||||
|
"json"
|
||||||
|
);
|
||||||
|
|
||||||
|
vm.editData.jsHelpers.model = monaco.editor.createModel(
|
||||||
|
vm.obj.jsHelpers,
|
||||||
|
"javascript"
|
||||||
|
);
|
||||||
|
|
||||||
|
//Create the editor itself
|
||||||
|
editor = monaco.editor.create(document.getElementById("editContainer"), {
|
||||||
|
model: vm.editData.template.model
|
||||||
|
});
|
||||||
|
//save the initial state because we're going to move away from it immediately
|
||||||
|
vm.editData.template.state = editor.saveViewState();
|
||||||
|
vm.showEditor = false;
|
||||||
|
|
||||||
|
//---------------
|
||||||
|
|
||||||
window.$gz.form.setFormState({
|
window.$gz.form.setFormState({
|
||||||
vm: vm,
|
vm: vm,
|
||||||
dirty: false,
|
dirty: false,
|
||||||
@@ -163,40 +204,15 @@ export default {
|
|||||||
vm.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
let vm = this;
|
|
||||||
|
|
||||||
//Created editor models for each type of report element that can be edited
|
|
||||||
vm.editData.template.model = monaco.editor.createModel(
|
|
||||||
vm.obj.template,
|
|
||||||
"javascript"
|
|
||||||
);
|
|
||||||
|
|
||||||
vm.editData.style.model = monaco.editor.createModel(vm.obj.style, "css");
|
|
||||||
vm.editData.jsPrerender.model = monaco.editor.createModel(
|
|
||||||
vm.obj.jsPrerender,
|
|
||||||
"javascript"
|
|
||||||
);
|
|
||||||
vm.editData.jsHelpers.model = monaco.editor.createModel(
|
|
||||||
vm.obj.jsHelpers,
|
|
||||||
"javascript"
|
|
||||||
);
|
|
||||||
//Create the editor itself
|
|
||||||
editor = monaco.editor.create(document.getElementById("editContainer"), {
|
|
||||||
model: vm.editData.template.model
|
|
||||||
});
|
|
||||||
//save the initial state because we're going to move away from it immediately
|
|
||||||
vm.editData.template.state = editor.saveViewState();
|
|
||||||
vm.showEditor = false;
|
|
||||||
},
|
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
//dispose all models and editor
|
//TODO: dispose all models and editor
|
||||||
editor && editor.dispose();
|
editor && editor.dispose();
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
reportData: [],
|
reportData: null,
|
||||||
editAreaHeight: 300,
|
editAreaHeight: 300,
|
||||||
activeTab: "properties",
|
activeTab: "properties",
|
||||||
lastTab: "properties",
|
lastTab: "properties",
|
||||||
@@ -217,6 +233,10 @@ export default {
|
|||||||
jsHelpers: {
|
jsHelpers: {
|
||||||
model: null,
|
model: null,
|
||||||
state: null
|
state: null
|
||||||
|
},
|
||||||
|
rawData: {
|
||||||
|
model: null,
|
||||||
|
state: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
obj: {
|
obj: {
|
||||||
@@ -287,6 +307,9 @@ Handlebars.registerHelper('loud', function (aString) {
|
|||||||
case "jsHelpers":
|
case "jsHelpers":
|
||||||
vm.editData.jsHelpers.state = currentState;
|
vm.editData.jsHelpers.state = currentState;
|
||||||
break;
|
break;
|
||||||
|
case "rawData":
|
||||||
|
vm.editData.rawData.state = currentState;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//set new view stuff
|
//set new view stuff
|
||||||
@@ -297,24 +320,35 @@ Handlebars.registerHelper('loud', function (aString) {
|
|||||||
case "template":
|
case "template":
|
||||||
editor.setModel(vm.editData.template.model);
|
editor.setModel(vm.editData.template.model);
|
||||||
editor.restoreViewState(vm.editData.template.state);
|
editor.restoreViewState(vm.editData.template.state);
|
||||||
|
editor.updateOptions({ readOnly: false });
|
||||||
vm.showEditor = true;
|
vm.showEditor = true;
|
||||||
editor.focus();
|
editor.focus();
|
||||||
break;
|
break;
|
||||||
case "style":
|
case "style":
|
||||||
editor.setModel(vm.editData.style.model);
|
editor.setModel(vm.editData.style.model);
|
||||||
editor.restoreViewState(vm.editData.style.state);
|
editor.restoreViewState(vm.editData.style.state);
|
||||||
|
editor.updateOptions({ readOnly: false });
|
||||||
vm.showEditor = true;
|
vm.showEditor = true;
|
||||||
editor.focus();
|
editor.focus();
|
||||||
break;
|
break;
|
||||||
case "jsPrerender":
|
case "jsPrerender":
|
||||||
editor.setModel(vm.editData.jsPrerender.model);
|
editor.setModel(vm.editData.jsPrerender.model);
|
||||||
editor.restoreViewState(vm.editData.jsPrerender.state);
|
editor.restoreViewState(vm.editData.jsPrerender.state);
|
||||||
|
editor.updateOptions({ readOnly: false });
|
||||||
vm.showEditor = true;
|
vm.showEditor = true;
|
||||||
editor.focus();
|
editor.focus();
|
||||||
break;
|
break;
|
||||||
case "jsHelpers":
|
case "jsHelpers":
|
||||||
editor.setModel(vm.editData.jsHelpers.model);
|
editor.setModel(vm.editData.jsHelpers.model);
|
||||||
editor.restoreViewState(vm.editData.jsHelpers.state);
|
editor.restoreViewState(vm.editData.jsHelpers.state);
|
||||||
|
editor.updateOptions({ readOnly: false });
|
||||||
|
vm.showEditor = true;
|
||||||
|
editor.focus();
|
||||||
|
break;
|
||||||
|
case "rawData":
|
||||||
|
editor.setModel(vm.editData.rawData.model);
|
||||||
|
editor.restoreViewState(vm.editData.rawData.state);
|
||||||
|
editor.updateOptions({ readOnly: true });
|
||||||
vm.showEditor = true;
|
vm.showEditor = true;
|
||||||
editor.focus();
|
editor.focus();
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user