-
Notifications
You must be signed in to change notification settings - Fork 0
/
as.min.js
1 lines (1 loc) · 6.75 KB
/
as.min.js
1
!function(a,b){var c=a.AS={};c.debug=!1,c.container={_actions:{},_listeners:{}},c.container.set=function(a,b,d){c.log({msg:"AS - container - set",name:a,fn:b,scope:d}),c.container._actions[a]={fn:b,scope:d?d:null}},c.container.remove=function(a){c.log({msg:"AS - container - remove",name:a}),delete c.container._actions[a]},c.container.call=function(a,b){var d,e;return c.log({msg:"AS - container - call",name:a,options:b}),c.container._actions[a]&&"function"==typeof c.container._actions[a].fn.apply?(d=c.container._actions[a].scope?c.container._actions[a].scope:null,e=d?c.container._actions[a].fn.apply(d,[b]):c.container._actions[a].fn(b),c.log({msg:"AS - container - call - result",name:a,result:e,options:b}),e):void 0},c.container.getEventListeners=function(a){return"undefined"!=typeof c.container._listeners[a]?c.container._listeners[a]:[]},c.log=function(){c.debug&&console.log(arguments)},c.execute=function(a,d,e,f){var g,h,i=b(a).first();(null==d||"undefined"==typeof d)&&(d={}),c.log({msg:"AS - execute - start",dom:a,cmd:d});for(g in d)d.hasOwnProperty(g)&&(h=b.extend(!0,{},d[g]),h=h?h:{},h.dom=i.get(0),h.$dom=i,h.domEvent=e,h.result=h.result?h.result:f,f=c.container.call(g,h));return f},c.bind=function(a,d){var e=b(a?a:"body");e.find("[data-as]").each(function(){var a,e,f,g=b(this),h=g.data("asIndex"),i=g.data("asStopPropagation"),j=g.data("asPreventDefault"),k=g.data("as");if("object"!=typeof k)throw new SyntaxError("data-as must be an object");h=h?h:{},i="undefined"==typeof i?!0:i,j="undefined"==typeof j?!0:j;for(a in k)if(k.hasOwnProperty(a)){if("undefined"==typeof c.container._listeners[a]&&(c.container._listeners[a]=[]),f=!1,b(c.container._listeners[a]).each(function(){return this==g.get(0)?(f=!0,!1):void 0}),f||c.container._listeners[a].push(g.get(0)),e=k[a],d)g.off(a);else if(h[a])return;h[a]=1,g.data("asIndex",h),g.on(a,function(a){return function(b){i&&b.stopPropagation(),j&&b.preventDefault(),c.execute(g,a,b)}}(e))}})},c.prepareOptions=function(a,b){var c,d,e,f=0;for(c in b)if(b.hasOwnProperty(c)){for(d=a[c];"undefined"==typeof d;)e=b[c][f++],d=a[e];"undefined"!=typeof d&&(a[c]=d)}},c.assertTrue=function(a,b,c){var d,e;for(d in b)if(b.hasOwnProperty(d)&&(e=b[d],!a[e]))throw new SyntaxError(c+' not allowed null option "'+e+'"')},c.assertDefined=function(a,b,c){var d,e;for(d in b)if(b.hasOwnProperty(d)&&(e=b[d],"undefined"==typeof a[e]))throw new SyntaxError(c+" not allowed undefined option "+e)},c.assertSelector=function(a,c){var d=b(a);if(0==d.length)throw new SyntaxError(c);return d}}(window,jQuery),AS.container.set("bs.modal.load",function(a){AS.assertTrue(a,["url"],"bs.modal.load"),AS.execute(a.dom,{load:{url:a.url,success:{html:{success:{"bs.modal.show":null}}}}},a.domEvent)}),AS.container.set("bs.modal.show",function(a){a.target||(a.target=$(a.dom));var b=$(a.target);if(0==b.length)throw new SyntaxError("bs.modal.show missing content or not html");if("function"!=typeof b.modal)throw new SyntaxError("bs.modal.show missing modal function - bootstrap not loaded?");0==b.closest("body").length&&$("body").append(b),b.modal("show"),(a.removeOnClose||"undefined"==typeof a.removeOnClose)&&b.on("hidden.bs.modal",function(){$(this).remove()})}),AS.container.set("class.add",function(a){AS.assertTrue(a,["class","target"],"class.add");var b=AS.assertSelector(a.target,"class.add empty target");return b.addClass(a.class),a.success&&AS.execute(a.dom,a.success),b.length}),AS.container.set("class.has",function(a){AS.assertTrue(a,["class","target"],"class.add");var b=AS.assertSelector(a.target,"class.add empty target");return b.hasClass(a.class)}),AS.container.set("class.remove",function(a){AS.assertTrue(a,["class","target"],"class.add");var b=AS.assertSelector(a.target,"class.add empty target");return b.removeClass(a.class),a.success&&AS.execute(a.dom,a.success),b.length}),AS.container.set("class.toggle",function(a){AS.assertTrue(a,["target"],"class.toggle"),AS.assertDefined(a,["class"],"class.toggle");var b,c,d=AS.assertSelector(a.target,"class.toggle empty target");return a.parent?(b=a.parent===!0?d.parent():$(a.parent),c=a.children?b.find(a.children):b.children(),c.removeClass(a.class),d.addClass(a.class)):d.toggleClass(a.class),d}),AS.container.set("eval",function(options){return AS.assertTrue(options.exp),eval(options.exp)}),AS.container.set("false",function(){return!1}),AS.container.set("html",function(a){AS.assertDefined(a,["result"]);var b,c,d="object"==typeof a.result?a.result.body:a.result;if(0!=d.trim().indexOf("<")&&(d="<span>"+d+"</span>"),b=$(d),a.target?c=$(a.target):(c=$("body"),a.append=!0),0==b.length)throw new SyntaxError("html not valid - must be enclosed in an html tag");a.append?c.append(b):c.html(b),a.success&&AS.execute(b,a.success),a.complete&&AS.execute(b,a.complete)}),AS.container.set("if",function(a){AS.assertTrue(a,["arg"],"if"),a.then="undefined"==typeof a.then?{}:a.then,a.else="undefined"==typeof a.else?{}:a.else;var b=AS.execute(a.dom,a.arg)?a.then:a.else;return AS.execute(a.dom,b)}),AS.container.set("load",function(a){AS.assertTrue(a,["url"],"load");var b,c,d,e,f,g,h,i,j,k,l,m,n=a.ajaxOptions||{};if(AS.log({msg:"AS - load",options:a}),a.block&&(AS.log({msg:"AS - load - block",block:a.block}),b=a.blockOptions||{},1==a.block&&"function"==typeof $.blockUI?$.blockUI(b):(c=$(a.block),c.length&&"function"==typeof c.block&&c.block(b))),a.data){n.data=n.data||{};for(d in a.data)if(a.data.hasOwnProperty(d)){if(f=a.data[d][0],e=a.data[d][1],g=a.data[d][2]||[],h=$(f),i=h[e],!i)throw new SyntaxError('jQuery of selector "'+f+'" does not have a method "'+e+'"');j=i.apply(h,g),n.data[d]=j,AS.log({msg:"AS - load - data",selector:f,method:e,args:g,value:j})}}n.success=function(b){AS.log({msg:"AS - load - success",options:a,data:b}),a.success&&AS.execute(a.dom,a.success,null,b)},n.complete=function(){AS.log({msg:"AS - load - complete",options:a}),c&&"function"==typeof c.unblock&&c.unblock(),"function"==typeof $.unblockUI&&$.unblockUI(),a.complete&&AS.execute(a.dom,a.complete)},n.error=function(b,c,d){AS.log({msg:"AS - load - error",textStatus:c,errorThrown:d,jqXHR:b,options:a}),a.error&&AS.execute(a.dom,a.error)},k=a.buffer||0,k=parseInt(k,10),1>k?$.ajax(a.url,n):(m=a.$dom||$("body"),l=m.data("asLoadTimer"),clearTimeout(l),l=setTimeout(function(){$.ajax(a.url,n)},k),m.data("asLoadTimer",l))}),AS.container.set("preventDefault",function(a){a.domEvent&&"function"==typeof option.domEvent.preventDefault&&option.domEvent.preventDefault()}),AS.container.set("stopPropagation",function(a){a.domEvent&&"function"==typeof option.domEvent.stopPropagation&&option.domEvent.stopPropagation()}),AS.container.set("trigger",function(a){AS.assertTrue(a,["event"],"trigger");var b,c;return a.selector?(b=$(a.selector),b.trigger(a.event),b.length):(c=AS.container.getEventListeners(a.event),void $(c).each(function(){$(this).trigger(a.event)}))}),AS.container.set("true",function(){return!0}),AS.bind();