2020-05-20 14:21:08 +00:00
|
|
|
import {
|
|
|
|
defineComponent,
|
|
|
|
reactive,
|
2020-05-27 13:57:57 +00:00
|
|
|
ref,
|
2020-05-20 14:21:08 +00:00
|
|
|
} from '@vue/composition-api';
|
|
|
|
import Schlechtenburg from '@components/Schlechtenburg';
|
2020-05-25 21:10:21 +00:00
|
|
|
import { BlockData } from './components/TreeElement';
|
2020-05-20 14:21:08 +00:00
|
|
|
|
|
|
|
import './App.scss';
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
|
|
name: 'App',
|
|
|
|
|
|
|
|
setup() {
|
2020-05-27 13:57:57 +00:00
|
|
|
const activeTab = ref('edit');
|
2020-05-20 17:12:51 +00:00
|
|
|
const block = reactive({
|
2020-05-24 15:33:25 +00:00
|
|
|
name: 'sb-layout',
|
|
|
|
blockId: `${+(new Date())}`,
|
|
|
|
data: {
|
|
|
|
orientation: 'vertical',
|
|
|
|
children: [],
|
|
|
|
},
|
2020-05-25 21:10:21 +00:00
|
|
|
}) as BlockData;
|
2020-05-20 14:21:08 +00:00
|
|
|
|
2020-05-25 21:10:21 +00:00
|
|
|
return () => (
|
2020-05-20 14:21:08 +00:00
|
|
|
<div id="app">
|
2020-05-27 13:57:57 +00:00
|
|
|
<select
|
|
|
|
value={activeTab.value}
|
2020-05-25 21:10:21 +00:00
|
|
|
{...{
|
|
|
|
on: {
|
2020-05-27 13:57:57 +00:00
|
|
|
change: ($event: Event) => {
|
|
|
|
activeTab.value = ($event.target as HTMLSelectElement).value;
|
2020-05-25 21:10:21 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
}}
|
2020-05-27 13:57:57 +00:00
|
|
|
>
|
|
|
|
<option>edit</option>
|
|
|
|
<option>display</option>
|
|
|
|
<option>json</option>
|
|
|
|
</select>
|
|
|
|
<Schlechtenburg
|
|
|
|
vShow={activeTab.value === 'edit'}
|
|
|
|
block={block}
|
|
|
|
eventUpdate={(newBlock: BlockData) => {
|
|
|
|
block.name = newBlock.name;
|
|
|
|
block.blockId = newBlock.blockId;
|
|
|
|
block.data = newBlock.data;
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
|
|
|
|
<Schlechtenburg
|
|
|
|
vShow={activeTab.value === 'display'}
|
|
|
|
block={block}
|
|
|
|
mode="display"
|
2020-05-25 21:10:21 +00:00
|
|
|
/>
|
2020-05-20 14:21:08 +00:00
|
|
|
|
2020-05-27 13:57:57 +00:00
|
|
|
<pre vShow={activeTab.value === 'json'}>
|
|
|
|
<code>{JSON.stringify(block, null, 2)}</code>
|
|
|
|
</pre>
|
2020-05-20 14:21:08 +00:00
|
|
|
</div>
|
|
|
|
);
|
|
|
|
},
|
|
|
|
});
|