stylishModal v2

by Farzad Cyrus

JavaScript

"use strict";

function stylishModal(options) {
    "use strict";

    // NOOP
    var noop = function () {
        console.log("This method is served by the modal.")
    };

    // OPTIONS
    this.options = {
        selector: noop,
        onConfirm: noop,
        onCancel: noop
    };
    this.options = $.extend(this.options, options);

    // HANDLERS
    this.modals = this.options.modals;
    //this.handlersCount = this.handlers.length;
    //this.hasHandlers = this.handlersCount >= 1 ? true : false;
    

    // TRIGGER & TARGET SELECTORS
    this.$trigger = $('[data-toggle="modal"]');

    // MARKUP
    this.markup = {
        modal: '<div class="modal modal-default">',
        container: '<div class="modal-container"></div>',
        header: '<div class="modal-header"></div>',
        content: '<div class="modal-content"></div>',
        footer: '<div class="modal-footer"><div class="button-group button-round"></div></div>',
        close: '<button class="button button-large button-icon modal-close"><em class="icon"><i class="fi-close"></i></em></button>',
        title: '<h3 class="modal-title"></div>',
        confirm: '<button class="button button-primary" data-modal-confirm>Confirm</button>',
        cancel: '<button class="button button-secondary" data-modal-cancel>Cancel</button>'
    };

    // PRIVATE FUNCTIONS
    function setUI(options) {

        

        var markup = {
            wrapper: '<div class="modal modal-default">',
            container: '<div class="modal-container"></div>',
            header: '<div class="modal-header"></div>',
            content: '<div class="modal-content"></div>',
            footer: '<div class="modal-footer"><div class="button-group button-round"></div></div>',
            close: '<button class="button button-large button-icon modal-close"><em class="icon"><i class="fi-close"></i></em></button>',
            title: '<h3 class="modal-title"></div>',
            confirm: '<button class="button...