mirror of
https://github.com/primefaces/primevue.git
synced 2025-05-10 01:12:37 +00:00
Refactored dark mode toggle event bus and fixed charts on dark toggle, set default as noir
This commit is contained in:
parent
f91a83cf19
commit
be0092f0b4
18 changed files with 112 additions and 67 deletions
14
app.vue
14
app.vue
|
@ -9,28 +9,30 @@ import EventBus from '@/layouts/AppEventBus';
|
|||
|
||||
export default {
|
||||
mounted() {
|
||||
EventBus.on('theme-change', this.themeChangeListener);
|
||||
EventBus.on('dark-mode-toggle', this.darkModeToggleListener);
|
||||
},
|
||||
beforeUnmount() {
|
||||
EventBus.off('theme-change', this.themeChangeListener);
|
||||
EventBus.off('dark-mode-toggle', this.darkModeToggleListener);
|
||||
},
|
||||
methods: {
|
||||
themeChangeListener(event) {
|
||||
darkModeToggleListener(event) {
|
||||
if (!document.startViewTransition) {
|
||||
this.applyTheme(event);
|
||||
this.toggleDarkMode(event);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
document.startViewTransition(() => this.applyTheme(event));
|
||||
document.startViewTransition(() => this.toggleDarkMode(event));
|
||||
},
|
||||
applyTheme(event) {
|
||||
toggleDarkMode(event) {
|
||||
const isDark = event.dark;
|
||||
|
||||
if (isDark) document.documentElement.classList.add('p-dark');
|
||||
else document.documentElement.classList.remove('p-dark');
|
||||
|
||||
this.$appState.darkTheme = isDark;
|
||||
|
||||
EventBus.emit('dark-mode-toggle-complete');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue