AutorÃa | Ultima modificación | Ver Log |
/* global H5PEditor */H5PEditor.FullscreenBar = (function ($) {function FullscreenBar ($mainForm, library) {const title = H5PEditor.libraryCache[library] ? H5PEditor.libraryCache[library].title : library;const iconId = library.split(' ')[0].split('.')[1].toLowerCase();let isInFullscreen = false;let exitSemiFullscreen;$mainForm.addClass('h5peditor-form-manager');// Add fullscreen barconst $bar = ns.$('<div/>', {'class': 'h5peditor-form-manager-head'})const $breadcrumb = ns.$('<div/>', {'class': 'h5peditor-form-manager-breadcrumb',appendTo: $bar});const $title = ns.$('<div/>', {'class': 'h5peditor-form-manager-title ' + iconId,text: title,appendTo: $breadcrumb});const fullscreenButton = createButton('fullscreen', '', function () {if (isInFullscreen) {// Trigger semi-fullscreen exitexitSemiFullscreen();}else {// Trigger semi-fullscreen enterexitSemiFullscreen = H5PEditor.semiFullscreen($mainForm, function () {fullscreenButton.setAttribute('aria-label', H5PEditor.t('core', 'exitFullscreenButtonLabel'));isInFullscreen = true;}, function () {fullscreenButton.setAttribute('aria-label', H5PEditor.t('core', 'enterFullscreenButtonLabel'))isInFullscreen = false;});}}, H5PEditor.t('core', 'enterFullscreenButtonLabel'));// Create 'Proceed to save' buttonconst proceedButton = createButton('proceed', H5PEditor.t('core', 'proceedButtonLabel'), function () {exitSemiFullscreen();});$bar.append(proceedButton);$bar.append(fullscreenButton);$mainForm.prepend($bar);}/*** Helper for creating buttons.** @private* @param {string} id* @param {string} text* @param {function} clickHandler* @param {string} ariaLabel* @return {Element}*/const createButton = function (id, text, clickHandler, ariaLabel) {if (ariaLabel === undefined) {ariaLabel = text;}const button = document.createElement('button');button.setAttribute('type', 'button');button.classList.add('h5peditor-form-manager-button');button.classList.add('h5peditor-form-manager-' + id);button.setAttribute('aria-label', ariaLabel);button.addEventListener('click', clickHandler);// Create special inner filler to avoid focus from pointer devices.const content = document.createElement('span');content.classList.add('h5peditor-form-manager-button-inner');content.innerText = textcontent.tabIndex = -1;button.appendChild(content);return button;};return FullscreenBar;}(ns.jQuery));