diff --git a/pages/examples/widgets/dialog/_examples/non-modal-dialog/example.css b/pages/examples/widgets/dialog/_examples/non-modal-dialog/example.css index 0d43c9d3..4152541c 100644 --- a/pages/examples/widgets/dialog/_examples/non-modal-dialog/example.css +++ b/pages/examples/widgets/dialog/_examples/non-modal-dialog/example.css @@ -37,4 +37,4 @@ svg#definition { width: 16px; height: 16px; fill: #000; -} \ No newline at end of file +} diff --git a/pages/examples/widgets/dialog/_examples/non-modal-dialog/example.js b/pages/examples/widgets/dialog/_examples/non-modal-dialog/example.js index 112b7383..ac4937d5 100644 --- a/pages/examples/widgets/dialog/_examples/non-modal-dialog/example.js +++ b/pages/examples/widgets/dialog/_examples/non-modal-dialog/example.js @@ -1,70 +1,73 @@ -;(function () { - var AdgDialog +class AdgDialog { + constructor (el) { + this.openButton = el + this.elementToOpenId = this.openButton.getAttribute('data-adg-dialog') + this.initContainer(this.elementToOpenId) + this.initOpenButton() + this.hide() + } + + initOpenButton () { + this.openButton.setAttribute('aria-expanded', 'false') - AdgDialog = class AdgDialog { - constructor(el) { - this.$openButton = $(el) - this.initContainer(this.$openButton.attr('data-adg-dialog')) - this.initOpenButton() - } + const dialogHintElement = document.createElement('span') + dialogHintElement.classList.add('adg-visually-hidden') + dialogHintElement.innerText = ' (dialog)' - initOpenButton() { - this.$openButton.attr('aria-expanded', false) - this.$openButton.append( - ' (dialog)' - ) - return this.$openButton.click(e => { - if (this.$container.is(':visible')) { - return this.hide() - } else { - return this.show() - } - }) - } + this.openButton.appendChild(dialogHintElement) - initContainer(id) { - this.$container = $(`#${id}`) - this.$container.attr('data-adg-dialog-container', true) - this.initCloseButton() - return this.initConfirmButton() - } + this.openButton.addEventListener('click', () => { + if (this.container.hidden) { + this.show() + } else { + this.hide() + } + }) + } - initConfirmButton() { - this.$confirmButton = $( - '' - ) - this.$container.append(this.$confirmButton) - return this.$confirmButton.click(() => { - return this.hide() - }) - } + initContainer (id) { + this.container = document.getElementById(id) + this.container.setAttribute('data-adg-dialog-container', '') + this.initCloseButton() + this.initConfirmButton() + } - initCloseButton() { - this.$closeButton = $( - '' - ) - this.$container.prepend(this.$closeButton) - return this.$closeButton.click(() => { - return this.hide() - }) - } + initConfirmButton () { + this.confirmButton = document.createElement('button') + this.confirmButton.setAttribute('type', 'button') + this.confirmButton.innerHTML = 'Confirm (close)' - show() { - this.$container.attr('hidden', false) - this.$openButton.attr('aria-expanded', true) - return this.$closeButton.focus() - } + this.confirmButton.addEventListener('click', () => this.hide()) - hide() { - this.$container.attr('hidden', true) - this.$openButton.attr('aria-expanded', false) - return this.$openButton.focus() - } + this.container.append(this.confirmButton) } - $(document).ready(function () { - return $('[data-adg-dialog]').each(function () { - return new AdgDialog(this) - }) - }) -}).call(this) + initCloseButton () { + this.closeButton = document.createElement('button') + this.closeButton.setAttribute('type', 'button') + this.closeButton.classList.add('adg-dialog-icon') + this.closeButton.innerHTML = 'Close dialog' + + this.closeButton.addEventListener('click', () => this.hide()) + + this.container.prepend(this.closeButton) + } + + show () { + this.container.hidden = false + this.openButton.setAttribute('aria-expanded', 'true') + this.closeButton.focus() + } + + hide () { + this.container.hidden = true + this.openButton.setAttribute('aria-expanded', 'false') + this.openButton.focus() + } +} + +const dialogs = [] + +document + .querySelectorAll('[data-adg-dialog]') + .forEach((element) => dialogs.push(new AdgDialog(element))) diff --git a/pages/examples/widgets/dialog/_examples/non-modal-dialog/index.html b/pages/examples/widgets/dialog/_examples/non-modal-dialog/index.html index c6b94df8..9977d3da 100644 --- a/pages/examples/widgets/dialog/_examples/non-modal-dialog/index.html +++ b/pages/examples/widgets/dialog/_examples/non-modal-dialog/index.html @@ -1,4 +1,12 @@ - + + + + + + + + +

@@ -12,11 +20,11 @@ Some text after.

-