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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
| import Vue from 'vue'
| import {
| SIDEBAR_TYPE,
| DEFAULT_THEME,
| DEFAULT_LAYOUT_MODE,
| DEFAULT_COLOR,
| DEFAULT_COLOR_WEAK,
| DEFAULT_FIXED_HEADER,
| DEFAULT_FIXED_SIDEMENU,
| DEFAULT_FIXED_HEADER_HIDDEN,
| DEFAULT_CONTENT_WIDTH_TYPE,
| DEFAULT_MULTI_TAB
| } from '@/store/mutation-types'
|
| const app = {
| state: {
| sidebar: true,
| device: 'desktop',
| theme: '',
| layout: '',
| contentWidth: '',
| fixedHeader: false,
| fixSiderbar: false,
| autoHideHeader: false,
| color: null,
| weak: false,
| multiTab: true,
| hasError: false
| },
| mutations: {
| SET_SIDEBAR_TYPE: (state, type) => {
| state.sidebar = type
| Vue.ls.set(SIDEBAR_TYPE, type)
| },
| CLOSE_SIDEBAR: (state) => {
| Vue.ls.set(SIDEBAR_TYPE, true)
| state.sidebar = false
| },
| TOGGLE_DEVICE: (state, device) => {
| state.device = device
| },
| TOGGLE_THEME: (state, theme) => {
| // setStore('_DEFAULT_THEME', theme)
| Vue.ls.set(DEFAULT_THEME, theme)
| state.theme = theme
| },
| TOGGLE_LAYOUT_MODE: (state, layout) => {
| Vue.ls.set(DEFAULT_LAYOUT_MODE, layout)
| state.layout = layout
| },
| TOGGLE_FIXED_HEADER: (state, fixed) => {
| Vue.ls.set(DEFAULT_FIXED_HEADER, fixed)
| state.fixedHeader = fixed
| },
| TOGGLE_FIXED_SIDERBAR: (state, fixed) => {
| Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed)
| state.fixSiderbar = fixed
| },
| TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => {
| Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show)
| state.autoHideHeader = show
| },
| TOGGLE_CONTENT_WIDTH: (state, type) => {
| Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type)
| state.contentWidth = type
| },
| TOGGLE_COLOR: (state, color) => {
| Vue.ls.set(DEFAULT_COLOR, color)
| state.color = color
| },
| TOGGLE_WEAK: (state, flag) => {
| Vue.ls.set(DEFAULT_COLOR_WEAK, flag)
| state.weak = flag
| },
| TOGGLE_MULTI_TAB: (state, bool) => {
| Vue.ls.set(DEFAULT_MULTI_TAB, bool)
| state.multiTab = bool
| },
| SET_HAS_ERROR: (state, bool) => {
| state.hasError = bool
| }
| },
| actions: {
| setSidebar ({ commit }, type) {
| commit('SET_SIDEBAR_TYPE', type)
| },
| CloseSidebar ({ commit }) {
| commit('CLOSE_SIDEBAR')
| },
| ToggleDevice ({ commit }, device) {
| commit('TOGGLE_DEVICE', device)
| },
| ToggleTheme ({ commit }, theme) {
| commit('TOGGLE_THEME', theme)
| },
| ToggleLayoutMode ({ commit }, mode) {
| commit('TOGGLE_LAYOUT_MODE', mode)
| },
| ToggleFixedHeader ({ commit }, fixedHeader) {
| if (!fixedHeader) {
| commit('TOGGLE_FIXED_HEADER_HIDDEN', false)
| }
| commit('TOGGLE_FIXED_HEADER', fixedHeader)
| },
| ToggleFixSiderbar ({ commit }, fixSiderbar) {
| commit('TOGGLE_FIXED_SIDERBAR', fixSiderbar)
| },
| ToggleFixedHeaderHidden ({ commit }, show) {
| commit('TOGGLE_FIXED_HEADER_HIDDEN', show)
| },
| ToggleContentWidth ({ commit }, type) {
| commit('TOGGLE_CONTENT_WIDTH', type)
| },
| ToggleColor ({ commit }, color) {
| commit('TOGGLE_COLOR', color)
| },
| ToggleWeak ({ commit }, weakFlag) {
| commit('TOGGLE_WEAK', weakFlag)
| },
| ToggleMultiTab ({ commit }, bool) {
| commit('TOGGLE_MULTI_TAB', bool)
| },
| SetHasError ({ commit }, bool) {
| commit('SET_HAS_ERROR', bool)
| }
| }
| }
|
| export default app
|
|