Removed stale files
This commit is contained in:
143
cygnus-onprem-app/build/WebContent/js/edp/application-save.js
Normal file
143
cygnus-onprem-app/build/WebContent/js/edp/application-save.js
Normal file
@@ -0,0 +1,143 @@
|
||||
(function (window, document) {
|
||||
"use strict";
|
||||
|
||||
const API = Object.freeze({ key: "payload-key", save: "application-save" });
|
||||
const BOOLEAN_FIELDS = Object.freeze({
|
||||
residenceVerification: "rv",
|
||||
residenceTelephoneVerification: "rtv",
|
||||
officeVerification: "ov",
|
||||
officeTelephoneVerification: "otv",
|
||||
propertyVerification: "pv",
|
||||
referenceVerification: "refv",
|
||||
documentVerification: "docv",
|
||||
residenceCoApplicant: "rco",
|
||||
residenceCoProprietor: "rcp",
|
||||
officeCoProprietor: "ocp",
|
||||
sameResidenceAddress: "sradd",
|
||||
sameOfficeAddress: "soadd",
|
||||
samePropertyAddress: "spadd",
|
||||
autoCutOff: "autocut"
|
||||
});
|
||||
const VALUE_FIELDS = Object.freeze({
|
||||
applicationId: "case_id", portfolioId: "portfolio_id", bankBranchId: "bank_branch_id",
|
||||
applicationNumber: "applno", bankCode: "bankcode", product: "product",
|
||||
loanAmount: "loanamount", customerName: "customername", fatherName: "fathername",
|
||||
applicationType: "apptype", category: "category", dateOfBirth: "dob",
|
||||
contactPerson: "contactperson", mobileNumber: "mobileno", specialInstruction: "specialinst",
|
||||
residenceAddress1: "raddr1", residenceAddress2: "raddr2", residenceAddress3: "raddr3",
|
||||
residenceLandmark: "rlandmark", residenceColonyId: "Rcolony", residenceCity: "rcity",
|
||||
residencePincode: "rpincode", residencePhone: "rphone", companyName: "companyname",
|
||||
officeAddress1: "oaddr1", officeAddress2: "oaddr2", officeAddress3: "oaddr3",
|
||||
officeLandmark: "olandmark", officeColonyId: "Ocolony", officeCity: "ocity",
|
||||
officePincode: "opincode", department: "department", designation: "designation",
|
||||
officePhone: "ophone", extension: "extension", propertyAddress1: "paddr1",
|
||||
propertyAddress2: "paddr2", propertyAddress3: "paddr3", propertyLandmark: "plandmark",
|
||||
propertyColonyId: "Pcolony", propertyCity: "pcity", propertyPincode: "ppincode",
|
||||
referenceName1: "refname1", referenceAddress1: "refaddress1",
|
||||
referenceContactNumber1: "refcontactno1", referenceName2: "refname2",
|
||||
referenceAddress2: "refaddress2", referenceContactNumber2: "refcontactno2",
|
||||
formMode: "formmode"
|
||||
});
|
||||
const INTEGER_FIELDS = new Set(["applicationId", "portfolioId", "bankBranchId", "residenceColonyId",
|
||||
"officeColonyId", "propertyColonyId", "formMode"]);
|
||||
const element = (id) => document.getElementById(id);
|
||||
const value = (id) => element(id)?.value?.trim() ?? "";
|
||||
const integer = (id) => {
|
||||
const parsed = Number.parseInt(value(id), 10);
|
||||
return Number.isFinite(parsed) ? parsed : 0;
|
||||
};
|
||||
const checked = (id) => Boolean(element(id)?.checked);
|
||||
|
||||
function collectDynamicFields() {
|
||||
const names = value("dynamicfields").split(window.ColDelim || "!C0L!").filter(Boolean);
|
||||
return names.reduce((result, name) => {
|
||||
if (/^(?:field(?:[1-9]|1[0-2])|dtfield1)$/.test(name) && element(name)) {
|
||||
result[name] = value(name);
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
||||
|
||||
function collectCase() {
|
||||
const details = {};
|
||||
Object.entries(VALUE_FIELDS).forEach(([property, id]) => {
|
||||
details[property] = INTEGER_FIELDS.has(property) ? integer(id) : value(id);
|
||||
});
|
||||
Object.entries(BOOLEAN_FIELDS).forEach(([property, id]) => { details[property] = checked(id); });
|
||||
details.dynamicFields = collectDynamicFields();
|
||||
return details;
|
||||
}
|
||||
|
||||
function validateForm() {
|
||||
const verificationIds = ["rv", "rtv", "ov", "otv", "pv", "refv", "docv"];
|
||||
if (!verificationIds.some(checked)) {
|
||||
notify("danger", "APP-4221", "At least one verification type is required.");
|
||||
return false;
|
||||
}
|
||||
window.invalidFields = 0;
|
||||
window.validate(element("applno"), "t", "AlphaNumeric");
|
||||
window.validate(element("bank_branch_id"), "t", "");
|
||||
window.validate(element("product"), "t", "");
|
||||
window.validate(element("customername"), "t", "AlphaSpace");
|
||||
window.validate(element("apptype"), "t", "");
|
||||
if (checked("rv")) window.CheckForm(element("rv"), "raddr1,raddr2,raddr3,rlandmark,colr,rcity,rpincode", "t,f,t,f,t,t,f", "SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,,Pincode");
|
||||
if (checked("ov")) window.CheckForm(element("ov"), "companyname,oaddr1,oaddr2,oaddr3,olandmark,colo,ocity,opincode,department,designation", "f,t,f,t,f,t,t,f,f,f", "SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,,Pincode,SplInstruction,SplInstruction");
|
||||
if (checked("pv")) window.CheckForm(element("pv"), "paddr1,paddr2,paddr3,plandmark,colp,pcity,ppincode", "t,f,t,f,t,t,f", "SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,,Pincode");
|
||||
if (checked("rtv")) window.CheckForm(element("rtv"), "rphone", "t", "Phone");
|
||||
if (checked("otv")) window.CheckForm(element("otv"), "ophone", "t", "Phone");
|
||||
if (checked("refv")) window.CheckForm(element("refv"), "refname1,refaddress1,refcontactno1", "t,f,t", "AlphaSpace,SplInstruction,Phone");
|
||||
[["rv", "Rcolony", "colr"], ["ov", "Ocolony", "colo"], ["pv", "Pcolony", "colp"]]
|
||||
.forEach(([flag, hidden, visible]) => {
|
||||
if (checked(flag) && integer(hidden) === 0) window.highlightField(element(visible));
|
||||
});
|
||||
if (document.querySelector(".matrix-validation-error-icon")) {
|
||||
notify("danger", "APP-4221", "Correct the highlighted fields and submit the application again.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function notify(type, code, message, referenceId) {
|
||||
window.CygnusNotifications.show({ type, code, message, referenceId });
|
||||
}
|
||||
|
||||
function applyResult(result, originalApplicationId) {
|
||||
element("case_id").value = result.applicationId;
|
||||
if (element("mvcode")) element("mvcode").value = result.mvCode || "";
|
||||
if (Array.isArray(window.fields?.[0]) && Array.isArray(window.records?.[window.recpos])) {
|
||||
[["case_id", result.applicationId], ["mvcode", result.mvCode]].forEach(([name, fieldValue]) => {
|
||||
const index = window.fields[0].indexOf(name);
|
||||
if (index >= 0) window.records[window.recpos][index] = fieldValue;
|
||||
});
|
||||
}
|
||||
notify("success", "APP-2001", `Application ${result.mvCode || result.applicationId} saved successfully.`);
|
||||
if (originalApplicationId === 0 && typeof window.AddNewRecord === "function") window.AddNewRecord();
|
||||
else if (originalApplicationId > 0 && typeof window.findRecord === "function") window.findRecord(3);
|
||||
}
|
||||
|
||||
async function save(event) {
|
||||
event?.preventDefault();
|
||||
if (!validateForm()) return false;
|
||||
const button = element("btnsave");
|
||||
if (button?.disabled) return false;
|
||||
const details = collectCase();
|
||||
if (button) button.disabled = true;
|
||||
try {
|
||||
const envelope = await window.CygnusPayloadCrypto.encrypt(details, { keyUrl: API.key });
|
||||
const response = await fetch(API.save, { method: "POST", credentials: "same-origin",
|
||||
headers: { "Content-Type": "application/json", Accept: "application/json" },
|
||||
body: JSON.stringify(envelope) });
|
||||
const body = await response.json().catch(() => null);
|
||||
if (!response.ok || !body?.success) throw body?.message || body || {};
|
||||
applyResult(body.data, details.applicationId);
|
||||
} catch (error) {
|
||||
notify("danger", error.code || "APP-5001",
|
||||
error.message || "Cygnus could not save the application details.", error.referenceId);
|
||||
} finally {
|
||||
if (button) button.disabled = false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
window.CygnusInitiation = Object.freeze({ save });
|
||||
}(window, document));
|
||||
@@ -1,170 +1,649 @@
|
||||
(function (window, document) {
|
||||
"use strict";
|
||||
/*
|
||||
* Case Initiation page behaviour.
|
||||
*
|
||||
* This file owns record loading/navigation, verification-section state,
|
||||
* address copying and duplicate-address lookup. The encrypted JSON save
|
||||
* workflow is intentionally isolated in application-save.js.
|
||||
*/
|
||||
var records=new Array(1);
|
||||
var fields=new Array(1);
|
||||
var recIndx = 0;
|
||||
var recpos = 0;
|
||||
var autocut = 0;
|
||||
var SameAddr=new Array(0);
|
||||
var AddrElem=new Array(4);
|
||||
var selectedAddr=-1;
|
||||
var FocusAfter="customername";
|
||||
AddrElem[0]=["rv","raddr1","raddr2","raddr3","rlandmark","Rcolony","colr","rcity","rpincode","rphone"];
|
||||
AddrElem[1]=["ov","companyname","oaddr1","oaddr2","oaddr3","olandmark","Ocolony","colo","ocity","opincode","ophone","extension"];
|
||||
AddrElem[2]=["pv","paddr1","paddr2","paddr3","plandmark","Pcolony","colp","pcity","ppincode"];
|
||||
AddrElem[3]=["bankcode","bankcode","bank_branch_id","product","loanamount","apptype","contactperson","specialinst"];
|
||||
|
||||
function InitPage()
|
||||
{
|
||||
var portField = document.getElementById("portfolio_id");
|
||||
var initialPortField = document.getElementById("initial-portfolio-id");
|
||||
var visibleContentsField = document.getElementById("visiblecontents");
|
||||
var port = initialPortField ? initialPortField.value : (portField ? portField.value : "-1");
|
||||
var viscontents = visibleContentsField ? visibleContentsField.value : "";
|
||||
if (viscontents && viscontents.slice(-ColDelim.length) !== ColDelim) {
|
||||
viscontents += ColDelim;
|
||||
}
|
||||
|
||||
const API = Object.freeze({ key: "payload-key", save: "application-save" });
|
||||
const BOOLEAN_FIELDS = Object.freeze({
|
||||
residenceVerification: "rv",
|
||||
residenceTelephoneVerification: "rtv",
|
||||
officeVerification: "ov",
|
||||
officeTelephoneVerification: "otv",
|
||||
propertyVerification: "pv",
|
||||
referenceVerification: "refv",
|
||||
documentVerification: "docv",
|
||||
residenceCoApplicant: "rco",
|
||||
residenceCoProprietor: "rcp",
|
||||
officeCoProprietor: "ocp",
|
||||
sameResidenceAddress: "sradd",
|
||||
sameOfficeAddress: "soadd",
|
||||
samePropertyAddress: "spadd",
|
||||
autoCutOff: "autocut"
|
||||
});
|
||||
const VALUE_FIELDS = Object.freeze({
|
||||
applicationId: "case_id", portfolioId: "portfolio_id", bankBranchId: "bank_branch_id",
|
||||
applicationNumber: "applno", bankCode: "bankcode", product: "product",
|
||||
loanAmount: "loanamount", customerName: "customername", fatherName: "fathername",
|
||||
applicationType: "apptype", category: "category", dateOfBirth: "dob",
|
||||
contactPerson: "contactperson", mobileNumber: "mobileno", specialInstruction: "specialinst",
|
||||
residenceAddress1: "raddr1", residenceAddress2: "raddr2", residenceAddress3: "raddr3",
|
||||
residenceLandmark: "rlandmark", residenceColonyId: "Rcolony", residenceCity: "rcity",
|
||||
residencePincode: "rpincode", residencePhone: "rphone", companyName: "companyname",
|
||||
officeAddress1: "oaddr1", officeAddress2: "oaddr2", officeAddress3: "oaddr3",
|
||||
officeLandmark: "olandmark", officeColonyId: "Ocolony", officeCity: "ocity",
|
||||
officePincode: "opincode", department: "department", designation: "designation",
|
||||
officePhone: "ophone", extension: "extension", propertyAddress1: "paddr1",
|
||||
propertyAddress2: "paddr2", propertyAddress3: "paddr3", propertyLandmark: "plandmark",
|
||||
propertyColonyId: "Pcolony", propertyCity: "pcity", propertyPincode: "ppincode",
|
||||
referenceName1: "refname1", referenceAddress1: "refaddress1",
|
||||
referenceContactNumber1: "refcontactno1", referenceName2: "refname2",
|
||||
referenceAddress2: "refaddress2", referenceContactNumber2: "refcontactno2",
|
||||
formMode: "formmode"
|
||||
});
|
||||
const INTEGER_FIELDS = new Set(["applicationId", "portfolioId", "bankBranchId", "residenceColonyId",
|
||||
"officeColonyId", "propertyColonyId", "formMode"]);
|
||||
const element = (id) => document.getElementById(id);
|
||||
const value = (id) => element(id)?.value?.trim() ?? "";
|
||||
const integer = (id) => {
|
||||
const parsed = Number.parseInt(value(id), 10);
|
||||
return Number.isFinite(parsed) ? parsed : 0;
|
||||
};
|
||||
const checked = (id) => Boolean(element(id)?.checked);
|
||||
|
||||
function collectDynamicFields() {
|
||||
const names = value("dynamicfields").split(window.ColDelim || "!C0L!").filter(Boolean);
|
||||
return names.reduce((result, name) => {
|
||||
if (/^(?:field(?:[1-9]|1[0-2])|dtfield1)$/.test(name) && element(name)) {
|
||||
result[name] = value(name);
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
||||
|
||||
function collectCase() {
|
||||
const details = {};
|
||||
Object.entries(VALUE_FIELDS).forEach(([property, id]) => {
|
||||
details[property] = INTEGER_FIELDS.has(property) ? integer(id) : value(id);
|
||||
});
|
||||
Object.entries(BOOLEAN_FIELDS).forEach(([property, id]) => { details[property] = checked(id); });
|
||||
details.dynamicFields = collectDynamicFields();
|
||||
return details;
|
||||
}
|
||||
|
||||
function validateForm() {
|
||||
const verificationIds = ["rv", "rtv", "ov", "otv", "pv", "refv", "docv"];
|
||||
if (!verificationIds.some(checked)) {
|
||||
showAlert("danger", "APP-4221", "At least one verification type is required.");
|
||||
return false;
|
||||
}
|
||||
window.invalidFields = 0;
|
||||
window.validate(element("applno"), "t", "AlphaNumeric");
|
||||
window.validate(element("bank_branch_id"), "t", "");
|
||||
window.validate(element("product"), "t", "");
|
||||
window.validate(element("customername"), "t", "AlphaSpace");
|
||||
window.validate(element("apptype"), "t", "");
|
||||
if (checked("rv")) window.CheckForm(element("rv"), "raddr1,raddr2,raddr3,rlandmark,colr,rcity,rpincode", "t,f,t,f,t,t,f", "SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,,Pincode");
|
||||
if (checked("ov")) window.CheckForm(element("ov"), "companyname,oaddr1,oaddr2,oaddr3,olandmark,colo,ocity,opincode,department,designation", "f,t,f,t,f,t,t,f,f,f", "SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,,Pincode,SplInstruction,SplInstruction");
|
||||
if (checked("pv")) window.CheckForm(element("pv"), "paddr1,paddr2,paddr3,plandmark,colp,pcity,ppincode", "t,f,t,f,t,t,f", "SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,,Pincode");
|
||||
if (checked("rtv")) window.CheckForm(element("rtv"), "rphone", "t", "Phone");
|
||||
if (checked("otv")) window.CheckForm(element("otv"), "ophone", "t", "Phone");
|
||||
if (checked("refv")) window.CheckForm(element("refv"), "refname1,refaddress1,refcontactno1", "t,f,t", "AlphaSpace,SplInstruction,Phone");
|
||||
[["rv", "Rcolony", "colr"], ["ov", "Ocolony", "colo"], ["pv", "Pcolony", "colp"]]
|
||||
.forEach(([flag, hidden, visible]) => {
|
||||
if (checked(flag) && integer(hidden) === 0) window.highlightField(element(visible));
|
||||
});
|
||||
if (document.querySelector(".matrix-validation-error-icon")) {
|
||||
showAlert("danger", "APP-4221", "Correct the highlighted fields and submit the application again.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function showAlert(level, code, message, referenceId) {
|
||||
let host = element("case-save-alerts");
|
||||
if (!host) {
|
||||
host = document.createElement("div");
|
||||
host.id = "case-save-alerts";
|
||||
host.className = "position-fixed top-0 start-50 translate-middle-x p-3";
|
||||
host.style.cssText = "z-index:1085;max-width:720px;width:calc(100% - 2rem)";
|
||||
document.body.append(host);
|
||||
}
|
||||
const alert = document.createElement("div");
|
||||
alert.className = `alert alert-${level} alert-dismissible fade show shadow-sm`;
|
||||
alert.setAttribute("role", "alert");
|
||||
const strong = document.createElement("strong");
|
||||
strong.textContent = `${code}: `;
|
||||
alert.append(strong, document.createTextNode(message));
|
||||
if (referenceId) {
|
||||
const reference = document.createElement("small");
|
||||
reference.className = "d-block mt-1";
|
||||
reference.textContent = `Reference: ${referenceId}`;
|
||||
alert.append(reference);
|
||||
}
|
||||
const close = document.createElement("button");
|
||||
close.type = "button";
|
||||
close.className = "btn-close";
|
||||
close.setAttribute("data-bs-dismiss", "alert");
|
||||
close.setAttribute("aria-label", "Close");
|
||||
alert.append(close);
|
||||
host.replaceChildren(alert);
|
||||
window.setTimeout(() => window.bootstrap?.Alert.getOrCreateInstance(alert).close(), 7000);
|
||||
}
|
||||
|
||||
function applyResult(result, originalApplicationId) {
|
||||
element("case_id").value = result.applicationId;
|
||||
if (element("mvcode")) element("mvcode").value = result.mvCode || "";
|
||||
if (Array.isArray(window.fields?.[0]) && Array.isArray(window.records?.[window.recpos])) {
|
||||
[["case_id", result.applicationId], ["mvcode", result.mvCode]].forEach(([name, fieldValue]) => {
|
||||
const index = window.fields[0].indexOf(name);
|
||||
if (index >= 0) window.records[window.recpos][index] = fieldValue;
|
||||
});
|
||||
}
|
||||
showAlert("success", "APP-2001", `Application ${result.mvCode || result.applicationId} saved successfully.`);
|
||||
if (originalApplicationId === 0 && typeof window.AddNewRecord === "function") window.AddNewRecord();
|
||||
else if (originalApplicationId > 0 && typeof window.findRecord === "function") window.findRecord(3);
|
||||
}
|
||||
|
||||
async function save(event) {
|
||||
event?.preventDefault();
|
||||
if (!validateForm()) return false;
|
||||
const button = element("btnsave");
|
||||
if (button?.disabled) return false;
|
||||
const details = collectCase();
|
||||
if (button) button.disabled = true;
|
||||
try {
|
||||
const envelope = await window.CygnusPayloadCrypto.encrypt(details, { keyUrl: API.key });
|
||||
const response = await fetch(API.save, { method: "POST", credentials: "same-origin",
|
||||
headers: { "Content-Type": "application/json", Accept: "application/json" },
|
||||
body: JSON.stringify(envelope) });
|
||||
const body = await response.json().catch(() => null);
|
||||
if (!response.ok || !body?.success) throw body?.message || body || {};
|
||||
applyResult(body.data, details.applicationId);
|
||||
} catch (error) {
|
||||
showAlert("danger", error.code || "APP-5001",
|
||||
error.message || "Cygnus could not save the application details.", error.referenceId);
|
||||
} finally {
|
||||
if (button) button.disabled = false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
window.CygnusInitiation = Object.freeze({ save });
|
||||
}(window, document));
|
||||
centerDivBoth("formcontainer","H");
|
||||
HideSections('rtv');
|
||||
HideSections('otv');
|
||||
HideSections('section');
|
||||
UnhideSections(viscontents,ColDelim);
|
||||
if (portField) {
|
||||
$(portField).val(port);
|
||||
}
|
||||
if(port>0)
|
||||
{
|
||||
if(document.getElementById("ajaxmsg") !== null)
|
||||
{
|
||||
CallMessage('1001AJX:warning:Another operation is being processed, please wait..',3000,200,300);
|
||||
return;
|
||||
}
|
||||
LoadingMsg("Fetching records, please wait...","ajaxmsg");
|
||||
RunAjax("GET","punchedrecs","val0="+port+"&val1="+($("#dynamicfields").val())+"&val2="+($("#uuid").val()),1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function GotoRecord(el,searchtype)
|
||||
{
|
||||
recno=el.value;
|
||||
if(recno!='')
|
||||
{
|
||||
if(searchtype == 'recno')
|
||||
{
|
||||
if(recno > recIndx || recno <=0)
|
||||
{
|
||||
CallMessage('1001IRNG:error:Invalid input. Out of range',3000,200,300);
|
||||
}
|
||||
else
|
||||
{
|
||||
recpos=recno-1;
|
||||
FillDetails(recpos);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for(index = 0; index < records.length; index++ )
|
||||
{
|
||||
if( records[index][4] === recno ) {
|
||||
recpos = index;
|
||||
FillDetails(recpos);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function AddNewRecord()
|
||||
{
|
||||
if(recIndx== 0 || records[recIndx-1][0]!='0')
|
||||
{
|
||||
var cols=fields[0].length;
|
||||
recIndx = recIndx+1;
|
||||
recpos = recIndx-1;
|
||||
records[recpos]=new Array(cols);
|
||||
records[recpos][0]='0';
|
||||
records[recpos][1]=$("#portfolio_id").val();
|
||||
records[recpos][cols-4]='0';
|
||||
records[recpos][cols-3]=$("#company_id").val();
|
||||
records[recpos][cols-2]=$("#branch_id").val();
|
||||
records[recpos][cols-1]='';
|
||||
records[recpos][2]='******';
|
||||
}
|
||||
else
|
||||
{
|
||||
recpos=recIndx-1;
|
||||
}
|
||||
FillDetails(recpos);
|
||||
}
|
||||
function AfterResponse(response,oprID)
|
||||
{
|
||||
var rindx=0;
|
||||
if(oprID==1)
|
||||
{
|
||||
$("#ajaxmsg").remove();
|
||||
if(response.trim().search('Error')==-1)
|
||||
{
|
||||
var rows=response.split(RowDelim);
|
||||
for(rindx=0;rindx<rows.length-1;rindx++)
|
||||
{
|
||||
var cindx=0;
|
||||
var cols=rows[rindx].split(ColDelim);
|
||||
if(rindx==0)
|
||||
{
|
||||
fields[rindx]=new Array(cols.length);
|
||||
}
|
||||
else
|
||||
{
|
||||
records[rindx-1]=new Array(cols.length);
|
||||
}
|
||||
for(cindx=0;cindx<cols.length;cindx++)
|
||||
{
|
||||
if(rindx==0)
|
||||
{
|
||||
fields[rindx][cindx]=cols[cindx];
|
||||
}
|
||||
else
|
||||
{
|
||||
records[rindx-1][cindx]=cols[cindx];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
CallMessage(response,3000,200,300);
|
||||
}
|
||||
recIndx= rindx==0 ? rindx : rindx-1;
|
||||
$("#recfound").html("<b>( 0 / "+(recIndx==0 ? "0" : recIndx)+" )</b>");
|
||||
recpos=recIndx==0 ? 0 : recIndx-1;
|
||||
FillDetails(recpos);
|
||||
}
|
||||
else if(oprID==2)
|
||||
{
|
||||
collen=fields[0].length;
|
||||
$("#ajaxmsg").remove();
|
||||
if(response.trim().search('Error')==-1)
|
||||
{
|
||||
if(autocut==1)
|
||||
{
|
||||
records[recpos][collen-4]='1';
|
||||
}
|
||||
if($("#case_id").val()!='0')
|
||||
{
|
||||
findRecord(3);
|
||||
}
|
||||
else
|
||||
{
|
||||
records[recpos][2]=response.split(ColDelim)[0];
|
||||
records[recpos][0]=response.split(ColDelim)[1];
|
||||
records[recpos][collen-1]=response.split(ColDelim)[2];
|
||||
AddNewRecord();
|
||||
}
|
||||
CallMessage('1001IRNG:info:Record updated successfully',3000,200,300);
|
||||
}
|
||||
else
|
||||
{
|
||||
records[recpos][collen-4]='-1';
|
||||
CallMessage(response,3000,200,300);
|
||||
}
|
||||
}
|
||||
else if(oprID==19 || oprID==20 || oprID==21 || oprID==22)
|
||||
{
|
||||
TabRows=response.split(RowDelim);
|
||||
for(indx=0;indx<TabRows.length-1;indx++)
|
||||
{
|
||||
if($("#portfolio_id").val()==81)
|
||||
{
|
||||
var appl = $("#applno").val();
|
||||
alert('Application number '+appl+' already exists.');
|
||||
appl= (appl.search('_1') < 0 ? appl+'_1' : appl.split('_')[0]+'_'+(parseInt(appl.split('_')[1])+1));
|
||||
$("#applno").val(appl);
|
||||
validate(document.getElementById('applno'),'t','AlphaNumeric');
|
||||
document.getElementById('applno').focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
TabCols=TabRows[indx].split(ColDelim);
|
||||
SameAddr[indx]=new Array(TabCols.length);
|
||||
for(cindx=0;cindx<TabCols.length;cindx++)
|
||||
{
|
||||
SameAddr[indx][cindx]=TabCols[cindx];
|
||||
}
|
||||
}
|
||||
}
|
||||
SelectAddr(oprID-19);
|
||||
}
|
||||
}
|
||||
function findRecord(arrOpr)
|
||||
{
|
||||
tempPos= recpos;
|
||||
maxLen= recIndx-1;
|
||||
if(arrOpr==1) tempPos=0;
|
||||
if(arrOpr==2)
|
||||
{
|
||||
if(tempPos>0) tempPos=tempPos-1;
|
||||
else return false;
|
||||
}
|
||||
if(arrOpr==3)
|
||||
{
|
||||
if(tempPos<maxLen) tempPos=tempPos+1;
|
||||
else return false;
|
||||
}
|
||||
if(arrOpr==4) tempPos=maxLen;
|
||||
recpos= tempPos;
|
||||
FillDetails(recpos);
|
||||
}
|
||||
function FillDetails(indx)
|
||||
{
|
||||
if(recIndx > 0)
|
||||
{
|
||||
document.forms['casedetails'].reset();
|
||||
$("#recfound").html("<b>( "+(indx+1)+" / "+(recIndx==0 ? "0" : recIndx)+" )</b>");
|
||||
var findx=0;
|
||||
for(findx=0;findx<fields[0].length;findx++)
|
||||
{
|
||||
if($("#"+fields[0][findx]).length > 0)
|
||||
{
|
||||
if(fields[0][findx]=='rv' || fields[0][findx]=='sradd' || fields[0][findx]=='rtv' ||
|
||||
fields[0][findx]=='ov' || fields[0][findx]=='soadd' || fields[0][findx]=='otv' || fields[0][findx]=='rco'
|
||||
|| fields[0][findx]=='pv' || fields[0][findx]=='rcp' || fields[0][findx]=='ocp' || fields[0][findx]=='spadd'|| fields[0][findx]=='refv'|| fields[0][findx]=='docv')
|
||||
{
|
||||
|
||||
if(fields[0][findx]=='docv')
|
||||
{
|
||||
if($("#"+fields[0][findx]).is(":visible"))
|
||||
{
|
||||
$("#"+fields[0][findx]).attr('checked',true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(records[indx][findx]=='1')
|
||||
{
|
||||
$("#"+fields[0][findx]).attr('checked',true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#"+fields[0][findx]).attr('checked',false);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#"+fields[0][findx]).val(records[indx][findx]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if($("#status").val()=='1')
|
||||
{
|
||||
$("#btnsave").hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#btnsave").show();
|
||||
}
|
||||
FireClickEvents();
|
||||
document.getElementById("applno").focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
CallMessage('5005MQRY:error:No records found',3000,200,300);
|
||||
AddNewRecord();
|
||||
}
|
||||
}
|
||||
function FireClickEvents()
|
||||
{
|
||||
HandleClick(document.getElementById('rv'));
|
||||
HandleClick(document.getElementById('ov'));
|
||||
HandleClick(document.getElementById('rtv'));
|
||||
HandleClick(document.getElementById('otv'));
|
||||
HandleClick(document.getElementById('pv'));
|
||||
HandleClick(document.getElementById('refv'));
|
||||
}
|
||||
function FireToggleEvents()
|
||||
{
|
||||
ToggleChks((document.getElementById('rv').checked && document.getElementById('ov').checked),'rco'+ColDelim,ColDelim);
|
||||
ToggleChks((document.getElementById('apptype').value.toUpperCase()!='APPLICANT' && document.getElementById('apptype').value.toUpperCase()!='-1'),'sradd!C0L!soadd!C0L!spadd!C0L!','!C0L!');
|
||||
ToggleChks((document.getElementById('rv').checked),'rcp'+ColDelim,ColDelim);
|
||||
ToggleChks((document.getElementById('ov').checked),'ocp'+ColDelim,ColDelim);
|
||||
}
|
||||
function HandleClick(el)
|
||||
{
|
||||
if(el.id=='rv')
|
||||
{
|
||||
setFormValidation(el,'FormPanel2','raddr1,raddr2,raddr3,rlandmark,rcity,colr,rpincode','t,f,t,f,t,t,f','SplInstruction,SplInstruction,SplInstruction,SplInstruction,,SplInstruction,Pincode',document.getElementById('rtv').checked);
|
||||
EnableDisableFields(el.checked,'raddr1,raddr2,raddr3,rlandmark,colr,rpincode',',');
|
||||
}
|
||||
if(el.id=='rtv')
|
||||
{
|
||||
setFormValidation(el,'FormPanel2','rphone','t','Phone',document.getElementById('rv').checked);
|
||||
}
|
||||
if(el.id=='ov')
|
||||
{
|
||||
setFormValidation(el,'FormPanel3','companyname,oaddr1,oaddr2,oaddr3,olandmark,ocity,colo,opincode,department,designation','f,t,f,t,f,t,t,f,f,f','SplInstruction,SplInstruction,SplInstruction,SplInstruction,SplInstruction,,SplInstruction,Pincode,SplInstruction,SplInstruction',document.getElementById('otv').checked);
|
||||
EnableDisableFields(el.checked,'oaddr1,oaddr2,oaddr3,olandmark,colo,opincode',',');
|
||||
}
|
||||
if(el.id=='rco')
|
||||
{
|
||||
if(el.checked)
|
||||
{
|
||||
AutoFill('rco',1);
|
||||
}
|
||||
else
|
||||
{AutoFill('rco',0);}
|
||||
}
|
||||
if(el.id=='otv')
|
||||
{
|
||||
setFormValidation(el,'FormPanel3','ophone','t','Phone',document.getElementById('ov').checked);
|
||||
}
|
||||
if(el.id=='pv')
|
||||
{
|
||||
setFormValidation(el,'FormPanel4','paddr1,paddr2,paddr3,plandmark,pcity,colp,ppincode','t,f,t,f,t,t,f','SplInstruction,SplInstruction,SplInstruction,SplInstruction,,SplInstruction,Pincode',false);
|
||||
EnableDisableFields(el.checked,'paddr1,paddr2,paddr3,plandmark,colp,ppincode',',');
|
||||
if(!el.checked)
|
||||
{
|
||||
chkrcp=document.getElementById('rcp');
|
||||
chkrcp.checked=false;
|
||||
chkocp=document.getElementById('ocp');
|
||||
chkocp.checked=false;
|
||||
}
|
||||
}
|
||||
if(el.id=='rcp')
|
||||
{
|
||||
if(el.checked)
|
||||
{
|
||||
AutoFill('rcp',1);
|
||||
chkocp=document.getElementById('ocp');
|
||||
chkocp.checked=false;
|
||||
chkprop=document.getElementById('pv');
|
||||
chkprop.checked=true;
|
||||
HandleClick(chkprop);
|
||||
}
|
||||
else
|
||||
{AutoFill('rcp',0);}
|
||||
}
|
||||
if(el.id=='ocp')
|
||||
{
|
||||
if(el.checked)
|
||||
{
|
||||
AutoFill('ocp',1);
|
||||
chkrcp=document.getElementById('rcp');
|
||||
chkrcp.checked=false;
|
||||
chkprop=document.getElementById('pv');
|
||||
chkprop.checked=true;
|
||||
HandleClick(chkprop);
|
||||
}
|
||||
else
|
||||
{AutoFill('ocp',0);}
|
||||
}
|
||||
if(el.id=='refv')
|
||||
{
|
||||
setFormValidation(el,'FormPanel5','refname1,refaddress1,refcontactno1','t,f,t','AlphaSpace,SplInstruction,Phone',false);
|
||||
}
|
||||
}
|
||||
function setFormValidation(Elem,FormPanel,ChildElems,IsRequired,Validation,CounterPartElem)
|
||||
{
|
||||
/*if(Elem.checked && !CounterPartElem)
|
||||
{
|
||||
hideForm(Elem.id, FormPanel);
|
||||
}
|
||||
if(!Elem.checked)
|
||||
{
|
||||
CheckForm(Elem,ChildElems,IsRequired,Validation);
|
||||
if(!CounterPartElem)
|
||||
{
|
||||
hideForm(Elem.id, FormPanel);
|
||||
}
|
||||
}*/
|
||||
|
||||
if(Elem.checked || CounterPartElem)
|
||||
{
|
||||
UnhideSections(FormPanel+ColDelim, ColDelim);
|
||||
}
|
||||
else
|
||||
{
|
||||
HideSections(FormPanel);
|
||||
}
|
||||
CheckForm(Elem,ChildElems,IsRequired,Validation);
|
||||
FireToggleEvents();
|
||||
}
|
||||
function CheckForm(Elem,ChildElems,IsRequired,Validation)
|
||||
{
|
||||
var Childs=ChildElems.split(",");
|
||||
var IsChildReq=IsRequired.split(",");
|
||||
var ValidString=Validation.split(",");
|
||||
for(Indx=0;Indx<Childs.length;Indx++)
|
||||
{
|
||||
validate(document.getElementById(Childs[Indx]),Elem.checked ? IsChildReq[Indx]:'f',ValidString[Indx]);
|
||||
}
|
||||
}
|
||||
function AutoFill(Opt,FillMode)
|
||||
{
|
||||
var SourceFields="";
|
||||
var TargetFields="";
|
||||
var isSameAdd=false;
|
||||
if(Opt=='rco')
|
||||
{
|
||||
SourceFields="raddr1"+ColDelim+"raddr2"+ColDelim+"raddr3"+ColDelim+"Rcolony"+ColDelim+"colr"+ColDelim+"rcity"+ColDelim+"rlandmark"+ColDelim+"rpincode"+ColDelim+"rphone";
|
||||
TargetFields="oaddr1"+ColDelim+"oaddr2"+ColDelim+"oaddr3"+ColDelim+"Ocolony"+ColDelim+"colo"+ColDelim+"ocity"+ColDelim+"olandmark"+ColDelim+"opincode"+ColDelim+"ophone";
|
||||
if(document.getElementById('Rcolony').value==document.getElementById('Ocolony').value)
|
||||
{
|
||||
isSameAdd=true;
|
||||
}
|
||||
}
|
||||
else if(Opt=='rcp')
|
||||
{
|
||||
SourceFields="raddr1"+ColDelim+"raddr2"+ColDelim+"raddr3"+ColDelim+"Rcolony"+ColDelim+"colr"+ColDelim+"rcity"+ColDelim+"rlandmark"+ColDelim+"rpincode";
|
||||
TargetFields="paddr1"+ColDelim+"paddr2"+ColDelim+"paddr3"+ColDelim+"Pcolony"+ColDelim+"colp"+ColDelim+"pcity"+ColDelim+"plandmark"+ColDelim+"ppincode";
|
||||
if(document.getElementById('Rcolony').value==document.getElementById('Pcolony').value)
|
||||
{
|
||||
isSameAdd=true;
|
||||
}
|
||||
}
|
||||
else if(Opt=='ocp')
|
||||
{
|
||||
SourceFields="oaddr1"+ColDelim+"oaddr2"+ColDelim+"oaddr3"+ColDelim+"Ocolony"+ColDelim+"colo"+ColDelim+"ocity"+ColDelim+"olandmark"+ColDelim+"opincode";
|
||||
TargetFields="paddr1"+ColDelim+"paddr2"+ColDelim+"paddr3"+ColDelim+"Pcolony"+ColDelim+"colp"+ColDelim+"pcity"+ColDelim+"plandmark"+ColDelim+"ppincode";
|
||||
if(document.getElementById('Ocolony').value==document.getElementById('Pcolony').value)
|
||||
{
|
||||
isSameAdd=true;
|
||||
}
|
||||
}
|
||||
if(FillMode==1)
|
||||
{
|
||||
CopyDetails(SourceFields,TargetFields);
|
||||
}
|
||||
else if(FillMode==0 && isSameAdd)
|
||||
{
|
||||
ClearDetails(TargetFields);
|
||||
}
|
||||
}
|
||||
function ToggleChks(IsVisible,ChildElems,Delim)
|
||||
{
|
||||
if(IsVisible)
|
||||
{
|
||||
UnhideSections(ChildElems,Delim);
|
||||
}
|
||||
else
|
||||
{
|
||||
var Childs=ChildElems.split(Delim);
|
||||
for(indx=0;indx<Childs.length-1;indx++)
|
||||
{
|
||||
HideSections(Childs[indx]);
|
||||
document.getElementById(Childs[indx]).checked=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function ClearDetails(TargetFields)
|
||||
{
|
||||
if(TargetFields.length!=0)
|
||||
{
|
||||
var TargetList=TargetFields.split(ColDelim);
|
||||
if(TargetList.length==TargetList.length)
|
||||
{
|
||||
for(pos=0;pos<TargetList.length;pos++)
|
||||
{
|
||||
$("#"+TargetList[pos]).val("");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function CopyDetails(SourceFields,TargetFields)
|
||||
{
|
||||
if(SourceFields.length!=0 && TargetFields.length!=0)
|
||||
{
|
||||
var SourceList=SourceFields.split(ColDelim);
|
||||
var TargetList=TargetFields.split(ColDelim);
|
||||
if(SourceList.length==TargetList.length)
|
||||
{
|
||||
for(pos=0;pos<SourceList.length;pos++)
|
||||
{
|
||||
$("#"+TargetList[pos]).val($("#"+SourceList[pos]).val());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function AfterOptSelect(ElemToRemove,OprID)
|
||||
{
|
||||
FillSameDet(selectedAddr, OprID);
|
||||
selectedAddr=-1;
|
||||
ElemToRemove.parentNode.removeChild(ElemToRemove);
|
||||
}
|
||||
function ShowAddrOptions(OprID)
|
||||
{
|
||||
var optDiv=document.createElement("div");
|
||||
var Addr="";
|
||||
optDiv.setAttribute("id","optDiv");
|
||||
optDiv.setAttribute("class","FormPanel");
|
||||
optDiv.setAttribute("style","font-family:Tahoma;overflow:visible");
|
||||
var OptionPanel="<div id='TablePanel' class='tableContainer'><table border='0' cellspacing='0' width='100%' id='cutlist'><thead class='thead'><tr title='Row Title'><td colspan='2'>Available Addresses</td></tr></thead><tbody class='scrollContent'>";
|
||||
for(indx=0;indx<SameAddr.length;indx++)
|
||||
{
|
||||
OptionPanel=OptionPanel+"<tr><td><input type='radio' name='rb1' id='rb"+indx+"' value='"+indx+"' onclick='selectedAddr=this.value;' /></td>";
|
||||
OptionPanel=OptionPanel+"<td style='padding-right:5px'>";
|
||||
for(cindx=0;cindx<4;cindx++)
|
||||
{
|
||||
Addr=Addr+" "+SameAddr[indx][cindx];
|
||||
}
|
||||
OptionPanel=OptionPanel+""+Addr+"</td></tr>";
|
||||
Addr="";
|
||||
}
|
||||
OptionPanel=OptionPanel+"<tr><td colspan='2'><input type='button' class='button' name='btnok' style='margin-top:5px;float:right' value='OK' id='btnok' accesskey='K' onclick=\"AfterOptSelect(document.getElementById('inptDialog'),"+OprID+");\"";
|
||||
OptionPanel=OptionPanel+"</tbody></table></div>";
|
||||
optDiv.innerHTML=OptionPanel;
|
||||
ShowInputDialog(optDiv,"Select Address","hint","inptDialog");
|
||||
document.getElementById('rb0').focus();
|
||||
}
|
||||
function FillSameDet(AddrIndex,OprID)
|
||||
{
|
||||
|
||||
if(!(AddrIndex < 0))
|
||||
{
|
||||
for(cindx=0;cindx<SameAddr[AddrIndex].length;cindx++)
|
||||
{
|
||||
$("#"+AddrElem[OprID][cindx+1]).val((SameAddr[AddrIndex][cindx]));
|
||||
}
|
||||
document.getElementById(FocusAfter).focus();
|
||||
ToggleChks((document.getElementById('apptype').value.toUpperCase()!='APPLICANT' && document.getElementById('apptype').value.toUpperCase()!='-1'),'sradd!C0L!soadd!C0L!spadd!C0L!','!C0L!');
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById(AddrElem[OprID][0]).focus();
|
||||
if(document.getElementById(AddrElem[OprID][0]).type=='checkbox'){document.getElementById(AddrElem[OprID][0]).checked=false;}
|
||||
}
|
||||
}
|
||||
function SelectAddr(OprID)
|
||||
{
|
||||
|
||||
if(SameAddr.length>1)
|
||||
{
|
||||
ShowAddrOptions(OprID);
|
||||
}
|
||||
else
|
||||
{
|
||||
FillSameDet(0,OprID);
|
||||
}
|
||||
}
|
||||
function FindSameDet(Elm,Visit,focAfter)
|
||||
{
|
||||
if($("#case_id").val()!='0' && Visit=='A')
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
FocusAfter=focAfter;
|
||||
var procFlag=true;
|
||||
if(Elm.type=='checkbox')
|
||||
{
|
||||
procFlag=Elm.checked;
|
||||
}
|
||||
if(procFlag)
|
||||
{
|
||||
Applno=document.getElementById('applno').value;
|
||||
if(Applno.length==0)
|
||||
{
|
||||
if(Elm.type=='checkbox'){Elm.checked=false;}
|
||||
CallMessage('VLFRM:error:Please enter application number.',3000,200,300);
|
||||
document.getElementById('applno').focus();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
SameAddr=new Array(0); // Empty Address Array
|
||||
oprId=(Visit=='R' ? 19:Visit=='O' ? 20:Visit=='P' ? 21:22);
|
||||
QryStr="val="+Applno+"&val1="+$("#portfolio_id").val()+"&val2="+oprId;
|
||||
RunAjax("GET","findsdet",QryStr,oprId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function FindStr(el,elmids,rstfld)
|
||||
{
|
||||
el.value=el.value.split('->')[0];
|
||||
var skey=el.value.trim().toUpperCase();
|
||||
if(skey!='UNKNOWN' && skey!='-1')
|
||||
{
|
||||
var elms=elmids.split(ColDelim);
|
||||
var indx=0;
|
||||
for(indx=0;indx<elms.length;indx++)
|
||||
{
|
||||
if($("#"+elms[indx]).val().toUpperCase().search(skey)>-1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function HandleBlur(el)
|
||||
{
|
||||
if(el.id=='rcity' || el.id=='ocity' || el.id=='pcity')
|
||||
{
|
||||
var pel= (el.id=='rcity' ? 'Rcolony':(el.id=='ocity' ? 'Ocolony':'Pcolony'));
|
||||
var cel= (el.id=='rcity' ? 'raddr':(el.id=='ocity' ? 'oaddr':'paddr'));
|
||||
var hel= (el.id=='rcity' ? 'colr':(el.id=='ocity' ? 'colo':'colp'));
|
||||
var chk= (el.id=='rcity' ? 'rv':(el.id=='ocity' ? 'ov':'pv'));
|
||||
if(!FindStr(el,cel+'2!C0L!'+cel+'3'))
|
||||
{
|
||||
CallMessage("1001AREA:error:Invalid area.", 3000, 200, 300);
|
||||
$(el).val("-1");
|
||||
$("#"+pel).val("");
|
||||
$("#"+hel).val("");
|
||||
}
|
||||
validate(el,document.getElementById(chk).checked ? 't':'f','');
|
||||
}
|
||||
if(el.id=='colr' || el.id=='colo' || el.id=='colp')
|
||||
{
|
||||
var pel= (el.id=='colr' ? 'rv':(el.id=='colo' ? 'ov':'pv'));
|
||||
var cel= (el.id=='colr' ? 'raddr':(el.id=='colo' ? 'oaddr':'paddr'));
|
||||
if(!FindStr(el,cel+'2!C0L!'+cel+'3'))
|
||||
{
|
||||
CallMessage("1001AREA:error:Invalid colony.", 3000, 200, 300);
|
||||
$(el).val("");
|
||||
}
|
||||
if(el.value=='')
|
||||
{
|
||||
document.getElementsByName(el.id+'_hidden')[0].value='';
|
||||
}
|
||||
if(document.getElementsByName(el.id+'_hidden')[0].value=='')
|
||||
{
|
||||
el.value='';
|
||||
}
|
||||
validate(el,document.getElementById(pel).checked ? 't':'f','SplInstruction');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user