added bulk edit functionality.

This commit is contained in:
DESKTOP-GENO133\IvanPlex
2024-02-21 21:39:39 -07:00
parent 0d8822c496
commit 0fab57d19c
4 changed files with 200 additions and 2 deletions

View File

@@ -811,6 +811,83 @@ function detectRowTouchEndPremature(sender) {
rowTouchTimer = null;
}
}
function editMultipleRecords(ids) {
function editMultipleRecords(ids, dataType) {
$.post('/Vehicle/GetGenericRecordModal', { recordIds: ids, dataType: dataType }, function (data) {
if (data) {
$("#genericRecordEditModalContent").html(data);
initDatePicker($('#genericRecordDate'));
initTagSelector($("#genericRecordTag"));
$("#genericRecordEditModal").modal('show');
}
});
}
function hideGenericRecordModal() {
$("#genericRecordEditModal").modal('hide');
}
function saveGenericRecord() {
//get values
var formValues = getAndValidateGenericRecordValues();
//validate
if (formValues.hasError) {
errorToast("Please check the form data");
return;
}
var refreshDataCallBack;
switch (formValues.dataType) {
case "ServiceRecord":
refreshDataCallBack = getVehicleServiceRecords;
break;
case "RepairRecord":
refreshDataCallBack = getVehicleCollisionRecords;
break;
case "UpgradeRecord":
refreshDataCallBack = getVehicleUpgradeRecords;
break;
}
//save to db.
$.post('/Vehicle/EditMultipleRecords', { genericRecordEditModel: formValues }, function (data) {
if (data) {
successToast(formValues.recordIds.length > 1 ? "Records Updated" : "Record Updated.");
hideGenericRecordModal();
refreshDataCallBack(GetVehicleId().vehicleId);
} else {
errorToast(genericErrorMessage());
}
})
}
function getAndValidateGenericRecordValues() {
var genericDate = $("#genericRecordDate").val();
var genericMileage = $("#genericRecordMileage").val();
var genericMileageToParse = parseInt(globalParseFloat($("#genericRecordMileage").val())).toString();
var genericDescription = $("#genericRecordDescription").val();
var genericCost = $("#genericRecordCost").val();
var genericNotes = $("#genericRecordNotes").val();
var genericTags = $("#genericRecordTag").val();
//validation
var hasError = false;
if (genericMileage.trim() != '' && (isNaN(genericMileageToParse) || parseInt(genericMileageToParse) < 0)) {
hasError = true;
$("#genericRecordMileage").addClass("is-invalid");
} else {
$("#genericRecordMileage").removeClass("is-invalid");
}
if (genericCost.trim() != '' && !isValidMoney(genericCost)) {
hasError = true;
$("#genericRecordCost").addClass("is-invalid");
} else {
$("#genericRecordCost").removeClass("is-invalid");
}
return {
hasError: hasError,
dataType: getGenericRecordEditModelData().dataType,
recordIds: recordsToEdit,
editRecord: {
date: genericDate,
mileage: genericMileageToParse,
description: genericDescription,
cost: genericCost,
notes: genericNotes,
tags: genericTags
}
}
}