fieldParseHelper.js
2.79 KB
define(["mUtil"],function(h){var t=new RegExp("['\"]?fieldid['\"]?:['\"]?([0-9]+)['\"]?","g"),l=new RegExp("{(.*?)}","gi");return{replaceVal:function(e,a){if(!h.containsVariables(e)&&!h.containsVarParser(e))return e;var r;for(l.lastIndex=0;null!=(r=l.exec(e));)if(0==r[1].indexOf("d1.")){var i=r[0].replace("d1.","d_");e=e.replace(r[0],i)}else if(0==r[1].indexOf("t1.")){i=r[0].replace("t1.","");e=e.replace(r[0],i)}return e=h.replaceValAndVarParser(e,a)},parseFieldIds:function(e){var a,r=[];for(t.lastIndex=0;null!=(a=t.exec(e));){var i=Number(a[1]);0!=i&&-1!=i&&-1==r.indexOf(i)&&r.push(Number(a[1]))}return r.join(",")},isSettingValue:function(e){if(h.isObject(e)){var a=Number(e.fieldid);return!isNaN(a)&&(0<a||-1==a)}return!1},getFieldValue:function(e,a,r,i,t,l,n){var f=Number(e.fieldid);if(0<f){var d=a.convertDataMap,s=r[f];if(d.hasOwnProperty(f)){var c=d[f],p=s.fieldhtmltype,o=s.fieldtype;if(6==p){if(!c)return 2==o&&i?'<img class="wev-img" src="/mobilemode/images/mec/img-space1_wev8.png"/>':"";if(h.isArray(c)){var v="";if(1==o){var u="";c.forEach(function(e){var a,r,i=t?'data-id="'+e.imagefileid+'" data-name="'+encodeURIComponent(e.name)+'"':"";u+='<li class="'+(a="wev-file",r=e.suffix,~["jpg","jpeg","png","gif","bmp"].indexOf(r)?a+=" wev-pic-file":"doc"==r||"docx"==r?a+=" wev-word-file":"xls"==r||"xlsx"==r?a+=" wev-excel-file":"pdf"==r?a+=" wev-pdf-file":"htm"==r||"html"==r?a+=" wev-html-file":"ppt"==r&&(a+=" wev-ppt-file"),a)+'" '+i+"><span>"+e.name+"("+e.size+")</span></li>"}),v='<ul class="wev-file-wrapper">'+u+"</ul>"}else{var g=t?'data-groupid="group_'+h.UUID()+'"':"";for(var m in c){var w=c[m];if(i){v+='<img class="wev-img lazyload" data-src="'+h.getAttachUrl(w,l,n,a.keyvalue)+'" '+g+"/>";break}0==m&&(v+='<div class="wev-img-wrapper">'),v+='<img class="wev-img lazyload" data-src="'+h.getAttachUrl(w,l,n,a.keyvalue)+'" '+g+"/>",m==c.length-1&&(v+="</div>")}}c=v}}else 2==p&&1==o&&(c=new String(c).replace(/\n/gi,"<br>").replace(/\s/gi," "));return c}return"Field("+JSON.stringify(e)+") does not exist."}if(-1!=f)return"";var x=e.fielddesc||"";return x=this.replaceVal(x,a.dataMap)},convertFieldMockData:function(e,a,r,i,t){if(h.isArray(e)){i&&t&&(t=t.map(function(e){return e.replace(/\{|\}/g,"")}),e=e.filter(function(e){for(var a=0;a<t.length;a++){var r=t[a];if(e[r]&&-1!=new String(e[r]).toLowerCase().indexOf(i.toLowerCase()))return!0}})),a=a||1,r=r||10;var l,n={},f={},d=0,s=e.length,c=0<s%r?parseInt(s/r)+1:parseInt(s/r);for(var p in e[0]){1==++d&&(l=p),f[d]=p;var o={fieldhtmltype:"1"};o.fieldid=d,o.fieldname=p,n[d]=o}a<c?e=e.slice((a-1)*r,a*r):a==c&&(e=e.slice((a-1)*r));var v=[];e.forEach(function(e){for(var a={},r={},i=d;0<i;)r[i]=e[f.fieldIndex],i--;a.keyfiled=l,a.keyvalue=e[l],a.dataMap=e,a.convertDataMap=r,v.push(a)});var u={};return u.datas=v,u.fieldMap=n,u.totalSize=s,u.totalPageCount=c,u}return""}}});