-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfusion.min.js
executable file
·12 lines (12 loc) · 5.91 KB
/
fusion.min.js
1
2
3
4
5
6
7
8
9
10
11
12
(function(a){var b=function(){},e={version:"1.3.6"},p=function(g,f,d){var c;c=f&&f.hasOwnProperty("constructor")?f.constructor:function(){return g.apply(this,arguments)};c=a.extend(!0,{},c,g);b.prototype=g.prototype;c.prototype=new b;f&&(c.prototype=a.extend(!0,{},c.prototype,f));d&&(c=a.extend(!0,{},c,d));c.prototype.constructor=c;c.__super__=g.prototype;return c},n=function(a,f){var d=p(this,a,f);d.extend=n;return d};(function(a){var f=function(a){this.data={options:{}};for(var c in a)this.data[c]=
a[c];this.name=null;this.isValidEvent=!0;this.propagationStopped=!1};f.prototype.stopPropagation=function(){this.propagationStopped=!0;return!1};f.prototype.isPropagationStopped=function(){return this.propagationStopped};f.prototype.initialize=function(a){this.propagationStopped=!1;for(var c in a)void 0!==this.prototype[c]&&(this.data[c]=a[c])};f.prototype.getData=function(a){return void 0===a?this.data:this.data[a]};f.prototype.extend=n;a.event=new f})(e);(function(a){b=function(){this.collection=
[]};b.prototype.add=function(a,d,c,b){if(void 0===a)throw Error("eventName must be defined.");if(void 0===d)throw Error("handler must be defined.");if(void 0===c)throw Error("priority must be defined.");this.collection.push({name:a,priority:c,handler:d,context:b});return this};b.prototype.remove=function(a,d,c,b){var e=[],g,k;for(k in this.collection)g=this.collection[k],g.name==a&&(void 0===d?e.push(this.collection.splice(k,1)):d==g.handler&&c==g.priority&&(void 0===b?e.push(this.collection.splice(k,
1)):b==g.context&&e.push(this.collection.splice(k,1))));return!!e.length};b.prototype.all=function(a){if(void 0===a)throw Error("eventName must be defined.");var d=[],c,b;for(b in this.collection)c=this.collection[b],c.name==a&&d.push(c);d.sort(function(a,c){return a.priority>c.priority?1:-1});return d};a.fused=new b})(e);(function(a){b=function(){this.collection=[]};b.prototype.add=function(a,d){if(void 0!==this.collection[a])throw Error("Event with name '"+a+"' already exists!");d=void 0===d?{}:
d;d.eventName=a;this.collection[a]=d;return this};b.prototype.has=function(a){return void 0!==this.collection[a]};b.prototype.get=function(a){return this.collection[a]};a.events=new b})(e);e.fuse=function(a,b,d,c){if(void 0===e.events.get(a))throw Error("Fused event '"+a+"' does not exist.");if(null===d||void 0===d)d=50;e.fused.add(a,b,d,c)};e.bind=e.fuse;e.defuse=function(a,b,d){if(!e.events.has(a))throw Error("Fused event '"+a+"' does not exist.");if(null===d||void 0===d)d=50;e.fused.remove(a,b,
d)};e.unbind=e.defuse;e.ignite=function(a,b){var d=e.fused.all(a),c,l,h,m;if(!e.events.has(a))throw Error("Fused event '"+a+"' does not exist.");c=e.events.get(a);if(!c.isValidEvent)throw Error("Fused event '"+a+"' does not have a valid event class.");c.initialize(b);for(l in d)if(d.hasOwnProperty(l)&&(h=d[l].handler,m=d[l].context,h=void 0!==m?jQuery.proxy(h,m,c)():h(c),!1===h||c.isPropagationStopped())){c.stopPropagation();break}return c};e.trigger=e.ignite;a.fn.fusion=e;window.$f=void 0===window.$f?
a.fn.fusion:window.$f})(jQuery);(function(a){var b=a.event.extend({window:window,document:document});a.events.add("DOCUMENT_LOAD",b);a.events.add("DOCUMENT_UNLOAD",b);$(function(){a.ignite("DOCUMENT_LOAD",{window:window,document:document});$(document).unload(function(){a.ignite("DOCUMENT_UNLOAD",{window:window,document:document})})})})($.fn.fusion);(function(a){a.events.add("INPUT_BLUR",a.event.extend({input:null}));a.events.add("INPUT_FOCUS",a.event.extend({input:null}));a.events.add("INPUT_FOCUS_IN",a.event.extend({input:null}));a.events.add("INPUT_FOCUS_OUT",a.event.extend({input:null}));a.events.add("INPUT_CHANGE",a.event.extend({input:null}));a.events.add("INPUT_CLICK",a.event.extend({input:null}));a.events.add("INPUT_DOUBLE_CLICK",a.event.extend({input:null}));a.events.add("INPUT_HOVER",a.event.extend({input:null}));a.events.add("INPUT_MOUSE_DOWN",
a.event.extend({input:null}));a.events.add("INPUT_MOUSE_ENTER",a.event.extend({input:null}));a.events.add("INPUT_MOUSE_LEAVE",a.event.extend({input:null}));a.events.add("INPUT_MOUSE_MOVE",a.event.extend({input:null}));a.events.add("INPUT_MOUSE_OUT",a.event.extend({input:null}));a.events.add("INPUT_MOUSE_OVER",a.event.extend({input:null}));a.events.add("INPUT_MOUSE_UP",a.event.extend({input:null}));a.events.add("INPUT_KEY_PRESS",a.event.extend({input:null,key:null}));a.events.add("INPUT_KEY_UP",a.event.extend({input:null,
key:null}));a.events.add("INPUT_KEY_DOWN",a.event.extend({input:null,key:null}));$(function(){$(document).on("blur",":input",function(){a.ignite("INPUT_BLUR",{input:this})}).on("focus",":input",function(){a.ignite("INPUT_FOCUS",{input:this})}).on("focusin",":input",function(){a.ignite("INPUT_FOCUS_IN",{input:this})}).on("focusout",":input",function(){a.ignite("INPUT_FOCUS_OUT",{input:this})}).on("change",":input",function(){a.ignite("INPUT_CHANGE",{input:this})}).on("click",":input",function(){a.ignite("INPUT_CLICK",
{input:this})}).on("dblclick",":input",function(){a.ignite("INPUT_DOUBLE_CLICK",{input:this})}).on("hover",":input",function(){a.ignite("INPUT_HOVER",{input:this})}).on("mousedown",":input",function(){a.ignite("INPUT_MOUSE_DOWN",{input:this})}).on("mouseenter",":input",function(){a.ignite("INPUT_MOUSE_ENTER",{input:this})}).on("mouseleave",":input",function(){a.ignite("INPUT_MOUSE_LEAVE",{input:this})}).on("mousemove",":input",function(){a.ignite("INPUT_MOUSE_MOVE",{input:this})}).on("mouseout",":input",
function(){a.ignite("INPUT_MOUSE_OUT",{input:this})}).on("mouseover",":input",function(){a.ignite("INPUT_MOUSE_OVER",{input:this})}).on("mouseup",":input",function(){a.ignite("INPUT_MOUSE_UP",{input:this})}).on("keypress",":input",function(b){a.ignite("INPUT_KEY_PRESS",{input:this,key:"number"==typeof b.which?b.which:b.keyCode})}).on("keyup",":input",function(b){a.ignite("INPUT_KEY_UP",{input:this,key:"number"==typeof b.which?b.which:b.keyCode})}).on("keydown",":input",function(b){a.ignite("INPUT_KEY_DOWN",
{input:this,key:"number"==typeof b.which?b.which:b.keyCode})})})})($.fn.fusion);