SN Domain Sort TEST

ServiceNow Domain Picker sorting

Verze ze dne 16. 11. 2016. Zobrazit nejnovější verzi.

// ==UserScript==
// @name        SN Domain Sort TEST
// @namespace   http://ogieglo.pl/r/sn-domain-sort
// @description ServiceNow Domain Picker sorting
// @include     https://*.service-now.com/*
// @version 20161116.6
// ==/UserScript==


function ogiSortDomain(a, b) {
    var nameA = a['value'].toLowerCase().split('/').pop();
    var nameB = b['value'].toLowerCase().split('/').pop();
    var nameA2 = a['text'].toLowerCase().split('/').pop();
    var nameB2 = b['text'].toLowerCase().split('/').pop();

console.log("Comparing " + nameA + " and " + nameB + "."  + nameA2 + " and " + nameB2);

    if (nameA < nameB) //sort string ascending
      return -1;
}

function ogiSortSelect(selElem) {
    var tmpAry = [];
    for (var i=0;i<selElem.options.length;i++) {
        tmpAry[i] = [];
        tmpAry[i]['text'] = selElem.options[i].text;
        tmpAry[i]['value'] = selElem.options[i].value;
    }
    tmpAry.sort(ogiSortDomain);
    while (selElem.options.length > 0) {
        selElem.options[0] = null;
    }
    for (var i=0; i<tmpAry.length; i++) {
        var op = new Option(tmpAry[i]['text'], tmpAry[i]['value']);
        selElem.options[i] = op;
    }
    return;
}


setTimeout(function(){

    var ogiElDomainPicker = document.getElementById('domain_picker_select');
    if (ogiElDomainPicker != null) {
        ogiSortSelect(ogiElDomainPicker);
    }
}, 5000);