Return a Disposable from TooltipManager::add

This commit is contained in:
Nathan Sobo 2014-11-19 19:19:05 -07:00
parent cc4ab0d36b
commit 22c9a222c9
2 changed files with 17 additions and 1 deletions

View File

@ -64,3 +64,15 @@ describe "TooltipManager", ->
hover element, ->
tooltipElement = document.body.querySelector(".tooltip")
expect(tooltipElement).toHaveText "⌃X ⌃Y"
describe "when .dispose() is called on the returned disposable", ->
it "no longer displays the tooltip on hover", ->
disposable = manager.add element, title: "Title"
hover element, ->
expect(document.body.querySelector(".tooltip")).toHaveText("Title")
disposable.dispose()
hover element, ->
expect(document.body.querySelector(".tooltip")).toBeNull()

View File

@ -1,4 +1,5 @@
_ = require 'underscore-plus'
{Disposable} = require 'event-kit'
{$} = require './space-pen-extensions'
# Essential: Associates tooltips with HTML elements or selectors.
@ -41,7 +42,10 @@ class TooltipManager
options.selector = target
target = document.body
$(target).tooltip(_.defaults(options, @defaults))
$target = $(target)
$target.tooltip(_.defaults(options, @defaults))
new Disposable -> $target.tooltip('destroy')
humanizeKeystrokes = (keystroke) ->
keystrokes = keystroke.split(' ')