/** * Script for overlay.ejs */ /* Overlay Wrapper Functions */ /** * Toggle the visibility of the overlay. * * @param {boolean} toggleState True to display, false to hide. * @param {boolean} dismissable Optional. True to show the dismiss option, otherwise false. * @param {string} content Optional. The content div to be shown. */ function toggleOverlay(toggleState, dismissable = false, content = 'overlayContent'){ if(toggleState == null){ toggleState = !document.getElementById('main').hasAttribute('overlay') } if(typeof dismissable === 'string'){ content = dismissable } if(toggleState){ document.getElementById('main').setAttribute('overlay', true) $('#' + content).parent().children().hide() $('#' + content).show() if(dismissable){ $('#overlayDismiss').show() } else { $('#overlayDismiss').hide() } $('#overlayContainer').fadeIn(250) } else { document.getElementById('main').removeAttribute('overlay') $('#overlayContainer').fadeOut(250, () => { $('#' + content).parent().children().hide() $('#' + content).show() if(dismissable){ $('#overlayDismiss').show() } else { $('#overlayDismiss').hide() } }) } } /** * Set the content of the overlay. * * @param {string} title Overlay title text. * @param {string} description Overlay description text. * @param {string} acknowledge Acknowledge button text. * @param {string} dismiss Dismiss button text. */ function setOverlayContent(title, description, acknowledge, dismiss = 'Dismiss'){ document.getElementById('overlayTitle').innerHTML = title document.getElementById('overlayDesc').innerHTML = description document.getElementById('overlayAcknowledge').innerHTML = acknowledge document.getElementById('overlayDismiss').innerHTML = dismiss } /** * Set the onclick handler of the overlay acknowledge button. * If the handler is null, a default handler will be added. * * @param {function} handler */ function setOverlayHandler(handler){ if(handler == null){ document.getElementById('overlayAcknowledge').onclick = () => { toggleOverlay(false) } } else { document.getElementById('overlayAcknowledge').onclick = handler } } /** * Set the onclick handler of the overlay dismiss button. * If the handler is null, a default handler will be added. * * @param {function} handler */ function setDismissHandler(handler){ if(handler == null){ document.getElementById('overlayDismiss').onclick = () => { toggleOverlay(false) } } else { document.getElementById('overlayDismiss').onclick = handler } }