BasicMenu.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <editor-menu-bar
  3. :editor="editor"
  4. v-slot="{ commands, isActive }">
  5. <div class="menubar">
  6. <button
  7. class="menubar__button"
  8. :class="{ 'is-active': isActive.bullet_list() }"
  9. @click="commands.bullet_list">
  10. <icon name="list-ul" size="large" />
  11. </button>
  12. <button
  13. class="menubar__button"
  14. :class="{ 'is-active': isActive.ordered_list() }"
  15. @click="commands.ordered_list">
  16. <icon name="list-ol" size="large" />
  17. </button>
  18. <button
  19. class="menubar__button"
  20. :class="{ 'is-active': isActive.blockquote() }"
  21. @click="commands.blockquote">
  22. <icon name="quote-right" size="large" />
  23. </button>
  24. <button
  25. class="menubar__button"
  26. :class="{ 'is-active': isActive.code_block() }"
  27. @click="commands.code_block">
  28. <icon name="file-code" size="large" />
  29. </button>
  30. <button
  31. class="menubar__button"
  32. @click="commands.horizontal_rule">
  33. <icon name="ruler-horizontal" size="large" />
  34. </button>
  35. <button
  36. class="menubar__button"
  37. @click="commands.undo">
  38. <icon name="undo-alt" size="large" />
  39. </button>
  40. <button
  41. class="menubar__button"
  42. @click="commands.redo">
  43. <icon name="redo" size="large" />
  44. </button>
  45. <slot name="saveButton"></slot>
  46. </div>
  47. </editor-menu-bar>
  48. </template>
  49. <script>
  50. import { EditorMenuBar } from 'tiptap'
  51. import Icon from '~/components/shared/Icon'
  52. export default {
  53. components: {EditorMenuBar, Icon},
  54. props: {
  55. editor: Object
  56. }
  57. }
  58. </script>
  59. <style scoped lang="scss">
  60. </style>