var Unibase; (function (Unibase) { let Forms; (function (Forms) { let Controls; (function (Controls) { class Scan { constructor() { this.data = []; this.setparameter = ""; this.propobj = ""; this.propEle = null; } init(formpropertyid, prop, callback) { var instance = Scan.Instance(); instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId); instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId); this.propEle = prop; $("#crpnrd_btn_OpenScanner_" + prop.UniqueId).click(function () { if (isMobileApp()) { Unibase.Platform.Helpers.MobileHelper.Instance().openQrScanner('Unibase.Forms.Controls.Scan.Instance().readScanner', prop.UniqueId.toString()); } }); $("#scan_" + prop.UniqueId).on('change', function (event) { Unibase.Forms.Controls.Scan.Instance().executeRedeemProcess(Unibase.Forms.Controls.Scan.Instance().propEle); $("#scan_" + prop.UniqueId).focus(); }); if (callback != null) callback(); } executeRedeemProcess(prop) { var data = JSON.parse(prop.ControlJsonText); var SumColumn = data.SumColumn; var EnableCount = data.EnableCount; var Displaytext = data.DisplayText; var filtercolumn = data.FilterColumn; var text = $("#scan_" + prop.UniqueId).val(); text = text.toString().toUpperCase().trim(); $("#divDisplayText").text(Displaytext); var IsLengthChecked = true; function isValid(str) { return !/[~`!#$%\^&@*+=\-\[\]\\';.|,/{}|\\":<>\?]/g.test(str); } let validate = isValid(text); if (!validate) { $("#divErrors").append("Special Characters not allowed
"); $("#scan_" + prop.UniqueId).val(''); return false; } if (data.ReportId != 0) { var ColumnName = "0"; var Value = "0"; var Parameters = Unibase.Forms.Controls.Scan.Instance().setparameter; var cpnobj = Unibase.Forms.Controls.Scan.Instance().propobj; if (Parameters != null && Parameters != "") { ColumnName = Parameters.map(function (item) { return item.ColumnName; }).toString(); Value = Parameters.map(function (item) { return item.Value + "|"; }).toString(); } var totalcount = 0; var totalsum = 0; if ($("#div_FormName").text() != "Serial No") { Unibase.Platform.Forms.Managers.FormManager.Instance().getScanPropertyData(prop.FormPropertyId, text.toString(), ColumnName, Value).then(function (response) { if (response.status == Unibase.Data.Status.Error) { $("#divErrors").append("" + response.message + "
"); $("#scan_" + prop.UniqueId).val(''); } else { var jsondata = response.result; if (jsondata != null && jsondata != undefined && $("#div_FormName").text() != "Serial No" && $("#div_FormName").text() != 'Coupon Redemption' && $("#div_FormName").text() != 'Loyalty Points') { var templateScript = Handlebars.compile(data.TemplateText); var html = ''; totalsum = Number($("#lblSum_" + prop.UniqueId).text()); totalcount = Number($("#lblCount_" + prop.UniqueId).text()); $("#lblCount_" + prop.UniqueId).text(totalcount + jsondata.length); for (var i = 0; i < jsondata.length; i++) { var dataExist = eval("Unibase.Forms.Controls.Scan.Instance().data.filter(x => x." + filtercolumn + " == jsondata[i]." + filtercolumn + ").length"); if (dataExist <= 0) { totalsum = totalsum + eval("jsondata[i]." + SumColumn); html += templateScript(jsondata[i]); Unibase.Forms.Controls.Scan.Instance().data.push(jsondata[i]); } else { $("#divErrors").append("" + text + "-" + filtercolumn + " already added" + "
"); $("#scan_" + prop.UniqueId).val(''); return false; } } $("#lblSum_" + prop.UniqueId).text(totalsum); $("#divHtmlContainer").after(html); Unibase.Forms.Controls.Scan.Instance().callbackmethod(data, text, prop); } else { Unibase.Forms.Controls.Scan.Instance().callbackmethod(data, text, prop); } } }); } else { Unibase.Forms.Controls.Scan.Instance().callbackmethod(data, text, prop); } } } callbackmethod(data, text, prop) { var Maxlength = data.MaxLength; var container = "#divHtmlContainer"; var settingMethod = data.SettingMethod; if (settingMethod != null && settingMethod != "") { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile(data.JsUrl, function () { eval(settingMethod + "('" + text + "','" + container + "',Unibase.Forms.Controls.Scan.Instance().propobj,function(response){Unibase.Forms.Controls.Scan.Instance().data=response;});"); }); } $("#scan_" + prop.UniqueId).val(''); } readScanner(capturedValue, uniqueId) { if (capturedValue != "" && capturedValue != null && capturedValue != undefined) { $("#scan_" + uniqueId).val(capturedValue).trigger("change"); } } obj() { return Unibase.Forms.Controls.Scan.Instance().data; } scan(text) { $("#scan_" + Unibase.Forms.Controls.Scan.Instance().UniqueId).val(text); $("#scan_" + Unibase.Forms.Controls.Scan.Instance().UniqueId).trigger('keyup'); } loadControl(containerid, prop) { var regExpr = ""; var ErrMsg = ""; var validationlist = prop.Validations; if (validationlist != null) { for (var i = 0; i < validationlist.length; i++) { regExpr += validationlist[i].RegularExp + '||'; ErrMsg += validationlist[i].ErrorMessage + '||'; } } var Isrequired = prop.IsRequired != true ? 'hidden' : ''; var requiredClass = prop.IsRequired != true ? '' : 'required'; var reqMark = prop.IsRequired != true ? '' : '*'; var CurrentStageId = $("#hf_" + $("#hfLayout_InstalledPageId").val() + "_StageId").val(); if (prop.IncludedStages != null && prop.IncludedStages != "") { var StagesForRequired = prop.IncludedStages.split('|'); Isrequired = StagesForRequired.find(x => x == CurrentStageId) ? '' : 'hidden'; requiredClass = StagesForRequired.find(x => x == CurrentStageId) ? 'required' : ''; reqMark = StagesForRequired.find(x => x == CurrentStageId) ? '*' : ''; } if (prop.ExcludedStages != null && prop.ExcludedStages != "") { var ExcludedStages = prop.ExcludedStages.split('|'); Isrequired = ExcludedStages.find(x => x == CurrentStageId) ? 'hidden' : ''; requiredClass = ExcludedStages.find(x => x == CurrentStageId) ? '' : 'required'; reqMark = ExcludedStages.find(x => x == CurrentStageId) ? '' : '*'; } let ControlId = 'scan_' + prop.UniqueId; if (prop.IsRequired) requiredClass = 'required'; var scansetting = JSON.parse(prop.ControlJsonText); const { helpTooltipHtml, helpTextHtml } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop); let html = '
' + '' + '
' + '' + ' ' + '' + '
' + helpTextHtml + '
'; html = `

You can apply multiple coupons
0
(0)
` + `
`; $("#" + containerid).append(html); var data = JSON.parse(prop.ControlJsonText); if (data.EnableCount == false) { $("#coupon_img").addClass('hidden'); $("#divSum").addClass('hidden'); $("#div_scan").addClass('col-sm-12'); } } loadControlSettings(controlsettingjson, formpropertyid) { return null; } loadPropertySettings(propertysettings, formpropertyid) { if (propertysettings != null) { for (var i = 0; i < propertysettings.length; i++) { var data = propertysettings[i]; if (data.ControlPropertyName == "MaxLength" && data.ControlPropertyValue != "") { $("#txt_" + formpropertyid).attr("MaxLength", data.ControlPropertyValue); } } } } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { $('#scan_' + formpropertyid).val('').trigger('change'); } static Instance() { if (this.instance === undefined) { this.instance = new Scan(); } return this.instance; } } Controls.Scan = Scan; })(Controls = Forms.Controls || (Forms.Controls = {})); })(Forms = Unibase.Forms || (Unibase.Forms = {})); })(Unibase || (Unibase = {}));