SettingsPage.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <div ref="main" class="main" @click="close">
  3. <div class="mainWindow" @click.stop>
  4. <Window @close="close">
  5. <template slot="header">
  6. Настройки
  7. </template>
  8. <el-tabs type="border-card" tab-position="left" style="height: 100%;" v-model="selectedTab">
  9. <el-tab-pane label="Вид">
  10. <el-form :model="form" size="mini" label-width="100px">
  11. <el-form-item>
  12. Цвет
  13. </el-form-item>
  14. <el-form-item label="item">
  15. <el-input v-model="form.item"></el-input>
  16. </el-form-item>
  17. </el-form>
  18. <el-form :model="form" size="mini" label-width="100px">
  19. <el-form-item>
  20. Шрифт
  21. </el-form-item>
  22. </el-form>
  23. <el-form :model="form" size="mini" label-width="100px">
  24. <el-form-item>
  25. Текст
  26. </el-form-item>
  27. </el-form>
  28. <el-form :model="form" size="mini" label-width="100px">
  29. <el-form-item>
  30. Строка статуса
  31. </el-form-item>
  32. </el-form>
  33. </el-tab-pane>
  34. <el-tab-pane label="Листание">
  35. </el-tab-pane>
  36. <el-tab-pane label="Другое">
  37. </el-tab-pane>
  38. </el-tabs>
  39. </Window>
  40. </div>
  41. </div>
  42. </template>
  43. <script>
  44. //-----------------------------------------------------------------------------
  45. import Vue from 'vue';
  46. import Component from 'vue-class-component';
  47. import Window from '../../share/Window.vue';
  48. export default @Component({
  49. components: {
  50. Window,
  51. },
  52. })
  53. class SettingsPage extends Vue {
  54. selectedTab = null;
  55. form = {};
  56. created() {
  57. this.commit = this.$store.commit;
  58. this.reader = this.$store.state.reader;
  59. }
  60. close() {
  61. this.$emit('settings-toggle');
  62. }
  63. keyHook(event) {
  64. if (event.type == 'keydown' && event.code == 'Escape') {
  65. this.close();
  66. }
  67. return true;
  68. }
  69. }
  70. //-----------------------------------------------------------------------------
  71. </script>
  72. <style scoped>
  73. .main {
  74. position: absolute;
  75. width: 100%;
  76. height: 100%;
  77. z-index: 60;
  78. display: flex;
  79. flex-direction: column;
  80. justify-content: center;
  81. align-items: center;
  82. }
  83. .mainWindow {
  84. width: 100%;
  85. max-width: 600px;
  86. height: 70%;
  87. display: flex;
  88. position: relative;
  89. }
  90. .el-form {
  91. border-top: 2px solid #bbbbbb;
  92. }
  93. </style>