Files
realestatedatainc/js/editAlert.js
T

257 lines
7.3 KiB
JavaScript
Raw Normal View History

2026-05-29 14:52:16 -04:00
// ==========
// Edit Alert
// ==========
$(document).ready(function () {
var $application = $("#APPLICATION_MNEMONIC").val(), $sessionStorage = JSON.parse(sessionStorage.getItem($application) || "{}"), $CKEditor;
// ----------------------
// Initialize the Editor.
// ----------------------
ClassicEditor
.create(document.querySelector('#alert_message'), {
toolbar: {
items: [
'heading',
'|',
'bold',
'italic',
'underline',
'link',
'bulletedList',
'numberedList',
'|',
'fontColor',
'fontSize',
'fontFamily',
'|',
'indent',
'outdent',
'alignment',
'|',
'horizontalLine',
'insertTable',
'|',
'undo',
'redo',
'|'
]},
link: {
addTargetToExternalLinks: true,
defaultProtocol: "http://"
}
})
.then(editor => {
$CKEditor = editor;
})
.catch(error => {
console.error('CK-Editor error...');
console.error(error);
});
// ------------
// Date Pickers
// ------------
$("#alert_starts_date").datepicker({format: "yyyy-mm-dd",
container: "div.starts-date",
keyboardNavigation: false,
autoclose: true,
orientation: "bottom",
todayBtn: "linked",
todayHighlight: true});
$("#alert_expires_date").datepicker({format: "yyyy-mm-dd",
container: "div.expires-date",
keyboardNavigation: false,
autoclose: true,
orientation: "bottom",
todayBtn: "linked",
todayHighlight: true});
$("#alert_starts_time").inputmask({alias: "datetime",
placeholder: "HH:MM",
inputFormat: "HH:MM",
insertMode: false,
showMaskOnHover: false,
hourFormat: 24
});
$("#alert_expires_time").inputmask({alias: "datetime",
placeholder: "HH:MM",
inputFormat: "HH:MM",
insertMode: false,
showMaskOnHover: false,
hourFormat: 24
});
// ---------------------
// Show Calendar Buttons
// ---------------------
$(".btnAlertStartDateCalendar").on("click", function (e) {
e.preventDefault();
$("#alert_starts_date").focus().datepicker("show");
});
$(".btnAlertExpiresDateCalendar").on("click", function (e) {
e.preventDefault();
$("#alert_expires_date").focus().datepicker("show");
});
$("#alert_starts_date").on("blur", function () {
$("#alert_starts_time").focus();
});
$("#alert_expires_date").on("blur", function () {
$("#alert_expires_time").focus();
});
// -----------
// Save Button
// -----------
$(".btnSave").on("click", function (e) {
e.preventDefault();
$("#editAlert").submit();
});
console.log($sessionStorage);
// -------------
// Cancel Button
// -------------
$(".btnCancel").on("click", function () {
$sessionStorage.action = $sessionStorage.editAlert || "";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
// ---------------
// Validate Inputs
// ---------------
$("#editAlert").submit(function (e) {
var alert_title = $("#alert_title"),
alert_starts_date = $("#alert_starts_date"),
alert_starts_time = $("#alert_starts_time"),
alert_expires_date = $("#alert_expires_date"),
alert_expires_time = $("#alert_expires_time"),
alert_message = $("#alert_message");
clearInputErrors();
alert_title.val(alert_title.val().replace(/\s+/g, " ").trim());
if (isBlank(alert_title)) {
createInputError(alert_title, "Title is required");
return false;
}
if ((!isBlank(alert_starts_date)) && (!isDate(alert_starts_date))) {
createInputError(alert_starts_date, "Date is invalid");
return false;
}
if (isBlank(alert_starts_time)) {
createInputError(alert_starts_time, "Please enter a Time");
return false;
}
if (!alert_starts_time.inputmask("isComplete")) {
createInputError(alert_starts_time, "Please enter a Time");
return false;
}
if (isBlank(alert_expires_date)) {
createInputError(alert_expires_date, "Please enter a Date");
return false;
}
if ((!isBlank(alert_expires_date)) && (!isDate(alert_expires_date))) {
createInputError(alert_expires_date, "Date is invalid");
return false;
}
if (isBlank(alert_expires_time)) {
createInputError(alert_expires_time, "Please enter a Time");
return false;
}
if (!alert_expires_time.inputmask("isComplete")) {
createInputError(alert_expires_time, "Please enter a Time");
return false;
}
// if (isBlank(alert_message)) {
// createInputError(alert_message, "Please enter a Message");
// return false;
// }
if (!checkDateTime(alert_starts_date, alert_starts_time, alert_expires_date, alert_expires_time)) {
createInputError(alert_expires_time, "Cannot be prior to Start");
return false;
}
e.preventDefault();
$CKEditor.updateSourceElement();
$.post("./", $(this).serialize())
.done(function () {
$sessionStorage.action = $sessionStorage.editAlert || "";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
});
});
// -----------------------------------------------------
// Expires date/time cannot be prior to Start date/time.
// -----------------------------------------------------
function checkDateTime(alert_starts_date, alert_starts_time, alert_expires_date, alert_expires_time) {
var starts_date_parts = alert_starts_date.val().split("-"),
starts_time_parts = alert_starts_time.val().split(":"),
expires_date_parts = alert_expires_date.val().split("-"),
expires_time_parts = alert_expires_time.val().split(":"),
starts_date,
expires_date;
starts_date = new Date(starts_date_parts[0], parseInt(starts_date_parts[1], 10) - 1, starts_date_parts[2]);
expires_date = new Date(expires_date_parts[0], parseInt(expires_date_parts[1], 10) - 1, expires_date_parts[2]);
starts_date.setHours(starts_time_parts[0], starts_time_parts[1], 0, 0);
expires_date.setHours(expires_time_parts[0], expires_time_parts[1], 0, 0);
if (expires_date.getTime() < starts_date.getTime()) {
return false;
} else {
return true;
}
}