Created
May 12, 2016 16:57
-
-
Save dphoebus/6f4ab8300d09e9f93e1c987fd73bb249 to your computer and use it in GitHub Desktop.
Simple JavaScript 'console' script for debugging.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function($, undefined){ | |
window.kendoConsole = { | |
log: function(message, isError, container) { | |
var lastContainer = $(".console div:first", container), | |
counter = lastContainer.find(".count").detach(), | |
lastMessage = lastContainer.text(), | |
count = 1 * (counter.text() || 1); | |
lastContainer.append(counter); | |
if (!lastContainer.length || message !== lastMessage) { | |
$("<div" + (isError ? " class='error'" : "") + "/>") | |
.css({ | |
marginTop: -24, | |
backgroundColor: isError ? "#ffbbbb" : "#b2ebf2" | |
}) | |
.html(message) | |
.prependTo($(".console", container)) | |
.animate({ marginTop: 0 }, 300) | |
.animate({ backgroundColor: isError ? "#ffdddd" : "#ffffff" }, 800); | |
} else { | |
count++; | |
if (counter.length) { | |
counter.html(count); | |
} else { | |
lastContainer.html(lastMessage) | |
.append("<span class='count'>" + count + "</span>"); | |
} | |
} | |
}, | |
error: function(message) { | |
this.log(message, true); | |
} | |
}; | |
})(jQuery); | |
/* | |
* jQuery Color Animations | |
* Copyright 2007 John Resig | |
* Released under the MIT and GPL licenses. | |
*/ | |
(function(jQuery) { | |
// We override the animation for all of these color styles | |
jQuery.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "color", "outlineColor"], function(i, attr) { | |
jQuery.fx.step[attr] = function(fx) { | |
if (!fx.state || typeof fx.end == typeof "") { | |
fx.start = getColor(fx.elem, attr); | |
fx.end = getRGB(fx.end); | |
} | |
fx.elem.style[attr] = ["rgb(", [ | |
Math.max(Math.min(parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0], 10), 255), 0), | |
Math.max(Math.min(parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1], 10), 255), 0), | |
Math.max(Math.min(parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2], 10), 255), 0) | |
].join(","), ")"].join(""); | |
}; | |
}); | |
// Color Conversion functions from highlightFade | |
// By Blair Mitchelmore | |
// http://jquery.offput.ca/highlightFade/ | |
// Parse strings looking for color tuples [255,255,255] | |
function getRGB(color) { | |
var result; | |
// Check if we're already dealing with an array of colors | |
if (color && color.constructor == Array && color.length == 3) { | |
return color; | |
} | |
// Look for rgb(num,num,num) | |
result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color); | |
if (result) { | |
return [parseInt(result[1], 10), parseInt(result[2], 10), parseInt(result[3], 10)]; | |
} | |
// Look for #a0b1c2 | |
result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color); | |
if (result) { | |
return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)]; | |
} | |
// Otherwise, we're most likely dealing with a named color | |
return jQuery.trim(color).toLowerCase(); | |
} | |
function getColor(elem, attr) { | |
var color; | |
do { | |
color = jQuery.css(elem, attr); | |
// Keep going until we find an element that has color, or we hit the body | |
if (color && color != "transparent" || jQuery.nodeName(elem, "body")) { | |
break; | |
} | |
attr = "backgroundColor"; | |
elem = elem.parentNode; | |
} while (elem); | |
return getRGB(color); | |
} | |
var href = window.location.href; | |
if (href.indexOf("culture") > -1) { | |
$("#culture").val(href.replace(/(.*)culture=([^&]*)/, "$2")); | |
} | |
function onlocalizationchange() { | |
var value = $(this).val(); | |
var href = window.location.href; | |
if (href.indexOf("culture") > -1) { | |
href = href.replace(/culture=([^&]*)/, "culture=" + value); | |
} else { | |
href += href.indexOf("?") > -1 ? "&culture=" + value : "?culture=" + value; | |
} | |
window.location.href = href; | |
} | |
$("#culture").change(onlocalizationchange); | |
})(jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment