drop2

by Farzad Cyrus

JavaScript

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


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

        var self = this;

        var message = {
            noEventsFound: 'No event handler was found.',
            notValidSelector: 'This is not a valid selector.'
        };

        // 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;
            }
        }
        // IS ON HOVER
        function isOnHover(selector) {
            if (selector.hasClass('on-hover')) {
                return true;
            } else {
                return false;
            }
        }

        var registerEventCount = 0;

        // REGISTER EVENT
        function registerEvent(selector) {

            registerEventCount++;
            //console.log(selector)

            if (typeof (selector != "undefined")) {

                if (typeof (selector) != 'object') {
                    selector = $(selector);
                }
                if (!selector.hasClass('drop') || typeof selector == "undefined") {
                    console.error(message.notValidSelector);
                    return;
                }

                // DROP, DROP BUTTON, DROP...