You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

230 lines
9.0 KiB

5 years ago
5 years ago
  1. <template lang='pug'>
  2. v-dialog(v-model='isShown', persistent, max-width='700', no-click-animation)
  3. v-btn(fab, fixed, bottom, right, color='grey darken-3', dark, @click='goBack', style='width: 50px;'): v-icon mdi-undo-variant
  4. v-card.radius-7(color='blue darken-3', dark)
  5. v-card-text.text-center.py-4
  6. .subtitle-1.white--text {{$t('editor:select.title')}}
  7. v-container(grid-list-lg, fluid)
  8. v-layout(row, wrap, justify-center)
  9. v-flex(xs4)
  10. v-hover
  11. template(v-slot:default='{ hover }')
  12. v-card.radius-7.primary.animated.fadeInUp(
  13. hover
  14. light
  15. ripple
  16. )
  17. v-card-text.text-center(@click='')
  18. img(src='/svg/editor-icon-api.svg', alt='API', style='width: 36px; opacity: .5;')
  19. .body-2.blue--text.mt-2.text--lighten-2 API Docs
  20. .caption.blue--text.text--lighten-1 REST / GraphQL
  21. v-fade-transition
  22. v-overlay(
  23. v-if='hover'
  24. absolute
  25. color='primary'
  26. opacity='.8'
  27. )
  28. .body-2.mt-7 Coming Soon
  29. v-flex(xs4)
  30. v-hover
  31. template(v-slot:default='{ hover }')
  32. v-card.radius-7.primary.animated.fadeInUp.wait-p1s(
  33. hover
  34. light
  35. ripple
  36. )
  37. v-card-text.text-center(@click='')
  38. img(src='/svg/editor-icon-wikitext.svg', alt='WikiText', style='width: 36px; opacity: .5;')
  39. .body-2.blue--text.mt-2.text--lighten-2 Blog
  40. .caption.blue--text.text--lighten-1 Timeline of Posts
  41. v-fade-transition
  42. v-overlay(
  43. v-if='hover'
  44. absolute
  45. color='primary'
  46. opacity='.8'
  47. )
  48. .body-2.mt-7 Coming Soon
  49. v-flex(xs4)
  50. v-card.radius-7.animated.fadeInUp.wait-p2s(
  51. hover
  52. light
  53. ripple
  54. )
  55. v-card-text.text-center(@click='selectEditor("code")')
  56. img(src='/svg/editor-icon-code.svg', alt='Code', style='width: 36px;')
  57. .body-2.primary--text.mt-2 Code
  58. .caption.grey--text Raw HTML
  59. v-flex(xs4)
  60. v-card.radius-7.animated.fadeInUp.wait-p1s(
  61. hover
  62. light
  63. ripple
  64. )
  65. v-card-text.text-center(@click='selectEditor("markdown")')
  66. img(src='/svg/editor-icon-markdown.svg', alt='Markdown', style='width: 36px;')
  67. .body-2.primary--text.mt-2 Markdown
  68. .caption.grey--text Plain Text Formatting
  69. v-flex(xs4)
  70. v-hover
  71. template(v-slot:default='{ hover }')
  72. v-card.radius-7.primary.animated.fadeInUp.wait-p2s(
  73. hover
  74. light
  75. ripple
  76. )
  77. v-card-text.text-center(@click='')
  78. img(src='/svg/editor-icon-tabular.svg', alt='Tabular', style='width: 36px; opacity: .5;')
  79. .body-2.blue--text.mt-2.text--lighten-2 Tabular
  80. .caption.blue--text.text--lighten-1 Excel-like
  81. v-fade-transition
  82. v-overlay(
  83. v-if='hover'
  84. absolute
  85. color='primary'
  86. opacity='.8'
  87. )
  88. .body-2.mt-7 Coming Soon
  89. v-flex(xs4)
  90. v-card.radius-7.animated.fadeInUp.wait-p3s(
  91. hover
  92. light
  93. ripple
  94. )
  95. v-card-text.text-center(@click='selectEditor("ckeditor")')
  96. img(src='/svg/editor-icon-ckeditor.svg', alt='Visual Editor', style='width: 36px;')
  97. .body-2.mt-2.primary--text Visual Editor
  98. .caption.grey--text Rich-text WYSIWYG
  99. .caption.blue--text.text--lighten-2 {{$t('editor:select.cannotChange')}}
  100. v-card.radius-7.mt-2(color='teal darken-3', dark)
  101. v-card-text.text-center.py-4
  102. .subtitle-1.white--text {{$t('editor:select.customView')}}
  103. v-container(grid-list-lg, fluid)
  104. v-layout(row, wrap, justify-center)
  105. v-flex(xs4)
  106. v-hover
  107. template(v-slot:default='{ hover }')
  108. v-card.radius-7.teal.animated.fadeInUp(
  109. hover
  110. light
  111. ripple
  112. )
  113. v-card-text.text-center(@click='')
  114. img(src='/svg/icon-cube.svg', alt='From Template', style='width: 42px; opacity: .5;')
  115. .body-2.mt-1.teal--text.text--lighten-2 From Template
  116. .caption.teal--text.text--lighten-1 Use an existing page / tree
  117. v-fade-transition
  118. v-overlay(
  119. v-if='hover'
  120. absolute
  121. color='teal'
  122. opacity='.8'
  123. )
  124. .body-2.mt-7 Coming Soon
  125. v-flex(xs4)
  126. v-hover
  127. template(v-slot:default='{ hover }')
  128. v-card.radius-7.teal.animated.fadeInUp.wait-p1s(
  129. hover
  130. light
  131. ripple
  132. )
  133. v-card-text.text-center(@click='')
  134. img(src='/svg/icon-tree-structure.svg', alt='Tree View', style='width: 42px; opacity: .5;')
  135. .body-2.mt-1.teal--text.text--lighten-2 Tree View
  136. .caption.teal--text.text--lighten-1 List children pages
  137. v-fade-transition
  138. v-overlay(
  139. v-if='hover'
  140. absolute
  141. color='teal'
  142. opacity='.8'
  143. )
  144. .body-2.mt-7 Coming Soon
  145. v-flex(xs4)
  146. v-hover
  147. template(v-slot:default='{ hover }')
  148. v-card.radius-7.teal.animated.fadeInUp.wait-p2s(
  149. hover
  150. light
  151. ripple
  152. )
  153. v-card-text.text-center(@click='')
  154. img(src='/svg/icon-sewing-patch.svg', alt='Code', style='width: 42px; opacity: .5;')
  155. .body-2.mt-1.teal--text.text--lighten-2 Embed
  156. .caption.teal--text.text--lighten-1 Include external pages
  157. v-fade-transition
  158. v-overlay(
  159. v-if='hover'
  160. absolute
  161. color='teal'
  162. opacity='.8'
  163. )
  164. .body-2.mt-7 Coming Soon
  165. v-hover
  166. template(v-slot:default='{ hover }')
  167. v-card.radius-7.mt-2(color='indigo darken-3', dark)
  168. v-toolbar(dense, flat, color='light-green darken-3')
  169. v-spacer
  170. .caption.mr-1 or convert from
  171. v-btn.mx-1.animated.fadeInUp(depressed, color='light-green darken-2', @click='', disabled)
  172. v-icon(left) mdi-alpha-a-circle
  173. .body-2.text-none AsciiDoc
  174. v-btn.mx-1.animated.fadeInUp.wait-p1s(depressed, color='light-green darken-2', @click='', disabled)
  175. v-icon(left) mdi-alpha-c-circle
  176. .body-2.text-none CREOLE
  177. v-btn.mx-1.animated.fadeInUp.wait-p2s(depressed, color='light-green darken-2', @click='', disabled)
  178. v-icon(left) mdi-alpha-t-circle
  179. .body-2.text-none Textile
  180. v-btn.mx-1.animated.fadeInUp.wait-p3s(depressed, color='light-green darken-2', @click='', disabled)
  181. v-icon(left) mdi-alpha-w-circle
  182. .body-2.text-none WikiText
  183. v-spacer
  184. v-fade-transition
  185. v-overlay(
  186. v-if='hover'
  187. absolute
  188. color='light-green darken-3'
  189. opacity='.8'
  190. )
  191. .body-2 Coming Soon
  192. </template>
  193. <script>
  194. import _ from 'lodash'
  195. import { sync } from 'vuex-pathify'
  196. export default {
  197. props: {
  198. value: {
  199. type: Boolean,
  200. default: false
  201. }
  202. },
  203. data() {
  204. return { }
  205. },
  206. computed: {
  207. isShown: {
  208. get() { return this.value },
  209. set(val) { this.$emit('input', val) }
  210. },
  211. currentEditor: sync('editor/editor')
  212. },
  213. methods: {
  214. selectEditor(name) {
  215. this.currentEditor = `editor${_.startCase(name)}`
  216. this.isShown = false
  217. },
  218. goBack() {
  219. window.history.go(-1)
  220. }
  221. }
  222. }
  223. </script>
  224. <style lang='scss'>
  225. </style>