Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

scan.component.min.js 7.6KB

12345678910111213141516171819202122232425
  1. var Unibase;(function(n){let t;(function(t){let i;(function(t){class i{constructor(){this.data=[];this.setparameter="";this.propobj="";this.propEle=null}init(t,r,u){var f=i.Instance();f.loadControlSettings(r.ControlJsonText,r.FormPropertyId);f.loadPropertySettings(r.PropertySettings,r.FormPropertyId);this.propEle=r;$("#crpnrd_btn_OpenScanner_"+r.UniqueId).click(function(){isMobileApp()&&n.Platform.Helpers.MobileHelper.Instance().openQrScanner("Unibase.Forms.Controls.Scan.Instance().readScanner",r.UniqueId.toString())});$("#scan_"+r.UniqueId).on("change",function(){n.Forms.Controls.Scan.Instance().executeRedeemProcess(n.Forms.Controls.Scan.Instance().propEle);$("#scan_"+r.UniqueId).focus()});u!=null&&u()}executeRedeemProcess(t){function v(n){return!/[~`!#$%\^&@*+=\-\[\]\\';.|,/{}|\\":<>\?]/g.test(n)}var i=JSON.parse(t.ControlJsonText),c=i.SumColumn,p=i.EnableCount,l=i.DisplayText,e=i.FilterColumn,r=$("#scan_"+t.UniqueId).val(),a,o,u;r=r.toString().toUpperCase().trim();$("#divDisplayText").text(l);a=!0;let y=v(r);if(!y)return $("#divErrors").append("<span style='color:red;'>Special Characters not allowed <\/span><br/>"),$("#scan_"+t.UniqueId).val(""),!1;if(i.ReportId!=0){var s="0",h="0",f=n.Forms.Controls.Scan.Instance().setparameter,w=n.Forms.Controls.Scan.Instance().propobj;f!=null&&f!=""&&(s=f.map(function(n){return n.ColumnName}).toString(),h=f.map(function(n){return n.Value+"|"}).toString());o=0;u=0;$("#div_FormName").text()!="Serial No"?n.Platform.Forms.Managers.FormManager.Instance().getScanPropertyData(t.FormPropertyId,r.toString(),s,h).then(function(f){var s,a,l,h,v;if(f.status==n.Data.Status.Error)$("#divErrors").append("<span style='color:red;'>"+f.message+"<\/span><br/>"),$("#scan_"+t.UniqueId).val("");else if(s=f.result,s!=null&&s!=undefined&&$("#div_FormName").text()!="Serial No"&&$("#div_FormName").text()!="Coupon Redemption"&&$("#div_FormName").text()!="Loyalty Points"){for(a=Handlebars.compile(i.TemplateText),l="",u=Number($("#lblSum_"+t.UniqueId).text()),o=Number($("#lblCount_"+t.UniqueId).text()),$("#lblCount_"+t.UniqueId).text(o+s.length),h=0;h<s.length;h++)if(v=eval("Unibase.Forms.Controls.Scan.Instance().data.filter(x => x."+e+" == jsondata[i]."+e+").length"),v<=0)u=u+eval("jsondata[i]."+c),l+=a(s[h]),n.Forms.Controls.Scan.Instance().data.push(s[h]);else return $("#divErrors").append("<span style='color:red;'>"+r+"-"+e+" already added<\/span><br/>"),$("#scan_"+t.UniqueId).val(""),!1;$("#lblSum_"+t.UniqueId).text(u);$("#divHtmlContainer").after(l);n.Forms.Controls.Scan.Instance().callbackmethod(i,r,t)}else n.Forms.Controls.Scan.Instance().callbackmethod(i,r,t)}):n.Forms.Controls.Scan.Instance().callbackmethod(i,r,t)}}callbackmethod(t,i,r){var e=t.MaxLength,f="#divHtmlContainer",u=t.SettingMethod;u!=null&&u!=""&&n.Platform.Helpers.FileCacheHelper.Instance().loadJsFile(t.JsUrl,function(){eval(u+"('"+i+"','"+f+"',Unibase.Forms.Controls.Scan.Instance().propobj,function(response){Unibase.Forms.Controls.Scan.Instance().data=response;});")});$("#scan_"+r.UniqueId).val("")}readScanner(n,t){n!=""&&n!=null&&n!=undefined&&$("#scan_"+t).val(n).trigger("change")}obj(){return n.Forms.Controls.Scan.Instance().data}scan(t){$("#scan_"+n.Forms.Controls.Scan.Instance().UniqueId).val(t);$("#scan_"+n.Forms.Controls.Scan.Instance().UniqueId).trigger("keyup")}loadControl(t,i){var c="",l="",o=i.Validations,f,s,h,v,w;if(o!=null)for(f=0;f<o.length;f++)c+=o[f].RegularExp+"||",l+=o[f].ErrorMessage+"||";var a=i.IsRequired!=!0?"hidden":"",e=i.IsRequired!=!0?"":"required",r=i.IsRequired!=!0?"":"*",u=$("#hf_"+$("#hfLayout_InstalledPageId").val()+"_StageId").val();i.IncludedStages!=null&&i.IncludedStages!=""&&(s=i.IncludedStages.split("|"),a=s.find(n=>n==u)?"":"hidden",e=s.find(n=>n==u)?"required":"",r=s.find(n=>n==u)?"*":"");i.ExcludedStages!=null&&i.ExcludedStages!=""&&(h=i.ExcludedStages.split("|"),a=h.find(n=>n==u)?"hidden":"",e=h.find(n=>n==u)?"":"required",r=h.find(n=>n==u)?"":"*");let y="scan_"+i.UniqueId;i.IsRequired&&(e="required");v=JSON.parse(i.ControlJsonText);const{helpTooltipHtml:b,helpTextHtml:k}=n.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(i);let p='<div class="floating-label-form-group"><label for="lbl" id="lbl_'+i.ControlId+'">'+b+'<span class="label-name">'+i.LabelName+'<\/span><span class="text-danger '+a+'" id="spnIsRequired_'+i.FormPropertyId+'"> *<\/span><\/label><div class="input-group"><input type="hidden" class="value-control" value="Unibase.Forms.Controls.Scan.Instance().obj();" /><input type="text" id="'+y+'" class="type-control form-control type-control value-control '+e+" floating-label-control scan_"+i.DocPropertyName+" scan_"+i.FormPropertyName+'" placeholder="'+i.LabelName+" "+r+'" data-placeholder="'+i.Placeholder+'" data-label="'+i.LabelName+" "+r+'" data-regularexp="'+c+'" data-validatemsg="'+l+'" MaxLength="'+v.MaxLength+'" /><a id = "crpnrd_btn_OpenScanner_'+i.UniqueId+'" class="input-group-append"><span class="input-group-text" > <i class="fa fa-qrcode" > <\/i><\/span ><\/a><input type="hidden" id="hf_'+i.ControlId+'" /><\/div>'+k+"<\/div>";p=`<div class="card-body pa-0" id="scan_control">
  2. <div class="form-coupon row mx-10">
  3. <input type="hidden" class="value-control" value="Unibase.Forms.Controls.Scan.Instance().obj();" />
  4. <div class="col-sm-4 form-coupon-left pa-20" id="coupon_img">
  5. <div class="avatar">
  6. <span class="avatar-icon avatar-icon-inv-orange rounded-circle">
  7. <span class="initial-wrap"><span><i class="dripicons dripicons-ticket"></i></span></span>
  8. </span>
  9. </div>
  10. <br/> <span class="font-14 font-weight-500 text-dark" id="divDisplayText">You can apply multiple coupons</span><div class="d-flex align-items-center justify-content-center mt-5">
  11. <div>
  12. <h5 class="text-green"><span class="font-14 font-weight-500 mr-10 text-dark" id="divsumDisplayText"></span> <span class="spanpoints">&#8377; </span> <span id="lblSum_`+i.UniqueId+`" class="lblSum">0</span></h5>
  13. </div>
  14. <div class="ml-10 font-weight-500">(<span id="lblCount_`+i.UniqueId+`" class="lblCount">0</span>)</div></div>
  15. </div>
  16. <div class="col-sm-8 form-coupon-right pa-20 pa-sm-25 pt-0 pt-sm-20" id="div_scan">
  17. <div class="input-group">
  18. <input type="hidden" class="value-control" value="Unibase.Forms.Controls.Scan.Instance().obj();" /><input id="`+y+`" class="form-control type-control value-control input-focus text-center `+e+` scan_`+i.DocPropertyName+` scan_`+i.FormPropertyName+`" placeholder="`+i.LabelName+` `+r+`" data-placeholder="`+i.Placeholder+`" data-label="`+i.LabelName+` `+r+`" data-regularexp="`+c+`" data-validatemsg="`+l+`" type="text" maxlength="`+v.MaxLength+`" />
  19. <a href="#" id = "crpnrd_btn_OpenScanner_`+i.UniqueId+`" class="input-group-append">
  20. <span class="input-group-text"><i class="fa fa-qrcode"></i></span>
  21. </a>
  22. </div>
  23. </div>
  24. </div> </div><input type="hidden" id="hf_`+i.ControlId+`" />`+`<div class="row col-sm-12" id="divMainContainer"><div class="col-sm-6 pull-left " id="divErrors"></div><div class="col-sm-6 pull-right" id="divListContainer"><div class="" id="divHtmlContainer"></div></div></div>`;$("#"+t).append(p);w=JSON.parse(i.ControlJsonText);w.EnableCount==!1&&($("#coupon_img").addClass("hidden"),$("#divSum").addClass("hidden"),$("#div_scan").addClass("col-sm-12"))}loadControlSettings(){return null}loadPropertySettings(n,t){var i,r;if(n!=null)for(i=0;i<n.length;i++)r=n[i],r.ControlPropertyName=="MaxLength"&&r.ControlPropertyValue!=""&&$("#txt_"+t).attr("MaxLength",r.ControlPropertyValue)}bindEditFormDetails(n){$("#scan_"+n).val("").trigger("change")}static Instance(){return this.instance===undefined&&(this.instance=new i),this.instance}}t.Scan=i})(i=t.Controls||(t.Controls={}))})(t=n.Forms||(n.Forms={}))})(Unibase||(Unibase={}));