Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c259002

Browse files
Click Anywhere v1
1 parent 373d4ff commit c259002

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

‎src/components/fx/click.js

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,29 @@ module.exports = function click(gd, evt, subplot) {
2222
hover(gd, evt, subplot, true);
2323
}
2424

25-
function emitClick() { gd.emit('plotly_click', {points: gd._hoverdata, event: evt}); }
25+
function emitClick(data) { gd.emit('plotly_click', {points: data, event: evt}); }
2626

27-
if(gd._hoverdata && evt && evt.target) {
28-
if(annotationsDone && annotationsDone.then) {
29-
annotationsDone.then(emitClick);
30-
} else emitClick();
27+
// TODO(j): remove gd._hoverdata
28+
var clickmode = gd._fullLayout.clickmode;
29+
var data;
30+
if(evt && evt.target) {
31+
if(gd._hoverdata) {
32+
data = gd._hoverdata;
33+
} else if(clickmode.indexOf('anywhere') > -1) {
34+
var xaxis = gd._fullLayout.xaxis;
35+
var yaxis = gd._fullLayout.yaxis;
36+
var bb = evt.target.getBoundingClientRect();
37+
var x = xaxis.p2d(evt.clientX - bb.left);
38+
var y = yaxis.p2d(evt.clientY - bb.top);
39+
data = [{x: x, y: y}];
40+
}
41+
if(data) {
42+
if(annotationsDone && annotationsDone.then) {
43+
annotationsDone.then(function() { emitClick(data); });
44+
} else emitClick(data);
45+
}
3146

3247
// why do we get a double event without this???
3348
if(evt.stopImmediatePropagation) evt.stopImmediatePropagation();
3449
}
35-
};
50+
};

‎src/components/fx/layout_attributes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ module.exports = {
2121
clickmode: {
2222
valType: 'flaglist',
2323
role: 'info',
24-
flags: ['event', 'select'],
24+
flags: ['event', 'select','anywhere'],
2525
dflt: 'event',
2626
editType: 'plot',
2727
extras: ['none'],

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /