Blame view

framework/admin/thirdparty/jsizes/lib/jquery.sizes.js 2.32 KB
385d70ca   Administrator   Importers CRUD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  /**
   * @preserve JSizes - JQuery plugin v0.33
   *
   * Licensed under the revised BSD License.
   * Copyright 2008-2010 Bram Stein
   * All rights reserved.
   */
  /*global jQuery*/
  (function ($) {
  	var num = function (value) {
  			return parseInt(value, 10) || 0;
  		};
  
  	/**
  	 * Sets or gets the values for min-width, min-height, max-width
  	 * and max-height.
  	 */
  	$.each(['min', 'max'], function (i, name) {
  		$.fn[name + 'Size'] = function (value) {
  			var width, height;
  			if (value) {
  				if (value.width !== undefined) {
  					this.css(name + '-width', value.width);
  				}
  				if (value.height !== undefined) {
  					this.css(name + '-height', value.height);
  				}
  				return this;
  			}
  			else {
  				width = this.css(name + '-width');
  				height = this.css(name + '-height');
  				// Apparently:
  				//  * Opera returns -1px instead of none
  				//  * IE6 returns undefined instead of none
  				return {'width': (name === 'max' && (width === undefined || width === 'none' || num(width) === -1) && Number.MAX_VALUE) || num(width), 
  						'height': (name === 'max' && (height === undefined || height === 'none' || num(height) === -1) && Number.MAX_VALUE) || num(height)};
  			}
  		};
  	});
  
  	/**
  	 * Returns whether or not an element is visible.
  	 */
  	$.fn.isVisible = function () {
  		return this.is(':visible');
  	};
  
  	/**
  	 * Sets or gets the values for border, margin and padding.
  	 */
  	$.each(['border', 'margin', 'padding'], function (i, name) {
  		$.fn[name] = function (value) {
  			if (value) {
  				if (value.top !== undefined) {
  					this.css(name + '-top' + (name === 'border' ? '-width' : ''), value.top);
  				}
  				if (value.bottom !== undefined) {
  					this.css(name + '-bottom' + (name === 'border' ? '-width' : ''), value.bottom);
  				}
  				if (value.left !== undefined) {
  					this.css(name + '-left' + (name === 'border' ? '-width' : ''), value.left);
  				}
  				if (value.right !== undefined) {
  					this.css(name + '-right' + (name === 'border' ? '-width' : ''), value.right);
  				}
  				return this;
  			}
  			else {
  				return {top: num(this.css(name + '-top' + (name === 'border' ? '-width' : ''))),
  						bottom: num(this.css(name + '-bottom' + (name === 'border' ? '-width' : ''))),
  						left: num(this.css(name + '-left' + (name === 'border' ? '-width' : ''))),
  						right: num(this.css(name + '-right' + (name === 'border' ? '-width' : '')))};
  			}
  		};
  	});
  }(jQuery));