mirror of
https://github.com/ueberdosis/tiptap.git
synced 2024-11-28 07:40:13 +08:00
add hiding menu bar example
This commit is contained in:
parent
88e56c7b27
commit
e3aaa0630c
@ -3,7 +3,7 @@
|
||||
.page {
|
||||
|
||||
&__content {
|
||||
padding: 2rem;
|
||||
padding: 4rem 1rem;
|
||||
}
|
||||
|
||||
}
|
||||
@ -90,10 +90,13 @@
|
||||
|
||||
display: flex;
|
||||
margin-bottom: 1rem;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition: visibility 0.2s 0.4s, opacity 0.2s 0.4s;
|
||||
|
||||
&.is-hidden {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
&.is-focused {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
|
@ -20,6 +20,9 @@
|
||||
<router-link class="navigation__link" to="/links">
|
||||
Links
|
||||
</router-link>
|
||||
<router-link class="navigation__link" to="/hiding-menu-bar">
|
||||
Hiding Menu Bar
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
63
examples/Components/Routes/HidingMenuBar/index.vue
Normal file
63
examples/Components/Routes/HidingMenuBar/index.vue
Normal file
@ -0,0 +1,63 @@
|
||||
<template>
|
||||
<div>
|
||||
<editor :editable="true" class="editor" @update="onUpdate">
|
||||
|
||||
<div class="menubar is-hidden" :class="{ 'is-focused': focused }" slot="menubar" slot-scope="{ nodes, marks, focused }">
|
||||
<div v-if="nodes && marks">
|
||||
|
||||
<button
|
||||
class="menubar__button"
|
||||
:class="{ 'is-active': marks.bold.active() }"
|
||||
@click="marks.bold.command"
|
||||
>
|
||||
<icon name="bold" />
|
||||
</button>
|
||||
|
||||
<button
|
||||
class="menubar__button"
|
||||
:class="{ 'is-active': marks.italic.active() }"
|
||||
@click="marks.italic.command"
|
||||
>
|
||||
<icon name="italic" />
|
||||
</button>
|
||||
|
||||
<button
|
||||
class="menubar__button"
|
||||
@click="marks.code.command"
|
||||
:class="{ 'is-active': marks.code.active() }
|
||||
">
|
||||
<icon name="code" />
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor__content" slot="content" slot-scope="props">
|
||||
<h1>
|
||||
Hiding Menu Bar
|
||||
</h1>
|
||||
<p>
|
||||
Try to focus the editor to see the menu. It's like magic. 🔮
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</editor>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Icon from 'Components/Icon'
|
||||
import { Editor } from 'tiptap'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Editor,
|
||||
Icon,
|
||||
},
|
||||
methods: {
|
||||
onUpdate(state) {
|
||||
this.data = state.doc.toJSON()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<editor :editable="true" class="editor" @update="onUpdate">
|
||||
|
||||
<div class="menubar" :class="{ 'is-focused': focused }" slot="menubar" slot-scope="{ nodes, marks, focused }">
|
||||
<div class="menubar" slot="menubar" slot-scope="{ nodes, marks }">
|
||||
<div v-if="nodes && marks">
|
||||
|
||||
<button
|
||||
|
@ -6,6 +6,7 @@ import App from 'Components/App'
|
||||
import RouteMenuBar from 'Components/Routes/MenuBar'
|
||||
import RouteMenuBubble from 'Components/Routes/MenuBubble'
|
||||
import RouteLinks from 'Components/Routes/Links'
|
||||
import RouteHidingMenuBar from 'Components/Routes/HidingMenuBar'
|
||||
|
||||
const __svg__ = { path: './assets/images/icons/*.svg', name: 'assets/images/[hash].sprite.svg' }
|
||||
svgSpriteLoader(__svg__.filename)
|
||||
@ -27,6 +28,10 @@ const routes = [
|
||||
path: '/links',
|
||||
component: RouteLinks,
|
||||
},
|
||||
{
|
||||
path: '/hiding-menu-bar',
|
||||
component: RouteHidingMenuBar,
|
||||
},
|
||||
]
|
||||
|
||||
const router = new VueRouter({
|
||||
|
Loading…
Reference in New Issue
Block a user