forked from qishibo/AnotherRedisDesktopManager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHeader.vue
59 lines (51 loc) · 1.55 KB
/
Header.vue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<template>
<div>
<!-- setting button -->
<el-button type="primary" icon="el-icon-setting" @click="settingDialog.visible = true" plain></el-button>
<!-- setting dialog -->
<Setting :settingDialog="settingDialog"></Setting>
<!-- cli button -->
<el-tooltip effect="dark" :content="$t('message.redis_console')" placement="bottom">
<el-button type="primary" @click="cliDialog.visible = true" plain><i class="fa fa-terminal"></i></el-button>
</el-tooltip>
<!-- cli dialog -->
<CliConsole :cliDialog="cliDialog"></CliConsole>
<!-- language select -->
<el-select v-model="selectedLang" @change="changeLang" placeholder="Language">
<el-option
v-for="item in langItems"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</template>
<script>
import CliConsole from '@/components/CliConsole';
import Setting from '@/components/Setting';
export default {
data() {
return {
selectedLang: 'en',
langItems: [
{ value: 'en', label: 'English' },
{ value: 'cn', label: '简体中文' },
{ value: 'tw', label: '繁體中文(臺灣)' },
],
cliDialog: { visible: false },
settingDialog: { visible: false },
};
},
components: { CliConsole, Setting },
methods: {
changeLang(lang) {
localStorage.lang = this.selectedLang;
this.$i18n.locale = this.selectedLang;
},
},
mounted() {
this.selectedLang = localStorage.lang || this.selectedLang;
},
};
</script>