diff options
Diffstat (limited to 'WebInterface/NodeJSServer/src/js/modules/ui/components/modal/modal.js')
-rw-r--r-- | WebInterface/NodeJSServer/src/js/modules/ui/components/modal/modal.js | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/WebInterface/NodeJSServer/src/js/modules/ui/components/modal/modal.js b/WebInterface/NodeJSServer/src/js/modules/ui/components/modal/modal.js deleted file mode 100644 index c4c5119..0000000 --- a/WebInterface/NodeJSServer/src/js/modules/ui/components/modal/modal.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Parent class to create Modals on the screen - * Contains no content, as that is implemented by child classes - */ -export default class Modal { - /** - * Creates a new modal with a title and empty content - * @param {string} titleString Title to show at the top of the modal - */ - constructor(titleString) { - let modalBackground = document.createElement('div'); - let modal = document.createElement('div'); - let title = document.createElement('h1'); - let body = document.createElement('div'); - - modalBackground.className = 'modal-container'; - modal.className = 'modal'; - title.className = 'modal-title'; - body.className = 'modal-body'; - title.textContent = titleString; - - modal.appendChild(title); - modal.appendChild(body); - modalBackground.appendChild(modal); - document.body.appendChild(modalBackground); - - this.bg = modalBackground; - this.modal = modal; - this.title = title; - this.body = body; - - this.registerEvents(); - } - - /** - * Register event to close if clicked outside of modal - * Clicking on the modal itself should not close it though - */ - registerEvents() { - this.modal.addEventListener('click', (e) => { - e.stopPropagation(); - }); - - this.bg.addEventListener('click', () => { - this.close(); - }); - } - - /** - * Fades modal out and removes it from the flow of the document - */ - close() { - this.bg.classList.add('hidden'); - this.bg.addEventListener('transitionend', () => { - document.body.removeChild(this.bg); - }); - } - - /** - * Puts text in the body - * @param {string} text Text to put into the body - */ - setBodyText(text) { - this.body.textContent = text; - } -} |