This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
@@ -0,0 +1,224 @@
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("<span style='color:red;'>Special Characters not allowed </span><br/>");
$("#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("<span style='color:red;'>" + response.message + "</span><br/>");
$("#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("<span style='color:red;'>" + text + "-" + filtercolumn + " already added" + "</span><br/>");
$("#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 = '<div class="floating-label-form-group">' +
'<label for="lbl" id="lbl_' + prop.ControlId + '">' + helpTooltipHtml + '<span class="label-name">' + prop.LabelName + '</span><span class="text-danger ' + Isrequired + '" id="spnIsRequired_' + prop.FormPropertyId + '"> *</span></label>' +
'<div class="input-group">' +
'<input type="hidden" class="value-control" value="Unibase.Forms.Controls.Scan.Instance().obj();" /><input type="text" id="' + ControlId + '" class="type-control form-control type-control value-control ' + requiredClass + ' floating-label-control scan_' + prop.DocPropertyName + ' scan_' + prop.FormPropertyName + '" placeholder="' + prop.LabelName + " " + reqMark + '" data-placeholder="' + prop.Placeholder + '" data-label="' + prop.LabelName + " " + reqMark + '" data-regularexp="' + regExpr + '" data-validatemsg="' + ErrMsg + '" MaxLength="' + scansetting.MaxLength + '" />' +
'<a id = "crpnrd_btn_OpenScanner_' + prop.UniqueId + '" class="input-group-append"><span class="input-group-text" > <i class="fa fa-qrcode" > </i></span ></a>' +
'<input type="hidden" id="hf_' + prop.ControlId + '" />' +
'</div>' + helpTextHtml + '</div>';
html = `<div class="card-body pa-0" id="scan_control">
<div class="form-coupon row mx-10">
<input type="hidden" class="value-control" value="Unibase.Forms.Controls.Scan.Instance().obj();" />
<div class="col-sm-4 form-coupon-left pa-20" id="coupon_img">
<div class="avatar">
<span class="avatar-icon avatar-icon-inv-orange rounded-circle">
<span class="initial-wrap"><span><i class="dripicons dripicons-ticket"></i></span></span>
</span>
</div>
<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">
<div>
<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_` + prop.UniqueId + `" class="lblSum">0</span></h5>
</div>
<div class="ml-10 font-weight-500">(<span id="lblCount_` + prop.UniqueId + `" class="lblCount">0</span>)</div></div>
</div>
<div class="col-sm-8 form-coupon-right pa-20 pa-sm-25 pt-0 pt-sm-20" id="div_scan">
<div class="input-group">
<input type="hidden" class="value-control" value="Unibase.Forms.Controls.Scan.Instance().obj();" /><input id="` + ControlId + `" class="form-control type-control value-control input-focus text-center ` + requiredClass + ` scan_` + prop.DocPropertyName + ` scan_` + prop.FormPropertyName + `" placeholder="` + prop.LabelName + ` ` + reqMark + `" data-placeholder="` + prop.Placeholder + `" data-label="` + prop.LabelName + ` ` + reqMark + `" data-regularexp="` + regExpr + `" data-validatemsg="` + ErrMsg + `" type="text" maxlength="` + scansetting.MaxLength + `" />
<a href="#" id = "crpnrd_btn_OpenScanner_` + prop.UniqueId + `" class="input-group-append">
<span class="input-group-text"><i class="fa fa-qrcode"></i></span>
</a>
</div>
</div>
</div> </div><input type="hidden" id="hf_` + prop.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>`;
$("#" + 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 = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,137 @@
var Unibase;
(function (Unibase) {
let Forms;
(function (Forms) {
let Controls;
(function (Controls) {
class Scan_Setting {
loadSettingHtml(Container) {
var html = `<section class="">` +
`<div class="card scansettings">` +
`<div class="card-header"><h6><b>Scan Control Settings</b></h6></div>` +
`<div class="card-body text-light-70" id="divPropSetting"><div class="row mb-2"><div class="col-sm-6 Controlproperties-Element" data-propertysettingid="0" data-controlpropertyid="0" data-controlpropertyname="SettingMethod">Setting Method<input type="text" class="form-control" id="txtSettingMethod" value=""><input type="hidden" id="hdnScanPropertyId" value="0"/></div>` +
`<div class="col-sm-6 Controlproperties-Element" data-propertysettingid="0" data-controlpropertyid="0" data-controlpropertyname="SettingMethod">Setting Url<input type="text" class="form-control" id="txtSettingUrl" value=""></div></div>` +
`<div class="row mb-2"><div class="col-sm-6 Controlproperties-Element" data-propertysettingid="0" data-controlpropertyid="0" data-controlpropertyname="MinLength">Min Length<input type="number" class="form-control" id="numMinLength" value=""></div>` +
`<div class="col-sm-6 Controlproperties-Element" data-propertysettingid="0" data-controlpropertyid="0" data-controlpropertyname="MaxLength">Max Length<input type="number" class="form-control" id="numMaxLength" value=""></div></div>` +
`<div class="row mb-2"><div class="col-sm-6"><label class="text-light-70">Report <span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control required" id="loadReport"/><input type="hidden" id="hfloadReportId"/></div>` +
`<div class="col-sm-6"><label class="text-light-70">Text Column <span class="text-danger" id="spnIsRequired_Section"> *</span></label><select class="form-control required" id="reporttextColumns"/><input type="hidden" id="hfreporttextColumnsId"/></div></div>` +
`<div class="row mb-2"><div class="col-sm-6"><label class="text-light-70">Sum Column</label><select class="form-control" id="reportsumcolumn"/><input type="hidden" id="hfreportsumcolumnId"/></div>` +
`<div class="col-sm-6"><label class="text-light-70">ActionProvider</label><select class="form-control" id="reportactionproviders"/><input type="hidden" id="hfreportactionproviderId"/></div></div>` +
`<div class="row mb-2 align-items-end"><div class="col-sm-6"><label for="frmchkIsDefault" class="text-light-70 font-weight-bold">Enable Count</label><label id="lblIsTagSelect" class="switch m-t form-inline float-right text-light-70"><input id="chkEnableCount" data-group="IsRequired" type="checkbox" data-controlpropertyname="IsTagSelect"><span/></label></div>` +
`<div class="col-sm-6"><div class="floating-label-form-group"><label for="lbl" id="lblparameterName" class="text-light-70">Display Text <span class="text-danger">*</span></label><input type="text" id="txtDisplayText" class="form-control value-control floating-label-control" placeholder="Enter Display Text" data-placeholder="Enter Display Text" data-label="Enter Display Text"></div></div></div>` +
`<div class="row mt-10"><div class="col-sm-12 divMainText "><div class="divTemplateText"></div></div>` +
`</div></div>` +
`</section>`;
$(Container).html(html);
Unibase.Forms.Controls.Scan_Setting.Instance().LoadReports();
$(".divTemplateText").summernote({
height: 100,
minHeight: null,
maxHeight: null,
placeholder: "Enter TemplateText",
disableDragAndDrop: true,
codemirror: {
mode: 'text/html',
lineNumbers: true
},
toolbar: [],
});
}
LoadReports() {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
AutoCompleteHelper.getHelper().Create($("#loadReport"), $("#hfloadReportId"), url, function (response) {
$("#loadReport").change(function () {
$("#reporttextColumns").text('');
var Id = $("#loadReport option:selected").val().toString();
var ReportId = Number(Id);
Unibase.Forms.Controls.Scan_Setting.Instance().LoadReportCoulmns(ReportId);
});
});
}
LoadReportCoulmns(ReportId) {
var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reportcolumnsautocomplete/reportid/' + ReportId;
AutoCompleteHelper.getHelper().Create($("#reporttextColumns"), $("#hfreporttextColumnsId"), url, function (response) { });
AutoCompleteHelper.getHelper().Create($("#reportsumcolumn"), $("#hfreportsumcolumnId"), url, function (response) { });
var actionproviderurl = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/scanactionsautocomplete/actionprovidertypeid/3';
AutoCompleteHelper.getHelper().Create($("#reportactionproviders"), $("#hfreportactionproviderId"), actionproviderurl, function (response) { });
}
bindControlData(controldatajson) {
var data = controldatajson;
$("#txtSettingMethod").val(data.SettingMethod);
$("#numMinLength").val(data.MinLength);
$("#numMaxLength").val(data.MaxLength);
$("#hdnScanPropertyId").val(data.ScanPropertyId);
$("#txtSettingUrl").val(data.JsUrl);
var reportData = new Option(data.ReportName, data.ReportId, true);
$("#loadReport").append(reportData);
$("#loadReport").val(data.ReportId).trigger("change");
var reportcolumnData = new Option(data.FilterColumn, data.FilterColumn, true);
$("#reporttextColumns").append(reportcolumnData);
$("#reporttextColumns").val(data.FilterColumn);
$(".divMainText").find('.note-editable').text(data.TemplateText);
var sumcolumnData = new Option(data.SumColumn, data.SumColumn, true);
$("#reportsumcolumn").append(sumcolumnData);
$("#chkEnableCount").prop('checked', data.EnableCount);
$("#txtDisplayText").val(data.DisplayText);
var actionproviderData = new Option(data.ActionName, data.ActionProviderId, true);
$("#reportactionproviders").append(actionproviderData);
$("#reportactionproviders").val(data.ActionProviderId).trigger("change");
}
SaveControlData(controldatajson) {
var controldatajson1 = [];
if (controldatajson != null && controldatajson != "") {
controldatajson1[0].ScanPropertyId = 0;
controldatajson1[0].DocPropertyId = Number($("#hdnPropertyId").val());
controldatajson1[0].SettingMethod = $("#txtSettingMethod").val();
controldatajson1[0].MinLength = Number($("#numMinLength").val());
controldatajson1[0].MaxLength = Number($("#numMaxLength").val());
controldatajson1[0].JsUrl = $("#txtSettingUrl").val();
controldatajson1[0].ReportId = Number($("#loadReport").val());
controldatajson1[0].FilterColumn = $("#reporttextColumns option:selected").text();
controldatajson1[0].TemplateText = $(".divMainText").find('.note-editable').text();
controldatajson1[0].ReportName = $("#loadReport option:selected").text();
controldatajson1[0].SumColumn = $("#reportsumcolumn option:selected").text();
controldatajson1[0].EnableCount = $("#chkEnableCount").prop('checked');
controldatajson1[0].DisplayText = $("#txtDisplayText").val();
controldatajson1[0].ActionProviderId = Number($("#reportactionproviders").val());
}
else {
var totalDataReportId = Number($("#totalDataReportId option:selected").val());
controldatajson1[0] = {
ScanPropertyId: Number($("#hdnScanPropertyId").val()),
DocPropertyId: Number(Unibase.Platform.Forms.Components.PropertyEditor.Instance().DocPropertyId),
SettingMethod: $("#txtSettingMethod").val(),
MinLength: Number($("#numMinLength").val()),
MaxLength: Number($("#numMaxLength").val()),
JsUrl: $("#txtSettingUrl").val(),
ReportId: Number($("#loadReport").val()),
FilterColumn: $("#reporttextColumns option:selected").text(),
TemplateText: $(".divMainText").find('.note-editable').text(),
ReportName: $("#loadReport option:selected").text(),
SumColumn: $("#reportsumcolumn option:selected").text(),
EnableCount: $("#chkEnableCount").prop('checked'),
DisplayText: $("#txtDisplayText").val(),
ActionProviderId: Number($("#reportactionproviders").val()),
ActionName: $("#reportactionproviders option:selected").text(),
};
controldatajson = JSON.stringify(controldatajson1[0]);
}
return controldatajson;
}
loadControlPropertiesHtml(Container) {
}
bindPropertySettings(prop) {
}
savePropertySettings(prop) {
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Scan_Setting();
}
return this.instance;
}
}
Controls.Scan_Setting = Scan_Setting;
})(Controls = Forms.Controls || (Forms.Controls = {}));
})(Forms = Unibase.Forms || (Unibase.Forms = {}));
})(Unibase || (Unibase = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long