forked from deblan/side_menu
75 lines
1.9 KiB
JavaScript
75 lines
1.9 KiB
JavaScript
var alwaysDisplayed = function() {
|
|
var elements = document.querySelectorAll('*');
|
|
var fixedElements = []
|
|
|
|
for (var i in elements) {
|
|
var element = elements[i]
|
|
|
|
if (typeof element !== 'object') {
|
|
continue
|
|
}
|
|
|
|
var position = window.getComputedStyle(element, null).getPropertyValue('position');
|
|
|
|
if (position !== 'fixed') {
|
|
continue
|
|
}
|
|
|
|
var id = element.getAttribute('id')
|
|
|
|
if (id === 'header' || id === 'side-menu' || id === 'side-menu-loader') {
|
|
continue
|
|
}
|
|
|
|
if (element.classList.contains('oc-dialog')) {
|
|
continue
|
|
}
|
|
|
|
if (jQuery(element).parents('#side-menu').length) {
|
|
continue
|
|
}
|
|
|
|
fixedElements.push(element)
|
|
}
|
|
|
|
for (var i in fixedElements) {
|
|
var element = fixedElements[i]
|
|
var computedStyle = window.getComputedStyle(element, null)
|
|
var left = computedStyle.getPropertyValue('left')
|
|
var right = computedStyle.getPropertyValue('right')
|
|
|
|
if (right !== '0px') {
|
|
var intValue = parseInt(left.replace('px', ''))
|
|
element.style.setProperty('transform', 'translateX(' + (intValue + 50) + 'px)')
|
|
}
|
|
}
|
|
}
|
|
|
|
let content = document.getElementById('content')
|
|
|
|
if (content && content.classList.contains('app-settings')) {
|
|
let loaded = false
|
|
const config = {
|
|
attributes: false,
|
|
childList: true,
|
|
subtree: true
|
|
}
|
|
const observer = new MutationObserver(() => {
|
|
if (loaded) {
|
|
return;
|
|
}
|
|
|
|
const element = content.querySelector('#app-category-your-apps') || content.querySelector('#app-navigation ul')
|
|
|
|
if (element) {
|
|
loaded = true
|
|
|
|
alwaysDisplayed()
|
|
}
|
|
})
|
|
|
|
observer.observe(content, config)
|
|
} else {
|
|
window.setTimeout(alwaysDisplayed, 200)
|
|
}
|