Some checks failed
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Lint (ubuntu-latest) (push) Has been cancelled
CI / Lint (windows-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / CI OK (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Deploy Website on push / Deploy Push Playground Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Docs Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Antd Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Element Ftp (push) Has been cancelled
Deploy Website on push / Deploy Push Naive Ftp (push) Has been cancelled
Deploy Website on push / Rerun on failure (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
75 lines
1.6 KiB
Vue
75 lines
1.6 KiB
Vue
<script setup lang="ts">
|
|
import type {
|
|
LayoutHeaderMenuAlignType,
|
|
LayoutHeaderModeType,
|
|
SelectOption,
|
|
} from '@vben/types';
|
|
|
|
import { $t } from '@vben/locales';
|
|
|
|
import SelectItem from '../select-item.vue';
|
|
import SwitchItem from '../switch-item.vue';
|
|
import ToggleItem from '../toggle-item.vue';
|
|
|
|
defineProps<{ disabled: boolean }>();
|
|
|
|
const headerEnable = defineModel<boolean>('headerEnable');
|
|
const headerMode = defineModel<LayoutHeaderModeType>('headerMode');
|
|
const headerMenuAlign =
|
|
defineModel<LayoutHeaderMenuAlignType>('headerMenuAlign');
|
|
|
|
const localeItems: SelectOption[] = [
|
|
{
|
|
label: $t('preferences.header.modeStatic'),
|
|
value: 'static',
|
|
},
|
|
{
|
|
label: $t('preferences.header.modeFixed'),
|
|
value: 'fixed',
|
|
},
|
|
{
|
|
label: $t('preferences.header.modeAuto'),
|
|
value: 'auto',
|
|
},
|
|
{
|
|
label: $t('preferences.header.modeAutoScroll'),
|
|
value: 'auto-scroll',
|
|
},
|
|
];
|
|
|
|
const headerMenuAlignItems: SelectOption[] = [
|
|
{
|
|
label: $t('preferences.header.menuAlignStart'),
|
|
value: 'start',
|
|
},
|
|
{
|
|
label: $t('preferences.header.menuAlignCenter'),
|
|
value: 'center',
|
|
},
|
|
{
|
|
label: $t('preferences.header.menuAlignEnd'),
|
|
value: 'end',
|
|
},
|
|
];
|
|
</script>
|
|
|
|
<template>
|
|
<SwitchItem v-model="headerEnable" :disabled="disabled">
|
|
{{ $t('preferences.header.visible') }}
|
|
</SwitchItem>
|
|
<SelectItem
|
|
v-model="headerMode"
|
|
:disabled="!headerEnable"
|
|
:items="localeItems"
|
|
>
|
|
{{ $t('preferences.mode') }}
|
|
</SelectItem>
|
|
<ToggleItem
|
|
v-model="headerMenuAlign"
|
|
:disabled="!headerEnable"
|
|
:items="headerMenuAlignItems"
|
|
>
|
|
{{ $t('preferences.header.menuAlign') }}
|
|
</ToggleItem>
|
|
</template>
|