Customizable Modal Dialog JavaScript Library – simple-modal.js

Category: Javascript , Modal & Popup | March 17, 2016
Author:lewnelson
Views Total:1,687 views
Official Page:Go to website
Last Update:March 17, 2016
License:MIT

Preview:

Customizable Modal Dialog JavaScript Library – simple-modal.js

Description:

A simple, flexible and customizable JavaScript modal library for creating a variety of modal & dialog boxes in an elegant way.

How to use it:

You first need to load the stylesheet simple-modal.css and JavaScript simple-modal.js in your web page.

<link href="src/simple-modal.css" rel="stylesheet">
<script src="src/simple-modal.js"></script>

Create a basic modal window.

var modal1 = new SimpleModal({
    title: 'Simple Modal',
    body: '<p>This is a Simple Modal.</p>',
})

Create a confirm dialog with confirm and cancel buttons.

var modal2 = new SimpleModal({
    title: 'Confirm Dialog',
    body: '<p>This is a Confirm Dialog.</p>',
    buttons: [
        {
            value: 'cancel'
        },
        {
            value: 'OK',
            callback: function(modal) {
                modal.updateTitle('You clicked OK!');
                return false;
            }
        }
    ]
})

Show the modal & dialog on the screen.

modal1.show();
modal2.show();

All available configuration options.

// Disables scrolling on page whilst modal is shown.
disableScrolling: true,
// Animation time in ms for fadeIn and fadeOut functions.
transitionTime: 400,
//  HTML tag to wrap modal title string with.
titleTag: 'h4',
// Maximum number of modals to be displayed on page at one time. 
maximumModals: 6,
// Callback once modal is shown.
onComplete: null,
// Theme class to be applied to the modal.
theme: null,
// Whether or not clicking outside of the modal should close the modal.
closableOnOutsideClick: true,
// HTML string for the modal body content.
body: null,
// The title string for the modal.
title: null,
// Whether the close icon is available on the modal or not.
closable: false,
// extra-small, small, medium, large, extra-larg
siez: 'extra-small',
// The buttons which appear at the bottom of the modal, see button options for more info.
buttons: null

API methods.

var modal = new SimpleModal({ ... }).show(function(modal) {
    // The show method accepts one argument which is a callback ran once the
    // modal is in the DOM. The callback passes through the instance of the
    // modal we just created.
    // Returns instance of self
});
var modal = new SimpleModal({ ... }).close(function(modal) {
    // The close method accepts one argument which is a callback ran once the
    // modal has been removed from the DOM. The callback passes through the
    // instance itself.
    // Returns instance of self
});
var modal = new SimpleModal({ ... }).closeAll(function(modal) {
    // The closeAll method will close all currently open modals, any references
    // to these modals will still be available, the modals will no longer be in
    // the DOM though. Once again the closeAll method accepts one argument
    // which is a callback function ran once all modals have been removed from the DOM.
    // Returns instance of self
});
// The getModalElement method will return the javascript node object
// for the modal. This is useful if you need to bind to content within
// the modal once it has been created.
// Required to be ran separate from instantiating SimpleModal as it
// does not return instance of itself
var modal = new SimpleModal({ ... });
var modalElement = modal.getModalElement();
// The updateTitle method will update the modal title live in the DOM
// if there was a title set in the initial options. Otherwise it'll
// add the title to the options. If there was a title in the original
// options and the overwrite is set to true, this will also update the
// options to use the new title. So should the same instance of module
// be used again in future it will have the new title.
// Returns instance of self
var modal = new SimpleModal({ ... }).updateTitle('new title', overwrite);


// The updateBody method acts the same with regards to the updateTitle
// method, except it acts on the body option and accepts HTML as part
// of the new string.
// Returns instance of self
var modal = new SimpleModal({ ... }).updateBody('<p>new body</p>', overwrite);

You Might Be Interested In:


Leave a Reply