Demo:支持根据主题自动切换为暗黑模式
This commit is contained in:
parent
d5e4044fb2
commit
55945a1a2c
@ -27,130 +27,162 @@ export const themeList = [
|
|||||||
{
|
{
|
||||||
name: '默认',
|
name: '默认',
|
||||||
value: 'default',
|
value: 'default',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '暗色2',
|
name: '暗色2',
|
||||||
value: 'dark2',
|
value: 'dark2',
|
||||||
|
dark: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '天清绿',
|
name: '天清绿',
|
||||||
value: 'skyGreen',
|
value: 'skyGreen',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '脑图经典2',
|
name: '脑图经典2',
|
||||||
value: 'classic2',
|
value: 'classic2',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '脑图经典3',
|
name: '脑图经典3',
|
||||||
value: 'classic3',
|
value: 'classic3',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '经典绿',
|
name: '经典绿',
|
||||||
value: 'classicGreen',
|
value: 'classicGreen',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '经典蓝',
|
name: '经典蓝',
|
||||||
value: 'classicBlue',
|
value: 'classicBlue',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '天空蓝',
|
name: '天空蓝',
|
||||||
value: 'blueSky',
|
value: 'blueSky',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '脑残粉',
|
name: '脑残粉',
|
||||||
value: 'brainImpairedPink',
|
value: 'brainImpairedPink',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '暗色',
|
name: '暗色',
|
||||||
value: 'dark',
|
value: 'dark',
|
||||||
|
dark: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '泥土黄',
|
name: '泥土黄',
|
||||||
value: 'earthYellow',
|
value: 'earthYellow',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '清新绿',
|
name: '清新绿',
|
||||||
value: 'freshGreen',
|
value: 'freshGreen',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '清新红',
|
name: '清新红',
|
||||||
value: 'freshRed',
|
value: 'freshRed',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '浪漫紫',
|
name: '浪漫紫',
|
||||||
value: 'romanticPurple',
|
value: 'romanticPurple',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '粉红葡萄',
|
name: '粉红葡萄',
|
||||||
value: 'pinkGrape',
|
value: 'pinkGrape',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '薄荷',
|
name: '薄荷',
|
||||||
value: 'mint',
|
value: 'mint',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '金色vip',
|
name: '金色vip',
|
||||||
value: 'gold',
|
value: 'gold',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '活力橙',
|
name: '活力橙',
|
||||||
value: 'vitalityOrange',
|
value: 'vitalityOrange',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '绿叶',
|
name: '绿叶',
|
||||||
value: 'greenLeaf',
|
value: 'greenLeaf',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '脑图经典',
|
name: '脑图经典',
|
||||||
value: 'classic',
|
value: 'classic',
|
||||||
|
dark: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '脑图经典4',
|
name: '脑图经典4',
|
||||||
value: 'classic4',
|
value: 'classic4',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '小黄人',
|
name: '小黄人',
|
||||||
value: 'minions',
|
value: 'minions',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '简约黑',
|
name: '简约黑',
|
||||||
value: 'simpleBlack',
|
value: 'simpleBlack',
|
||||||
|
dark: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '课程绿',
|
name: '课程绿',
|
||||||
value: 'courseGreen',
|
value: 'courseGreen',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '咖啡',
|
name: '咖啡',
|
||||||
value: 'coffee',
|
value: 'coffee',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '红色精神',
|
name: '红色精神',
|
||||||
value: 'redSpirit',
|
value: 'redSpirit',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '黑色幽默',
|
name: '黑色幽默',
|
||||||
value: 'blackHumour',
|
value: 'blackHumour',
|
||||||
|
dark: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '深夜办公室',
|
name: '深夜办公室',
|
||||||
value: 'lateNightOffice',
|
value: 'lateNightOffice',
|
||||||
|
dark: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '黑金',
|
name: '黑金',
|
||||||
value: 'blackGold',
|
value: 'blackGold',
|
||||||
|
dark: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '牛油果',
|
name: '牛油果',
|
||||||
value: 'avocado',
|
value: 'avocado',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '秋天',
|
name: '秋天',
|
||||||
value: 'autumn',
|
value: 'autumn',
|
||||||
|
dark: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '橙汁',
|
name: '橙汁',
|
||||||
value: 'orangeJuice',
|
value: 'orangeJuice',
|
||||||
|
dark: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
<Outline :mindMap="mindMap"></Outline>
|
<Outline :mindMap="mindMap"></Outline>
|
||||||
<Style v-if="!isZenMode"></Style>
|
<Style v-if="!isZenMode"></Style>
|
||||||
<BaseStyle :data="mindMapData" :mindMap="mindMap"></BaseStyle>
|
<BaseStyle :data="mindMapData" :mindMap="mindMap"></BaseStyle>
|
||||||
<Theme :mindMap="mindMap"></Theme>
|
<Theme v-if="mindMap" :mindMap="mindMap"></Theme>
|
||||||
<Structure :mindMap="mindMap"></Structure>
|
<Structure :mindMap="mindMap"></Structure>
|
||||||
<ShortcutKey></ShortcutKey>
|
<ShortcutKey></ShortcutKey>
|
||||||
<Contextmenu v-if="mindMap" :mindMap="mindMap"></Contextmenu>
|
<Contextmenu v-if="mindMap" :mindMap="mindMap"></Contextmenu>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
import Sidebar from './Sidebar'
|
import Sidebar from './Sidebar'
|
||||||
import { themeList } from 'simple-mind-map/src/constants/constant'
|
import { themeList } from 'simple-mind-map/src/constants/constant'
|
||||||
import { storeConfig } from '@/api'
|
import { storeConfig } from '@/api'
|
||||||
import { mapState } from 'vuex'
|
import { mapState, mapMutations } from 'vuex'
|
||||||
import { themeMap } from '@/config/constant.js'
|
import { themeMap } from '@/config/constant.js'
|
||||||
import customThemeList from '@/customThemes'
|
import customThemeList from '@/customThemes'
|
||||||
|
|
||||||
@ -54,13 +54,20 @@ export default {
|
|||||||
activeSidebar(val) {
|
activeSidebar(val) {
|
||||||
if (val === 'theme') {
|
if (val === 'theme') {
|
||||||
this.theme = this.mindMap.getTheme()
|
this.theme = this.mindMap.getTheme()
|
||||||
|
this.handleDark()
|
||||||
this.$refs.sidebar.show = true
|
this.$refs.sidebar.show = true
|
||||||
} else {
|
} else {
|
||||||
this.$refs.sidebar.show = false
|
this.$refs.sidebar.show = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
created () {
|
||||||
|
this.theme = this.mindMap.getTheme()
|
||||||
|
this.handleDark()
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
...mapMutations(['setIsDark']),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: 王林
|
* @Author: 王林
|
||||||
* @Date: 2021-06-24 23:04:38
|
* @Date: 2021-06-24 23:04:38
|
||||||
@ -68,6 +75,7 @@ export default {
|
|||||||
*/
|
*/
|
||||||
useTheme(theme) {
|
useTheme(theme) {
|
||||||
this.theme = theme.value
|
this.theme = theme.value
|
||||||
|
this.handleDark()
|
||||||
this.mindMap.setTheme(theme.value)
|
this.mindMap.setTheme(theme.value)
|
||||||
storeConfig({
|
storeConfig({
|
||||||
theme: {
|
theme: {
|
||||||
@ -75,6 +83,13 @@ export default {
|
|||||||
config: this.mindMap.getCustomThemeConfig()
|
config: this.mindMap.getCustomThemeConfig()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
handleDark() {
|
||||||
|
let target = themeList.find((item) => {
|
||||||
|
return item.value === this.theme
|
||||||
|
})
|
||||||
|
this.setIsDark(target.dark)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user