fieldParseHelper.js
3.82 KB
define(["mUtil"],function(b){var n=new RegExp("['\"]?fieldid['\"]?:['\"]?([0-9]+)['\"]?","g"),l=new RegExp("{(.*?)}","gi"),d=new RegExp("{(\\w+\\.)?(\\w+)((\\[id\\])|(\\[text\\]))}","g");return{replaceVal:function(e,a){if(!b.containsVariables(e)&&!b.containsVarParser(e))return e;var r;l.lastIndex=0;for(var i=e;null!=(r=l.exec(e));)if(0==r[1].indexOf("d1.")){var t=r[0].replace("d1.","d_");i=i.replace(r[0],t)}else if(0==r[1].indexOf("t1.")){t=r[0].replace("t1.","");i=i.replace(r[0],t)}for(e=i,d.lastIndex=0;null!=(r=d.exec(e));){var n=!0;void 0===a[r[2]]&&(n=!1),-1<r[0].indexOf("[id]")&&n&&(i=i.replace(r[0],r[0].replace("[id]",""))),-1<r[0].indexOf("[text]")&&n&&(i=i.replace(r[0],a[r[2]+"_showvalue"]))}return e=i,e=b.replaceValAndVarParser(e,a)},parseFieldIds:function(e){var a,r=[];for(n.lastIndex=0;null!=(a=n.exec(e));){var i=Number(a[1]);0!=i&&-1!=i&&-1==r.indexOf(i)&&r.push(Number(a[1]))}var t=[];for(d.lastIndex=0;null!=(a=d.exec(e));)-1<a[0].indexOf("[text]")&&-1==t.indexOf(a[2])&&(-1<a[0].indexOf("d1.")?t.push("d_"+a[2]):t.push(a[2]));return r.join(",")+","+t.join(",")},isSettingValue:function(e){if(b.isObject(e)){var a=Number(e.fieldid);return!isNaN(a)&&(0<a||-1==a)}return!1},getFieldValue:function(e,a,r,i,t){var n=Number(e.fieldid);if(0<n){var l=a.convertDataMap,d=(a.dataMap||{}).empowstr||"",f=r[n];if(l.hasOwnProperty(n)){var s=l[n],c=f.fieldhtmltype,p=f.fieldtype;if(6==c){if(!s)return 2==p&&i?'<img class="wev-img" src="/mobilemode/images/mec/img-space1_wev8.png"/>':"";if(b.isArray(s)){var o="";if(1==p){var v="";s.forEach(function(e){var a,r;v+='<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)+'" data-id="'+e.imagefileid+'" data-docid="'+e.docid+'" data-authorize="'+d+'" data-name="'+encodeURIComponent(e.name)+'"><span>'+e.name+"("+e.size+")</span></li>"}),o='<ul class="wev-file-wrapper">'+v+"</ul>"}else{var u=t?'data-groupid="group_'+b.UUID()+'"':"";for(var g in s){var x=s[g];if(i){o+='<img class="wev-img lazyload" data-src="'+b.getAttachUrl(x,d)+'" '+u+"/>";break}0==g&&(o+='<div class="wev-img-wrapper">'),o+='<img class="wev-img lazyload" data-src="'+b.getAttachUrl(x,d)+'" '+u+"/>",g==s.length-1&&(o+="</div>")}}s=o}}else 1!=c&&2!=c||1!=p||(s=new String(s).replace(/\n/gi,"<br>").replace(/\s/gi," "));return s}return"Field("+JSON.stringify(e)+") does not exist."}if(-1!=n)return"";var m=e.fielddesc||"";if(i){var w=JSON.parse(JSON.stringify(a)).dataMap,h="";if(m){var O=new RegExp(/\$m\.convertToImage\("\{((d1\.)?\w{1,})\}".*\)/).exec(m);O&&(h=-1==O[1].indexOf("d1.")?O[1]:O[1].replace("d1.","d_"))}if(h&&w.hasOwnProperty(h)){var y=w[h];-1!=y.indexOf(",")&&(w[h]=y.split(",")[0])}return this.replaceVal(m,w)}return this.replaceVal(m,a.dataMap)},convertFieldMockData:function(e,a,r,i,t){if(b.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 n,l={},d={},f=0,s=e.length,c=0<s%r?parseInt(s/r)+1:parseInt(s/r);for(var p in e[0]){1==++f&&(n=p),d[f]=p;var o={fieldhtmltype:"1"};o.fieldid=f,o.fieldname=p,l[f]=o}e=a<c?e.slice((a-1)*r,a*r):a==c?e.slice((a-1)*r):[];var v=[];e.forEach(function(e){for(var a={},r={},i=f;0<i;)r[i]=e[d.fieldIndex],i--;a.keyfiled=n,a.keyvalue=e[n],a.dataMap=e,a.convertDataMap=r,v.push(a)});var u={};return u.datas=v,u.fieldMap=l,u.totalSize=s,u.totalPageCount=c,u}return""},getFirstDataByFielddesc:function(e,a){if(!b.isObject(a))return a;var r=new RegExp(/\$m\.convertToImage\("\{(\w{1,})\}".*\)/);if(!e||!r.test(e))return a;var i=r.exec(e)[1],t=a[i]||"",n={};return t=-1==t.indexOf(",")?t:t.split(",")[0],n[i]=t,n}}});