MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/artinside/sites.artinside.com.br/paliar/vendor/aplus/debug/src/Views/debugbar/scripts.js
let Debugbar = {
    icon: null,
    collections: null,
    panels: null,
    init: function () {
        Debugbar.icon = document.querySelector('#debugbar .icon');
        Debugbar.collections = document.querySelectorAll('#debugbar .collection');
        Debugbar.panels = document.querySelectorAll('#debugbar .panel');
        if (Debugbar.isWide()) {
            Debugbar.showWide();
        } else {
            Debugbar.hideWide();
        }
        Debugbar.prepareIcon();
        Debugbar.prepareCollections();
        Debugbar.prepareKeys();
    },
    prepareIcon: function () {
        Debugbar.icon.addEventListener('click', function () {
            Debugbar.toggleWide();
        });
    },
    prepareCollections: function () {
        Debugbar.collections.forEach(function (collector) {
            collector.addEventListener('click', function () {
                let wasActive = this.classList.contains('active');
                Debugbar.panels.forEach(function (panel) {
                    panel.style.display = 'none';
                });
                Debugbar.collections.forEach(function (collector) {
                    collector.classList.remove('active');
                });
                if (wasActive) {
                    Debugbar.removeActivePanel();
                    return;
                }
                Debugbar.setActivePanel(this.id);
                Debugbar.activeCollector(this.id);
                let panel = document.querySelector('.' + this.id);
                panel.style.display = 'block';
                if (!wasActive) {
                    this.classList.add('active');
                }
            });
        });
    },
    prepareKeys: function () {
        document.addEventListener('keydown', function (e) {
            if (e.ctrlKey && e.code === 'F12') {
                Debugbar.toggleWide();
            }
        });
    },
    setWide: function (active) {
        localStorage.setItem('debugbar-wide', active);
    },
    isWide: function () {
        return localStorage.getItem('debugbar-wide') === 'y';
    },
    showWide: function () {
        let debugbar = document.querySelector('#debugbar');
        let panelsDiv = document.querySelector('#debugbar .panels');
        let collectionsDiv = document.querySelector('#debugbar .collections');
        let toolbar = document.querySelector('#debugbar .toolbar');
        debugbar.style.width = '100%';
        panelsDiv.style.display = 'block';
        collectionsDiv.style.display = 'flex';
        toolbar.style.borderRightWidth = '0';
        Debugbar.activePanel();
        Debugbar.icon.title = 'Hide debugbar (Ctrl + F12)';
    },
    hideWide: function () {
        let debugbar = document.querySelector('#debugbar');
        let panelsDiv = document.querySelector('#debugbar .panels');
        let collectionsDiv = document.querySelector('#debugbar .collections');
        let toolbar = document.querySelector('#debugbar .toolbar');
        debugbar.style.width = 'auto';
        panelsDiv.style.display = 'none';
        collectionsDiv.style.display = 'none';
        toolbar.style.borderRightWidth = '1px';
        Debugbar.icon.title = 'Show debugbar (Ctrl + F12)';
    },
    toggleWide: function () {
        if (Debugbar.isWide()) {
            Debugbar.hideWide();
            Debugbar.setWide('n');
            return;
        }
        Debugbar.showWide();
        Debugbar.setWide('y');
    },
    activePanel: function () {
        let id = localStorage.getItem('debugbar-panel');
        if (id) {
            let collection = document.querySelector('#' + id);
            let panel = document.querySelector('.' + id);
            if (!collection || !panel) {
                return;
            }
            collection.classList.add('active');
            Debugbar.activeCollector(id);
            panel.style.display = 'block';
        }
    },
    setActivePanel: function (id) {
        localStorage.setItem('debugbar-panel', id);
    },
    isActivePanel: function (id) {
        return localStorage.getItem('debugbar-panel') === id;
    },
    removeActivePanel: function () {
        localStorage.removeItem('debugbar-panel');
    },
    activeCollector: function (collection) {
        let contents = document.querySelector('.' + collection + ' .contents');
        for (let i = 0; i < contents.children.length; i++) {
            contents.children[i].style.display = 'none';
        }
        Debugbar.makeResizable(contents);
        let collector = 'default';
        let select = document.querySelector('.' + collection + ' .collectors select');
        if (select) {
            select.onchange = function () {
                Debugbar.activeCollector(collection);
            };
            collector = select.value;
        }
        document.querySelector('.' + collection + ' .collector-' + collector).style.display = 'block';
    },
    makeResizable: function (contents) {
        if (!contents.style.height) {
            contents.style.height = '250px';
        }
        const storageKey = 'debugbar-panel-contents-height';
        let storedHeight = localStorage.getItem(storageKey);
        if (storedHeight) {
            contents.style.height = storedHeight;
        }
        let resizer = contents.parentElement.querySelector('.resize');
        resizer.addEventListener('mousedown', function (e) {
            e.preventDefault();
            window.addEventListener('mousemove', resize);
            window.addEventListener('mouseup', stopResize);
            window.addEventListener('dblclick', autoHeight);
        });
        let header = contents.parentElement.querySelector('header');
        let toolbar = document.querySelector('#debugbar .toolbar');

        function resize(e) {
            let move = resizer.getBoundingClientRect().top - e.clientY;
            let height = contents.offsetHeight - 20 + move;
            let toRemove = header.clientHeight + toolbar.clientHeight + 25;
            let maxHeight = window.innerHeight - toRemove;
            if (height < 0) {
                height = 0;
            } else if (height > maxHeight) {
                height = maxHeight;
            }
            contents.style.height = height + 'px';
            localStorage.setItem(storageKey, height + 'px');
        }

        function stopResize() {
            window.removeEventListener('mousemove', resize);
        }

        function autoHeight() {
            let toRemove = header.clientHeight + toolbar.clientHeight + 25;
            let height = window.innerHeight - toRemove + 'px';
            let current = localStorage.getItem(storageKey);
            if (current === height) {
                height = '250px';
            }
            contents.style.height = height;
            localStorage.setItem(storageKey, height);
        }
    },
};