Jump to content

smike

Newbie
  • Posts

    2
  • Joined

  • Last visited

Posts posted by smike

  1. Понимаю что во времена Angular, React и прочих фреймоврков может быть не очень актуально, но все же решил опубликовать свою простенькую библиотеку для огранизации плагинов старого доброго jQuery. Библиотека решает следующие задачи:

    • Организация кода плагина в виде псевдо-класса
    • Наследование плагинов
    • Передача параметров в плагин
    • Подключение плагинов к странице
    • Ajax-перзагрузка плагинов
    • Подписка на события

    Если кому интересно, прошу сюда: https://bitbucket.org/grifix/envo
    Примеры использования тут: https://bitbucket.org/grifix/envo/sr...les/?at=master

    Пример плагина:

    (function ($) {
        var parent = envo.Plugin; // Плагин от которого наследуется данный плагин
        var prototype = envo.makePluginPrototype(
            'demo.PluginA', // Название псевдо-класса плагина (используется при наследовнии)
            'demo_pluginA', // Имя плагина (используется для подключиня плагина к DOM-элементам)
            parent,
            {
                message: 'Hello world!' //Конфигурация плагина по умолчанию
            }
        );
    
        // Функция которая подключается к плагину в момент наложения его на DOM елемент
        prototype.init = function () {
            var that = this;
    
            that.elButton = that.find('button');
            that.elButton.click(function () {
                that.showMessage();
            });
    
            parent.prototype.init.call(that);
        };
    
        // Метод псевдо-класса плагина
        prototype.showMessage = function () {
            var that = this;
            alert(that.cfg.message);
            return that.el();
        };
    })(jQuery);

    Плагин кототрый наследует предыдущий плагин:

    (function ($) {
        var parent = demo.PluginA;
        var prototype = envo.makePluginPrototype(
            'demo.PluginB',
            'demo_pluginB',
            parent
        );
    
        prototype.showMessage = function () {
            var that = this;
            parent.prototype.showMessage.call(that);
            confirm("Are you sure!");
            return that.el();
        };
    })(jQuery);

     

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy