Sha256: cdaeb1597eb2aefb18f61119790389642e9b2a3e3c86445fdccc5a07f7a75762

Contents?: true

Size: 1.83 KB

Versions: 45

Compression:

Stored size: 1.83 KB

Contents

(function($) {
  $.widget('pageflow.shareMenu', {
    _create: function() {
      var $element = this.element,
          options = this.options,
          $links = options.links || $('a', $element),
          $subMenu = options.subMenu || $($element.find('.sub_share')),
          $subLinks = $('a', $subMenu),
          $closeOnMouseLeaving = options.closeOnMouseLeaving,
          scroller = options.scroller;

      $links.on('click', function(event) {

        var $this = $(this),
            $a = $this.find('a').length ? $this.find('a') : $this,
            active = $a.hasClass('active');

        if ($a.data('share-page')) {
          $links.removeClass('active');
          $a.addClass('active');

          event.preventDefault();

          var $currentPage = pageflow.slides.currentPage(),
              id = $currentPage.attr('id') || $currentPage.data('perma-id'),
              siteShareUrl = $a.data('share-page').replace(/permaId$/, id),
              $insertAfter = options.insertAfter || $a;

          $($subLinks[0]).attr('href', $a.attr('href'));
          $($subLinks[1]).attr('href', siteShareUrl);

          if (!$insertAfter.next().hasClass('sub_share')) {
            $insertAfter.after($subMenu);
          }

          if (active) {
            $subMenu.toggle();
            $a.toggleClass('active');
          }
          else {
            $subMenu.show();
            $links.find('.button').removeClass('pressed');
            $(this).find('.button').addClass('pressed');
          }

          if (scroller) {
            scroller.refresh();
          }
        }
      });

      if(!!$closeOnMouseLeaving) {
        $closeOnMouseLeaving.on('mouseleave', function() {
          $links.removeClass('active');
          $(this).find('.button').removeClass('pressed');
          $subMenu.hide();
        });
      }
    }
  });
}(jQuery));

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
pageflow-14.0.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-14.0.0.rc2 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-14.0.0.rc1 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-14.0.0.beta3 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-14.0.0.beta2 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-14.0.0.beta1 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.6.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.5.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.4.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.3.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.2.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-12.6.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.1.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-12.5.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-12.4.1 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.0.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.0.0.rc1 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-12.4.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-12.3.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-13.0.0.beta7 app/assets/javascripts/pageflow/widgets/share_menu.js