function hideLoader() { $('.layout-loading-icon').fadeOut(); } function showLoader() { $('.layout-loading-icon').attr('style', 'visibility:visible'); $('.layout-loading-icon').removeClass('text-danger'); $('.layout-loading-icon').removeClass('text-muted'); $('.layout-loading-icon').fadeIn(); } function errorLoader() { $('.layout-loading-icon').addClass('text-danger'); } function staleLoader() { $('.layout-loading-icon').addClass('text-muted'); } $(document).ready(function () { hideLoader(); /* * hide loader when clicking */ $(document).click(function (e) { //hideLoader() }); /* * handle action modal */ $('.profile-action').click(function (e) { const actionType = $(this).data('action'); const actionId = $(this).data('action-id'); const actionIdKey = actionId == undefined ? '' : '?id=' + actionId; $.get('/Action/' + actionType + 'Form' + actionIdKey) .done(function (response) { $('#actionModal .modal-message').fadeOut('fast'); $('#actionModal .modal-body-content').html(response); $('#actionModal').modal(); }) .fail(function (jqxhr, textStatus, error) { $('#actionModal .modal-message').text('Error — ' + error); $('#actionModal').modal(); $('#actionModal .modal-message').fadeIn('fast'); }); }); /* * handle action submit */ $(document).on('submit', '.action-form', function (e) { e.preventDefault(); $(this).append($('#target_id input')); const data = $(this).serialize(); showLoader(); $.get($(this).attr('action') + '/?' + data) .done(function (response) { hideLoader(); // success without content if (response.length === 0) { location.reload(); } else { $('#actionModal .modal-message').fadeOut('fast'); $('#actionModal .modal-body-content').html(response); $('#actionModal').modal(); } }) .fail(function (jqxhr, textStatus, error) { errorLoader(); hideLoader(); if ($('#actionModal .modal-message').text.length > 0) { $('#actionModal .modal-message').fadeOut('fast'); } if (jqxhr.status === 401) { $('#actionModal .modal-message').text('Invalid login credentials'); } else { $('#actionModal .modal-message').text('Error — ' + error); } $('#actionModal .modal-message').fadeIn('fast'); }); }); });