Skip to content
This repository has been archived by the owner on May 16, 2024. It is now read-only.

wethegit/wtc-modal-view

Repository files navigation

A simple, unopinionated modal class.

src/wtc-modal-view.js

new Modal()

A Modal class which can display programatically-generated content, or pull in content from an existing DOM node.

Examples
const myModal = new Modal();
const triggerButton = document.querySelector('trigger');

myModal.optionalClass = "modal--myModal";
myModal.content = '<p>Some sample content!</p>';
myModal.focusOnClose = triggerButton;

triggerButton.addEventListener('click', () => {
  myModal.open();
});
Returns
  • Void

Modal.close()

Closes modal, removes content and optional class, and shifts user focus back to triggering element, if specified.

Returns
  • Void

open()

Opens modal, adds content and optional CSS class

Returns
  • Void

focusFirstElement()

Shifts focus to the first element inside the content

Returns
  • Void

focusLastElement()

Shifts focus to the last element inside the content

Returns
  • Void

focusOnClose()

Gets the element that will be focused when the modal closes

Returns
  • HTMLElement

focusOnClose(element)

Sets the element that will be focused when the modal closes.
Setter. Usage: modalInstance.focusOnClose = myElement

Parameters
Name Type Description
element HTMLElement Must be a focusable element  
Returns
  • Void

onOpen()

Gets the function that is called when the modal opens

Returns
  • Function

onOpen(callback)

Sets the function that is called when the modal opens.
Setter. Usage: modalInstance.onOpen = myFunction

Parameters
Name Type Description
callback Function  
Returns
  • Void

onClose()

Get the function that is called when the modal closes

Returns
  • Function

onClose(callback)

Sets the function that is called when the modal closes.
Setter. Usage: modalInstance.onClose = myFunction

Parameters
Name Type Description
callback Function  
Returns
  • Void

onCloseStart()

Get the function that is called just before the modal closes

Returns
  • Function

onCloseStart(callback)

Sets the function that is called just before the modal closes. If this is set, when modalInstance.close()is called it will run the set function with a callback. It will then wait for that callback to be run before completing the close function and calling onClose. Setter. Usage: modalInstance.onClose = (cb) => { // do some animation cb();
}

modalInstance.close(); `

Parameters
Name Type Description
callback Function  
Returns
  • Void

optionalClass(className)

Sets an optional class name on the modal for custom styling.
Setter. Usage: modalInstance.optionalClass = "modal--myclass"

Parameters
Name Type Description
className String Array  
Returns
  • Void

optionalClass()

Gets the optional class name

Returns
  • String Array optionalClass

closeButtonContent(content)

Sets the content of the close button, useful for localizing.
Setter. Usage: modalInstance.closeButtonContent = "<String of HTML!>"

Parameters
Name Type Description
content string HTMLElement  
Returns
  • Void

content(content)

Sets the content of the modal.
Setter. Usage: modalInstance.content = MyHTMLElement

Parameters
Name Type Description
content string HTMLElement  
Returns
  • Void

Documentation generated with doxdox.