jquerypp-rails 1.0.1.1.rc3 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|