All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.lightlink.core.IDDQD.js Maven / Gradle / Ivy

LL.DebugUI = {
    kBuffer: "",

    keyUp: function (evt) {
        if (LL.DebugUI.win && LL.DebugUI.win.style.display == "") {
            evt = evt || window.event;
            var charCode = evt.which || evt.keyCode;
            if (charCode == 27)
                LL.DebugUI.hideWindow();
            if (charCode == 13)
                LL.DebugUI.submit();
        }
    },
    keyPress: function (evt) {
        evt = evt || window.event;
        var charCode = evt.which || evt.keyCode;
        LL.DebugUI.kBuffer += String.fromCharCode(charCode);
        if (LL.DebugUI.kBuffer.length > 5)
            LL.DebugUI.kBuffer = LL.DebugUI.kBuffer.substring(LL.DebugUI.kBuffer.length - 5);
        var code = LL.DebugUI.kBuffer.toUpperCase();
        if (code == "IDDQD" || code == "IDDAD") {
            LL.DebugUI.displayWindow();
        }
    },


    hideWindow: function () {
        if (LL.DebugUI.win && LL.DebugUI.win.style.display == "")
            LL.DebugUI.win.style.display = "none";
    },

    submit: function () {
        var els = document.getElementsByName("LL.DebugUI.checkbox");
        var cookie = "";
        for (var i = 0; i < els.length; i++) {
            var input = els[i];
            if (input.checked)
                cookie += "/" + input.id;
        }
        if (!cookie)
            cookie = "-";
        document.cookie = "lightlink.debug=" + cookie + ";path=" + LL.JsApi.appContext + "/";
        location.reload(true);
    },

    displayWindow: function () {
        if (!LL.DebugUI.win) {
            var w = LL.DebugUI.win = document.createElement("div");
            w.className = "iddqdWin";
            var s = w.style;
            s.position = "absolute";
            s.border = "1px solid #888";
            s.top = s.left = s.bottom = s.right = "20px";
            s.maxWidth = "550px";
            s.maxHeight = "800px";
            s.boxShadow = "5px 5px 30px #AAA";
            s.backgroundColor = "white";
            s.padding = "15px";
            s.fontFamily = "sans-serif";
            s.fontSize = "small";
            s.color = "#3377DD";
            s.borderRadius = "5px";
            s.overflow = "auto";
            s.zIndex = "2147483647";

            var html = "LighLink
" + " " + "

" + "choose services for in-browser debugging:

"; var services = LL.JsApi.services; var packages = {}; services.sort(); html += LL.DebugUI.lineHtml("*"); for (var i = 0; i < services.length; i++) { var service = services[i]; var package = service.replace(/\.?[a-zA-Z_0-9\$]+$/, ""); if (package && !packages[package]) { packages[package] = true; html += LL.DebugUI.lineHtml(package + ".*"); } html += LL.DebugUI.lineHtml(service); } w.innerHTML = html; document.body.appendChild(w); var style = document.createElement("style"); style.innerHTML = ".debug{" + "background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAK5QTFRFsa6xLG97MFVJHzgxN1VS2+vMME1JJ0Q4ME1Ey9+0LE08xtyuI2d5n8eBJ0c85/PbpsmHHGF4LE1EJmp5IGZ4HGJ4ttKZH2R4x9yv1ebCJ0A4Km17Ij0xK256N1VNUo07r86RtdKZx9uvlcJ4lsN4uNKc1efCOXsqHGJ3cqdXKWx7IkAxx9uuHmN3xtuu2+rMKWx6IWV5LWkhksF+rs6RHmR4LEc8Jml6uNKd////t35ewgAAADp0Uk5T////////////////////////////////////////////////////////////////////////////ADfA/woAAACQSURBVHjaVE8FDsMwEHPSpMxjZmbe/f9jS9so2yydT5Z9kg+kMCQDFGSrEV+Np2JXa27nMWNwYHywZMoYI6ur8732VXaCAeBzghCE8ymR3nuLyned11Lejs20pvP9MPD2m3EUWn6pHdQXk/tofgHZhc7xaKXRbHWo8lwtK1s3MtOXaAf89CeK//4pTyp8BBgA9t0jF0u9C04AAAAASUVORK5CYII=) 5px 6px no-repeat;" + "padding: 5px 5px 5px 25px;" + "white-space:nowrap;}" + ".run{" + "background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAI1QTFRF////Za12rcut1eDVJYBAgMwlMohHVqRdbqRdMnY5LIAyXZpWiLduLIhAR4BHR5FOutK6TppWOYhOZa1uR5pWJYhAdq12R5FWkbd2H4BAOYhAR5pOOZFHQJFAkbduXZpuiLd2QJpHMog5OYg5wul3QIhHVqRWpMGIZaRliLeAQJFOmsGIQJFWgK1u////Tr2RTwAAAC90Uk5T/////////////////////////////////////////////////////////////wBapTj3AAAAqElEQVR42lTP1w7CMAwFUDuzSWhDN6tlb/D/fx5OkZC4Tz6JZF0DEUmslKpQ8khAhEbr5/V+q3Ay9jsNehwXi54fQJr3bA6gZxwjCbDMMjbojIMEJoSQDDqEzrCLohDJcCo6RbB0zk2eO7ddEijvfbLw/mz5Hx8xskWM6/LF+2ReDgLEajWsbS5Tn40V4nDcX+wGv33zxta1bfJv33RPq1T7u+cvHwEGADomESnH+7g5AAAAAElFTkSuQmCC) 5px 6px no-repeat;" + "padding: 5px 5px 5px 25px;" + "white-space:nowrap;}" + ".iddqdWin a{color:#3377DD}" + ".iddqdWin{}"; document.body.appendChild(style); } LL.DebugUI.win.style.display = ""; }, lineHtml: function (service) { var cookie = document.cookie.match(new RegExp('lightlink.debug=([^;]+)')); var checked = cookie && ("/" + cookie[1]).indexOf("/" + service) != -1 ? " checked" : ""; var testCode = service.match(/\*$/) ? "" : (" ( test )" + ""; return res; }, toggleDebug: function (service) { var s = document.getElementById(service + "Test").style; s.display = s.display == "none" ? "" : "none"; }, run: function (service, debug) { var p = document.getElementById(service + "Params").value; eval((debug ? "debugger;\n\n" : "") + service + "(" + p + ",function(res){alert('Done. The response is displayed in JavaScript console of your browser.');console.log(res)});"); } }; window.addEventListener("keypress", LL.DebugUI.keyPress, false); window.addEventListener("keyup", LL.DebugUI.keyUp, false);




© 2015 - 2025 Weber Informatics LLC | Privacy Policy