Server IP : / Your IP : 10.244.4.16 [ Web Server : nginx/1.25.3 System : Linux escuela-portal-app-54f56585bc-kst6g 5.15.0-1084-azure #93-Ubuntu SMP Sat Mar 15 14:12:29 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.2.13 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /proc/1443/cwd/app/public/contrast/js/ |
Upload File : |
/*! * Accessibility Buttons v4.0.0 * http://tiagoporto.github.io/accessibility-buttons * Copyright (c) 2014-present Tiago Porto (http://tiagoporto.com) * Released under the MIT license */ "use strict"; function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } /** * accessibilityButtons * @param {Array} - * @return */ /* exported accessibilityButtons */ var accessibilityButtons = function accessibilityButtons(options) { 'use strict'; /** * hasClass * @param {string} element - DOM element * @param {string} clazz - Class Name * @return {Boolean} */ function hasClass(element, clazz) { return " ".concat(element.className, " ").indexOf(" ".concat(clazz, " ")) > -1; } var setting = { font: { nameButtonIncrease: '+A', ariaLabelButtonIncrease: 'Increase Font', nameButtonDecrease: '-A', ariaLabelButtonDecrease: 'Decrease Font' }, contrast: { nameButtonAdd: 'Add Contrast', ariaLabelButtonAdd: 'Add Contrast', nameButtonRemove: 'Remove Contrast', ariaLabelButtonRemove: 'Remove Contrast' } }; // Set buttons name and aria label if (options) { for (var key in options) { if (options.hasOwnProperty(key)) { var obj = options[key]; for (var prop in obj) { if (obj.hasOwnProperty(prop)) { setting[key][prop] = obj[prop]; } } } } } var $body = document.body, $accessibilityButtons = _toConsumableArray(document.querySelectorAll('[data-accessibility]')), $fontButton = $accessibilityButtons.filter(function (button) { return button.getAttribute('data-accessibility') === 'font'; }), $contrastButton = $accessibilityButtons.filter(function (button) { return button.getAttribute('data-accessibility') === 'contrast'; }), storageFont = localStorage.accessibility_font, storageContrast = localStorage.accessibility_contrast; // Check if exist storage and set the correct button names and aria attributes if (storageFont && $fontButton) { $body.classList.add('accessibility-font'); $fontButton.forEach(function (button) { button.innerHTML = setting.font.nameButtonDecrease; button.setAttribute('aria-label', setting.font.ariaLabelButtonDecrease); }); } else if ($fontButton) { $fontButton.forEach(function (button) { button.innerHTML = setting.font.nameButtonIncrease; button.setAttribute('aria-label', setting.font.ariaLabelButtonIncrease); }); } if (storageContrast && $contrastButton) { $body.classList.add('accessibility-contrast'); $contrastButton.forEach(function (button) { button.innerHTML = setting.contrast.nameButtonRemove; button.setAttribute('aria-label', setting.contrast.ariaLabelButtonRemove); }); } else if ($contrastButton) { $contrastButton.forEach(function (button) { button.innerHTML = setting.contrast.nameButtonAdd; button.setAttribute('aria-label', setting.contrast.ariaLabelButtonAdd); }); } /** * Get the click event * Rename the buttons * Apply/Remove Contrast or Font Size * Manage storage */ function accessibility() { return function () { var $this = this; var type = $this.getAttribute('data-accessibility'); var classname = "accessibility-".concat(type); if (hasClass($body, classname)) { $body.classList.remove(classname); if (type === 'font') { $fontButton.forEach(function (button) { button.innerHTML = setting.font.nameButtonIncrease; button.setAttribute('aria-label', setting.font.ariaLabelButtonIncrease); }); localStorage.removeItem('accessibility_font'); } else if (type === 'contrast') { $contrastButton.forEach(function (button) { button.innerHTML = setting.contrast.nameButtonAdd; button.setAttribute('aria-label', setting.contrast.ariaLabelButtonAdd); }); localStorage.removeItem('accessibility_contrast'); } } else { $body.classList.add(classname); if (type === 'font') { if (!storageFont) { localStorage.setItem('accessibility_font', true); } $fontButton.forEach(function (button) { button.innerHTML = setting.font.nameButtonDecrease; button.setAttribute('aria-label', setting.font.ariaLabelButtonDecrease); }); } else if (type === 'contrast') { if (!storageContrast) { localStorage.setItem('accessibility_contrast', true); } $contrastButton.forEach(function (button) { button.innerHTML = setting.contrast.nameButtonRemove; button.setAttribute('aria-label', setting.contrast.ariaLabelButtonRemove); }); } } }; } // Listening Click Event for (var i = 0; i < $accessibilityButtons.length; i++) { $accessibilityButtons[i].addEventListener('click', accessibility()); } };