Sha256: 35086718173fdaccee04a5ae28e8edcecccbe5a9ae9bac63a876d5a818d1ed59

Contents?: true

Size: 1.05 KB

Versions: 32

Compression:

Stored size: 1.05 KB

Contents

pageflow.widgets = (function() {
  return {
    isPresent: function(name) {
      return !!$('div.' + className(name)).length;
    },

    areLoaded: function() {
      return !!$('div.widgets_present').length;
    },

    use: function(options, callback) {
      var original = options.insteadOf;

      var originalClassName = className(original);
      var replacementClassNames =
        className(options.name) + ' ' +
        className(original, 'replaced');

      if (this.isPresent(original)) {
        replace(originalClassName, replacementClassNames);

        callback(function() {
          replace(replacementClassNames, originalClassName);
        });
      }
      else {
        callback(function() {});
      }
    }
  };

  function replace(original, replacement) {
    $('div.widgets_present')
      .removeClass(original)
      .addClass(replacement);

    pageflow.events.trigger('widgets:update');
    pageflow.slides.triggerResizeHooks();
  }

  function className(name, state) {
    return 'widget_' + name + '_' + (state || 'present');
  }
}());

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
pageflow-14.5.2 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.2 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.1 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.0 app/assets/javascripts/pageflow/widgets.js
pageflow-14.5.1 app/assets/javascripts/pageflow/widgets.js
pageflow-14.5.0 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.0.rc2 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.0.rc1 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.0.beta4 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.0.beta3 app/assets/javascripts/pageflow/widgets.js
pageflow-14.4.0 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.0.beta2 app/assets/javascripts/pageflow/widgets.js
pageflow-15.0.0.beta1 app/assets/javascripts/pageflow/widgets.js
pageflow-14.3.0 app/assets/javascripts/pageflow/widgets.js
pageflow-14.2.1 app/assets/javascripts/pageflow/widgets.js
pageflow-14.2.0 app/assets/javascripts/pageflow/widgets.js
pageflow-14.1.1 app/assets/javascripts/pageflow/widgets.js
pageflow-14.1.0 app/assets/javascripts/pageflow/widgets.js
pageflow-14.0.0 app/assets/javascripts/pageflow/widgets.js
pageflow-14.0.0.rc2 app/assets/javascripts/pageflow/widgets.js