pull/5507/head
Cagatay Civici 2024-04-01 10:43:25 +03:00
commit bedb067e4e
2 changed files with 8 additions and 0 deletions

View File

@ -33,6 +33,9 @@ export default {
if (!newValue) { if (!newValue) {
BaseComponentStyle.loadStyle(this.$styleOptions); BaseComponentStyle.loadStyle(this.$styleOptions);
this.$options.style && this.$style.loadStyle(this.$styleOptions); this.$options.style && this.$style.loadStyle(this.$styleOptions);
} else {
// load theme
this._loadThemeStyles();
} }
} }
} }
@ -108,6 +111,8 @@ export default {
ObjectUtils.isNotEmpty(globalCSS) && BaseStyle.loadStyle(globalCSS, { name: 'global', ...this.$styleOptions }); ObjectUtils.isNotEmpty(globalCSS) && BaseStyle.loadStyle(globalCSS, { name: 'global', ...this.$styleOptions });
}, },
_loadThemeStyles() { _loadThemeStyles() {
if (this.isUnstyled) return;
// common // common
if (!Theme.isStyleNameLoaded('common')) { if (!Theme.isStyleNameLoaded('common')) {
const { primitive, semantic, global } = this.$style?.getCommonThemeCSS?.() || {}; const { primitive, semantic, global } = this.$style?.getCommonThemeCSS?.() || {};

View File

@ -84,6 +84,8 @@ const BaseDirective = {
ThemeService.on('theme:change', () => BaseDirective._loadThemeStyles(el.$instance, { nonce: config?.csp?.nonce })); ThemeService.on('theme:change', () => BaseDirective._loadThemeStyles(el.$instance, { nonce: config?.csp?.nonce }));
}, },
_loadThemeStyles: (instance = {}, useStyleOptions) => { _loadThemeStyles: (instance = {}, useStyleOptions) => {
if (instance?.isUnstyled()) return;
// common // common
if (!Theme.isStyleNameLoaded('common')) { if (!Theme.isStyleNameLoaded('common')) {
const { primitive, semantic, global } = instance.$style?.getCommonThemeCSS?.() || {}; const { primitive, semantic, global } = instance.$style?.getCommonThemeCSS?.() || {};
@ -181,6 +183,7 @@ const BaseDirective = {
handleHook('beforeUpdate', el, binding, vnode, prevVnode); handleHook('beforeUpdate', el, binding, vnode, prevVnode);
}, },
updated: (el, binding, vnode, prevVnode) => { updated: (el, binding, vnode, prevVnode) => {
BaseDirective._loadStyles(el, binding, vnode);
handleHook('updated', el, binding, vnode, prevVnode); handleHook('updated', el, binding, vnode, prevVnode);
}, },
beforeUnmount: (el, binding, vnode, prevVnode) => { beforeUnmount: (el, binding, vnode, prevVnode) => {