[Pkg-javascript-commits] [d3-tip.js] 255/277: Add tip.destroy() to remove the DOM element
bhuvan krishna
bhuvan-guest at moszumanska.debian.org
Thu Dec 8 06:57:36 UTC 2016
This is an automated email from the git hooks/post-receive script.
bhuvan-guest pushed a commit to branch master
in repository d3-tip.js.
commit 442ac76b4e1130143ed44790d4d69dc1e7ae8450
Author: Andreas Haller <andreas.haller at injixo.com>
Date: Tue Feb 10 15:45:28 2015 +0100
Add tip.destroy() to remove the DOM element
Same as #69, but a little different.
tip.destroy() removes the tooltip DOM element and returns the tip. You can call tip.show() after removing it, which should re-add the DOM element, but all attributes will be lost.
Closes #91
---
index.js | 32 ++++++++++++++++++++++++++------
1 file changed, 26 insertions(+), 6 deletions(-)
diff --git a/index.js b/index.js
index 6c64400..13e146b 100644
--- a/index.js
+++ b/index.js
@@ -47,7 +47,7 @@
var content = html.apply(this, args),
poffset = offset.apply(this, args),
dir = direction.apply(this, args),
- nodel = d3.select(node),
+ nodel = getNodeEl(),
i = directions.length,
coords,
scrollTop = document.documentElement.scrollTop || document.body.scrollTop,
@@ -70,7 +70,7 @@
//
// Returns a tip
tip.hide = function() {
- var nodel = d3.select(node)
+ var nodel = getNodeEl()
nodel.style({ opacity: 0, 'pointer-events': 'none' })
return tip
}
@@ -83,10 +83,10 @@
// Returns tip or attribute value
tip.attr = function(n, v) {
if (arguments.length < 2 && typeof n === 'string') {
- return d3.select(node).attr(n)
+ return getNodeEl().attr(n)
} else {
var args = Array.prototype.slice.call(arguments)
- d3.selection.prototype.attr.apply(d3.select(node), args)
+ d3.selection.prototype.attr.apply(getNodeEl(), args)
}
return tip
@@ -100,10 +100,10 @@
// Returns tip or style property value
tip.style = function(n, v) {
if (arguments.length < 2 && typeof n === 'string') {
- return d3.select(node).style(n)
+ return getNodeEl().style(n)
} else {
var args = Array.prototype.slice.call(arguments)
- d3.selection.prototype.style.apply(d3.select(node), args)
+ d3.selection.prototype.style.apply(getNodeEl(), args)
}
return tip
@@ -146,6 +146,17 @@
return tip
}
+ // Public: destroys the tooltip and removes it from the DOM
+ //
+ // Returns a tip
+ tip.destroy = function() {
+ if(node) {
+ getNodeEl().remove();
+ node = null;
+ }
+ return tip;
+ }
+
function d3_tip_direction() { return 'n' }
function d3_tip_offset() { return [0, 0] }
function d3_tip_html() { return ' ' }
@@ -248,6 +259,15 @@
return el.ownerSVGElement
}
+ function getNodeEl() {
+ if(node === null) {
+ node = initNode();
+ // re-add node to DOM
+ document.body.appendChild(node);
+ };
+ return d3.select(node);
+ }
+
// Private - gets the screen coordinates of a shape
//
// Given a shape on the screen, will return an SVGPoint for the directions
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/d3-tip.js.git
More information about the Pkg-javascript-commits
mailing list