src/pyams_skin/resources/js/myams-plugins-loader.min.js
changeset 466 c86acac9dff5
child 469 46e128be7e1c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/myams-plugins-loader.min.js	Tue Nov 20 09:09:31 2018 +0100
@@ -0,0 +1,1 @@
+!function(f,a){var n=a.MyAMS,p=n;n.plugins={enabled:{},init:function(c){p.plugins.initData(c);var e=[];f("[data-ams-plugins-disabled]",c).each(function(){for(var a=f(this).data("ams-plugins-disabled").split(/\s+/),n=0;n<a.length;n++)e.push(a[n])});var l,i,s={};function r(a,n){if(s.hasOwnProperty(a)){var e=s[a];e.css=e.css||n.css,e.callbacks.push({callback:n.callback,context:n.context}),n.register&&(e.register=!0),!1===n.async&&(e.async=!1)}else s[a]={src:n.src,css:n.css,callbacks:[{callback:n.callback,context:n.context}],register:n.register,async:n.async};n.css&&p.getCSS(n.css,a+"_css")}function a(a){var n,e,s=i.callbacks;if(s&&s.length){for(n=0;n<s.length;n++)if((e=s[n]).callback=p.getFunctionByName(e.callback),!1!==i.register){var t=p.plugins.enabled;t.hasOwnProperty(l)?t[l].push(e):t[l]=[e]}}else!1!==i.register&&(p.plugins.enabled[l]=null);if(!0!==a&&s&&s.length&&!1!==i.async)for(n=0;n<s.length;n++)e=s[n],p.executeFunctionByName(e.callback,c,e.context)}function n(){var a=p.plugins.enabled[l];for(t=0;t<a.length;t++){var n=a[t];n&&n.context&&!p.isInDOM(n.context)&&(a[t]=null)}}for(l in f("[data-ams-plugins]",c).each(function(){var a=f(this),n=a.data("ams-plugins");if("string"==typeof n)for(var e=a.data("ams-plugins").split(/\s+/),s=0;s<e.length;s++){l=e[s];var t={src:a.data("ams-plugin-"+l+"-src"),css:a.data("ams-plugin-"+l+"-css"),callback:a.data("ams-plugin-"+l+"-callback"),context:a,register:a.data("ams-plugin-"+l+"-register"),async:a.data("ams-plugin-"+l+"-async")};r(l,t)}else for(l in n)n.hasOwnProperty(l)&&r(l,n[l])}),s)s.hasOwnProperty(l)&&(i=s[l],void 0===p.plugins.enabled[l]?p.getScript(i.src,a,{async:void 0===i.async||i.async}):(n(),a(!0)));for(var t in p.plugins.enabled)if(p.plugins.enabled.hasOwnProperty(t)&&!(0<=e.indexOf(t))){var o=p.plugins.enabled[t];if(o)switch(typeof o){case"function":o(c);break;default:for(var u=0;u<o.length;u++){var g=o[u];switch(typeof g){case"function":g(c);break;default:g&&g.callback&&g.callback(g.context)}}}}},initData:function(a){f("[data-ams-data]",a).each(function(){var a=f(this),n=a.data("ams-data");if(n)for(var e in n)if(n.hasOwnProperty(e)){var s=n[e];"string"!=typeof s&&(s=JSON.stringify(s)),a.attr("data-"+e,s)}})},register:function(n,e,s){if("function"==typeof e&&(s=e,e=null),e=e||n.name,0<=p.plugins.enabled.indexOf(e))console&&console.warn&&console.warn("Plugin "+e+" is already registered!");else if("object"==typeof n){var a=n.src;a?p.ajax.check(n.callback,a,function(a){a&&(p.plugins.enabled[e]=p.getFunctionByName(n.callback),n.css&&p.getCSS(n.css,e+"_css"),s&&p.executeFunctionByName(s))}):(p.plugins.enabled[e]=p.getFunctionByName(n.callback),n.css&&p.getCSS(n.css,e+"_css"),s&&p.executeFunctionByName(s))}else"function"==typeof n&&(p.plugins.enabled[e]=n,s&&p.executeFunctionByName(s))}}}(jQuery,this);