BlueCat Address Manager Resizable Columns

Dynamic Column Resizing in BlueCat Address Manager

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name        BlueCat Address Manager Resizable Columns
// @namespace   *
// @description Dynamic Column Resizing in BlueCat Address Manager
// @include     */app*
// @version     10
// @grant       none
// @author      Marius Galm
// @copyright   2018, Marius Galm
// @license		MIT
// @icon        https://www.bluecatnetworks.com/wp-content/uploads/2018/03/cropped-bluecat-favicon-32x32.png
// @require     http://code.jquery.com/jquery-latest.min.js
// ==/UserScript==

//jQuery fix - is now broken or not necessary any more
//this.$ = this.jQuery = jQuery.noConflict(true);

// declare used function
function reSize() {
    $(function() {
        var pressed = false;
        var start = undefined;
        var startX, startWidth;

        $("table th").mousedown(function(e) {
            start = $(this);
            pressed = true;
            startX = e.pageX;
            startWidth = $(this).width();
            $(start).addClass("resizing");
        });

        $(document).mousemove(function(e) {
            if(pressed) {
                if(startWidth+(e.pageX-startX) > 9 ) {
                    $(start).width(startWidth+(e.pageX-startX));
                }
            }
        });

        $(document).mouseup(function() {
            if(pressed) {
                $(start).removeClass("resizing");
                pressed = false;
                $(start).style.cursor;
            }
        });
    });
}

// do something on specific pages
if (document.readyState === "interactive" ) {
    var page = document.childNodes[2].nodeValue;
    if (/Page: AddEdit/.test(page)) {
        page = "AddEditDummy";
    } else if (/Page: Edit/.test(page)) {
        page = "AddEditDummy";
    }
    switch(page) {
        case " Page: SystemInformation ":
            break;
        case " Page: UpdateSystem ":
            break;
        case "AddEditDummy":
            break;
        case " Page: AllocateIP4Address ":
            break;
        default:
            reSize();
    }
    // var links = document.getElementsByTagName("link");
    // var linksList = Array.prototype.slice.call(links);
    // linksList.forEach(function(link) {
        // if (link.href.includes("/cached-style/proteus-silver.css")) {
            // var sheet = link.sheet;
            // var rule = "table.value-table { table-layout: auto; }";
            // sheet.insertRule(rule,0);
        // }
    // });
}

// general styling function
function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) { return; }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}

// add resize cursor to table header
addGlobalStyle("*[id^='header'] { cursor: col-resize; }");