jquerypp-rails 1.0.1.1.rc3 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +28 -31
- data/lib/jquerypp/rails/version.rb +1 -1
- metadata +2 -25
- data/vendor/assets/javascripts/lib/jquery.animate.js +0 -326
- data/vendor/assets/javascripts/lib/jquery.compare.js +0 -75
- data/vendor/assets/javascripts/lib/jquery.cookie.js +0 -118
- data/vendor/assets/javascripts/lib/jquery.dimensions.js +0 -191
- data/vendor/assets/javascripts/lib/jquery.event.default.js +0 -115
- data/vendor/assets/javascripts/lib/jquery.event.destroyed.js +0 -23
- data/vendor/assets/javascripts/lib/jquery.event.drag.js +0 -727
- data/vendor/assets/javascripts/lib/jquery.event.drop.js +0 -457
- data/vendor/assets/javascripts/lib/jquery.event.fastfix.js +0 -95
- data/vendor/assets/javascripts/lib/jquery.event.hover.js +0 -266
- data/vendor/assets/javascripts/lib/jquery.event.key.js +0 -156
- data/vendor/assets/javascripts/lib/jquery.event.livehack.js +0 -174
- data/vendor/assets/javascripts/lib/jquery.event.pause.js +0 -92
- data/vendor/assets/javascripts/lib/jquery.event.resize.js +0 -47
- data/vendor/assets/javascripts/lib/jquery.event.swipe.js +0 -133
- data/vendor/assets/javascripts/lib/jquery.fills.js +0 -249
- data/vendor/assets/javascripts/lib/jquery.form_params.js +0 -167
- data/vendor/assets/javascripts/lib/jquery.lang.json.js +0 -196
- data/vendor/assets/javascripts/lib/jquery.lang.vector.js +0 -214
- data/vendor/assets/javascripts/lib/jquery.range.js +0 -861
- data/vendor/assets/javascripts/lib/jquery.selection.js +0 -232
- data/vendor/assets/javascripts/lib/jquery.styles.js +0 -103
- data/vendor/assets/javascripts/lib/jquery.within.js +0 -94
@@ -1,167 +0,0 @@
|
|
1
|
-
// - jquery.form_params.js
|
2
|
-
(function( $ ) {
|
3
|
-
var
|
4
|
-
// use to parse bracket notation like my[name][attribute]
|
5
|
-
keyBreaker = /[^\[\]]+/g,
|
6
|
-
// converts values that look like numbers and booleans and removes empty strings
|
7
|
-
convertValue = function( value ) {
|
8
|
-
if ( $.isNumeric( value )) {
|
9
|
-
return parseFloat( value );
|
10
|
-
} else if ( value === 'true') {
|
11
|
-
return true;
|
12
|
-
} else if ( value === 'false' ) {
|
13
|
-
return false;
|
14
|
-
} else if ( value === '' ) {
|
15
|
-
return undefined;
|
16
|
-
}
|
17
|
-
return value;
|
18
|
-
},
|
19
|
-
// Access nested data
|
20
|
-
nestData = function( elem, type, data, parts, value, seen, fullName ) {
|
21
|
-
var name = parts.shift();
|
22
|
-
// Keep track of the dot separated fullname. Used to uniquely track seen values
|
23
|
-
// and if they should be converted to an array or not
|
24
|
-
fullName = fullName ? fullName + '.' + name : name;
|
25
|
-
|
26
|
-
if (parts.length ) {
|
27
|
-
if ( ! data[ name ] ) {
|
28
|
-
data[ name ] = {};
|
29
|
-
}
|
30
|
-
|
31
|
-
// Recursive call
|
32
|
-
nestData( elem, type, data[ name ], parts, value, seen, fullName);
|
33
|
-
} else {
|
34
|
-
|
35
|
-
// Handle same name case, as well as "last checkbox checked"
|
36
|
-
// case
|
37
|
-
if ( fullName in seen && type != "radio" && ! $.isArray( data[ name ] )) {
|
38
|
-
if ( name in data ) {
|
39
|
-
data[ name ] = [ data[name] ];
|
40
|
-
} else {
|
41
|
-
data[ name ] = [];
|
42
|
-
}
|
43
|
-
} else {
|
44
|
-
seen[ fullName ] = true;
|
45
|
-
}
|
46
|
-
|
47
|
-
// Finally, assign data
|
48
|
-
if ( ( type == "radio" || type == "checkbox" ) && ! elem.is(":checked") ) {
|
49
|
-
return
|
50
|
-
}
|
51
|
-
|
52
|
-
if ( ! data[ name ] ) {
|
53
|
-
data[ name ] = value;
|
54
|
-
} else {
|
55
|
-
data[ name ].push( value );
|
56
|
-
}
|
57
|
-
|
58
|
-
|
59
|
-
}
|
60
|
-
|
61
|
-
};
|
62
|
-
|
63
|
-
/**
|
64
|
-
* @function jQuery.fn.formParams
|
65
|
-
* @parent jQuery.formParams
|
66
|
-
* @plugin jquery/dom/form_params
|
67
|
-
* @test jquery/dom/form_params/qunit.html
|
68
|
-
*
|
69
|
-
* Returns a JavaScript object for values in a form.
|
70
|
-
* It creates nested objects by using bracket notation in the form element name.
|
71
|
-
*
|
72
|
-
* @param {Object} [params] If an object is passed, the form will be repopulated
|
73
|
-
* with the values of the object based on the name of the inputs within
|
74
|
-
* the form
|
75
|
-
* @param {Boolean} [convert=false] True if strings that look like numbers
|
76
|
-
* and booleans should be converted and if empty string should not be added
|
77
|
-
* to the result.
|
78
|
-
* @return {Object} An object of name-value pairs.
|
79
|
-
*/
|
80
|
-
$.fn.extend({
|
81
|
-
formParams: function( params ) {
|
82
|
-
|
83
|
-
var convert;
|
84
|
-
|
85
|
-
// Quick way to determine if something is a boolean
|
86
|
-
if ( !! params === params ) {
|
87
|
-
convert = params;
|
88
|
-
params = null;
|
89
|
-
}
|
90
|
-
|
91
|
-
if ( params ) {
|
92
|
-
return this.setParams( params );
|
93
|
-
} else {
|
94
|
-
return this.getParams( convert );
|
95
|
-
}
|
96
|
-
},
|
97
|
-
setParams: function( params ) {
|
98
|
-
|
99
|
-
// Find all the inputs
|
100
|
-
this.find("[name]").each(function() {
|
101
|
-
|
102
|
-
var value = params[ $(this).attr("name") ],
|
103
|
-
$this;
|
104
|
-
|
105
|
-
// Don't do all this work if there's no value
|
106
|
-
if ( value !== undefined ) {
|
107
|
-
$this = $(this);
|
108
|
-
|
109
|
-
// Nested these if statements for performance
|
110
|
-
if ( $this.is(":radio") ) {
|
111
|
-
if ( $this.val() == value ) {
|
112
|
-
$this.attr("checked", true);
|
113
|
-
}
|
114
|
-
} else if ( $this.is(":checkbox") ) {
|
115
|
-
// Convert single value to an array to reduce
|
116
|
-
// complexity
|
117
|
-
value = $.isArray( value ) ? value : [value];
|
118
|
-
if ( $.inArray( $this.val(), value ) > -1) {
|
119
|
-
$this.attr("checked", true);
|
120
|
-
}
|
121
|
-
} else {
|
122
|
-
$this.val( value );
|
123
|
-
}
|
124
|
-
}
|
125
|
-
});
|
126
|
-
},
|
127
|
-
getParams: function( convert ) {
|
128
|
-
var data = {},
|
129
|
-
// This is used to keep track of the checkbox names that we've
|
130
|
-
// already seen, so we know that we should return an array if
|
131
|
-
// we see it multiple times. Fixes last checkbox checked bug.
|
132
|
-
seen = {},
|
133
|
-
current;
|
134
|
-
|
135
|
-
this.find("[name]:not(:disabled)").each(function() {
|
136
|
-
var $this = $(this),
|
137
|
-
type = $this.attr("type"),
|
138
|
-
name = $this.attr("name"),
|
139
|
-
value = $this.val(),
|
140
|
-
parts;
|
141
|
-
|
142
|
-
// Don't accumulate submit buttons and nameless elements
|
143
|
-
if ( type == "submit" || ! name ) {
|
144
|
-
return;
|
145
|
-
}
|
146
|
-
|
147
|
-
// Figure out name parts
|
148
|
-
parts = name.match( keyBreaker );
|
149
|
-
if ( ! parts.length ) {
|
150
|
-
parts = [name];
|
151
|
-
}
|
152
|
-
|
153
|
-
// Convert the value
|
154
|
-
if ( convert ) {
|
155
|
-
value = convertValue( value );
|
156
|
-
}
|
157
|
-
|
158
|
-
// Assign data recursively
|
159
|
-
nestData( $this, type, data, parts, value, seen );
|
160
|
-
|
161
|
-
});
|
162
|
-
|
163
|
-
return data;
|
164
|
-
}
|
165
|
-
});
|
166
|
-
|
167
|
-
})(jQuery)
|
@@ -1,196 +0,0 @@
|
|
1
|
-
// - jquery.lang.json.js
|
2
|
-
(function($){
|
3
|
-
/**
|
4
|
-
* @page jQuery.toJSON jQuery.toJSON
|
5
|
-
* @parent jquerymx.lang
|
6
|
-
*
|
7
|
-
* jQuery.toJSON( json-serializble )
|
8
|
-
*
|
9
|
-
* Converts the given argument into a JSON respresentation.
|
10
|
-
*
|
11
|
-
* If an object has a "toJSON" function, that will
|
12
|
-
* be used to get the representation.
|
13
|
-
* Non-integer/string keys are skipped in the
|
14
|
-
* object, as are keys that point to a function.
|
15
|
-
*
|
16
|
-
* json-serializble:
|
17
|
-
* The *thing* to be converted.
|
18
|
-
*/
|
19
|
-
$.toJSON = function(o, replacer, space, recurse)
|
20
|
-
{
|
21
|
-
if (typeof(JSON) == 'object' && JSON.stringify)
|
22
|
-
return JSON.stringify(o, replacer, space);
|
23
|
-
|
24
|
-
if (!recurse && $.isFunction(replacer))
|
25
|
-
o = replacer("", o);
|
26
|
-
|
27
|
-
if (typeof space == "number")
|
28
|
-
space = " ".substring(0, space);
|
29
|
-
space = (typeof space == "string") ? space.substring(0, 10) : "";
|
30
|
-
|
31
|
-
var type = typeof(o);
|
32
|
-
|
33
|
-
if (o === null)
|
34
|
-
return "null";
|
35
|
-
|
36
|
-
if (type == "undefined" || type == "function")
|
37
|
-
return undefined;
|
38
|
-
|
39
|
-
if (type == "number" || type == "boolean")
|
40
|
-
return o + "";
|
41
|
-
|
42
|
-
if (type == "string")
|
43
|
-
return $.quoteString(o);
|
44
|
-
|
45
|
-
if (type == 'object')
|
46
|
-
{
|
47
|
-
if (typeof o.toJSON == "function")
|
48
|
-
return $.toJSON( o.toJSON(), replacer, space, true );
|
49
|
-
|
50
|
-
if (o.constructor === Date)
|
51
|
-
{
|
52
|
-
var month = o.getUTCMonth() + 1;
|
53
|
-
if (month < 10) month = '0' + month;
|
54
|
-
|
55
|
-
var day = o.getUTCDate();
|
56
|
-
if (day < 10) day = '0' + day;
|
57
|
-
|
58
|
-
var year = o.getUTCFullYear();
|
59
|
-
|
60
|
-
var hours = o.getUTCHours();
|
61
|
-
if (hours < 10) hours = '0' + hours;
|
62
|
-
|
63
|
-
var minutes = o.getUTCMinutes();
|
64
|
-
if (minutes < 10) minutes = '0' + minutes;
|
65
|
-
|
66
|
-
var seconds = o.getUTCSeconds();
|
67
|
-
if (seconds < 10) seconds = '0' + seconds;
|
68
|
-
|
69
|
-
var milli = o.getUTCMilliseconds();
|
70
|
-
if (milli < 100) milli = '0' + milli;
|
71
|
-
if (milli < 10) milli = '0' + milli;
|
72
|
-
|
73
|
-
return '"' + year + '-' + month + '-' + day + 'T' +
|
74
|
-
hours + ':' + minutes + ':' + seconds +
|
75
|
-
'.' + milli + 'Z"';
|
76
|
-
}
|
77
|
-
|
78
|
-
var process = ($.isFunction(replacer)) ?
|
79
|
-
function (k, v) { return replacer(k, v); } :
|
80
|
-
function (k, v) { return v; },
|
81
|
-
nl = (space) ? "\n" : "",
|
82
|
-
sp = (space) ? " " : "";
|
83
|
-
|
84
|
-
if (o.constructor === Array)
|
85
|
-
{
|
86
|
-
var ret = [];
|
87
|
-
for (var i = 0; i < o.length; i++)
|
88
|
-
ret.push(( $.toJSON( process(i, o[i]), replacer, space, true ) || "null" ).replace(/^/gm, space));
|
89
|
-
|
90
|
-
return "[" + nl + ret.join("," + nl) + nl + "]";
|
91
|
-
}
|
92
|
-
|
93
|
-
var pairs = [], proplist;
|
94
|
-
if ($.isArray(replacer)) {
|
95
|
-
proplist = $.map(replacer, function (v) {
|
96
|
-
return (typeof v == "string" || typeof v == "number") ?
|
97
|
-
v + "" :
|
98
|
-
null;
|
99
|
-
});
|
100
|
-
}
|
101
|
-
for (var k in o) {
|
102
|
-
var name, val, type = typeof k;
|
103
|
-
|
104
|
-
if (proplist && $.inArray(k + "", proplist) == -1)
|
105
|
-
continue;
|
106
|
-
|
107
|
-
if (type == "number")
|
108
|
-
name = '"' + k + '"';
|
109
|
-
else if (type == "string")
|
110
|
-
name = $.quoteString(k);
|
111
|
-
else
|
112
|
-
continue; //skip non-string or number keys
|
113
|
-
|
114
|
-
val = $.toJSON( process(k, o[k]), replacer, space, true );
|
115
|
-
|
116
|
-
if (typeof val == "undefined")
|
117
|
-
continue; //skip pairs where the value is a function.
|
118
|
-
|
119
|
-
pairs.push((name + ":" + sp + val).replace(/^/gm, space));
|
120
|
-
}
|
121
|
-
|
122
|
-
return "{" + nl + pairs.join("," + nl) + nl + "}";
|
123
|
-
}
|
124
|
-
};
|
125
|
-
|
126
|
-
/**
|
127
|
-
* @function jQuery.evalJSON
|
128
|
-
* Evaluates a given piece of json source.
|
129
|
-
**/
|
130
|
-
$.evalJSON = function(src)
|
131
|
-
{
|
132
|
-
if (typeof(JSON) == 'object' && JSON.parse)
|
133
|
-
return JSON.parse(src);
|
134
|
-
return eval("(" + src + ")");
|
135
|
-
};
|
136
|
-
|
137
|
-
/**
|
138
|
-
* @function jQuery.secureEvalJSON
|
139
|
-
* Evals JSON in a way that is *more* secure.
|
140
|
-
**/
|
141
|
-
$.secureEvalJSON = function(src)
|
142
|
-
{
|
143
|
-
if (typeof(JSON) == 'object' && JSON.parse)
|
144
|
-
return JSON.parse(src);
|
145
|
-
|
146
|
-
var filtered = src;
|
147
|
-
filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@');
|
148
|
-
filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']');
|
149
|
-
filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, '');
|
150
|
-
|
151
|
-
if (/^[\],:{}\s]*$/.test(filtered))
|
152
|
-
return eval("(" + src + ")");
|
153
|
-
else
|
154
|
-
throw new SyntaxError("Error parsing JSON, source is not valid.");
|
155
|
-
};
|
156
|
-
|
157
|
-
/**
|
158
|
-
* @function jQuery.quoteString
|
159
|
-
*
|
160
|
-
* Returns a string-repr of a string, escaping quotes intelligently.
|
161
|
-
* Mostly a support function for toJSON.
|
162
|
-
*
|
163
|
-
* Examples:
|
164
|
-
*
|
165
|
-
* jQuery.quoteString("apple") //-> "apple"
|
166
|
-
*
|
167
|
-
* jQuery.quoteString('"Where are we going?", she asked.')
|
168
|
-
* // -> "\"Where are we going?\", she asked."
|
169
|
-
**/
|
170
|
-
$.quoteString = function(string)
|
171
|
-
{
|
172
|
-
if (string.match(_escapeable))
|
173
|
-
{
|
174
|
-
return '"' + string.replace(_escapeable, function (a)
|
175
|
-
{
|
176
|
-
var c = _meta[a];
|
177
|
-
if (typeof c === 'string') return c;
|
178
|
-
c = a.charCodeAt();
|
179
|
-
return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
|
180
|
-
}) + '"';
|
181
|
-
}
|
182
|
-
return '"' + string + '"';
|
183
|
-
};
|
184
|
-
|
185
|
-
var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g;
|
186
|
-
|
187
|
-
var _meta = {
|
188
|
-
'\b': '\\b',
|
189
|
-
'\t': '\\t',
|
190
|
-
'\n': '\\n',
|
191
|
-
'\f': '\\f',
|
192
|
-
'\r': '\\r',
|
193
|
-
'"' : '\\"',
|
194
|
-
'\\': '\\\\'
|
195
|
-
};
|
196
|
-
})(jQuery)
|
@@ -1,214 +0,0 @@
|
|
1
|
-
// - jquery.lang.vector.js
|
2
|
-
(function($){
|
3
|
-
var getSetZero = function(v){ return v !== undefined ? (this.array[0] = v) : this.array[0] },
|
4
|
-
getSetOne = function(v){ return v !== undefined ? (this.array[1] = v) : this.array[1]};
|
5
|
-
|
6
|
-
/**
|
7
|
-
* @class jQuery.Vector
|
8
|
-
* @parent jquerypp
|
9
|
-
*
|
10
|
-
* `jQuery.Vector` represents a multi dimensional vector with shorthand methods for
|
11
|
-
* working with two dimensions.
|
12
|
-
*
|
13
|
-
* It is mainly used in [jQuery.event.drag drag] & [jQuery.event.drop drop] events.
|
14
|
-
*
|
15
|
-
* @constructor creates a new vector instance from the arguments. Example:
|
16
|
-
*
|
17
|
-
* new jQuery.Vector(1,2)
|
18
|
-
*/
|
19
|
-
$.Vector = function(arr) {
|
20
|
-
var array = $.isArray(arr) ? arr : $.makeArray(arguments);
|
21
|
-
this.update(array);
|
22
|
-
};
|
23
|
-
$.Vector.prototype =
|
24
|
-
/* @Prototype*/
|
25
|
-
{
|
26
|
-
/**
|
27
|
-
* Applys the function to every item in the vector and returns a new vector.
|
28
|
-
*
|
29
|
-
* @param {Function} f The function to apply
|
30
|
-
* @return {jQuery.Vector} A new $.Vector instance
|
31
|
-
*/
|
32
|
-
app: function( f ) {
|
33
|
-
var i, newArr = [];
|
34
|
-
|
35
|
-
for ( i = 0; i < this.array.length; i++ ) {
|
36
|
-
newArr.push(f(this.array[i], i));
|
37
|
-
}
|
38
|
-
return new $.Vector(newArr);
|
39
|
-
},
|
40
|
-
/**
|
41
|
-
* Adds two vectors together and returns a new instance. Example:
|
42
|
-
*
|
43
|
-
* new $.Vector(1,2).plus(2,3) //-> (3, 5)
|
44
|
-
* new $.Vector(3,5).plus(new Vector(4,5)) //-> (7, 10)
|
45
|
-
*
|
46
|
-
* @return {$.Vector}
|
47
|
-
*/
|
48
|
-
plus: function() {
|
49
|
-
var i, args = arguments[0] instanceof $.Vector ? arguments[0].array : $.makeArray(arguments),
|
50
|
-
arr = this.array.slice(0),
|
51
|
-
vec = new $.Vector();
|
52
|
-
for ( i = 0; i < args.length; i++ ) {
|
53
|
-
arr[i] = (arr[i] ? arr[i] : 0) + args[i];
|
54
|
-
}
|
55
|
-
return vec.update(arr);
|
56
|
-
},
|
57
|
-
/**
|
58
|
-
* Subtract one vector from another and returns a new instance. Example:
|
59
|
-
*
|
60
|
-
* new $.Vector(4, 5).minus(2, 1) //-> (2, 4)
|
61
|
-
*
|
62
|
-
* @return {jQuery.Vector}
|
63
|
-
*/
|
64
|
-
minus: function() {
|
65
|
-
var i, args = arguments[0] instanceof $.Vector ? arguments[0].array : $.makeArray(arguments),
|
66
|
-
arr = this.array.slice(0),
|
67
|
-
vec = new $.Vector();
|
68
|
-
for ( i = 0; i < args.length; i++ ) {
|
69
|
-
arr[i] = (arr[i] ? arr[i] : 0) - args[i];
|
70
|
-
}
|
71
|
-
return vec.update(arr);
|
72
|
-
},
|
73
|
-
/**
|
74
|
-
* Returns the current vector if it is equal to the vector passed in.
|
75
|
-
*
|
76
|
-
* `null` if otherwise.
|
77
|
-
*
|
78
|
-
* @return {jQuery.Vector}
|
79
|
-
*/
|
80
|
-
equals: function() {
|
81
|
-
var i, args = arguments[0] instanceof $.Vector ? arguments[0].array : $.makeArray(arguments),
|
82
|
-
arr = this.array.slice(0),
|
83
|
-
vec = new $.Vector();
|
84
|
-
for ( i = 0; i < args.length; i++ ) {
|
85
|
-
if ( arr[i] != args[i] ) {
|
86
|
-
return null;
|
87
|
-
}
|
88
|
-
}
|
89
|
-
return vec.update(arr);
|
90
|
-
},
|
91
|
-
/**
|
92
|
-
* Returns the first value of the vector.
|
93
|
-
* You can also access the same value through the following aliases the
|
94
|
-
* [jQuery.Vector.prototype.left vector.left()] and [jQuery.Vector.prototype.left vector.width()]
|
95
|
-
* aliases.
|
96
|
-
*
|
97
|
-
* For example:
|
98
|
-
*
|
99
|
-
* var v = new $.Vector(2, 5);
|
100
|
-
* v.x() //-> 2
|
101
|
-
* v.left() //-> 2
|
102
|
-
* v.width() //-> 2
|
103
|
-
*
|
104
|
-
* @return {Number} The first value of the vector
|
105
|
-
*/
|
106
|
-
x: getSetZero,
|
107
|
-
/**
|
108
|
-
* @hide
|
109
|
-
* Alias for [jQuery.Vector.prototype.x].
|
110
|
-
*
|
111
|
-
* @return {Number}
|
112
|
-
*/
|
113
|
-
left: getSetZero,
|
114
|
-
/**
|
115
|
-
* @hide
|
116
|
-
* Alias for [jQuery.Vector.prototype.x].
|
117
|
-
*
|
118
|
-
* @return {Number}
|
119
|
-
*/
|
120
|
-
width: getSetZero,
|
121
|
-
/**
|
122
|
-
* Returns the second value of the vector.
|
123
|
-
* You can also access the same value through the [jQuery.Vector.prototype.top vector.top()]
|
124
|
-
* and [jQuery.Vector.prototype.height vector.height()] aliases.
|
125
|
-
*
|
126
|
-
* For example:
|
127
|
-
*
|
128
|
-
* var v = new $.Vector(2, 5);
|
129
|
-
* v.y() //-> 5
|
130
|
-
* v.top() //-> 5
|
131
|
-
* v.height() //-> 5
|
132
|
-
*
|
133
|
-
* @return {Number} The first value of the vector
|
134
|
-
*/
|
135
|
-
y: getSetOne,
|
136
|
-
/**
|
137
|
-
* @hide
|
138
|
-
* Alias for [jQuery.Vector.prototype.y].
|
139
|
-
*
|
140
|
-
* @return {Number}
|
141
|
-
*/
|
142
|
-
top: getSetOne,
|
143
|
-
/**
|
144
|
-
* @hide
|
145
|
-
* Alias for [jQuery.Vector.prototype.y].
|
146
|
-
*
|
147
|
-
* @return {Number}
|
148
|
-
*/
|
149
|
-
height: getSetOne,
|
150
|
-
/**
|
151
|
-
* Returns a string representation of the vector in the form of (x,y,...)
|
152
|
-
*
|
153
|
-
* var v = new $.Vector(4, 6, 1, 3);
|
154
|
-
* v.toString() //-> (4, 6, 1, 3)
|
155
|
-
*
|
156
|
-
* @return {String}
|
157
|
-
*/
|
158
|
-
toString: function() {
|
159
|
-
return "(" + this.array.join(', ') + ")";
|
160
|
-
},
|
161
|
-
/**
|
162
|
-
* Replaces the vectors contents
|
163
|
-
*
|
164
|
-
* var v = new $.Vector(2, 3);
|
165
|
-
*
|
166
|
-
* @param {Object} array
|
167
|
-
*/
|
168
|
-
update: function( array ) {
|
169
|
-
var i;
|
170
|
-
if ( this.array ) {
|
171
|
-
for ( i = 0; i < this.array.length; i++ ) {
|
172
|
-
delete this.array[i];
|
173
|
-
}
|
174
|
-
}
|
175
|
-
this.array = array;
|
176
|
-
for ( i = 0; i < array.length; i++ ) {
|
177
|
-
this[i] = this.array[i];
|
178
|
-
}
|
179
|
-
return this;
|
180
|
-
}
|
181
|
-
};
|
182
|
-
|
183
|
-
$.Event.prototype.vector = function() {
|
184
|
-
var
|
185
|
-
// Get the first touch element for touch events
|
186
|
-
touches = "ontouchend" in document && this.originalEvent.touches.length ? this.originalEvent.touches[0] : this;
|
187
|
-
if ( this.originalEvent.synthetic ) {
|
188
|
-
var doc = document.documentElement,
|
189
|
-
body = document.body;
|
190
|
-
return new $.Vector(touches.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0),
|
191
|
-
touches.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0));
|
192
|
-
} else {
|
193
|
-
return new $.Vector(touches.pageX, touches.pageY);
|
194
|
-
}
|
195
|
-
};
|
196
|
-
|
197
|
-
$.fn.offsetv = function() {
|
198
|
-
if ( this[0] == window ) {
|
199
|
-
return new $.Vector(window.pageXOffset ? window.pageXOffset : document.documentElement.scrollLeft, window.pageYOffset ? window.pageYOffset : document.documentElement.scrollTop);
|
200
|
-
} else {
|
201
|
-
var offset = this.offset();
|
202
|
-
return new $.Vector(offset.left, offset.top);
|
203
|
-
}
|
204
|
-
};
|
205
|
-
|
206
|
-
$.fn.dimensionsv = function( which ) {
|
207
|
-
if ( this[0] == window || !which ) {
|
208
|
-
return new $.Vector(this.width(), this.height());
|
209
|
-
}
|
210
|
-
else {
|
211
|
-
return new $.Vector(this[which + "Width"](), this[which + "Height"]());
|
212
|
-
}
|
213
|
-
};
|
214
|
-
})(jQuery)
|