PageMoveTab.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <template>
  2. <div class="fit sets-tab-panel">
  3. <!---------------------------------------------->
  4. <div class="sets-part-header">
  5. Анимация
  6. </div>
  7. <div class="sets-item row">
  8. <div class="sets-label label">
  9. Тип
  10. </div>
  11. <q-select
  12. v-model="form.pageChangeAnimation" class="col-left" :options="pageChangeAnimationOptions"
  13. dropdown-icon="la la-angle-down la-sm"
  14. outlined dense emit-value map-options
  15. />
  16. </div>
  17. <div class="sets-item row">
  18. <div class="sets-label label">
  19. Скорость
  20. </div>
  21. <NumInput v-model="form.pageChangeAnimationSpeed" class="col-left" :min="0" :max="100" :disable="form.pageChangeAnimation == ''" />
  22. </div>
  23. <!---------------------------------------------->
  24. <div class="sets-part-header">
  25. Другое
  26. </div>
  27. <div class="sets-item row">
  28. <div class="sets-label label">
  29. Страница
  30. </div>
  31. <q-checkbox v-model="form.keepLastToFirst" size="xs" label="Переносить последнюю строку">
  32. <q-tooltip :delay="1000" anchor="top middle" self="bottom middle" content-style="font-size: 80%">
  33. Переносить последнюю строку страницы<br>
  34. в начало следующей при листании
  35. </q-tooltip>
  36. </q-checkbox>
  37. </div>
  38. </div>
  39. </template>
  40. <script>
  41. //-----------------------------------------------------------------------------
  42. import vueComponent from '../../../vueComponent.js';
  43. import NumInput from '../../../share/NumInput.vue';
  44. const componentOptions = {
  45. components: {
  46. NumInput,
  47. },
  48. };
  49. class PageMoveTab {
  50. _options = componentOptions;
  51. _props = {
  52. form: Object,
  53. };
  54. created() {
  55. }
  56. mounted() {
  57. }
  58. get pageChangeAnimationOptions() {
  59. let result = [
  60. {label: 'Нет', value: ''},
  61. {label: 'Вверх-вниз', value: 'downShift'},
  62. (!this.form.dualPageMode ? {label: 'Вправо-влево', value: 'rightShift'} : null),
  63. {label: 'Протаивание', value: 'thaw'},
  64. {label: 'Мерцание', value: 'blink'},
  65. {label: 'Вращение', value: 'rotate'},
  66. (this.form.wallpaper == '' && !this.form.dualPageMode ? {label: 'Листание', value: 'flip'} : null),
  67. ];
  68. result = result.filter(v => v);
  69. return result;
  70. }
  71. }
  72. export default vueComponent(PageMoveTab);
  73. //-----------------------------------------------------------------------------
  74. </script>
  75. <style scoped>
  76. .label {
  77. width: 110px;
  78. }
  79. .col-left {
  80. width: 150px;
  81. }
  82. </style>