jquerypp-rails 1.0

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.
Files changed (37) hide show
  1. data/.document +5 -0
  2. data/.gitignore +7 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +20 -0
  5. data/README.rdoc +24 -0
  6. data/Rakefile +2 -0
  7. data/jquerypp-rails.gemspec +20 -0
  8. data/lib/jquerypp/generators/jquerypp/install/install_generator.rb +49 -0
  9. data/lib/jquerypp/rails/engine.rb +8 -0
  10. data/lib/jquerypp/rails/version.rb +6 -0
  11. data/lib/jquerypp/rails.rb +8 -0
  12. data/lib/jquerypp-rails.rb +1 -0
  13. data/vendor/assets/javascripts/jquerypp.js +5419 -0
  14. data/vendor/assets/javascripts/lib/jquery.animate.js +326 -0
  15. data/vendor/assets/javascripts/lib/jquery.compare.js +75 -0
  16. data/vendor/assets/javascripts/lib/jquery.cookie.js +118 -0
  17. data/vendor/assets/javascripts/lib/jquery.dimensions.js +191 -0
  18. data/vendor/assets/javascripts/lib/jquery.event.default.js +115 -0
  19. data/vendor/assets/javascripts/lib/jquery.event.destroyed.js +23 -0
  20. data/vendor/assets/javascripts/lib/jquery.event.drag.js +727 -0
  21. data/vendor/assets/javascripts/lib/jquery.event.drop.js +457 -0
  22. data/vendor/assets/javascripts/lib/jquery.event.fastfix.js +95 -0
  23. data/vendor/assets/javascripts/lib/jquery.event.hover.js +266 -0
  24. data/vendor/assets/javascripts/lib/jquery.event.key.js +156 -0
  25. data/vendor/assets/javascripts/lib/jquery.event.livehack.js +174 -0
  26. data/vendor/assets/javascripts/lib/jquery.event.pause.js +92 -0
  27. data/vendor/assets/javascripts/lib/jquery.event.resize.js +47 -0
  28. data/vendor/assets/javascripts/lib/jquery.event.swipe.js +133 -0
  29. data/vendor/assets/javascripts/lib/jquery.fills.js +249 -0
  30. data/vendor/assets/javascripts/lib/jquery.form_params.js +167 -0
  31. data/vendor/assets/javascripts/lib/jquery.lang.json.js +196 -0
  32. data/vendor/assets/javascripts/lib/jquery.lang.vector.js +214 -0
  33. data/vendor/assets/javascripts/lib/jquery.range.js +861 -0
  34. data/vendor/assets/javascripts/lib/jquery.selection.js +232 -0
  35. data/vendor/assets/javascripts/lib/jquery.styles.js +103 -0
  36. data/vendor/assets/javascripts/lib/jquery.within.js +94 -0
  37. metadata +81 -0
@@ -0,0 +1,196 @@
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)
@@ -0,0 +1,214 @@
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)