Sha256: 7e33628da5b68ec516c4aaf5086fd3838d4ba3d4f558219b5da4d84725542cae

Contents?: true

Size: 1.02 KB

Versions: 6

Compression:

Stored size: 1.02 KB

Contents

$(function(){
  $('body').tooltip({selector: '.with-tip'});

  /*
   * Poll tooltips to hide them if they are no longer being hovered.
   *
   * This is necessary to fix tooltips hanging around after their attached
   * element has been removed from the DOM (and will therefore receive no
   * mouseleave event). This may be unnecessary in a future version of
   * bootstrap, which intends to solve this using MutationObserver.
   */
  var removeDesyncedTooltip = function(tooltip) {
    var interval = setInterval(function(){
      if(!$(tooltip.element).is(":hover")) {
        tooltip.hide();
        clearInterval(interval);
      }
    }, 200);
    $(tooltip.element).on('hidden.bs.tooltip', function(){
      clearInterval(interval);
    });
  };

  $('body').on('inserted.bs.tooltip', function(e){
    var $target = $(e.target);
    var tooltip = $target.data('bs.tooltip');
    removeDesyncedTooltip(tooltip);
    var $tooltip = $("#" + $target.attr("aria-describedby"));
    $tooltip.addClass("action-" + $target.data("action"));
  });
});

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
solidus_backend-1.3.2 app/assets/javascripts/spree/backend/components/tooltips.js
solidus_backend-1.3.1 app/assets/javascripts/spree/backend/components/tooltips.js
solidus_backend-1.3.0 app/assets/javascripts/spree/backend/components/tooltips.js
solidus_backend-1.3.0.rc2 app/assets/javascripts/spree/backend/components/tooltips.js
solidus_backend-1.3.0.rc1 app/assets/javascripts/spree/backend/components/tooltips.js
solidus_backend-1.3.0.beta1 app/assets/javascripts/spree/backend/components/tooltips.js