add renderless MenuBar

This commit is contained in:
Philipp Kühn
2018-11-04 22:43:26 +01:00
parent d4f6708daa
commit 32c62b85ca
7 changed files with 115 additions and 113 deletions

View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="editor"> <div class="editor">
<menu-bar class="menubar" :editor="editor"> <menu-bar :editor="editor">
<template slot-scope="{ commands, isActive }"> <div class="menubar" slot-scope="{ commands, isActive }">
<button <button
class="menubar__button" class="menubar__button"
@@ -121,7 +121,7 @@
<icon name="redo" /> <icon name="redo" />
</button> </button>
</template> </div>
</menu-bar> </menu-bar>
<editor-content class="editor__content" :editor="editor" /> <editor-content class="editor__content" :editor="editor" />

View File

@@ -1,8 +1,8 @@
<template> <template>
<div> <div>
<div class="editor"> <div class="editor">
<menu-bar class="menubar" :editor="editor"> <menu-bar :editor="editor">
<template slot-scope="{ commands, isActive }"> <div class="menubar" slot-scope="{ commands, isActive }">
<button <button
class="menubar__button" class="menubar__button"
@@ -84,7 +84,7 @@
<icon name="code" /> <icon name="code" />
</button> </button>
</template> </div>
</menu-bar> </menu-bar>
<editor-content class="editor__content" :editor="editor" /> <editor-content class="editor__content" :editor="editor" />

View File

@@ -1,8 +1,11 @@
<template> <template>
<div class="editor"> <div class="editor">
<menu-bar :editor="editor"> <menu-bar :editor="editor">
<template slot-scope="{ commands, isActive, focused }"> <div
<div class="menubar is-hidden" :class="{ 'is-focused': focused }"> class="menubar is-hidden"
:class="{ 'is-focused': focused }"
slot-scope="{ commands, isActive, focused }"
>
<button <button
class="menubar__button" class="menubar__button"
@@ -109,7 +112,6 @@
</button> </button>
</div> </div>
</template>
</menu-bar> </menu-bar>
<editor-content class="editor__content" :editor="editor" /> <editor-content class="editor__content" :editor="editor" />

View File

@@ -1,14 +1,14 @@
<template> <template>
<div class="editor"> <div class="editor">
<menu-bar class="menubar" :editor="editor"> <menu-bar :editor="editor">
<template slot-scope="{ commands }"> <div class="menubar" slot-scope="{ commands }">
<button <button
class="menubar__button" class="menubar__button"
@click="showImagePrompt(commands.image)" @click="showImagePrompt(commands.image)"
> >
<icon name="image" /> <icon name="image" />
</button> </button>
</template> </div>
</menu-bar> </menu-bar>
<editor-content class="editor__content" :editor="editor" /> <editor-content class="editor__content" :editor="editor" />

View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="editor"> <div class="editor">
<menu-bar class="menubar" :editor="editor"> <menu-bar :editor="editor">
<template slot-scope="{ commands, isActive }"> <div class="menubar" slot-scope="{ commands, isActive }">
<button <button
class="menubar__button" class="menubar__button"
@@ -27,7 +27,7 @@
<icon name="align-right" /> <icon name="align-right" />
</button> </button>
</template> </div>
</menu-bar> </menu-bar>
<editor-content class="editor__content" :editor="editor" /> <editor-content class="editor__content" :editor="editor" />

View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="editor"> <div class="editor">
<menu-bar class="menubar" :editor="editor"> <menu-bar :editor="editor">
<template slot-scope="{ commands, isActive }"> <div class="menubar" slot-scope="{ commands, isActive }">
<button <button
class="menubar__button" class="menubar__button"
@@ -35,7 +35,7 @@
<icon name="checklist" /> <icon name="checklist" />
</button> </button>
</template> </div>
</menu-bar> </menu-bar>
<editor-content class="editor__content" :editor="editor" /> <editor-content class="editor__content" :editor="editor" />

View File

@@ -5,17 +5,17 @@ export default {
type: Object, type: Object,
}, },
}, },
render(createElement) { render() {
if (!this.editor) { if (!this.editor) {
return null return null
} }
return createElement('div', this.$scopedSlots.default({ return this.$scopedSlots.default({
focused: this.editor.view.focused, focused: this.editor.view.focused,
focus: this.editor.focus, focus: this.editor.focus,
commands: this.editor.commands, commands: this.editor.commands,
isActive: this.editor.isActive.bind(this.editor), isActive: this.editor.isActive.bind(this.editor),
markAttrs: this.editor.markAttrs.bind(this.editor), markAttrs: this.editor.markAttrs.bind(this.editor),
})) })
}, },
} }