Sha256: 31ef7d0afe613de00c2e839dbdcab83865a6558aea16b844e0159c90728ade45

Contents?: true

Size: 1.83 KB

Versions: 11

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('touchend click', function(event) {
        var $this = $(this),
            $a = $this.find('a').length ? $this.find('a') : $this,
            active = $a.hasClass('active');

        $links.removeClass('active');
        $a.addClass('active');

        if ($a.data('share-page')) {
          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

11 entries across 11 versions & 1 rubygems

Version Path
pageflow-0.10.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.9.2 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.9.1 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.9.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.8.2 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.8.1 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.8.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.7.2 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.7.1 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.7.0 app/assets/javascripts/pageflow/widgets/share_menu.js
pageflow-0.6.0 app/assets/javascripts/pageflow/widgets/share_menu.js