first commit
This commit is contained in:
129
wwwroot/js/note.js
Normal file
129
wwwroot/js/note.js
Normal file
@@ -0,0 +1,129 @@
|
||||
function showAddNoteModal() {
|
||||
$.get('/Vehicle/GetAddNotePartialView', function (data) {
|
||||
if (data) {
|
||||
$("#noteModalContent").html(data);
|
||||
initTagSelector($("#noteRecordTag"));
|
||||
$('#noteModal').modal('show');
|
||||
}
|
||||
});
|
||||
}
|
||||
function showEditNoteModal(noteId, nocache) {
|
||||
if (!nocache) {
|
||||
var existingContent = $("#noteModalContent").html();
|
||||
if (existingContent.trim() != '') {
|
||||
//check if id is same.
|
||||
var existingId = getNoteModelData().id;
|
||||
if (existingId == noteId && $('[data-changed=true]').length > 0) {
|
||||
$('#noteModal').modal('show');
|
||||
$('.cached-banner').show();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
$.get(`/Vehicle/GetNoteForEditById?noteId=${noteId}`, function (data) {
|
||||
if (data) {
|
||||
$("#noteModalContent").html(data);
|
||||
initTagSelector($("#noteRecordTag"));
|
||||
$('#noteModal').modal('show');
|
||||
bindModalInputChanges('noteModal');
|
||||
$('#noteModal').off('shown.bs.modal').on('shown.bs.modal', function () {
|
||||
if (getGlobalConfig().useMarkDown) {
|
||||
toggleMarkDownOverlay("noteTextArea");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
function hideAddNoteModal() {
|
||||
$('#noteModal').modal('hide');
|
||||
}
|
||||
function deleteNote(noteId) {
|
||||
$("#workAroundInput").show();
|
||||
Swal.fire({
|
||||
title: "Confirm Deletion?",
|
||||
text: "Deleted Notes cannot be restored.",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "Delete",
|
||||
confirmButtonColor: "#dc3545"
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
$.post(`/Vehicle/DeleteNoteById?noteId=${noteId}`, function (data) {
|
||||
if (data) {
|
||||
hideAddNoteModal();
|
||||
successToast("Note Deleted");
|
||||
var vehicleId = GetVehicleId().vehicleId;
|
||||
getVehicleNotes(vehicleId);
|
||||
} else {
|
||||
errorToast(genericErrorMessage());
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$("#workAroundInput").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
function saveNoteToVehicle(isEdit) {
|
||||
//get values
|
||||
var formValues = getAndValidateNoteValues();
|
||||
//validate
|
||||
if (formValues.hasError) {
|
||||
errorToast("Please check the form data");
|
||||
return;
|
||||
}
|
||||
//save to db.
|
||||
$.post('/Vehicle/SaveNoteToVehicleId', { note: formValues }, function (data) {
|
||||
if (data) {
|
||||
successToast(isEdit ? "Note Updated" : "Note Added.");
|
||||
hideAddNoteModal();
|
||||
saveScrollPosition();
|
||||
getVehicleNotes(formValues.vehicleId);
|
||||
} else {
|
||||
errorToast(genericErrorMessage());
|
||||
}
|
||||
})
|
||||
}
|
||||
function getAndValidateNoteValues() {
|
||||
var noteDescription = $("#noteDescription").val();
|
||||
var noteText = $("#noteTextArea").val();
|
||||
var vehicleId = GetVehicleId().vehicleId;
|
||||
var noteId = getNoteModelData().id;
|
||||
var noteIsPinned = $("#noteIsPinned").is(":checked");
|
||||
var noteTags = $("#noteRecordTag").val();
|
||||
//validation
|
||||
var hasError = false;
|
||||
var extraFields = getAndValidateExtraFields();
|
||||
if (extraFields.hasError) {
|
||||
hasError = true;
|
||||
}
|
||||
if (noteDescription.trim() == '') { //eliminates whitespace.
|
||||
hasError = true;
|
||||
$("#noteDescription").addClass("is-invalid");
|
||||
} else {
|
||||
$("#noteDescription").removeClass("is-invalid");
|
||||
}
|
||||
if (noteText.trim() == '') {
|
||||
hasError = true;
|
||||
$("#noteTextArea").addClass("is-invalid");
|
||||
} else {
|
||||
$("#noteTextArea").removeClass("is-invalid");
|
||||
}
|
||||
return {
|
||||
id: noteId,
|
||||
hasError: hasError,
|
||||
vehicleId: vehicleId,
|
||||
description: noteDescription,
|
||||
noteText: noteText,
|
||||
files: uploadedFiles,
|
||||
pinned: noteIsPinned,
|
||||
tags: noteTags,
|
||||
extraFields: extraFields.extraFields
|
||||
}
|
||||
}
|
||||
function pinNotes(ids, toggle, pinStatus) {
|
||||
$.post('/Vehicle/PinNotes', { noteIds: ids, isToggle: toggle, pinStatus: pinStatus }, function (data) {
|
||||
if (data) {
|
||||
successToast(ids.length > 1 ? `${ids.length} Notes Updated` : "Note Updated.");
|
||||
getVehicleNotes(GetVehicleId().vehicleId);
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user