import { debounce } from 'lodash';
|
export default {
|
methods: {
|
getResponsiveStyles() {
|
const width = window.innerWidth;
|
if (width < 576) {
|
return 'font-size: 14px !important; padding: 8px !important;';
|
} else if (width < 768) {
|
return 'font-size: 16px !important; padding: 12px !important;';
|
} else {
|
return 'font-size: 18px !important; padding: 16px !important;';
|
}
|
}
|
},
|
mounted() {
|
this.makeInlineStylesResponsive();
|
window.addEventListener('resize', debounce(this.makeInlineStylesResponsive, 200));
|
},
|
beforeDestroy() {
|
window.removeEventListener('resize', this.makeInlineStylesResponsive);
|
},
|
methods: {
|
makeInlineStylesResponsive() {
|
const elements = this.$el.querySelectorAll('[style]');
|
elements.forEach(el => {
|
const originalStyle = el.getAttribute('style');
|
el.setAttribute('style', `
|
${originalStyle};
|
${this.getResponsiveStyles()}
|
`);
|
});
|
}
|
}
|
}
|