Allow users to select multiple reminders to push back when creating new record.

This commit is contained in:
DESKTOP-GENO133\IvanPlex
2024-03-23 20:32:23 -06:00
parent 1f60b2aadc
commit b70e442ca3
11 changed files with 102 additions and 23 deletions

View File

@@ -340,19 +340,19 @@ function showRecurringReminderSelector(descriptionFieldName) {
confirmButtonText: 'Select',
focusConfirm: false,
preConfirm: () => {
const selectedRecurringReminder = $("#recurringReminderInput").val();
const selectedRecurringReminderText = $("#recurringReminderInput option:selected").text();
if (!selectedRecurringReminder || parseInt(selectedRecurringReminder) == 0) {
//validate
var selectedRecurringReminderData = getAndValidateSelectedRecurringReminder();
if (selectedRecurringReminderData.hasError) {
Swal.showValidationMessage(`You must select a recurring reminder`);
}
return { selectedRecurringReminder, selectedRecurringReminderText }
return { selectedRecurringReminderData }
},
}).then(function (result) {
if (result.isConfirmed) {
recurringReminderRecordId = result.value.selectedRecurringReminder;
recurringReminderRecordId = result.value.selectedRecurringReminderData.ids;
var descriptionField = $(`#${descriptionFieldName}`);
if (descriptionField.length > 0) {
descriptionField.val(result.value.selectedRecurringReminderText.trim());
descriptionField.val(result.value.selectedRecurringReminderData.text);
}
}
});
@@ -554,4 +554,55 @@ function adjustRecordsOdometer(ids, source) {
$("#workAroundInput").hide();
}
});
}
function showMultipleRemindersSelector() {
if ($("#multipleRemindersCheck").is(":checked")) {
$("#recurringMultipleReminders").show();
$("#recurringReminderInput").hide();
} else {
$("#recurringMultipleReminders").hide();
$("#recurringReminderInput").show();
}
}
function getAndValidateSelectedRecurringReminder() {
if ($("#multipleRemindersCheck").is(":checked")) {
//validate multiple reminders
var selectedRecurringRemindersArray = [];
$("#recurringMultipleReminders :checked").map(function () {
selectedRecurringRemindersArray.push({
value: this.value,
text: $(this).parent().find('.form-check-label').text()
});
});
if (selectedRecurringRemindersArray.length == 0) {
return {
hasError: true,
ids: [],
text: ''
}
} else {
return {
hasError: false,
ids: selectedRecurringRemindersArray.map(x=>x.value),
text: selectedRecurringRemindersArray.map(x=>x.text).join(', ')
}
}
} else {
//validate single reminder
var selectedRecurringReminder = $("#recurringReminderInput").val();
var selectedRecurringReminderText = $("#recurringReminderInput option:selected").text();
if (!selectedRecurringReminder || parseInt(selectedRecurringReminder) == 0) {
return {
hasError: true,
ids: [],
text: ''
}
} else {
return {
hasError: false,
ids: [selectedRecurringReminder],
text: selectedRecurringReminderText
}
}
}
}