Feature/#109 adaptive font color for badges #149

Merged
Serraniel merged 6 commits from feature/#109-adaptive-font-color-for-badges into develop 2020-12-24 11:11:04 +01:00
Showing only changes of commit a94f7b8519 - Show all commits

View file

@ -8,11 +8,26 @@ const BADGE_CLASS = 'label';
export function init() { export function init() {
getGlobalConfiguration().getProperty(SETTINGS_websiteOptimizeFontColors, value => { getGlobalConfiguration().getProperty(SETTINGS_websiteOptimizeFontColors, value => {
if (value) { if (value) {
core.runAfterLoad(() => {
checkRunColorOptimization(document.documentElement);
}, ".*");
core.runAfterLocationChange(() => {
checkRunColorOptimization(document.documentElement);
}, ".*");
core.registerScript(node => { core.registerScript(node => {
checkRunColorOptimization(node);
}, ".*");
}
});
}
function checkRunColorOptimization(node) {
console.log(node); console.log(node);
// run the scripts // run the scripts
if (helper.isHtmlElement(node)) { if (helper.isHtmlElement(node)) {
if (node.classList.contains(BADGE_CLASS)) { if (node.classList.contains(BADGE_CLASS)) {
optimizeFontColorsBadges(node); optimizeFontColorsBadges(node);
} }
@ -22,15 +37,15 @@ export function init() {
}); });
} }
} }
}, ".*");
}
});
} }
function optimizeFontColorsBadges(badge) { function optimizeFontColorsBadges(badge) {
let color = window.getComputedStyle(badge, null).getPropertyValue('background-color'); let colorStr = window.getComputedStyle(badge, null).getPropertyValue('background-color');
let c = new Color(color)
if (c.isLight()) { if (colorStr.length > 0) { // some elements do not have a computed background color
let color = new Color(colorStr)
if (color.isLight()) {
badge.classList.add('awp-fontColor-dark') badge.classList.add('awp-fontColor-dark')
} }
} }
}