/* ---------------------------------------------------------------------------- * Easy!Appointments - Online Appointment 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'; /** * 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, actions = []) { if (!message) { return; } const $toast = $(` `).appendTo('body'); actions.forEach(function (action) { $('