UNPKG

@borngroup/born-modal

Version:

BORN Module to handle Modals. Provides callbacks and static methods to open, update, and close the modals

54 lines (35 loc) 2.11 kB
# BORN Modal # Very simple module to create modals on the fly. Features callbacks and open/update/close methods. ## Options ## **content**: [HTMLElement || String] [**REQUIRED**] HTMLElement or String which contains all the content for your Modal. **modalID**: [String] *Default: random string*. Unique ID for the Modal. If a Modal with the same ID is present, said Modal will open instead. **container**: [HTMLElement || String] *Default: document.body*. Specify a container for the Modal. Can be an HTMLElement or a selector string. **keepAlive**: [Boolean] *Default: true*. If set to **false**, the Modal will be removed from the DOM after closing it. **openImmediately**: [Boolean] *Default: true*. Open the Modal immediately after creating it. ## Callbacks ## **beforeOpenCallback**: [function] Runs every time before the Modal is opened or updated. If **false** is returned, Modal won't open nor update. **afterOpenCallback**: [function] Runs every time after the Modal opens. **afterCloseCallback**: [function] Runs every time after the Modal is closed. **afterCreateCallback**: [function] Runs once after the Modal is initially created. If keepAlive is **true** it will run every time the Modal opens. ## Methods ## You can run these on your new Modal instance: **open**: [or *yourModalElement.modal.open();*] **close**: [or *yourModalElement.modal.close();*] parameters: [None] **update**: [or *yourModalElement.modal.update();*] parameters: 'content': [String || HTMLElement] HTML string or HTMLElement to update the Modal with. 'newID': [String] Changes the updated Modal's ID to this value. ## Usage ## var myModal = new Modal({ modalID: 'custom-unique-id', modalClass: 'homepage-modal', content: '<p>Content for the Modal here</p>', beforeOpenCallback: function(modal) { if (someCondition) { //Do something. return true; } return false; } });