summaryrefslogtreecommitdiff
path: root/javascripts/batman.jquery.js
diff options
context:
space:
mode:
authorDaniel Beauchamp <daniel.beauchamp@shopify.com>2012-10-30 05:16:35 -0400
committerDaniel Beauchamp <daniel.beauchamp@shopify.com>2012-10-30 05:16:35 -0400
commita4a4564f760bb1bcd541366186cd46488d5a569b (patch)
tree3737ae6d233464482482880bd858665866686f10 /javascripts/batman.jquery.js
parent3a77d19282f2055559c63468c574b824138464ac (diff)
Added new widgets, and made them more flexible. Ready for 0.1.3!
Diffstat (limited to 'javascripts/batman.jquery.js')
-rw-r--r--javascripts/batman.jquery.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/javascripts/batman.jquery.js b/javascripts/batman.jquery.js
index 6407098..0716b0e 100644
--- a/javascripts/batman.jquery.js
+++ b/javascripts/batman.jquery.js
@@ -1,5 +1,57 @@
(function() {
+ Batman.extend(Batman.DOM, {
+ querySelectorAll: function(node, selector) {
+ return jQuery(selector, node);
+ },
+ querySelector: function(node, selector) {
+ return jQuery(selector, node)[0];
+ },
+ setInnerHTML: function(node, html) {
+ var child, childNodes, result, _i, _j, _len, _len1;
+ childNodes = (function() {
+ var _i, _len, _ref, _results;
+ _ref = node.childNodes;
+ _results = [];
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ child = _ref[_i];
+ _results.push(child);
+ }
+ return _results;
+ })();
+ for (_i = 0, _len = childNodes.length; _i < _len; _i++) {
+ child = childNodes[_i];
+ Batman.DOM.willRemoveNode(child);
+ }
+ result = jQuery(node).html(html);
+ for (_j = 0, _len1 = childNodes.length; _j < _len1; _j++) {
+ child = childNodes[_j];
+ Batman.DOM.didRemoveNode(child);
+ }
+ return result;
+ },
+ removeNode: function(node) {
+ var _ref;
+ Batman.DOM.willRemoveNode(node);
+ if ((_ref = node.parentNode) != null) {
+ _ref.removeChild(node);
+ }
+ return Batman.DOM.didRemoveNode(node);
+ },
+ destroyNode: function(node) {
+ Batman.DOM.willDestroyNode(node);
+ Batman.DOM.willRemoveNode(node);
+ jQuery(node).remove();
+ Batman.DOM.didRemoveNode(node);
+ return Batman.DOM.didDestroyNode(node);
+ },
+ appendChild: function(parent, child) {
+ Batman.DOM.willInsertNode(child);
+ jQuery(parent).append(child);
+ return Batman.DOM.didInsertNode(child);
+ }
+ });
+
Batman.Request.prototype._parseResponseHeaders = function(xhr) {
var headers;
return headers = xhr.getAllResponseHeaders().split('\n').reduce(function(acc, header) {