freeblox/packages/editor/src/components/EditorWrapper.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>