motorradig/motorradig/resources/js/views/EditPage.vue

121 lines
4 KiB
Vue

<template>
<div id="root">
<div class="title level-item has-text-centered">Motorrad IG
</div>
<div class="has-text-centered">
<button class="button" @click="changeMainText('Über uns')" >Über uns</button>
<button class="button" @click="changeMainText('Aktuelles')" >Aktuelles</button>
<button class="button" @click="changeMainText('Mitgliedsantrag')">Mitgliedsantrag</button>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Beispiel)</button></span>
<span v-else-if="this.$store.state.user.role==='GUEST'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Gast)</button></span>
<span v-else-if="this.$store.state.user.role==='MEMBER'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span>
<span v-else-if="this.$store.state.user.role==='ADMIN'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span>
<button class="button" @click="changeMainText('Wetter')" >Wetter</button>
<button class="button" @click="changeMainText('Links')" >Links</button>
<button class="button" @click="changeMainText('Impressum')" >Impressum</button>
<button class="button" @click="showContent()" >Show content</button>
<router-link class="button" :to="{ name: 'Login' }">Log-In</router-link>
</div>
<p>&nbsp;</p>
<div>
<editor-menu-bar :editor="editor" v-slot="{ commands, isActive }">
<div class="menubar">
<button :class="{ 'is-active': isActive.bold() }" @click="commands.bold">
Bold
</button>
<button :class="{ 'is-active': isActive.underline() }" @click="commands.bold">
Underline
</button>
</div>
</editor-menu-bar>
<editor-content :editor="editor" />
</div>
</div>
</template>
<script>
import { Editor, EditorContent, EditorMenuBar } from 'tiptap'
import {
Blockquote,
CodeBlock,
HardBreak,
Heading,
HorizontalRule,
OrderedList,
BulletList,
ListItem,
TodoItem,
TodoList,
Bold,
Code,
Italic,
Link,
Strike,
Underline,
History,
} from 'tiptap-extensions'
export default {
components: {
EditorContent,
EditorMenuBar,
},
data() {
return {
editor: new Editor({
extensions: [
new Blockquote(),
new BulletList(),
new CodeBlock(),
new HardBreak(),
new Heading({ levels: [1, 2, 3] }),
new HorizontalRule(),
new ListItem(),
new OrderedList(),
new TodoItem(),
new TodoList(),
new Link(),
new Bold(),
new Code(),
new Italic(),
new Strike(),
new Underline(),
new History(),
],
content: this.$store.state.page_content,
}),
}
},
beforeDestroy() {
this.editor.destroy()
},
methods: {
showContent() {
console.log(">>");
//console.log(this.editor.view.dom.innerText);
//console.log(this.editor.docView.dom.innerHTML);
console.log(this.editor.view.docView.dom.innerHTML);
}
}
}
</script>