app.drop(); Latest

by Farzad Cyrus

JavaScript

// ************************************************
    // DROP
    // ************************************************
    var drop = function () {


        this.onOpenHandlers = [];
        this.onCloseHandlers = [];
        this.selector;

        var self = this;

        // IS ACTIVE
        function isActive(selector, isRendered) {
            if (isRendered && typeof(isRendered) === "boolean") {
                if (selector.hasClass('active') && selectorContainer.hasClass('active')) {
                    return true;
                } else {
                    return false;
                }
            } else {
                if (selector.hasClass('active')) {
                    return true;
                } else {
                    return false;
                }
            }
        }
        // IS RENDERED
        function isRendered(selector) {
            if (selector.filter('[data-drop-render]').length) {
                return true;
            } else {
                return false;
            }
        }
        // ON CLICK
        function onClick(selector, selectorButton, selectorClose) {
            if (typeof (selector != "undefined")) {

                if (typeof (selector) != 'object') {
                    selector = $(selector);
                }
                if (!selector.hasClass('drop') || typeof selector == "undefined") {
                    console.error('This is not a valid selector, an #ID or $() is required.')
                    return;
                }

                // DROP, DROP BUTTON, DROP ID, DROP CONTAINER & DROP CLSOE
                var selectorButton = selector.find('> .drop-button'),
                    selectorID = selectorButton.data('drop-id'),
                    selectorContainer,
                    selectorClose;
                if (isRendered(selector)) {
                    selectorContainer = $('.drop-container').filter('[data-drop-id="' + selectorID + '"]');
                } else {
          ...