sidebar.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <script setup lang="ts">
  2. import { $t } from '@vben/locales';
  3. import NumberFieldItem from '../number-field-item.vue';
  4. import SwitchItem from '../switch-item.vue';
  5. defineOptions({
  6. name: 'PreferenceBreadcrumbConfig',
  7. });
  8. defineProps<{ disabled: boolean }>();
  9. const sidebarEnable = defineModel<boolean>('sidebarEnable');
  10. const sidebarWidth = defineModel<number>('sidebarWidth');
  11. const sidebarCollapsedShowTitle = defineModel<boolean>(
  12. 'sidebarCollapsedShowTitle',
  13. );
  14. const sidebarCollapsed = defineModel<boolean>('sidebarCollapsed');
  15. </script>
  16. <template>
  17. <SwitchItem v-model="sidebarEnable" :disabled="disabled">
  18. {{ $t('preferences.sidebar.visible') }}
  19. </SwitchItem>
  20. <SwitchItem v-model="sidebarCollapsed" :disabled="!sidebarEnable || disabled">
  21. {{ $t('preferences.sidebar.collapsed') }}
  22. </SwitchItem>
  23. <SwitchItem
  24. v-model="sidebarCollapsedShowTitle"
  25. :disabled="!sidebarEnable || disabled"
  26. >
  27. {{ $t('preferences.sidebar.collapsed-show-title') }}
  28. </SwitchItem>
  29. <NumberFieldItem
  30. v-model="sidebarWidth"
  31. :disabled="!sidebarEnable || disabled"
  32. :max="320"
  33. :min="160"
  34. :step="10"
  35. >
  36. {{ $t('preferences.sidebar.width') }}
  37. </NumberFieldItem>
  38. </template>