ttrss/lib/dojo/on.js

8 lines
5.5 KiB
JavaScript
Raw Normal View History

2012-08-14 14:59:10 +00:00
/*
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
//>>built
define("dojo/on",["./has!dom-addeventlistener?:./aspect","./_base/kernel","./has"],function(_1,_2,_3){"use strict";if(1){var _4=window.ScriptEngineMajorVersion;_3.add("jscript",_4&&(_4()+ScriptEngineMinorVersion()/10));_3.add("event-orientationchange",_3("touch")&&!_3("android"));}var on=function(_5,_6,_7,_8){if(_5.on){return _5.on(_6,_7);}return on.parse(_5,_6,_7,_9,_8,this);};on.pausable=function(_a,_b,_c,_d){var _e;var _f=on(_a,_b,function(){if(!_e){return _c.apply(this,arguments);}},_d);_f.pause=function(){_e=true;};_f.resume=function(){_e=false;};return _f;};on.once=function(_10,_11,_12,_13){var _14=on(_10,_11,function(){_14.remove();return _12.apply(this,arguments);});return _14;};on.parse=function(_15,_16,_17,_18,_19,_1a){if(_16.call){return _16.call(_1a,_15,_17);}if(_16.indexOf(",")>-1){var _1b=_16.split(/\s*,\s*/);var _1c=[];var i=0;var _1d;while(_1d=_1b[i++]){_1c.push(_18(_15,_1d,_17,_19,_1a));}_1c.remove=function(){for(var i=0;i<_1c.length;i++){_1c[i].remove();}};return _1c;}return _18(_15,_16,_17,_19,_1a);};var _1e=/^touch/;function _9(_1f,_20,_21,_22,_23){var _24=_20.match(/(.*):(.*)/);if(_24){_20=_24[2];_24=_24[1];return on.selector(_24,_20).call(_23,_1f,_21);}if(_3("touch")){if(_1e.test(_20)){_21=_25(_21);}if(!_3("event-orientationchange")&&(_20=="orientationchange")){_20="resize";_1f=window;_21=_25(_21);}}if(_1f.addEventListener){var _26=_20 in _27;_1f.addEventListener(_26?_27[_20]:_20,_21,_26);return {remove:function(){_1f.removeEventListener(_20,_21,_26);}};}_20="on"+_20;if(_28&&_1f.attachEvent){return _28(_1f,_20,_21);}throw new Error("Target must be an event emitter");};on.selector=function(_29,_2a,_2b){return function(_2c,_2d){var _2e=this;var _2f=_2a.bubble;if(_2f){_2a=_2f;}else{if(_2b!==false){_2b=true;}}return on(_2c,_2a,function(_30){var _31=_30.target;_2e=_2e&&_2e.matches?_2e:_2.query;while(!_2e.matches(_31,_29,_2c)){if(_31==_2c||!_2b||!(_31=_31.parentNode)){return;}}return _2d.call(_31,_30);});};};function _32(){this.cancelable=false;};function _33(){this.bubbles=false;};var _34=[].slice,_35=on.emit=function(_36,_37,_38){var _39=_34.call(arguments,2);var _3a="on"+_37;if("parentNode" in _36){var _3b=_39[0]={};for(var i in _38){_3b[i]=_38[i];}_3b.preventDefault=_32;_3b.stopPropagation=_33;_3b.target=_36;_3b.type=_37;_38=_3b;}do{_36[_3a]&&_36[_3a].apply(_36,_39);}while(_38&&_38.bubbles&&(_36=_36.parentNode));return _38&&_38.cancelable&&_38;};var _27={};if(_3("dom-addeventlistener")){_27={focusin:"focus",focusout:"blur"};if(_3("opera")){_27.keydown="keypress";}on.emit=function(_3c,_3d,_3e){if(_3c.dispatchEvent&&document.createEvent){var _3f=document.createEvent("HTMLEvents");_3f.initEvent(_3d,!!_3e.bubbles,!!_3e.cancelable);for(var i in _3e){var _40=_3e[i];if(!(i in _3f)){_3f[i]=_3e[i];}}return _3c.dispatchEvent(_3f)&&_3f;}return _35.apply(on,arguments);};}else{on._fixEvent=function(evt,_41){if(!evt){var w=_41&&(_41.ownerDocument||_41.document||_41).parentWindow||window;evt=w.event;}if(!evt){return (evt);}if(!evt.target){evt.target=evt.srcElement;evt.currentTarget=(_41||evt.srcElement);if(evt.type=="mouseover"){evt.relatedTarget=evt.fromElement;}if(evt.type=="mouseout"){evt.relatedTarget=evt.toElement;}if(!evt.stopPropagation){evt.stopPropagation=_42;evt.preventDefault=_43;}switch(evt.type){case "keypress":var c=("charCode" in evt?evt.charCode:evt.keyCode);if(c==10){c=0;evt.keyCode=13;}else{if(c==13||c==27){c=0;}else{if(c==3){c=99;}}}evt.charCode=c;_44(evt);break;}}return evt;};var _45=function(_46){this.handle=_46;};_45.prototype.remove=function(){delete _dojoIEListeners_[this.handle];};var _47=function(_48){return function(evt){evt=on._fixEvent(evt,this);return _48.call(this,evt);};};var _28=function(_49,_4a,_4b){_4b=_47(_4b);if(((_49.ownerDocument?_49.ownerDocument.parentWindow:_49.parentWindow||_49.window||window)!=top||_3("jscript")<5.8)&&!_3("config-_allow_leaks")){if(typeof _dojoIEListeners_=="undefined"){_dojoIEListeners_=[];}var _4c=_49[_4a];if(!_4c||!_4c.listeners){var _4d=_4c;_49[_4a]=_4c=Function("event","var callee = arguments.callee; for(var i = 0; i<callee.listeners.length; i++){var