-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDynamicCaml.min.js
1 lines (1 loc) · 1.32 KB
/
DynamicCaml.min.js
1
(function(e){function t(e){var t="";if(e.length==1){for(o=0;o<e.length;o++){if(e.length==1){t+="<"+e[o][0]+">";t+="<FieldRef Name='"+e[o][1]+"'/>";t+="<Value Type='"+e[o][3]+"'>"+e[o][2]+"</Value>";t+="</"+e[o][0]+">"}}}if(e.length!=1){for(i=0;i<e.length;i++){var n="";var r="";if(i==1||i>1){n="<And>";r="</And>"}t=n+"<"+e[i][0]+"><FieldRef Name='"+e[i][1]+"'/><Value Type='"+e[i][3]+"'>"+e[i][2]+"</Value></"+e[i][0]+">"+t+r}}return t}function n(e){var t="";t+="<OrderBy>";for(i=0;i<e.length;i++){if(e[i].length!=2){console.log('Order Array Does not have a length of 2:"Array Index '+i+"'"+e[i]);continue}var n="True";if(e[i][1]=="Desc"){n="FALSE"}t+="<FieldRef Name='"+e[i][0]+"' Ascending='"+n+"'/>"}t+="</OrderBy>";return t}e.fn.CAMLgenerator=function(r,s){var o="";var u=e.extend({rowLimit:"",order:"",viewFields:"",debug:false},s);if(r.length==1){o=t(r[0])}if(r.length>1){var a=[];for(l=0;l<r.length;l++){var f=t(r[l]);a.push(f)}for(c=0;c<a.length;c++){var h="";var p="";if(c==1||c>1){h="<Or>";p="</Or>"}o=h+a[c]+o+p}}o="<Where>"+o+"</Where>";if(u.order!=""){var f=n(u.order);o=o+f}o="<Query>"+o+"</Query>";if(u.viewFields!=""){var f="";f+="<ViewFields>";for(i=0;i<u.viewFields.length;i++){f+="<FieldRef Name='"+u.viewFields[i]+"' />"}f+="</ViewFields>";o=o+f}if(u.rowLimit!=""){var f="<RowLimit>"+u.rowLimit+"</RowLimit>";o=o+f}return o}})(jQuery)