edit.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <!-- Finish handling of URL -->
  3. <div>
  4. <Header
  5. title="Write your blog"
  6. exitLink="/instructor/blogs">
  7. <!-- TODO: Check if blog status is active -->
  8. <template #actionMenu>
  9. <div class="full-page-takeover-header-button">
  10. <!-- TODO: Check blog validity before publishing -->
  11. <Modal
  12. openTitle="Publish"
  13. openBtnClass="button is-success is-medium is-inverted is-outlined"
  14. title="Review Details">
  15. <div>
  16. <div class="title">Once you publish blog you cannot change url to a blog.</div>
  17. <!-- Check for error -->
  18. <div>
  19. <div class="subtitle">Current Url is:</div>
  20. <article class="message is-success">
  21. <div class="message-body">
  22. <!-- Get here actual slug -->
  23. <strong>some-slug</strong>
  24. </div>
  25. </article>
  26. </div>
  27. <!-- <article class="message is-danger">
  28. <div class="message-body">
  29. Display error here
  30. </div>
  31. </article> -->
  32. </div>
  33. </Modal>
  34. </div>
  35. </template>
  36. <!-- <template v-else #actionMenu>
  37. <div class="full-page-takeover-header-button">
  38. <Modal
  39. openTitle="Unpublish"
  40. openBtnClass="button is-success is-medium is-inverted is-outlined"
  41. title="Unpublish Blog">
  42. <div>
  43. <div class="title">Unpublish blog so it's no longer displayed in blogs page</div>
  44. </div>
  45. </Modal>
  46. </div>
  47. </template> -->
  48. </Header>
  49. <div class="blog-editor-container">
  50. <div class="container">
  51. <editor
  52. @editorMounted="initBlogContent"
  53. />
  54. </div>
  55. </div>
  56. </div>
  57. </template>
  58. <script>
  59. import Editor from '~/components/editor'
  60. import Header from '~/components/shared/Header'
  61. import Modal from '~/components/shared/Modal'
  62. import { mapState } from "vuex";
  63. export default {
  64. layout: 'instructor',
  65. components: {
  66. Editor, Header, Modal
  67. },
  68. computed : {
  69. ...mapState({
  70. blog: ({instructor}) => instructor.blog.item
  71. })
  72. },
  73. async fetch({params, store}){
  74. await store.dispatch('instructor/blog/fetchBlogById', params.id)
  75. },
  76. methods: {
  77. initBlogContent(initContent) {
  78. debugger
  79. if (this.blog && this.blog.content) {
  80. initContent(this.blog.content)
  81. }
  82. }
  83. }
  84. }
  85. </script>