nemesiscodex/openfonacide

View on GitHub
static/js/jput.min.js

Summary

Maintainability
A
0 mins
Test Coverage
/*
 * jQuery jPut Plug-in 1.1.0
 * http://plugins.jquery.com/jput/
 * Developed by Shabeer Ali M 
 * Email : shabeer@jput.org
*/
(function(e){e.fn.jPut=function(n){var r={name:"",jsonData:"",dataName:"",limit:0,prepend:false,ajax_url:"",ajax_data:"",ajax_type:"GET",ajax_dataType:"json",ajax_jsonpCallback:"",done:function(e){},error:function(e){}};var n=e.extend({},r,n);var i;try{e('[jput="'+n.name+'"],[jput]').hide();var s=e(this);var o=n.name==""?e("[jput]").clone():e('[jput="'+n.name+'"]').clone();if(o.length==0)throw"Cant find the jPut template!";var u=/\{{([^}}]+)\}}/g;var a=o.html().match(u);if(n.ajax_url!=""){e.ajax({url:n.ajax_url,data:n.ajax_data,dataType:n.ajax_dataType,jsonpCallback:n.ajax_jsonpCallback,type:n.ajax_type,success:function(e){n.jsonData=e;l(n)},error:function(e){alert("jPut:Ajax Error")}})}else l(n);function f(e,t){if(e=="")return t;if(e.indexOf(".")==-1)return t[e];e=e.split(".");for(var n=0;n<e.length;n++){t=t[e[n]]}return t}function l(n){var r=n.jsonData;if(typeof r!="object")r=e.parseJSON(n.jsonData);if(typeof r!="object")throw"Invalid JSON data!";r=f(n.dataName,n.jsonData);if(r==null)throw"JSON data is empty!";if(n.limit!=0)r=r.slice(0,n.limit);n.jsonData=r;e.each(r,function(r,u){i=o.html();if(a!=null)e.each(a,function(e,n){var r=new RegExp(n);t=n.replace(/{{|}}/g,"");t=t.split("||");newval=f(t[0],u);if((newval==""||newval==undefined)&&t.length!=1)i=i.replace(n,t[1]);else i=i.replace(n,f(t[0],u))});i=i.replace("jsrc","src");if(n.prepend==false)s.append(i);else s.prepend(i)});e.isFunction(n.done)&&n.done.call(this,n.jsonData)}}catch(c){e.isFunction(n.error)&&n.error.call(this,c)}this.getValue=function(e){return n.jsonData[e]};return this.each(function(){})}})(jQuery)