Files

283 lines
7.3 KiB
JavaScript
Raw Permalink Normal View History

// ============
// User Summary
// ============
$(document).ready(function () {
var $application = $("#APPLICATION_MNEMONIC").val(), $sessionStorage = JSON.parse(sessionStorage.getItem($application) || "{}");
var default_tab = "Subscriptions";
var user_role = $("#USER_ROLE").val();
//
// --------------
// Select Picker.
// --------------
$(".search-dropdown").selectpicker({noneSelectedText: "",
style: "",
styleBase: "form-select form-select-sm",
iconBase: "bi",
virtualScroll: true,
size: 10,
selectOnTab: true,
containter: "body",
liveSearch: true});
// -----------
// Input Masks
// -----------
$(".date-mask").inputmask({alias: "datetime",
inputFormat: "mm/dd/yyyy",
placeholder: "MM/DD/YYYY",
showMaskOnHover: false});
$(".numeric-mask").inputmask("9{0,9}", {showMaskOnHover: false});
$(".numeric-2-mask").inputmask({alias: "numeric",
showMaskOnHover: false,
placeholder: "0",
groupSeparator: ",",
allowMinus: false,
digitsOptional: false,
digits: 2});
// ------------
// Date Pickers
// ------------
$("#user_completed").datepicker({format: "mm-dd-yyyy",
container: "div.user_completed",
keyboardNavigation: false,
showOnFocus: false,
autoclose: true,
endDate: "0d",
orientation: "left bottom",
todayBtn: "linked",
todayHighlight: true});
// Disable standard Drag/Drop processing.
$("html").on("dragenter dragover dragleave drop", function (e) {
e.preventDefault();
});
// ---------------------------
// Set and Show the Active Tab
// --------------------------
$sessionStorage.userSummary_tab = $sessionStorage.userSummary_tab || default_tab;
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
$("#tab-" + ($sessionStorage.userSummary_tab || default_tab)).tab("show");
// --------------------
// Capture a Tab Change
// --------------------
$(".nav-tabs a[data-bs-toggle='tab']").on("shown.bs.tab", function (e) {
$sessionStorage.userSummary_tab = $(e.target).attr("data-tab");
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
});
// ----------------------
// Active Status Dropdown
// ----------------------
$("#user_active").on("change", function () {
formPost({action: "Users.updateActiveStatus", user_serial: $sessionStorage.user_serial, user_active: $(this).val()});
location.reload();
});
// --------------------
// Reset Users Password
// ---------------------
$(".btnResetPassword").on("click", function () {
formPost({action: "Users.resetPassword", user_serial: $sessionStorage.user_serial});
$sessionStorage.toast = "Passsword Reset";
location.reload();
});
// ==============
// Action Buttons
// ==============
// -----------
// Done Button
// -----------
$(".btnDone").on("click", function () {
$sessionStorage.action = $sessionStorage.userSummary || "";
formSubmit($sessionStorage);
});
// -----------
// Edit Button
// -----------
$(".btnEdit").on("click", function () {
if (user_role === "Guest") {
return false;
}
$sessionStorage.action = "Users.editUser";
$sessionStorage.editUser = "Users.userSummary";
$sessionStorage.deleteUser = "Users.setupUsers";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
// ------------
// Print Button
// ------------
$(".btnPrint").on("click", function (e) {
e.preventDefault();
window.open("", "PrintTab");
$("input[name = 'user_serial']", "#PrintUserSummaryForm").val($sessionStorage.user_serial);
$("#PrintUserSummaryForm").submit();
});
// -------------
// Delete Button
// -------------
$(".btnDelete").on("click", function () {
$("#confirm-dialog").removeClass().addClass("modal confirm-delete-user")
.find(".modal-title").html("Confirm Delete User").end()
.find(".modal-body").html("Are you sure you wish to delete this User?").end()
.modal("show");
});
$("body").on("click", ".confirm-delete-user .btnConfirmDialogConfirm", function () {
$.post("./", {action: "Users.deleteUser", user_serial: $sessionStorage.user_serial})
.done(function () {
$sessionStorage.action = $sessionStorage.deleteUser || "";
$sessionStorage.toast = "User was Deleted";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
});
// =========
// Notes Tab
// =========
// ---------------
// Add Note Button
// ---------------
$(".btnAddNote").on("click", function () {
$sessionStorage.action = "Notes.addNote";
$sessionStorage.note_type = "User";
$sessionStorage.note_reference = $sessionStorage.user_serial;
$sessionStorage.addNote = "Users.userSummary";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
// ---------
// Edit Note
// ---------
$("#notes-table tbody").on("click touch", "tr", function (e) {
e.preventDefault();
if (user_role === "Guest") {
return false;
}
$sessionStorage.action = "Notes.editNote";
$sessionStorage.note_serial = $(this).data("note-serial");
$sessionStorage.editNote = "Users.userSummary";
$sessionStorage.deleteNote = "Users.userSummary";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
// =================
// Subscriptions Tab
// =================
// -------------------------------
// Add Subscription to User Button
// -------------------------------
$(".btnAddSubscription").on("click", function () {
$sessionStorage.action = "Subscriptions.addSubscriptionToUser";
$sessionStorage.user_reference = $sessionStorage.user_serial;
$sessionStorage.addSubscriptionToUser = "Users.userSummary";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
// --------------------------------
// Edit Subscription to User Button
// --------------------------------
$("#usersubscriptions-table tbody").on("click touch", "tr", function (e) {
e.preventDefault();
if (user_role === "Guest") {
return false;
}
$sessionStorage.action = "Subscriptions.editUsersSubscription";
$sessionStorage.usersubscription_serial = $(this).data("usersubscription-serial");
$sessionStorage.editUsersSubscription = "Users.userSummary";
$sessionStorage.deleteUsersSubscription = "Users.userSummary";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
});