/* ---------------------------------------------------------------------------- * Easy!Appointments - Open Source Web Scheduler * * @package EasyAppointments * @author A.Tselegidis * @copyright Copyright (c) Alex Tselegidis * @license https://opensource.org/licenses/GPL-3.0 - GPLv3 * @link https://easyappointments.org * @since v1.5.0 * ---------------------------------------------------------------------------- */ /** * Backend layout. * * This module implements the backend layout functionality. */ window.App.Layouts.Backend = (function () { const $selectLanguage = $('#select-language'); const $notification = $('#notification'); const $loading = $('#loading'); const $footer = $('#footer'); const DB_SLUG_ADMIN = 'admin'; const DB_SLUG_PROVIDER = 'provider'; const DB_SLUG_SECRETARY = 'secretary'; const DB_SLUG_CUSTOMER = 'customer'; const PRIV_VIEW = 1; const PRIV_ADD = 2; const PRIV_EDIT = 4; const PRIV_DELETE = 8; const PRIV_APPOINTMENTS = 'appointments'; const PRIV_CUSTOMERS = 'customers'; const PRIV_SERVICES = 'services'; const PRIV_USERS = 'users'; const PRIV_SYSTEM_SETTINGS = 'system_settings'; const PRIV_USER_SETTINGS = 'user_settings'; function placeFooterToBottom() { if (window.innerHeight > $('body').height()) { $footer.css({ 'position': 'absolute', 'width': '100%', 'bottom': '0px' }); } else { $footer.css({ 'position': 'static' }); } } /** * Display backend notifications to user. * * Using this method you can display notifications to the use with custom messages. If the 'actions' array is * provided then an action link will be displayed too. * * @param {String} message Notification message * @param {Array} [actions] An array with custom actions that will be available to the user. Every array item is an * object that contains the 'label' and 'function' key values. */ function displayNotification(message = '- No message provided for this notification -', actions = null) { if (!actions) { actions = []; setTimeout(() => { $notification.fadeOut(); }, 5000); } $notification.empty(); const $instance = $('
', { 'class': 'notification alert alert-dismissible fade show', 'html': [ $('', { 'html': message }), $('