Skip to content

Commit 249b925

Browse files
fix(getposition): no error when all placements outside
1 parent 982d89d commit 249b925

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

Diff for: src/index.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ class ReactTooltip extends React.Component {
425425
e,
426426
e.currentTarget,
427427
this.tooltipRef,
428-
desiredPlace,
428+
desiredPlace.split(',')[0],
429429
desiredPlace,
430430
effect,
431431
offset
@@ -443,7 +443,9 @@ class ReactTooltip extends React.Component {
443443
);
444444
}
445445

446-
const place = result.isNewState ? result.newState.place : desiredPlace;
446+
const place = result.isNewState
447+
? result.newState.place
448+
: desiredPlace.split(',')[0];
447449

448450
// To prevent previously created timers from triggering
449451
this.clearTimer();

Diff for: src/utils/getPosition.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,18 @@ export default function(e, target, node, place, desiredPlace, effect, offset) {
8383
right: inside('right')
8484
};
8585

86-
function firstInside() {
86+
function choose() {
8787
const allPlaces = desiredPlace
8888
.split(',')
8989
.concat(place, ['top', 'bottom', 'left', 'right']);
9090
for (const d of allPlaces) {
9191
if (placeIsInside[d]) return d;
9292
}
93-
return null;
93+
// if nothing is inside, just use the old place.
94+
return place;
9495
}
9596

96-
const chosen = firstInside();
97+
const chosen = choose();
9798

9899
let isNewState = false;
99100
let newPlace;

0 commit comments

Comments
 (0)