In OIS115, custom column data not gets loaded when scroll down is done.
var OIS115_CUNM_COLUMN = (function () {
function OIS115_CUNM_COLUMN(scriptArgs) {
this.enableSearch = false;
this.controller = scriptArgs.controller;
this.log = scriptArgs.log;
}
OIS115_CUNM_COLUMN.Init = function (args) {
new OIS115_CUNM_COLUMN(args).run();
};
OIS115_CUNM_COLUMN.prototype.run = function () {
this.lastRowUpdated = 0;
var list = this.controller.GetGrid();
var customColumnNum = list.getColumns().length + 1;
this.newColumnID = list.getColumns().length + 1;
this.enableSearch = customColumnNum > -1;
this.appendColumn(list, customColumnNum);
this.coColumnID = ListControl.GetColumnIndexByName("ORNO") + 1; //RIDN
console.log("G----"+ListControl.GetColumnIndexByName("ORNO"));
console.log("G----this.coColumnID----"+this.coColumnID);
if (this.coColumnID >= 0) {
this.populateData(list, this.newColumnID, this.coColumnID);
}
this.attachEvents(this.controller, list, customColumnNum);
};
OIS115_CUNM_COLUMN.prototype.appendColumn = function (list, columnNum) {
// var columnId = "C" + columnNum;
// var columns = list.getColumns();
// var newColumn = {
// id: columnId,
// field: columnId,
// name: "Customer Name",
// width: 150
// };
// if (columns.length < columnNum) {
// columns.push(newColumn);
// }
// list.setColumns(columns);
//adding Payer and Payer Name
var columnId1 = "C" + (columnNum + 1);
var columns1 = list.getColumns();
var newColumn1 = {
id: columnId1,
field: columnId1,
name: "Payer",
width: 150
};
if (ScriptUtil.version >= 2.0) {
newColumn1.constraint = new ConstraintElement()
}
if (columns1.length < (columnNum + 1)) {
columns1.push(newColumn1);
}
list.setColumns(columns1);
var columnId2 = "C" + (columnNum + 2);
var columns2 = list.getColumns();
var newColumn2 = {
id: columnId2,
field: columnId2,
name: "Payer Name",
width: 150
};
if (ScriptUtil.version >= 2.0) {
newColumn2.constraint = new ConstraintElement()
}
if (columns2.length < (columnNum + 2)) {
columns2.push(newColumn2);
}
list.setColumns(columns2);
};
OIS115_CUNM_COLUMN.prototype.populateData = function (list, newColumnID, coColumnID) {
var companyNo = ScriptUtil.GetUserContext().CurrentCompany;
var _this = this;
var recordCount = 0;
var columnId = "C" + newColumnID;
var columnId1 = "C" + (newColumnID + 1);
var columnId2 = "C" + (newColumnID + 2);
if (this.enableSearch) {
var _loop_1 = function(i) {
var myRequest = new MIRequest();
myRequest.program = "OIS100MI";
myRequest.transaction = "GetHead";
myRequest.outputFields = ["CUNO","TEL1", "TEL2"];
//get Payer and Payer Name data
var payerRequest = new MIRequest();
payerRequest.program = "CRS610MI";
payerRequest.transaction = "LstByNumber";
payerRequest.outputFields = ["PYNO"];
var payerNameRequest = new MIRequest();
payerNameRequest.program = "CRS610MI";
payerNameRequest.transaction = "GetBasicData";
payerNameRequest.outputFields = ["CUNM"];
recordCount++;
var orderNo;
// var coNumber = list.getData().getItem(i)['C' + coColumnID]; -----> OLD Code
if (ScriptUtil.version >= 2.0) {
orderNo = list.getData()[i].S1ORNO;
}else{
orderNo =list.getData().getItem(i)['C' + coColumnID];
}
if (recordCount >= this_1.lastRowUpdated) {
myRequest.record = { ORNO:orderNo };
MIService.Current.executeRequest(myRequest).then(function (response) {
if(orderNo == 1200300538){
debugger
}
//get Payer and Payer Name data
payerRequest.record = { CUNO: response.item.CUNO, CONO: companyNo };
MIService.Current.executeRequest(payerRequest).then(function (response) {
var payerValue = response.item.PYNO;
if (ScriptUtil.version >= 2.0) {
var newData = {};
newData[columnId1] = payerValue;
newData["id_" + columnId1] = "R" + (i + 1) + columnId1;
$.extend(list.getData()[i], newData);
var columns = list.getColumns();
const dataset = list.getData();
const data = dataset[i];
list.setData(dataset);
var cellId1 = "R" + (i + 1) + 'C' + columnId1;
list.editedCells[cellId1] = { newValue: payerValue };
} else {
var newData = {};
newData[columnId1] = payerValue;
newData["id_" + columnId1] = "R" + (i + 1) + columnId1;
$.extend(list.getData().getItem(i), newData);
var columns = list.getColumns();
list.setColumns(columns);
}
payerNameRequest.record = { CUNO: payerValue, CONO: companyNo };
MIService.Current.executeRequest(payerNameRequest).then(function (response) {
var payerNameValue = response.item.CUNM;
if (ScriptUtil.version >= 2.0) {
var newData = {};
newData[columnId2] = payerNameValue;
newData["id_" + columnId2] = "R" + (i + 1) + columnId2;
$.extend(list.getData()[i], newData);
var columns = list.getColumns();
const dataset = list.getData();
const data = dataset[i];
list.setData(dataset);
var cellId2 = "R" + (i + 1) + 'C' + columnId2;
list.editedCells[cellId2] = { newValue: payerNameValue };
} else {
var newData = {};
newData[columnId2] = payerNameValue;
newData["id_" + columnId2] = "R" + (i + 1) + columnId2;
$.extend(list.getData().getItem(i), newData);
var columns = list.getColumns();
list.setColumns(columns);
}
}).catch(function (response) {
console.log("customerNO: " + customerNumber);
console.log("payer " + payerValue);
console.log("payerName " + payerNameValue);
_this.log.Error("Error on CRS610MI--" + " : " + response.errorMessage);
});
}).catch(function (response) {
console.log("customerNO: " + customerNumber);
console.log("payer " + payerValue);
console.log("payerName " + payerNameValue);
_this.log.Error("Error on CRS610MI--" + " : " + response.errorMessage);
});
}).catch(function (response) {
_this.log.Error("Error on OIS100MI--" + customerNumber + " : " + response.errorMessage);
});
}
};
var this_1 = this;
var length;
//OLD CODE
// for (var i = 0; i < list.getData().getLength(); i++) {
// _loop_1(i);
// }
if (ScriptUtil.version >= 2.0) {
length = list.getData().length;
} else {
length = list.getData().getLength();
}
for (var i = 0; i < length; i++) {
_loop_1(i);
}
this.lastRowUpdated = recordCount;
}
};
OIS115_CUNM_COLUMN.prototype.attachEvents = function (controller, list, columnNum) {
var _this = this;
console.log("attach triggered")
this.unsubscribeReqCompleted = controller.Requesting.On(function (e) {
if (e.commandType === "PAGE" && e.commandValue === "DOWN") {
if (_this.coColumnID > -1) {
_this.populateData(list, _this.newColumnID, _this.coColumnID);
}
}
else {
_this.detachEvents();
}
});
};
OIS115_CUNM_COLUMN.prototype.detachEvents = function () {
this.unsubscribeReqCompleted();
};
return OIS115_CUNM_COLUMN;
}());