24 lines
559 B
Vue
24 lines
559 B
Vue
<template>
|
|
<div class="editor-wrapper" ref="wrapperRef"></div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { onMounted, ref, shallowRef } from 'vue';
|
|
import { Editor } from '../editor';
|
|
|
|
const wrapperRef = ref();
|
|
const editorRef = shallowRef<Editor>(new Editor());
|
|
|
|
const resize = () => editorRef.value.viewport.setSizeFromWindow();
|
|
|
|
onMounted(() => {
|
|
editorRef.value.mount(wrapperRef.value);
|
|
window.addEventListener('resize', resize);
|
|
|
|
return () => {
|
|
window.removeEventListener('resize', resize);
|
|
editorRef.value?.stop();
|
|
};
|
|
});
|
|
</script>
|