add renderless MenuBar
This commit is contained in:
@@ -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" />
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
@@ -1,115 +1,117 @@
|
|||||||
<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"
|
||||||
:class="{ 'is-active': isActive('bold') }"
|
:class="{ 'is-active': isActive('bold') }"
|
||||||
@click="commands.bold"
|
@click="commands.bold"
|
||||||
>
|
>
|
||||||
<icon name="bold" />
|
<icon name="bold" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('italic') }"
|
:class="{ 'is-active': isActive('italic') }"
|
||||||
@click="commands.italic"
|
@click="commands.italic"
|
||||||
>
|
>
|
||||||
<icon name="italic" />
|
<icon name="italic" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('strike') }"
|
:class="{ 'is-active': isActive('strike') }"
|
||||||
@click="commands.strike"
|
@click="commands.strike"
|
||||||
>
|
>
|
||||||
<icon name="strike" />
|
<icon name="strike" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('underline') }"
|
:class="{ 'is-active': isActive('underline') }"
|
||||||
@click="commands.underline"
|
@click="commands.underline"
|
||||||
>
|
>
|
||||||
<icon name="underline" />
|
<icon name="underline" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('code') }"
|
:class="{ 'is-active': isActive('code') }"
|
||||||
@click="commands.code"
|
@click="commands.code"
|
||||||
>
|
>
|
||||||
<icon name="code" />
|
<icon name="code" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('paragraph') }"
|
:class="{ 'is-active': isActive('paragraph') }"
|
||||||
@click="commands.paragraph"
|
@click="commands.paragraph"
|
||||||
>
|
>
|
||||||
<icon name="paragraph" />
|
<icon name="paragraph" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('heading', { level: 1 }) }"
|
:class="{ 'is-active': isActive('heading', { level: 1 }) }"
|
||||||
@click="commands.heading({ level: 1 })"
|
@click="commands.heading({ level: 1 })"
|
||||||
>
|
>
|
||||||
H1
|
H1
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('heading', { level: 2 }) }"
|
:class="{ 'is-active': isActive('heading', { level: 2 }) }"
|
||||||
@click="commands.heading({ level: 2 })"
|
@click="commands.heading({ level: 2 })"
|
||||||
>
|
>
|
||||||
H2
|
H2
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('heading', { level: 3 }) }"
|
:class="{ 'is-active': isActive('heading', { level: 3 }) }"
|
||||||
@click="commands.heading({ level: 3 })"
|
@click="commands.heading({ level: 3 })"
|
||||||
>
|
>
|
||||||
H3
|
H3
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('bullet_list') }"
|
:class="{ 'is-active': isActive('bullet_list') }"
|
||||||
@click="commands.bullet_list"
|
@click="commands.bullet_list"
|
||||||
>
|
>
|
||||||
<icon name="ul" />
|
<icon name="ul" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('ordered_list') }"
|
:class="{ 'is-active': isActive('ordered_list') }"
|
||||||
@click="commands.ordered_list"
|
@click="commands.ordered_list"
|
||||||
>
|
>
|
||||||
<icon name="ol" />
|
<icon name="ol" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('blockquote') }"
|
:class="{ 'is-active': isActive('blockquote') }"
|
||||||
@click="commands.blockquote"
|
@click="commands.blockquote"
|
||||||
>
|
>
|
||||||
<icon name="quote" />
|
<icon name="quote" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="menubar__button"
|
class="menubar__button"
|
||||||
:class="{ 'is-active': isActive('code_block') }"
|
:class="{ 'is-active': isActive('code_block') }"
|
||||||
@click="commands.code_block"
|
@click="commands.code_block"
|
||||||
>
|
>
|
||||||
<icon name="code" />
|
<icon name="code" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
|
||||||
</menu-bar>
|
</menu-bar>
|
||||||
|
|
||||||
<editor-content class="editor__content" :editor="editor" />
|
<editor-content class="editor__content" :editor="editor" />
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
@@ -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),
|
||||||
}))
|
})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user