author | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2013-04-21 15:53:34 (UTC) |
---|---|---|
committer | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2013-04-21 15:53:34 (UTC) |
commit | 0608e045f6aa471916829468f48082ea07a453f4 (patch) (unidiff) | |
tree | 57748b9a76e592ae35b165cd6a203e12493d4044 /frontend/gamma/js/Zepto/event.js | |
parent | 074e70457c90344b3c1cb236105638d692a0066b (diff) | |
download | clipperz-0608e045f6aa471916829468f48082ea07a453f4.zip clipperz-0608e045f6aa471916829468f48082ea07a453f4.tar.gz clipperz-0608e045f6aa471916829468f48082ea07a453f4.tar.bz2 |
Removed extra JS libraries no longer used for the mobile version
Diffstat (limited to 'frontend/gamma/js/Zepto/event.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/gamma/js/Zepto/event.js | 248 |
1 files changed, 0 insertions, 248 deletions
diff --git a/frontend/gamma/js/Zepto/event.js b/frontend/gamma/js/Zepto/event.js deleted file mode 100644 index b40af22..0000000 --- a/frontend/gamma/js/Zepto/event.js +++ b/dev/null | |||
@@ -1,248 +0,0 @@ | |||
1 | // Zepto.js | ||
2 | // (c) 2010-2012 Thomas Fuchs | ||
3 | // Zepto.js may be freely distributed under the MIT license. | ||
4 | |||
5 | ;(function($){ | ||
6 | var $$ = $.zepto.qsa, handlers = {}, _zid = 1, specialEvents={}, | ||
7 | hover = { mouseenter: 'mouseover', mouseleave: 'mouseout' } | ||
8 | |||
9 | specialEvents.click = specialEvents.mousedown = specialEvents.mouseup = specialEvents.mousemove = 'MouseEvents' | ||
10 | |||
11 | function zid(element) { | ||
12 | return element._zid || (element._zid = _zid++) | ||
13 | } | ||
14 | function findHandlers(element, event, fn, selector) { | ||
15 | event = parse(event) | ||
16 | if (event.ns) var matcher = matcherFor(event.ns) | ||
17 | return (handlers[zid(element)] || []).filter(function(handler) { | ||
18 | return handler | ||
19 | && (!event.e || handler.e == event.e) | ||
20 | && (!event.ns || matcher.test(handler.ns)) | ||
21 | && (!fn || zid(handler.fn) === zid(fn)) | ||
22 | && (!selector || handler.sel == selector) | ||
23 | }) | ||
24 | } | ||
25 | function parse(event) { | ||
26 | var parts = ('' + event).split('.') | ||
27 | return {e: parts[0], ns: parts.slice(1).sort().join(' ')} | ||
28 | } | ||
29 | function matcherFor(ns) { | ||
30 | return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)') | ||
31 | } | ||
32 | |||
33 | function eachEvent(events, fn, iterator){ | ||
34 | if ($.isObject(events)) $.each(events, iterator) | ||
35 | else events.split(/\s/).forEach(function(type){ iterator(type, fn) }) | ||
36 | } | ||
37 | |||
38 | function eventCapture(handler, captureSetting) { | ||
39 | return handler.del && | ||
40 | (handler.e == 'focus' || handler.e == 'blur') || | ||
41 | !!captureSetting | ||
42 | } | ||
43 | |||
44 | function realEvent(type) { | ||
45 | return hover[type] || type | ||
46 | } | ||
47 | |||
48 | function add(element, events, fn, selector, getDelegate, capture){ | ||
49 | var id = zid(element), set = (handlers[id] || (handlers[id] = [])) | ||
50 | eachEvent(events, fn, function(event, fn){ | ||
51 | var handler = parse(event) | ||
52 | handler.fn = fn | ||
53 | handler.sel = selector | ||
54 | // emulate mouseenter, mouseleave | ||
55 | if (handler.e in hover) fn = function(e){ | ||
56 | var related = e.relatedTarget | ||
57 | if (!related || (related !== this && !$.contains(this, related))) | ||
58 | return handler.fn.apply(this, arguments) | ||
59 | } | ||
60 | handler.del = getDelegate && getDelegate(fn, event) | ||
61 | var callback = handler.del || fn | ||
62 | handler.proxy = function (e) { | ||
63 | var result = callback.apply(element, [e].concat(e.data)) | ||
64 | if (result === false) e.preventDefault(), e.stopPropagation() | ||
65 | return result | ||
66 | } | ||
67 | handler.i = set.length | ||
68 | set.push(handler) | ||
69 | element.addEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture)) | ||
70 | }) | ||
71 | } | ||
72 | function remove(element, events, fn, selector, capture){ | ||
73 | var id = zid(element) | ||
74 | eachEvent(events || '', fn, function(event, fn){ | ||
75 | findHandlers(element, event, fn, selector).forEach(function(handler){ | ||
76 | delete handlers[id][handler.i] | ||
77 | element.removeEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture)) | ||
78 | }) | ||
79 | }) | ||
80 | } | ||
81 | |||
82 | $.event = { add: add, remove: remove } | ||
83 | |||
84 | $.proxy = function(fn, context) { | ||
85 | if ($.isFunction(fn)) { | ||
86 | var proxyFn = function(){ return fn.apply(context, arguments) } | ||
87 | proxyFn._zid = zid(fn) | ||
88 | return proxyFn | ||
89 | } else if (typeof context == 'string') { | ||
90 | return $.proxy(fn[context], fn) | ||
91 | } else { | ||
92 | throw new TypeError("expected function") | ||
93 | } | ||
94 | } | ||
95 | |||
96 | $.fn.bind = function(event, callback){ | ||
97 | return this.each(function(){ | ||
98 | add(this, event, callback) | ||
99 | }) | ||
100 | } | ||
101 | $.fn.unbind = function(event, callback){ | ||
102 | return this.each(function(){ | ||
103 | remove(this, event, callback) | ||
104 | }) | ||
105 | } | ||
106 | $.fn.one = function(event, callback){ | ||
107 | return this.each(function(i, element){ | ||
108 | add(this, event, callback, null, function(fn, type){ | ||
109 | return function(){ | ||
110 | var result = fn.apply(element, arguments) | ||
111 | remove(element, type, fn) | ||
112 | return result | ||
113 | } | ||
114 | }) | ||
115 | }) | ||
116 | } | ||
117 | |||
118 | var returnTrue = function(){return true}, | ||
119 | returnFalse = function(){return false}, | ||
120 | ignoreProperties = /^([A-Z]|layer[XY]$)/, | ||
121 | eventMethods = { | ||
122 | preventDefault: 'isDefaultPrevented', | ||
123 | stopImmediatePropagation: 'isImmediatePropagationStopped', | ||
124 | stopPropagation: 'isPropagationStopped' | ||
125 | } | ||
126 | function createProxy(event) { | ||
127 | var key, proxy = { originalEvent: event } | ||
128 | for (key in event) | ||
129 | if (!ignoreProperties.test(key) && event[key] !== undefined) proxy[key] = event[key] | ||
130 | |||
131 | $.each(eventMethods, function(name, predicate) { | ||
132 | proxy[name] = function(){ | ||
133 | this[predicate] = returnTrue | ||
134 | return event[name].apply(event, arguments) | ||
135 | } | ||
136 | proxy[predicate] = returnFalse | ||
137 | }) | ||
138 | return proxy | ||
139 | } | ||
140 | |||
141 | // emulates the 'defaultPrevented' property for browsers that have none | ||
142 | function fix(event) { | ||
143 | if (!('defaultPrevented' in event)) { | ||
144 | event.defaultPrevented = false | ||
145 | var prevent = event.preventDefault | ||
146 | event.preventDefault = function() { | ||
147 | this.defaultPrevented = true | ||
148 | prevent.call(this) | ||
149 | } | ||
150 | } | ||
151 | } | ||
152 | |||
153 | $.fn.delegate = function(selector, event, callback){ | ||
154 | return this.each(function(i, element){ | ||
155 | add(element, event, callback, selector, function(fn){ | ||
156 | return function(e){ | ||
157 | var evt, match = $(e.target).closest(selector, element).get(0) | ||
158 | if (match) { | ||
159 | evt = $.extend(createProxy(e), {currentTarget: match, liveFired: element}) | ||
160 | return fn.apply(match, [evt].concat([].slice.call(arguments, 1))) | ||
161 | } | ||
162 | } | ||
163 | }) | ||
164 | }) | ||
165 | } | ||
166 | $.fn.undelegate = function(selector, event, callback){ | ||
167 | return this.each(function(){ | ||
168 | remove(this, event, callback, selector) | ||
169 | }) | ||
170 | } | ||
171 | |||
172 | $.fn.live = function(event, callback){ | ||
173 | $(document.body).delegate(this.selector, event, callback) | ||
174 | return this | ||
175 | } | ||
176 | $.fn.die = function(event, callback){ | ||
177 | $(document.body).undelegate(this.selector, event, callback) | ||
178 | return this | ||
179 | } | ||
180 | |||
181 | $.fn.on = function(event, selector, callback){ | ||
182 | return !selector || $.isFunction(selector) ? | ||
183 | this.bind(event, selector || callback) : this.delegate(selector, event, callback) | ||
184 | } | ||
185 | $.fn.off = function(event, selector, callback){ | ||
186 | return !selector || $.isFunction(selector) ? | ||
187 | this.unbind(event, selector || callback) : this.undelegate(selector, event, callback) | ||
188 | } | ||
189 | |||
190 | $.fn.trigger = function(event, data){ | ||
191 | if (typeof event == 'string' || $.isPlainObject(event)) event = $.Event(event) | ||
192 | fix(event) | ||
193 | event.data = data | ||
194 | return this.each(function(){ | ||
195 | // items in the collection might not be DOM elements | ||
196 | // (todo: possibly support events on plain old objects) | ||
197 | if('dispatchEvent' in this) this.dispatchEvent(event) | ||
198 | }) | ||
199 | } | ||
200 | |||
201 | // triggers event handlers on current element just as if an event occurred, | ||
202 | // doesn't trigger an actual event, doesn't bubble | ||
203 | $.fn.triggerHandler = function(event, data){ | ||
204 | var e, result | ||
205 | this.each(function(i, element){ | ||
206 | e = createProxy(typeof event == 'string' ? $.Event(event) : event) | ||
207 | e.data = data | ||
208 | e.target = element | ||
209 | $.each(findHandlers(element, event.type || event), function(i, handler){ | ||
210 | result = handler.proxy(e) | ||
211 | if (e.isImmediatePropagationStopped()) return false | ||
212 | }) | ||
213 | }) | ||
214 | return result | ||
215 | } | ||
216 | |||
217 | // shortcut methods for `.bind(event, fn)` for each event type | ||
218 | ;('focusin focusout load resize scroll unload click dblclick '+ | ||
219 | 'mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave '+ | ||
220 | 'change select keydown keypress keyup error').split(' ').forEach(function(event) { | ||
221 | $.fn[event] = function(callback) { | ||
222 | return callback ? | ||
223 | this.bind(event, callback) : | ||
224 | this.trigger(event) | ||
225 | } | ||
226 | }) | ||
227 | |||
228 | ;['focus', 'blur'].forEach(function(name) { | ||
229 | $.fn[name] = function(callback) { | ||
230 | if (callback) this.bind(name, callback) | ||
231 | else this.each(function(){ | ||
232 | try { this[name]() } | ||
233 | catch(e) {} | ||
234 | }) | ||
235 | return this | ||
236 | } | ||
237 | }) | ||
238 | |||
239 | $.Event = function(type, props) { | ||
240 | if (typeof type != 'string') props = type, type = props.type | ||
241 | var event = document.createEvent(specialEvents[type] || 'Events'), bubbles = true | ||
242 | if (props) for (var name in props) (name == 'bubbles') ? (bubbles = !!props[name]) : (event[name] = props[name]) | ||
243 | event.initEvent(type, bubbles, true, null, null, null, null, null, null, null, null, null, null, null, null) | ||
244 | event.isDefaultPrevented = function(){ return this.defaultPrevented } | ||
245 | return event | ||
246 | } | ||
247 | |||
248 | })(Zepto) | ||