side_menu/templates/js/_alwaysDisplayed.js

75 lines
1.9 KiB
JavaScript
Raw Normal View History

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]
2020-10-21 18:05:36 +02:00
var computedStyle = window.getComputedStyle(element, null)
var left = computedStyle.getPropertyValue('left')
var right = computedStyle.getPropertyValue('right')
2020-10-21 18:05:36 +02:00
if (right !== '0px') {
var intValue = parseInt(left.replace('px', ''))
element.style.setProperty('transform', 'translateX(' + (intValue + 50) + 'px)')
}
}
}
2020-10-09 09:53:37 +02:00
let content = document.getElementById('content')
if (content && content.classList.contains('app-settings')) {
let loaded = false
2020-10-21 18:05:36 +02:00
const config = {
attributes: false,
childList: true,
subtree: true
}
2020-10-09 09:53:37 +02:00
const observer = new MutationObserver(() => {
2020-10-11 16:15:51 +02:00
if (loaded) {
return;
}
2020-10-21 18:05:36 +02:00
const element = content.querySelector('#app-category-your-apps') || content.querySelector('#app-navigation ul')
2020-10-11 16:15:51 +02:00
if (element) {
2020-10-09 09:53:37 +02:00
loaded = true
alwaysDisplayed()
}
})
observer.observe(content, config)
} else {
window.setTimeout(alwaysDisplayed, 200)
}