page-selector.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <template lang="pug">
  2. v-dialog(v-model='isShown', lazy, max-width='850px')
  3. v-card
  4. .dialog-header
  5. span Select Page Location
  6. v-spacer
  7. v-progress-circular(
  8. indeterminate
  9. color='white'
  10. :size='20'
  11. :width='2'
  12. v-show='searchLoading'
  13. )
  14. .d-flex(style='min-height:400px;')
  15. v-flex(xs4).grey.lighten-3
  16. v-toolbar(color='grey lighten-2', dense, flat)
  17. .body-2.grey--text.text--darken-2 Folders
  18. v-spacer
  19. v-divider.mx-3(vertical)
  20. v-btn(icon): v-icon(color='grey') arrow_upward
  21. v-btn(icon): v-icon(color='grey darken-2') create_new_folder
  22. v-list.grey.lighten-3(dense)
  23. v-list-tile.primary(dark)
  24. v-list-tile-avatar: v-icon folder_open
  25. v-list-tile-title.white--text / (Site Root)
  26. v-divider
  27. v-list-tile
  28. v-list-tile-avatar: v-icon folder
  29. v-list-tile-title Folder B
  30. v-flex(xs8)
  31. v-toolbar(color='grey lighten-4', dense, flat)
  32. .body-2.grey--text.text--darken-2 Pages
  33. v-divider.ml-4(vertical)
  34. v-text-field(
  35. prepend-inner-icon='search'
  36. label='Search...'
  37. hide-details
  38. solo
  39. flat
  40. background-color='grey lighten-4'
  41. clearable
  42. )
  43. v-divider.mx-3(vertical)
  44. v-btn(icon): v-icon(color='grey') forward
  45. v-btn(icon): v-icon(color='grey') delete
  46. v-list(dense)
  47. v-list-tile
  48. v-list-tile-avatar: v-icon insert_drive_file
  49. v-list-tile-title File A
  50. v-divider
  51. v-list-tile
  52. v-list-tile-avatar: v-icon insert_drive_file
  53. v-list-tile-title File B
  54. v-divider
  55. v-list-tile
  56. v-list-tile-avatar: v-icon insert_drive_file
  57. v-list-tile-title File C
  58. v-divider
  59. v-list-tile
  60. v-list-tile-avatar: v-icon insert_drive_file
  61. v-list-tile-title File D
  62. v-card-text.grey.lighten-2.pa-2
  63. v-text-field(
  64. solo
  65. hide-details
  66. v-model='location'
  67. flat
  68. prepend-inner-icon='subdirectory_arrow_right'
  69. clearable
  70. )
  71. v-card-chin
  72. v-spacer
  73. v-btn(outline, @click='close') Cancel
  74. v-btn(color='primary')
  75. v-icon(left) check
  76. span Select
  77. </template>
  78. <script>
  79. export default {
  80. props: {
  81. value: {
  82. type: Boolean,
  83. default: false
  84. }
  85. },
  86. data() {
  87. return {
  88. searchLoading: true,
  89. location: '/new-page'
  90. }
  91. },
  92. computed: {
  93. isShown: {
  94. get() { return this.value },
  95. set(val) { this.$emit('input', val) }
  96. }
  97. },
  98. methods: {
  99. close() {
  100. this.isShown = false
  101. }
  102. }
  103. }
  104. </script>