You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by lh...@apache.org on 2010/10/08 23:17:58 UTC
svn commit: r1006026 [2/5] - in /shiro/site-template: ./ src/ src/main/
src/main/webapp/ src/main/webapp/WEB-INF/ src/main/webapp/static/
src/main/webapp/static/assets/ src/main/webapp/static/assets/css/
src/main/webapp/static/assets/images/ src/main/w...
Added: shiro/site-template/src/main/webapp/static/assets/js/jquery_gradient/jquery.dimensions.js
URL: http://svn.apache.org/viewvc/shiro/site-template/src/main/webapp/static/assets/js/jquery_gradient/jquery.dimensions.js?rev=1006026&view=auto
==============================================================================
--- shiro/site-template/src/main/webapp/static/assets/js/jquery_gradient/jquery.dimensions.js (added)
+++ shiro/site-template/src/main/webapp/static/assets/js/jquery_gradient/jquery.dimensions.js Fri Oct 8 21:17:55 2010
@@ -0,0 +1,119 @@
+/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ *
+ * $LastChangedDate: 2007-12-20 08:46:55 -0600 (Thu, 20 Dec 2007) $
+ * $Rev: 4259 $
+ *
+ * Version: 1.2
+ *
+ * Requires: jQuery 1.2+
+ */
+
+(function($){
+
+$.dimensions = {
+ version: '1.2'
+};
+
+// Create innerHeight, innerWidth, outerHeight and outerWidth methods
+$.each( [ 'Height', 'Width' ], function(i, name){
+
+ // innerHeight and innerWidth
+ $.fn[ 'inner' + name ] = function() {
+ if (!this[0]) return;
+
+ var torl = name == 'Height' ? 'Top' : 'Left', // top or left
+ borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right
+
+ return this.is(':visible') ? this[0]['client' + name] : num( this, name.toLowerCase() ) + num(this, 'padding' + torl) + num(this, 'padding' + borr);
+ };
+
+ // outerHeight and outerWidth
+ $.fn[ 'outer' + name ] = function(options) {
+ if (!this[0]) return;
+
+ var torl = name == 'Height' ? 'Top' : 'Left', // top or left
+ borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right
+
+ options = $.extend({ margin: false }, options || {});
+
+ var val = this.is(':visible') ?
+ this[0]['offset' + name] :
+ num( this, name.toLowerCase() )
+ + num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width')
+ + num(this, 'padding' + torl) + num(this, 'padding' + borr);
+
+ return val + (options.margin ? (num(this, 'margin' + torl) + num(this, 'margin' + borr)) : 0);
+ };
+});
+
+// Create scrollLeft and scrollTop methods
+$.each( ['Left', 'Top'], function(i, name) {
+ $.fn[ 'scroll' + name ] = function(val) {
+ if (!this[0]) return;
+
+ return val != undefined ?
+
+ // Set the scroll offset
+ this.each(function() {
+ this == window || this == document ?
+ window.scrollTo(
+ name == 'Left' ? val : $(window)[ 'scrollLeft' ](),
+ name == 'Top' ? val : $(window)[ 'scrollTop' ]()
+ ) :
+ this[ 'scroll' + name ] = val;
+ }) :
+
+ // Return the scroll offset
+ this[0] == window || this[0] == document ?
+ self[ (name == 'Left' ? 'pageXOffset' : 'pageYOffset') ] ||
+ $.boxModel && document.documentElement[ 'scroll' + name ] ||
+ document.body[ 'scroll' + name ] :
+ this[0][ 'scroll' + name ];
+ };
+});
+
+$.fn.extend({
+ position: function() {
+ var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results;
+
+ if (elem) {
+ // Get *real* offsetParent
+ offsetParent = this.offsetParent();
+
+ // Get correct offsets
+ offset = this.offset();
+ parentOffset = offsetParent.offset();
+
+ // Subtract element margins
+ offset.top -= num(elem, 'marginTop');
+ offset.left -= num(elem, 'marginLeft');
+
+ // Add offsetParent borders
+ parentOffset.top += num(offsetParent, 'borderTopWidth');
+ parentOffset.left += num(offsetParent, 'borderLeftWidth');
+
+ // Subtract the two offsets
+ results = {
+ top: offset.top - parentOffset.top,
+ left: offset.left - parentOffset.left
+ };
+ }
+
+ return results;
+ },
+
+ offsetParent: function() {
+ var offsetParent = this[0].offsetParent;
+ while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $.css(offsetParent, 'position') == 'static') )
+ offsetParent = offsetParent.offsetParent;
+ return $(offsetParent);
+ }
+});
+
+function num(el, prop) {
+ return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;
+};
+
+})(jQuery);
\ No newline at end of file
Added: shiro/site-template/src/main/webapp/static/assets/js/jquery_gradient/jquery.gradient.js
URL: http://svn.apache.org/viewvc/shiro/site-template/src/main/webapp/static/assets/js/jquery_gradient/jquery.gradient.js?rev=1006026&view=auto
==============================================================================
--- shiro/site-template/src/main/webapp/static/assets/js/jquery_gradient/jquery.gradient.js (added)
+++ shiro/site-template/src/main/webapp/static/assets/js/jquery_gradient/jquery.gradient.js Fri Oct 8 21:17:55 2010
@@ -0,0 +1,96 @@
+/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ *
+ * Color functions from Steve's Cross Browser Gradient Backgrounds v1.0 (steve@slayeroffice.com && http://slayeroffice.com/code/gradient/)
+ *
+ * $LastChangedDate: 2007-06-26 19:52:18 -0500 (Tue, 26 Jun 2007) $
+ * $Rev: 2163 $
+ *
+ * Version 1.0
+ */
+(function($) {
+
+/**
+ * Adds a gradient to the background of an element.
+ *
+ * @example $('div').gradient({ from: '000000', to: 'CCCCCC' });
+ *
+ * @param Map options Settings/options to configure the gradient.
+ * @option String from The hex color code to start the gradient with.
+ * By default the value is "000000".
+ * @option String to The hex color code to end the gradient with.
+ * By default the value is "FFFFFF".
+ * @option String direction This tells the gradient to be horizontal
+ * or vertical. By default the value is "horizontal".
+ * @option Number length This is used to constrain the gradient to a
+ * particular width or height (depending on the direction). By default
+ * the length is set to null, which will use the width or height
+ * (depending on the direction) of the element.
+ * @option String position This tells the gradient to be positioned
+ * at the top, bottom, left and/or right within the element. The
+ * value is just a string that specifices top or bottom and left or right.
+ * By default the value is 'top left'.
+ *
+ * @name gradient
+ * @type jQuery
+ * @cat Plugins/gradient
+ * @author Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
+ */
+$.fn.gradient = function(options) {
+ options = $.extend({ from: '000000', to: 'ffffff', direction: 'horizontal', position: 'top', length: null }, options || {});
+ var createColorPath = function(startColor, endColor, distance) {
+ var colorPath = [],
+ colorPercent = 1.0,
+ distance = (distance < 100) ? distance : 100;
+ do {
+ colorPath[colorPath.length] = setColorHue(longHexToDec(startColor), colorPercent, longHexToDec(endColor));
+ colorPercent -= ((100/distance)*0.01);
+ } while (colorPercent>0);
+ return colorPath;
+ },
+ setColorHue = function(originColor, opacityPercent, maskRGB) {
+ var returnColor = [];
+ for (var i=0; i<originColor.length; i++)
+ returnColor[i] = Math.round(originColor[i]*opacityPercent) + Math.round(maskRGB[i]*(1.0-opacityPercent));
+ return returnColor;
+ },
+ longHexToDec = function(longHex) {
+ return new Array(toDec(longHex.substring(0,2)),toDec(longHex.substring(2,4)),toDec(longHex.substring(4,6)));
+ },
+ toDec = function(hex) {
+ return parseInt(hex,16);
+ };
+ return this.each(function() {
+ var $this = $(this), width = $this.innerWidth(), height = $this.innerHeight(), x = 0, y = 0, w = 1, h = 1, html = [],
+ length = options.length || (options.direction == 'vertical' ? width : height),
+ position = (options.position == 'bottom' ? 'bottom:0;' : 'top:0;') + (options.position == 'right' ? 'right:0;' : 'left:0;'),
+ colorArray = createColorPath(options.from, options.to, length);
+
+ if (options.direction == 'horizontal') {
+ h = Math.round(length/colorArray.length) || 1;
+ w = width;
+ } else {
+ w = Math.round(length/colorArray.length) || 1;
+ h = height;
+ }
+
+ html.push('<div class="gradient" style="position: absolute; ' + position + ' width: ' + (options.direction == 'vertical' ? length+"px" : "100%") +'; height: ' + (options.direction == 'vertical' ? "100%" : length+"px") + '; overflow: hidden; z-index: 0; background-color: #' + (options.position.indexOf('bottom') != -1 ? options.from : options.to) + '">');
+ for(var i=0; i<colorArray.length; i++) {
+ html.push('<div style="position:absolute;z-index:1;top:' + y + 'px;left:' + x + 'px;height:' + (options.direction == 'vertical' ? "100%" : h+"px") + ';width:' + (options.direction == 'vertical' ? w+"px" : "100%") + ';background-color:rgb(' + colorArray[i][0] + ',' + colorArray[i][1] + ',' + colorArray[i][2] + ');"></div>');
+ options.direction == 'vertical' ? x+=w : y+=h;
+
+ if ( y >= height || x >= width) break;
+ }
+ html.push('</div>');
+
+ if ( $this.css('position') == 'static' )
+ $this.css('position', 'relative');
+
+ $this
+ .html('<div style="display:' + $this.css("display") + '; position: relative; z-index: 2;">' + this.innerHTML + '</div>')
+ .prepend(html.join(''));
+ });
+};
+
+})(jQuery);
\ No newline at end of file