6e55442b25
The temporary span which displayed the selected server has been changed to a button. Clicking this button will open the server selection view. The server selection view is still pending full implementation.
97 lines
2.9 KiB
JavaScript
97 lines
2.9 KiB
JavaScript
/**
|
|
* 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
|
|
}
|
|
}
|
|
|
|
/* Server Select View */
|
|
|
|
// Bind server select cancel button.
|
|
document.getElementById('serverSelectCancel').addEventListener('click', () => {
|
|
toggleOverlay(false)
|
|
}) |