Files

159 lines
4.0 KiB
JavaScript
Raw Permalink Normal View History

2026-10-18 17:01:36 +00:00
// ============
// View Journal
// ============
$(document).ready(function () {
2026-10-18 17:01:36 +00:00
var $application = $("#APPLICATION_MNEMONIC").val(),
$sessionStorage = JSON.parse(sessionStorage.getItem($application) || "{}");
// -----------
// Find Button
// -----------
$(".btnFind").on("click", async function () {
2026-10-18 17:01:36 +00:00
$sessionStorage.action = "Journal.viewJournal";
$sessionStorage.pagination = "first";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
$("#spinner-dialog").modal("show");
formSubmit($sessionStorage);
});
$("#find_journal").on("keyup", async function (e) {
2026-10-18 17:01:36 +00:00
if (e.key === "Enter") {
$(".btnFind").trigger("click");
}
});
// -----------------
// Clear Find Button
// -----------------
$(".btnClearFind").on("click", async function () {
2026-10-18 17:01:36 +00:00
$("#find_journal").val("").trigger("change");
$sessionStorage.action = "Journal.viewJournal";
$sessionStorage.pagination = "first";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
$("#spinner-dialog").modal("show");
formSubmit($sessionStorage);
});
// ------------------
// Pagination Buttons
// ------------------
$(".btnPagination").on("click", async function () {
2026-10-18 17:01:36 +00:00
$sessionStorage.action = "Journal.viewJournal";
$sessionStorage.pagination = $(this).data("pagination");
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
$("#spinner-dialog").modal("show");
formSubmit($sessionStorage);
delete $sessionStorage.pagination;
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
});
// -----------
// Done Button
// -----------
$(".btnDone").on("click", async function () {
2026-10-18 17:01:36 +00:00
formSubmit({ action : "" });
});
// --------------
// Refresh Button
// --------------
$(".btnRefresh").on("click", async function () {
2026-10-18 17:01:36 +00:00
window.location.reload();
});
// -------------------
// Save Changed Inputs
// -------------------
$(".autosave").on("change", async function (e) {
2026-10-18 17:01:36 +00:00
switch (e.target.type) {
case "text" : $sessionStorage[e.target.name] = $(this).val(); break;
case "radio" : $sessionStorage[e.target.name] = $(this).val(); break;
case "checkbox" : $sessionStorage[e.target.name] = $(this).prop("checked"); break;
case "select-one" : $sessionStorage[e.target.name] = $(this).val(); break;
case "hidden" : $sessionStorage[e.target.name] = $(this).val(); break;
default : $sessionStorage[e.target.name] = $(this).val(); break;
}
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
});
// ----------------
// Initalize Inputs
// ----------------
$.each($sessionStorage, function (name, value) {
2026-10-18 17:01:36 +00:00
var $input = $(":input.autosave").not('[type="hidden"],[type="password"]').filter(function(){return this.name===name;});
2026-10-18 17:01:36 +00:00
if ($input.length > 0) {
switch ($input.prop("type")) {
case "text" : $input.val(value); break;
case "radio" : $input.filter("[value=" + value + "]").prop("checked", true); break;
case "checkbox" : $input.prop("checked", value); break;
case "select-one" : $input.val(value); break;
case "hidden" : $input.val(value); break;
default : $input.val(value); break;
}
}
});
// ------------------
// Save preset Inputs
// ------------------
$("input[type=radio]:checked").trigger("change");
// -----------------
// Per Page Dropdown
// -----------------
$("#journals_per_page").on("change", async function () {
2026-10-18 17:01:36 +00:00
$(".btnFind").trigger("click");
});
});