Sha256: d13eabb4cefa3e26d159028042d27f630df38306f0be87a46a15634db0f3f9c5

Contents?: true

Size: 1.45 KB

Versions: 9

Compression:

Stored size: 1.45 KB

Contents

(function($) {
  var events = pageflow.outlineNavigationBar.events;

  $.widget('pageflow.outlineNavigationBarPanels', {
    _create: function() {
      var links = this.options.toggles.find('a');
      var expander = this.options.expander;
      var widget = this;

      events.onPointerDown(links, function() {
        var link = $(this);
        var panelName = link.data('panel');
        var collapsed = false;

        if (link.data('toggle') === 'expandable') {
          if (link.hasClass('active')) {
            expander.collapse();
            collapsed = true;
          }
          else {
            expander.expand();
          }
        }
        else if (link.data('toggle')) {
          if (link.hasClass('active')) {
            panelName = link.data('toggle');
          }
        }

        widget.update(panelName, collapsed);
      });
    },

    reset: function() {
      var defaultLink = this.options.toggles.find('a[data-toggle="expandable"]');
      this.update(defaultLink.data('panel'), true);
    },

    update: function(panelName, collapsed) {
      var links = this.options.toggles.find('a');
      var panels = this.options.panels;

      links.each(function() {
        var link = $(this);
        link.toggleClass('active', link.data('panel') === panelName && !collapsed);
      });

      panels.each(function() {
        var panel = $(this);
        panel.toggleClass('active', panel.hasClass(panelName));
      });
    }
  });
}(jQuery));

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pageflow-outline-navigation-bar-1.6.0 app/assets/javascript/pageflow/outline_navigation_bar/panels.js
pageflow-outline-navigation-bar-1.5.0 app/assets/javascript/pageflow/outline_navigation_bar/panels.js
pageflow-outline-navigation-bar-1.4.0 app/assets/javascript/pageflow/outline_navigation_bar/panels.js
pageflow-outline-navigation-bar-1.3.1 app/assets/javascript/pageflow/outline_navigation_bar/panels.js
pageflow-outline-navigation-bar-1.3.0 app/assets/javascript/pageflow/outline_navigation_bar/panels.js
pageflow-outline-navigation-bar-1.2.0 app/assets/javascript/pageflow/outline_navigation_bar/panels.js
pageflow-outline-navigation-bar-1.1.0 app/assets/javascript/pageflow/outline_navigation_bar/panels.js
pageflow-outline-navigation-bar-1.0.0 app/assets/javascript/pageflow/outline_navigation_bar/panels.js
pageflow-outline-navigation-bar-0.1.0 app/assets/javascript/pageflow/outline_navigation_bar/panels.js