MOBILE-3645 siteplugins: CSS should be included in reliable order
parent
2014d28b90
commit
16be1a94fe
|
@ -431,7 +431,21 @@ export class CoreSitePluginsHelperProvider {
|
||||||
styleEl.setAttribute('id', 'siteplugin-' + uniqueName);
|
styleEl.setAttribute('id', 'siteplugin-' + uniqueName);
|
||||||
styleEl.innerHTML = cssCode;
|
styleEl.innerHTML = cssCode;
|
||||||
|
|
||||||
document.head.appendChild(styleEl);
|
// To ensure consistency, insert in alphabetical order among other site plugin styles.
|
||||||
|
let lowestGreater: HTMLStyleElement | null = null;
|
||||||
|
Array.from(document.head.querySelectorAll('style')).forEach((other) => {
|
||||||
|
if (/^siteplugin-/.test(other.id) && other.id > styleEl.id) {
|
||||||
|
if (lowestGreater === null || other.id < lowestGreater.id) {
|
||||||
|
lowestGreater = other;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (lowestGreater) {
|
||||||
|
document.head.insertBefore(styleEl, lowestGreater);
|
||||||
|
} else {
|
||||||
|
document.head.appendChild(styleEl);
|
||||||
|
}
|
||||||
|
|
||||||
// Styles have been loaded, now treat the CSS.
|
// Styles have been loaded, now treat the CSS.
|
||||||
CoreUtils.ignoreErrors(
|
CoreUtils.ignoreErrors(
|
||||||
|
|
Loading…
Reference in New Issue