jquerypp-rails 1.0

Sign up to get free protection for your applications and to get access to all the features.
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,191 @@
1
+ // Dependencies:
2
+ //
3
+ // - jquery.dimensions.js
4
+ // - jquery.styles.js
5
+
6
+ (function($) {
7
+
8
+ var
9
+ //margin is inside border
10
+ weird = /button|select/i,
11
+ getBoxes = {},
12
+ checks = {
13
+ width: ["Left", "Right"],
14
+ height: ['Top', 'Bottom'],
15
+ oldOuterHeight: $.fn.outerHeight,
16
+ oldOuterWidth: $.fn.outerWidth,
17
+ oldInnerWidth: $.fn.innerWidth,
18
+ oldInnerHeight: $.fn.innerHeight
19
+ };
20
+
21
+ $.each({
22
+
23
+ /**
24
+ * @function jQuery.fn.outerWidth
25
+ * @parent jQuery.dimensions
26
+ *
27
+ * `jQuery.fn.outerWidth([value], [includeMargins])` lets you set
28
+ * the outer width of an object where:
29
+ *
30
+ * outerWidth = width + padding + border + (margin)
31
+ *
32
+ * And can be used like:
33
+ *
34
+ * $("#foo").outerWidth(100); //sets outer width
35
+ * $("#foo").outerWidth(100, true); // uses margins
36
+ * $("#foo").outerWidth(); //returns outer width
37
+ * $("#foo").outerWidth(true); //returns outer width + margins
38
+ *
39
+ * When setting the outerWidth, it adjusts the width of the element.
40
+ * If *includeMargin* is set to `true` margins will also be included.
41
+ * It is also possible to animate the outer width:
42
+ *
43
+ * $('#foo').animate({ outerWidth: 200 });
44
+ *
45
+ * @param {Number} [width] The width to set
46
+ * @param {Boolean} [includeMargin=false] Makes setting the outerWidth adjust
47
+ * for margins.
48
+ * @return {jQuery|Number} Returns the outer width or the jQuery wrapped elements
49
+ * if you are setting the outer width.
50
+ */
51
+ width:
52
+ /**
53
+ * @function jQuery.fn.innerWidth
54
+ * @parent jQuery.dimensions
55
+ *
56
+ * `jQuery.fn.innerWidth([value])` lets you set the inner width of an element where
57
+ *
58
+ * innerWidth = width + padding
59
+ *
60
+ * Use it like:
61
+ *
62
+ * $("#foo").innerWidth(100); //sets inner width
63
+ * $("#foo").outerWidth(); // returns inner width
64
+ *
65
+ * Or in an animation like:
66
+ *
67
+ * $('#foo').animate({ innerWidth : 200 });
68
+ *
69
+ * Setting inner width adjusts the width of the element.
70
+ *
71
+ * @param {Number} [width] The inner width to set
72
+ * @return {jQuery|Number} Returns the inner width or the jQuery wrapped elements
73
+ * if you are setting the inner width.
74
+ */
75
+ "Width",
76
+ /**
77
+ * @function jQuery.fn.outerHeight
78
+ * @parent jQuery.dimensions
79
+ *
80
+ * `jQuery.fn.outerHeight([value], [includeMargins])` lets
81
+ * you set the outer height of an object where:
82
+ *
83
+ * outerHeight = height + padding + border + (margin)
84
+ *
85
+ * And can be used like:
86
+ *
87
+ * $("#foo").outerHeight(100); //sets outer height
88
+ * $("#foo").outerHeight(100, true); // uses margins
89
+ * $("#foo").outerHeight(); //returns outer height
90
+ * $("#foo").outerHeight(true); //returns outer height + margins
91
+ *
92
+ * When setting the outerHeight, it adjusts the height of the element.
93
+ * If *includeMargin* is set to `true` margins will also be included.
94
+ * It is also possible to animate the outer heihgt:
95
+ *
96
+ * $('#foo').animate({ outerHeight : 200 });
97
+ *
98
+ * @param {Number} [height] The height to set
99
+ * @param {Boolean} [includeMargin=false] Makes setting the outerHeight adjust
100
+ * for margins.
101
+ * @return {jQuery|Number} Returns the outer height or the jQuery wrapped elements
102
+ * if you are setting the outer height.
103
+ */
104
+ height:
105
+ /**
106
+ * @function jQuery.fn.innerHeight
107
+ * @parent jQuery.dimensions
108
+ *
109
+ * `jQuery.fn.innerHeight([value])` lets you set the inner height of an element where
110
+ *
111
+ * innerHeight = height + padding
112
+ *
113
+ * Use it like:
114
+ *
115
+ * $("#foo").innerHeight(100); //sets inner height
116
+ * $("#foo").outerHeight(); // returns inner height
117
+ *
118
+ * Or in an animation like:
119
+ *
120
+ * $('#foo').animate({ innerHeight : 200 });
121
+ *
122
+ * Setting inner height adjusts the height of the element.
123
+ *
124
+ * @param {Number} [height] The inner height to set
125
+ * @return {jQuery|Number} Returns the inner height or the jQuery wrapped elements
126
+ * if you are setting the inner height.
127
+ */
128
+ // for each 'height' and 'width'
129
+ "Height" }, function(lower, Upper) {
130
+
131
+ //used to get the padding and border for an element in a given direction
132
+ getBoxes[lower] = function(el, boxes) {
133
+ var val = 0;
134
+ if (!weird.test(el.nodeName)) {
135
+ //make what to check for ....
136
+ var myChecks = [];
137
+ $.each(checks[lower], function() {
138
+ var direction = this;
139
+ $.each(boxes, function(name, val) {
140
+ if (val)
141
+ myChecks.push(name + direction+ (name == 'border' ? "Width" : "") );
142
+ })
143
+ })
144
+ $.each($.styles(el, myChecks), function(name, value) {
145
+ val += (parseFloat(value) || 0);
146
+ })
147
+ }
148
+ return val;
149
+ }
150
+
151
+ //getter / setter
152
+ $.fn["outer" + Upper] = function(v, margin) {
153
+ var first = this[0];
154
+ if (typeof v == 'number') {
155
+ // Setting the value
156
+ first && this[lower](v - getBoxes[lower](first, {padding: true, border: true, margin: margin}))
157
+ return this;
158
+ } else {
159
+ // Return the old value
160
+ return first ? checks["oldOuter" + Upper].call(this, v) : null;
161
+ }
162
+ }
163
+ $.fn["inner" + Upper] = function(v) {
164
+ var first = this[0];
165
+ if (typeof v == 'number') {
166
+ // Setting the value
167
+ first&& this[lower](v - getBoxes[lower](first, { padding: true }))
168
+ return this;
169
+ } else {
170
+ // Return the old value
171
+ return first ? checks["oldInner" + Upper].call(this, v) : null;
172
+ }
173
+ }
174
+ //provides animations
175
+ var animate = function(boxes){
176
+ // Return the animation function
177
+ return function(fx){
178
+ if (fx.state == 0) {
179
+ fx.start = $(fx.elem)[lower]();
180
+ fx.end = fx.end - getBoxes[lower](fx.elem,boxes);
181
+ }
182
+ fx.elem.style[lower] = (fx.pos * (fx.end - fx.start) + fx.start) + "px"
183
+ }
184
+ }
185
+ $.fx.step["outer" + Upper] = animate({padding: true, border: true})
186
+ $.fx.step["outer" + Upper+"Margin"] = animate({padding: true, border: true, margin: true})
187
+ $.fx.step["inner" + Upper] = animate({padding: true})
188
+
189
+ })
190
+
191
+ })(jQuery)
@@ -0,0 +1,115 @@
1
+ // - jquery.event.default.js
2
+ (function($){
3
+
4
+ /**
5
+ * @function jQuery.fn.triggerAsync
6
+ * @parent jQuery.event.pause
7
+ * @plugin jquery/event/default
8
+ *
9
+ * `jQuery.fn.triggerAsync(type, [data], [success], [prevented]` triggers an event and calls success
10
+ * when the event has finished propagating through the DOM and no other handler
11
+ * called `event.preventDefault()` or returned `false`.
12
+ *
13
+ * $('#panel').triggerAsync('show', function() {
14
+ * $('#panel').show();
15
+ * });
16
+ *
17
+ * You can also provide a callback that gets called if `event.preventDefault()` was called on the event:
18
+ *
19
+ * $('panel').triggerAsync('show', function(){
20
+ * $('#panel').show();
21
+ * },function(){
22
+ * $('#other').addClass('error');
23
+ * });
24
+ *
25
+ * @param {String} type The type of event
26
+ * @param {Object} data The data for the event
27
+ * @param {Function} success a callback function which occurs upon success
28
+ * @param {Function} prevented a callback function which occurs if preventDefault was called
29
+ */
30
+ $.fn.triggerAsync = function(type, data, success, prevented){
31
+ if(typeof data == 'function'){
32
+ success = data;
33
+ data = undefined;
34
+ }
35
+
36
+ if ( this[0] ) {
37
+ // Create a new jQuery event object and store the original preventDefault
38
+ var event = $.Event( type ),
39
+ old = event.preventDefault;
40
+
41
+ event.preventDefault = function(){
42
+ old.apply(this, arguments);
43
+ // call the prevented callback when event.preventDefault is called
44
+ prevented && prevented(this)
45
+ }
46
+ // Trigger the event with the success callback as the success handler
47
+ jQuery.event.trigger( {type: type, _success: success}, data, this[0] );
48
+ } else{
49
+ // If we have no elements call the success callback right away
50
+ success.call(this);
51
+ }
52
+ return this;
53
+ }
54
+
55
+
56
+
57
+ /**
58
+ * @add jQuery.event.special
59
+ */
60
+ //cache default types for performance
61
+ var types = {}, rnamespaces= /\.(.*)$/, $event = $.event;
62
+ /**
63
+ * @attribute default
64
+ * @parent specialevents
65
+ * @plugin jquery/event/default
66
+ * @download http://jmvcsite.heroku.com/pluginify?plugins[]=jquery/event/default/default.js
67
+ * @test jquery/event/default/qunit.html
68
+ *
69
+ */
70
+ $event.special["default"] = {
71
+ add: function( handleObj ) {
72
+ //save the type
73
+ types[handleObj.namespace.replace(rnamespaces,"")] = true;
74
+ },
75
+ setup: function() {return true}
76
+ }
77
+
78
+ // overwrite trigger to allow default types
79
+ var oldTrigger = $event.trigger;
80
+
81
+ $event.trigger = function defaultTriggerer( event, data, elem, onlyHandlers){
82
+ // Event object or event type
83
+ var type = event.type || event,
84
+ // Caller can pass in an Event, Object, or just an event type string
85
+ event = typeof event === "object" ?
86
+ // jQuery.Event object
87
+ event[ jQuery.expando ] ? event :
88
+ // Object literal
89
+ new jQuery.Event( type, event ) :
90
+ // Just the event type (string)
91
+ new jQuery.Event( type),
92
+ res = oldTrigger.call($.event, event, data, elem, onlyHandlers);
93
+
94
+ if(!onlyHandlers && !event.isDefaultPrevented() && event.type.indexOf("default") !== 0) {
95
+ // Trigger the default. event
96
+ oldTrigger("default."+event.type, data, elem)
97
+ if(event._success){
98
+ event._success(event)
99
+ }
100
+ }
101
+ // code for paused
102
+ if( event.isPaused && event.isPaused() ){
103
+ // set back original stuff
104
+ event.isDefaultPrevented =
105
+ event.pausedState.isDefaultPrevented;
106
+ event.isPropagationStopped =
107
+ event.pausedState.isPropagationStopped;
108
+ }
109
+ return res;
110
+ };
111
+
112
+
113
+
114
+
115
+ })(jQuery)
@@ -0,0 +1,23 @@
1
+ // - jquery.event.destroyed.js
2
+ (function( $ ) {
3
+ /**
4
+ * @attribute destroyed
5
+ * @download http://jmvcsite.heroku.com/pluginify?plugins[]=jquery/dom/destroyed/destroyed.js
6
+ * @test jquery/event/destroyed/qunit.html
7
+ */
8
+
9
+ // Store the old jQuery.cleanData
10
+ var oldClean = jQuery.cleanData;
11
+
12
+ // Overwrites cleanData which is called by jQuery on manipulation methods
13
+ $.cleanData = function( elems ) {
14
+ for ( var i = 0, elem;
15
+ (elem = elems[i]) !== undefined; i++ ) {
16
+ // Trigger the destroyed event
17
+ $(elem).triggerHandler("destroyed");
18
+ }
19
+ // Call the old jQuery.cleanData
20
+ oldClean(elems);
21
+ };
22
+
23
+ })(jQuery)