Skip to content

Commit 3d87b46

Browse files
committed
3.0.5
1 parent 954d249 commit 3d87b46

File tree

3 files changed

+668
-0
lines changed

3 files changed

+668
-0
lines changed

dist/amd/can-jquery.js

+185
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
/*can-jquery@3.0.4#can-jquery*/
2+
define(function (require, exports, module) {
3+
var $ = require('jquery');
4+
var ns = require('can-util/namespace');
5+
var buildFragment = require('can-util/dom/fragment');
6+
var domEvents = require('can-util/dom/events');
7+
var domData = require('can-util/dom/data');
8+
var domDispatch = require('can-util/dom/dispatch');
9+
var each = require('can-util/js/each');
10+
var getChildNodes = require('can-util/dom/child-nodes');
11+
var isArrayLike = require('can-util/js/is-array-like');
12+
var makeArray = require('can-util/js/make-array');
13+
var mutate = require('can-util/dom/mutate');
14+
var setImmediate = require('can-util/js/set-immediate');
15+
var canViewModel = require('can-view-model');
16+
var MO = require('can-util/dom/mutation-observer');
17+
module.exports = ns.$ = $;
18+
var specialEvents = {};
19+
var nativeDispatchEvents = { focus: true };
20+
var inSpecial = false;
21+
var EVENT_HANDLER = 'can-jquery.eventHandler';
22+
var slice = Array.prototype.slice;
23+
if ($) {
24+
var domDispatch = domEvents.dispatch;
25+
domEvents.dispatch = function (event, args) {
26+
if (!specialEvents[event] && !nativeDispatchEvents[event]) {
27+
$(this).trigger(event, args);
28+
} else {
29+
domDispatch.apply(this, arguments);
30+
}
31+
};
32+
var addEventListener = domEvents.addEventListener;
33+
domEvents.addEventListener = function (event, callback) {
34+
var handler;
35+
if (!inSpecial) {
36+
if (event === 'removed') {
37+
var element = this;
38+
handler = function (ev) {
39+
ev.eventArguments = slice.call(arguments, 1);
40+
domEvents.removeEventListener.call(element, event, handler);
41+
var self = this, args = arguments;
42+
if (MO()) {
43+
return callback.apply(self, args);
44+
} else {
45+
return setImmediate(function () {
46+
return callback.apply(self, args);
47+
});
48+
}
49+
};
50+
domData.set.call(callback, EVENT_HANDLER, handler);
51+
}
52+
$(this).on(event, handler || callback);
53+
return;
54+
}
55+
return addEventListener.call(this, event, handler || callback);
56+
};
57+
var removeEventListener = domEvents.removeEventListener;
58+
domEvents.removeEventListener = function (event, callback) {
59+
if (!inSpecial) {
60+
var eventHandler;
61+
if (event === 'removed') {
62+
eventHandler = domData.get.call(callback, EVENT_HANDLER);
63+
}
64+
$(this).off(event, eventHandler || callback);
65+
return;
66+
}
67+
return removeEventListener.apply(this, arguments);
68+
};
69+
var delegateEventType = function delegateEventType(type) {
70+
var typeMap = {
71+
focus: 'focusin',
72+
blur: 'focusout'
73+
};
74+
return typeMap[type] || type;
75+
};
76+
domEvents.addDelegateListener = function (type, selector, callback) {
77+
$(this).on(delegateEventType(type), selector, callback);
78+
};
79+
domEvents.removeDelegateListener = function (type, selector, callback) {
80+
$(this).off(delegateEventType(type), selector, callback);
81+
};
82+
var withSpecial = function withSpecial(callback) {
83+
return function () {
84+
inSpecial = true;
85+
callback.apply(this, arguments);
86+
inSpecial = false;
87+
};
88+
};
89+
var setupSpecialEvent = function setupSpecialEvent(eventName) {
90+
specialEvents[eventName] = true;
91+
var handler = function () {
92+
$(this).trigger(eventName);
93+
};
94+
$.event.special[eventName] = {
95+
noBubble: true,
96+
setup: withSpecial(function () {
97+
domEvents.addEventListener.call(this, eventName, handler);
98+
}),
99+
teardown: withSpecial(function () {
100+
domEvents.removeEventListener.call(this, eventName, handler);
101+
})
102+
};
103+
};
104+
[
105+
'inserted',
106+
'removed',
107+
'attributes'
108+
].forEach(setupSpecialEvent);
109+
var oldDomManip = $.fn.domManip, cbIndex;
110+
$.fn.domManip = function () {
111+
for (var i = 1; i < arguments.length; i++) {
112+
if (typeof arguments[i] === 'function') {
113+
cbIndex = i;
114+
break;
115+
}
116+
}
117+
return oldDomManip.apply(this, arguments);
118+
};
119+
$(document.createElement('div')).append(document.createElement('div'));
120+
if (cbIndex === undefined) {
121+
$.fn.domManip = oldDomManip;
122+
each([
123+
'after',
124+
'prepend',
125+
'before',
126+
'append',
127+
'replaceWith'
128+
], function (name) {
129+
var original = $.fn[name];
130+
$.fn[name] = function () {
131+
var elems = [], args = makeArray(arguments);
132+
if (args[0] != null) {
133+
if (typeof args[0] === 'string') {
134+
args[0] = buildFragment(args[0]);
135+
}
136+
if (args[0].nodeType === 11) {
137+
elems = getChildNodes(args[0]);
138+
} else if (isArrayLike(args[0])) {
139+
elems = makeArray(args[0]);
140+
} else {
141+
elems = [args[0]];
142+
}
143+
}
144+
var ret = original.apply(this, args);
145+
mutate.inserted(elems);
146+
return ret;
147+
};
148+
});
149+
} else {
150+
$.fn.domManip = cbIndex === 2 ? function (args, table, callback) {
151+
return oldDomManip.call(this, args, table, function (elem) {
152+
var elems;
153+
if (elem.nodeType === 11) {
154+
elems = makeArray(getChildNodes(elem));
155+
}
156+
var ret = callback.apply(this, arguments);
157+
mutate.inserted(elems ? elems : [elem]);
158+
return ret;
159+
});
160+
} : function (args, callback) {
161+
return oldDomManip.call(this, args, function (elem) {
162+
var elems;
163+
if (elem.nodeType === 11) {
164+
elems = makeArray(getChildNodes(elem));
165+
}
166+
var ret = callback.apply(this, arguments);
167+
mutate.inserted(elems ? elems : [elem]);
168+
return ret;
169+
});
170+
};
171+
}
172+
var oldClean = $.cleanData;
173+
$.cleanData = function (elems) {
174+
$.each(elems, function (i, elem) {
175+
if (elem) {
176+
domDispatch.call(elem, 'removed', [], false);
177+
}
178+
});
179+
oldClean(elems);
180+
};
181+
$.fn.viewModel = function () {
182+
return canViewModel(this[0]);
183+
};
184+
}
185+
});

dist/cjs/can-jquery.js

+183
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
/*can-jquery@3.0.4#can-jquery*/
2+
var $ = require('jquery');
3+
var ns = require('can-util/namespace');
4+
var buildFragment = require('can-util/dom/fragment/fragment');
5+
var domEvents = require('can-util/dom/events/events');
6+
var domData = require('can-util/dom/data/data');
7+
var domDispatch = require('can-util/dom/dispatch/dispatch');
8+
var each = require('can-util/js/each/each');
9+
var getChildNodes = require('can-util/dom/child-nodes/child-nodes');
10+
var isArrayLike = require('can-util/js/is-array-like/is-array-like');
11+
var makeArray = require('can-util/js/make-array/make-array');
12+
var mutate = require('can-util/dom/mutate/mutate');
13+
var setImmediate = require('can-util/js/set-immediate/set-immediate');
14+
var canViewModel = require('can-view-model');
15+
var MO = require('can-util/dom/mutation-observer/mutation-observer');
16+
module.exports = ns.$ = $;
17+
var specialEvents = {};
18+
var nativeDispatchEvents = { focus: true };
19+
var inSpecial = false;
20+
var EVENT_HANDLER = 'can-jquery.eventHandler';
21+
var slice = Array.prototype.slice;
22+
if ($) {
23+
var domDispatch = domEvents.dispatch;
24+
domEvents.dispatch = function (event, args) {
25+
if (!specialEvents[event] && !nativeDispatchEvents[event]) {
26+
$(this).trigger(event, args);
27+
} else {
28+
domDispatch.apply(this, arguments);
29+
}
30+
};
31+
var addEventListener = domEvents.addEventListener;
32+
domEvents.addEventListener = function (event, callback) {
33+
var handler;
34+
if (!inSpecial) {
35+
if (event === 'removed') {
36+
var element = this;
37+
handler = function (ev) {
38+
ev.eventArguments = slice.call(arguments, 1);
39+
domEvents.removeEventListener.call(element, event, handler);
40+
var self = this, args = arguments;
41+
if (MO()) {
42+
return callback.apply(self, args);
43+
} else {
44+
return setImmediate(function () {
45+
return callback.apply(self, args);
46+
});
47+
}
48+
};
49+
domData.set.call(callback, EVENT_HANDLER, handler);
50+
}
51+
$(this).on(event, handler || callback);
52+
return;
53+
}
54+
return addEventListener.call(this, event, handler || callback);
55+
};
56+
var removeEventListener = domEvents.removeEventListener;
57+
domEvents.removeEventListener = function (event, callback) {
58+
if (!inSpecial) {
59+
var eventHandler;
60+
if (event === 'removed') {
61+
eventHandler = domData.get.call(callback, EVENT_HANDLER);
62+
}
63+
$(this).off(event, eventHandler || callback);
64+
return;
65+
}
66+
return removeEventListener.apply(this, arguments);
67+
};
68+
var delegateEventType = function delegateEventType(type) {
69+
var typeMap = {
70+
focus: 'focusin',
71+
blur: 'focusout'
72+
};
73+
return typeMap[type] || type;
74+
};
75+
domEvents.addDelegateListener = function (type, selector, callback) {
76+
$(this).on(delegateEventType(type), selector, callback);
77+
};
78+
domEvents.removeDelegateListener = function (type, selector, callback) {
79+
$(this).off(delegateEventType(type), selector, callback);
80+
};
81+
var withSpecial = function withSpecial(callback) {
82+
return function () {
83+
inSpecial = true;
84+
callback.apply(this, arguments);
85+
inSpecial = false;
86+
};
87+
};
88+
var setupSpecialEvent = function setupSpecialEvent(eventName) {
89+
specialEvents[eventName] = true;
90+
var handler = function () {
91+
$(this).trigger(eventName);
92+
};
93+
$.event.special[eventName] = {
94+
noBubble: true,
95+
setup: withSpecial(function () {
96+
domEvents.addEventListener.call(this, eventName, handler);
97+
}),
98+
teardown: withSpecial(function () {
99+
domEvents.removeEventListener.call(this, eventName, handler);
100+
})
101+
};
102+
};
103+
[
104+
'inserted',
105+
'removed',
106+
'attributes'
107+
].forEach(setupSpecialEvent);
108+
var oldDomManip = $.fn.domManip, cbIndex;
109+
$.fn.domManip = function () {
110+
for (var i = 1; i < arguments.length; i++) {
111+
if (typeof arguments[i] === 'function') {
112+
cbIndex = i;
113+
break;
114+
}
115+
}
116+
return oldDomManip.apply(this, arguments);
117+
};
118+
$(document.createElement('div')).append(document.createElement('div'));
119+
if (cbIndex === undefined) {
120+
$.fn.domManip = oldDomManip;
121+
each([
122+
'after',
123+
'prepend',
124+
'before',
125+
'append',
126+
'replaceWith'
127+
], function (name) {
128+
var original = $.fn[name];
129+
$.fn[name] = function () {
130+
var elems = [], args = makeArray(arguments);
131+
if (args[0] != null) {
132+
if (typeof args[0] === 'string') {
133+
args[0] = buildFragment(args[0]);
134+
}
135+
if (args[0].nodeType === 11) {
136+
elems = getChildNodes(args[0]);
137+
} else if (isArrayLike(args[0])) {
138+
elems = makeArray(args[0]);
139+
} else {
140+
elems = [args[0]];
141+
}
142+
}
143+
var ret = original.apply(this, args);
144+
mutate.inserted(elems);
145+
return ret;
146+
};
147+
});
148+
} else {
149+
$.fn.domManip = cbIndex === 2 ? function (args, table, callback) {
150+
return oldDomManip.call(this, args, table, function (elem) {
151+
var elems;
152+
if (elem.nodeType === 11) {
153+
elems = makeArray(getChildNodes(elem));
154+
}
155+
var ret = callback.apply(this, arguments);
156+
mutate.inserted(elems ? elems : [elem]);
157+
return ret;
158+
});
159+
} : function (args, callback) {
160+
return oldDomManip.call(this, args, function (elem) {
161+
var elems;
162+
if (elem.nodeType === 11) {
163+
elems = makeArray(getChildNodes(elem));
164+
}
165+
var ret = callback.apply(this, arguments);
166+
mutate.inserted(elems ? elems : [elem]);
167+
return ret;
168+
});
169+
};
170+
}
171+
var oldClean = $.cleanData;
172+
$.cleanData = function (elems) {
173+
$.each(elems, function (i, elem) {
174+
if (elem) {
175+
domDispatch.call(elem, 'removed', [], false);
176+
}
177+
});
178+
oldClean(elems);
179+
};
180+
$.fn.viewModel = function () {
181+
return canViewModel(this[0]);
182+
};
183+
}

0 commit comments

Comments
 (0)