#1 Add monaco editor (#4)

Reviewed-on: #4
Co-authored-by: stuzer05 <stuzer05@stuzer.link>
Co-committed-by: stuzer05 <stuzer05@stuzer.link>
This commit is contained in:
Illya Marchenko 2024-03-07 14:11:52 +02:00 committed by Illya Marchenko
parent 948c66ed92
commit 5cd9cfb5b8
Signed by: Gitea
GPG Key ID: 81CE9C258E973E3A
3 changed files with 12 additions and 5 deletions

@ -36,9 +36,6 @@ input:disabled, textarea:disabled {
textarea[id=data] {
height: 200px;
}
textarea[id=result] {
height: 350px;
}
div[id=result] {
height: 350px;
}

@ -28,16 +28,22 @@ export default {
},
},
mounted() {
console.log(monacoResultInst);
loader.init().then((monaco) => {
monacoResultInst = monaco;
monaco.editor.create(document.querySelector(`#${this.name}`), {
value: '',
value: this.value,
language: this.language,
readOnly: this.readonly,
});
});
},
unmounted() {
if (monacoResultInst) {
monacoResultInst.editor.getModels().forEach(model => model.dispose());
}
},
watch: {
value: {
// the callback will be called immediately after the start of the observation

@ -17,15 +17,19 @@
<div class="input-group">
<label for="result">Result</label>
<textarea id="result" v-model="toolResult"></textarea>
<MonacoEditor name="result" language="json" :value="toolResult"></MonacoEditor>
</div>
</template>
<script>
import axios from 'axios'
import { config } from '../../config';
import MonacoEditor from "@/components/MonacoEditor.vue";
export default {
components: {
MonacoEditor
},
data() {
return {
toolData: {