From dbfbce28a3c40748751c41c38e9f0b5443e6ef55 Mon Sep 17 00:00:00 2001
From: Karl Mikkelsen
Date: Fri, 15 Jun 2012 14:35:49 +1000
Subject: [PATCH 001/166] Performance optimization
---
dom/form_params/form_params.js | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/dom/form_params/form_params.js b/dom/form_params/form_params.js
index e6dd4ebd..45034c52 100644
--- a/dom/form_params/form_params.js
+++ b/dom/form_params/form_params.js
@@ -97,13 +97,11 @@ steal("jquery/dom").then(function( $ ) {
// Find all the inputs
this.find("[name]").each(function() {
-
- var value = params[ $(this).attr("name") ],
- $this;
+ var $this = $(this),
+ value = params[ $this.attr("name") ];
// Don't do all this work if there's no value
if ( value !== undefined ) {
- $this = $(this);
// Nested these if statements for performance
if ( $this.is(":radio") ) {
From bf0e089251889bfb11b29acda9e0d3d35e476356 Mon Sep 17 00:00:00 2001
From: David Luecke
Date: Fri, 15 Jun 2012 10:36:44 -0600
Subject: [PATCH 002/166] Docs for jQuery.fills
---
dom/fills/fills.html | 210 +++++-----------------------------------
dom/fills/fills.js | 131 ++++++++++++-------------
dom/fills/fills.md | 27 +++++-
dom/fills/fills_test.js | 49 +---------
4 files changed, 113 insertions(+), 304 deletions(-)
diff --git a/dom/fills/fills.html b/dom/fills/fills.html
index aa6a3289..fd92600b 100644
--- a/dom/fills/fills.html
+++ b/dom/fills/fills.html
@@ -4,44 +4,10 @@
fill
@@ -125,122 +49,34 @@
Filler
-
Run
-
-
jQuery.support.containerSizeAdjustments:
-
-
-
-
-
-
-
- Nothing ↑
-
-
- No Pad & Bord ↑
-
-
- No Pad & Bord ↓
-
- Nothing ↓
-
-
- |
-
-
-
- Nothing ↑
-
-
- Border ↑
+
+ I am a longer paragraph with margin. I might wrap. Resize the area to see how #mainfiller adjusts.
+ #mainfiller
+ Another paragraph
+
-
- Border ↓
-
- Nothing ↓
-
+ Areas with Scrollbars
- |
-
+ |
-
-
-
-
+
+
-Areas with Scrollbars
-
-
-
-Content
-
-Content
-
-Content
-
-Same container
-
-
From f2517a6e8d5e40f92b01ff2fe6b0dfdcacbbb3e7 Mon Sep 17 00:00:00 2001
From: David Luecke
Date: Fri, 15 Jun 2012 10:39:10 -0600
Subject: [PATCH 004/166] Updating version
---
build/version | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/version b/build/version
index ad0ed1a2..1f4e9e97 100644
--- a/build/version
+++ b/build/version
@@ -1 +1 @@
-1.0b
\ No newline at end of file
+1.0b2
\ No newline at end of file
From 8a39c455cf79b5de4a2d5a6541fb1db5e912de4b Mon Sep 17 00:00:00 2001
From: David Luecke
Date: Fri, 15 Jun 2012 11:18:53 -0600
Subject: [PATCH 005/166] Refactored reverse events. Closes #25
---
event/move/move.js | 77 +---------
event/resize/resize.js | 133 ++++--------------
event/resize/resize_test.js | 2 +-
event/{move => reverse}/qunit.html | 6 +-
.../{move/move.html => reverse/reverse.html} | 0
event/reverse/reverse.js | 88 ++++++++++++
.../move_test.js => reverse/reverse_test.js} | 19 +--
7 files changed, 135 insertions(+), 190 deletions(-)
rename event/{move => reverse}/qunit.html (71%)
rename event/{move/move.html => reverse/reverse.html} (100%)
create mode 100644 event/reverse/reverse.js
rename event/{move/move_test.js => reverse/reverse_test.js} (63%)
diff --git a/event/move/move.js b/event/move/move.js
index dd7f0762..71e12beb 100644
--- a/event/move/move.js
+++ b/event/move/move.js
@@ -1,74 +1,3 @@
-steal('jquery/event').then(function( $ ) {
- var movers = $(),
- moveCount = 0;
-
- /**
- * @attribute move
- */
- $.event.special.move = {
- setup: function() {
- movers.push(this);
- $.unique(movers);
- return true;
- },
- teardown: function() {
- // we shouldn't have to sort
- movers = movers.not(this);
- return true;
- },
- add: function( handleObj ) {
- var origHandler = handleObj.handler;
- handleObj.origHandler = origHandler;
-
- handleObj.handler = function( ev, data ) {
- var isWindow = this === window;
- // if this is the first handler for this event ...
- if ( moveCount === 0 ) {
- // prevent others from doing what we are about to do
- moveCount++;
- var where = data === false ? ev.target : this
-
- // trigger all this element's handlers
- $.event.handle.call(where, ev);
- if ( ev.isPropagationStopped() ) {
- moveCount--;
- return;
- }
-
- // get all other elements within this element that listen to move
- // and trigger their resize events
- var index = movers.index(this),
- length = movers.length,
- child, sub;
-
- // if index == -1 it's the window
- while (++index < length && (child = movers[index]) && (isWindow || $.contains(where, child)) ) {
-
- // call the event
- $.event.handle.call(child, ev);
-
- if ( ev.isPropagationStopped() ) {
- // move index until the item is not in the current child
- while (++index < length && (sub = movers[index]) ) {
- if (!$.contains(child, sub) ) {
- // set index back one
- index--;
- break
- }
- }
- }
- }
-
- // prevent others from responding
- ev.stopImmediatePropagation();
- moveCount--;
- } else {
- handleObj.origHandler.call(this, ev, data);
- }
- }
- }
- };
-
- // automatically bind on these
- $([document, window]).bind('move', function() {})
-})
\ No newline at end of file
+steal('jquery/event/reverse').then(function( $ ) {
+ $.event.reverse('move');
+});
\ No newline at end of file
diff --git a/event/resize/resize.js b/event/resize/resize.js
index efadace7..2a3e54b6 100644
--- a/event/resize/resize.js
+++ b/event/resize/resize.js
@@ -1,6 +1,5 @@
-steal('jquery/event').then(function( $ ) {
- var resizers = $(),
- resizeCount = 0,
+steal('jquery/event/reverse').then(function( $ ) {
+ var
// bind on the window window resizes to happen
win = $(window),
windowWidth = 0,
@@ -10,108 +9,34 @@ steal('jquery/event').then(function( $ ) {
$(function() {
windowWidth = win.width();
windowHeight = win.height();
- })
+ });
+
+ $.event.reverse('resize', {
+ handler : function(ev, data) {
+ var isWindow = this === window;
+
+ // if we are the window and a real resize has happened
+ // then we check if the dimensions actually changed
+ // if they did, we will wait a brief timeout and
+ // trigger resize on the window
+ // this is for IE, to prevent window resize 'infinate' loop issues
+ if ( isWindow && ev.originalEvent ) {
+ var width = win.width(),
+ height = win.height();
+
+
+ if ((width != windowWidth || height != windowHeight)) {
+ //update the new dimensions
+ windowWidth = width;
+ windowHeight = height;
+ clearTimeout(timer)
+ timer = setTimeout(function() {
+ win.trigger("resize");
+ }, 1);
- /**
- * @attribute resize
- */
- $.event.special.resize = {
- setup: function( handleObj ) {
- // add and sort the resizers array
- // don't add window because it can't be compared easily
- if ( this !== window ) {
- resizers.push(this);
- $.unique(resizers);
- }
- // returns false if the window
- return this !== window;
- },
- teardown: function() {
- // we shouldn't have to sort
- resizers = resizers.not(this);
-
- // returns false if the window
- return this !== window;
- },
- add: function( handleObj ) {
- // increment the number of resizer elements
- //$.data(this, "jquery.dom.resizers", ++$.data(this, "jquery.dom.resizers") );
- var origHandler = handleObj.handler;
- handleObj.origHandler = origHandler;
-
- handleObj.handler = function( ev, data ) {
- var isWindow = this === window;
-
- // if we are the window and a real resize has happened
- // then we check if the dimensions actually changed
- // if they did, we will wait a brief timeout and
- // trigger resize on the window
- // this is for IE, to prevent window resize 'infinate' loop issues
- if ( isWindow && ev.originalEvent ) {
- var width = win.width(),
- height = win.height();
-
-
- if ((width != windowWidth || height != windowHeight)) {
- //update the new dimensions
- windowWidth = width;
- windowHeight = height;
- clearTimeout(timer)
- timer = setTimeout(function() {
- win.trigger("resize");
- }, 1);
-
- }
- return;
- }
-
- // if this is the first handler for this event ...
- if ( resizeCount === 0 ) {
- // prevent others from doing what we are about to do
- resizeCount++;
- var where = data === false ? ev.target : this
-
- //trigger all this element's handlers
- $.event.handle.call(where, ev);
- if ( ev.isPropagationStopped() ) {
- resizeCount--;
- return;
- }
-
- // get all other elements within this element that listen to resize
- // and trigger their resize events
- var index = resizers.index(this),
- length = resizers.length,
- child, sub;
-
- // if index == -1 it's the window
- while (++index < length && (child = resizers[index]) && (isWindow || $.contains(where, child)) ) {
-
- // call the event
- $.event.handle.call(child, ev);
-
- if ( ev.isPropagationStopped() ) {
- // move index until the item is not in the current child
- while (++index < length && (sub = resizers[index]) ) {
- if (!$.contains(child, sub) ) {
- // set index back one
- index--;
- break
- }
- }
- }
- }
-
- // prevent others from responding
- ev.stopImmediatePropagation();
- resizeCount--;
- } else {
- handleObj.origHandler.call(this, ev, data);
}
+ return true;
}
}
- };
-
- // automatically bind on these
- $([document, window]).bind('resize', function() {})
-})
\ No newline at end of file
+ });
+});
diff --git a/event/resize/resize_test.js b/event/resize/resize_test.js
index c34be76b..8d329237 100644
--- a/event/resize/resize_test.js
+++ b/event/resize/resize_test.js
@@ -36,7 +36,7 @@ steal('funcunit/qunit', 'jquery/event/resize').then(function() {
var ids = []
record = function( ev ) {
- ids.push(this.id ? this.id : this)
+ ids.push(this.id ? this.id : this.tagName.toLowerCase())
if ( this.id == '1' ) {
ev.stopPropagation();
}
diff --git a/event/move/qunit.html b/event/reverse/qunit.html
similarity index 71%
rename from event/move/qunit.html
rename to event/reverse/qunit.html
index a5b65353..72e59180 100644
--- a/event/move/qunit.html
+++ b/event/reverse/qunit.html
@@ -1,12 +1,12 @@
- jQuery.event.move QUnit Test
-
+ jQuery.event.reverse QUnit Test
+
-
+
diff --git a/event/move/move.html b/event/reverse/reverse.html
similarity index 100%
rename from event/move/move.html
rename to event/reverse/reverse.html
diff --git a/event/reverse/reverse.js b/event/reverse/reverse.js
new file mode 100644
index 00000000..cd62965d
--- /dev/null
+++ b/event/reverse/reverse.js
@@ -0,0 +1,88 @@
+steal('jquery/event').then(function( $ ) {
+ $.event.reverse = function(name, attributes) {
+ var bound = $(),
+ count = 0;
+
+ $.event.special[name] = {
+ setup: function() {
+ // add and sort the resizers array
+ // don't add window because it can't be compared easily
+ if ( this !== window ) {
+ bound.push(this);
+ $.unique(bound);
+ }
+ // returns false if the window
+ return this !== window;
+ },
+ teardown: function() {
+ // we shouldn't have to sort
+ bound = bound.not(this);
+ // returns false if the window
+ return this !== window;
+ },
+ add: function( handleObj ) {
+ var origHandler = handleObj.handler;
+ handleObj.origHandler = origHandler;
+
+ handleObj.handler = function( ev, data ) {
+ var isWindow = this === window;
+ if(attributes && attributes.handler) {
+ var result = attributes.handler.apply(this, arguments);
+ if(result === true) {
+ return;
+ }
+ }
+
+ // if this is the first handler for this event ...
+ if ( count === 0 ) {
+ // prevent others from doing what we are about to do
+ count++;
+ var where = data === false ? ev.target : this
+
+ // trigger all this element's handlers
+ $.event.handle.call(where, ev);
+ if ( ev.isPropagationStopped() ) {
+ count--;
+ return;
+ }
+
+ // get all other elements within this element that listen to move
+ // and trigger their resize events
+ var index = bound.index(this),
+ length = bound.length,
+ child, sub;
+
+ // if index == -1 it's the window
+ while (++index < length && (child = bound[index]) && (isWindow || $.contains(where, child)) ) {
+
+ // call the event
+ $.event.handle.call(child, ev);
+
+ if ( ev.isPropagationStopped() ) {
+ // move index until the item is not in the current child
+ while (++index < length && (sub = bound[index]) ) {
+ if (!$.contains(child, sub) ) {
+ // set index back one
+ index--;
+ break
+ }
+ }
+ }
+ }
+
+ // prevent others from responding
+ ev.stopImmediatePropagation();
+ count--;
+ } else {
+ handleObj.origHandler.call(this, ev, data);
+ }
+ }
+ }
+ };
+
+ // automatically bind on these
+ $([document, window]).bind(name, function() {});
+
+ return $.event.special[name];
+ }
+})
\ No newline at end of file
diff --git a/event/move/move_test.js b/event/reverse/reverse_test.js
similarity index 63%
rename from event/move/move_test.js
rename to event/reverse/reverse_test.js
index db412ff1..dccd0c87 100644
--- a/event/move/move_test.js
+++ b/event/reverse/reverse_test.js
@@ -1,17 +1,20 @@
steal('funcunit/qunit', 'jquery/event/move').then(function() {
- test('Event bubbling', 2, function() {
+ $.event.reverse('test');
+
+ test('Event bubbling', 3, function() {
$('#qunit-test-area').html('');
- $('#innermost').on('move', function(ev) {
+ $('#innermost').on('test', function(ev) {
ok(true, 'Event reached #innermost div');
});
- $('#outer').trigger('move');
- $('body').trigger('move');
+ $('#outer').trigger('test');
+ $('body').trigger('test');
+ $(window).trigger('test');
});
test('stopPropagation', 2, function() {
@@ -21,16 +24,16 @@ steal('funcunit/qunit', 'jquery/event/move').then(function() {
'' +
'');
- $('#inner').on('move', function(ev) {
+ $('#inner').on('test', function(ev) {
ok(true, 'Event reached #inner div');
ev.stopPropagation();
});
- $('#innermost').on('move', function(ev) {
+ $('#innermost').on('test', function(ev) {
ok(false, 'Event should not reach #innermost div');
});
- $('#outer').trigger('move');
- $('body').trigger('move');
+ $('#outer').trigger('test');
+ $('body').trigger('test');
});
});
\ No newline at end of file
From f0e6896b0873466dbd7a38ec8c58a69e357d3550 Mon Sep 17 00:00:00 2001
From: David Luecke
Date: Fri, 15 Jun 2012 11:21:55 -0600
Subject: [PATCH 006/166] Updated tests
---
qunit.html | 255 +++------------------------------------------------
test/test.js | 24 +++++
2 files changed, 38 insertions(+), 241 deletions(-)
create mode 100644 test/test.js
diff --git a/qunit.html b/qunit.html
index 029f88b8..bb4ab011 100644
--- a/qunit.html
+++ b/qunit.html
@@ -1,243 +1,16 @@
-
-
-
- jQuery++ Test
-
-
-
-
-
-
-
-
-
-
-
-