Skip to content
This repository has been archived by the owner on May 29, 2019. It is now read-only.

What should users who depended on placement="mouse" do? #1019

Closed
lanterndev opened this issue Sep 16, 2013 · 14 comments
Closed

What should users who depended on placement="mouse" do? #1019

lanterndev opened this issue Sep 16, 2013 · 14 comments

Comments

@lanterndev
Copy link
Contributor

I just noticed placement="mouse" got nuked in 17163c2, which my project depends on. My use case is described in twbs/bootstrap#7106, and this comment shows a similar (and probably much more common) case where not having placement="mouse" results in undesired behavior, i.e. when the tooltip is triggered by hovering over text that spans more than one line.

I'd love to be able to keep using the latest version of angular-bootstrap, and could volunteer to maintain the placement="mouse" support if you'd be willing to reconsider it. Would you be interested in discussing this further?

Thanks for your consideration.

/cc @joshdmiller @pkozlowski-opensource

@joshdmiller
Copy link
Contributor

I think the only reasonable implementation of mouse placement is one that tracks the mouse position and updates the tooltip/popover accordingly, but as I and others have said this is probably just overkill for an uncommon use case, unfortunately.

If you can come up with a bytes-limited version, I'd be open to it. Otherwise, I think, even though it sucks, that we should just leave it out. After all, twbs doesn't support it either, and for similar reasons.

@pkozlowski-opensource
Copy link
Member

@Skivvies I know that yo are the one interesting in this mouse support but it got removed as it was really confusing (see #832). Judging from number of issues we got after removing support for the mouse (we've got only this one issue opened!) you might the only person using this feature... So while I understand that you've got the use-case it doesn't see to be common enough to justify its support.

What we can do is to try to refactor existing directives in a way that people can plug custom behavior but we will never be able to support all the possible use-cases. So if you would be up to sending a pull request that would allow you plug the needed functionality we can discuss. Closing for now.

@lanterndev
Copy link
Contributor Author

@pkozlowski-opensource Here is a plunker demonstrating the issue with current behavior that is the most basic use case you can get:

http://plnkr.co/edit/BtMHuoG1TAR6XRqOGNEX?p=preview

I'd love to contribute to resolving the issue, and could definitely submit a PR given sufficient discussion, but just note that's what I did last time only to have the work I put in backed out two releases later, without any effort to include me in that discussion.

@lanterndev
Copy link
Contributor Author

In the case of #832, that user was able to resolve his issue by using a different placement option anyway, so it seems like my use case was broken to fix a problem that didn't exist. Am I missing something?

Here's the original placement="mouse" PR: #527

You can see I revised it several times in response to discussion so it would be acceptable. I appreciated that you gave it careful thought and consideration at the time before merging. That's generally a sign that the work to submit the PR won't be all for naught, but it's totally understandable if implications of a change aren't apparent until it's landed for a while. It just would have been nice to have been included in that discussion.

@kwehrle
Copy link

kwehrle commented Feb 11, 2014

Hi all,

I've a problem with positioning a tooltip. The 4 alternatives are not satisfying for a sample like this (line 1 is ok, line 2 not at all): http://embed.plnkr.co/qM43RRgpbn7CQFTcx16L/preview

I've a really big svg area which is boxed for scrolling in a smaller div. Graphic elements may be partly outside the visible area. With position 'top' the tooltip may be not there (second line) where the user expects it or may be totally invisible because it would be positioned outside the screen.
With a position mouse (or better mouse-top, mouse-bottom, mouse-left, mouse-right for different needs) this would not be longer a problem.

I've merged the code of @Skivvies in my working version (latest bootstrap 2.3.2 compatible version 0.8.0) cause I haven't found any other solution for my problem.

Probably there's a way for reinventing this in a future official version. Would be fine! :-)

@badreal
Copy link

badreal commented Jan 3, 2016

+1

@kwehrle
Copy link

kwehrle commented Jan 3, 2016

Probably there's a general misunderstanding of this positioning type. For me and probably many use cases (see the other discussions with this topic), the initial mouse position for the tooltip is absolutely ok. It's not necessary, that the tooltip is moving with the mouse. As mentioned above it is more confusing for a user if the tooltip is positioned hundreds of pixels to the left or to the right and in worst case out of the visible region (see slightly modified plnkr: http://plnkr.co/qM43RRgpbn7CQFTcx16L).

This kind of positioning should be named static-mouse or initial-mouse. If anyone needs a dynamic-mouse positioning (tooltip moving with the mouse), this could be a future option.

Please reinvent this positioning! It should be the responsibility of the programmer to decide, if this positioning is ok for his use case or not.

@icfantv
Copy link
Contributor

icfantv commented Jan 4, 2016

hey guys, this issue is almost 2 years old. Additionally, the code in your plunker, @kwehrle, is using libraries that are insanely old. You may wish to try with more recent versions of the libraries (Angular, Bootstrap CSS, and UIBS for starters).

If, after updating to the latest version of the libraries you are still seeing issues, please follow these instructions if you think you've found a bug.

I will say that the current master build of UIBS has completely overhauled positional placement including support for automatic placement and placement at corners instead of only top, bottom, left, and right.

@kwehrle
Copy link

kwehrle commented Jan 4, 2016

hi @icfantv, it never was a bug, but a sorely missing feature that was available in earlier versions (I think up to 0.7.0)

The issue is still a current one (regarding 0.14.3)! I updated my plnkr: http://plnkr.co/aEXsMR

Thank you for the tip, that in the next version there will be additional positioning options. But adhoc I can't see any option that is comparable to the old mouse-option, where the tooltip was positioned relative to the mouse pointer.

@icfantv
Copy link
Contributor

icfantv commented Jan 4, 2016

Ooooh. Thanks for the clarification - I didn't understand exactly was meant before. To be honest, I don't know when we'd be able to get to this feature since it's not been in very high demand. If you'd like to open a new issue with a feature request before spending time on a PR so that we can discuss this as a team, that's fine.

@kwehrle
Copy link

kwehrle commented Jan 4, 2016

@icfantv
There already have been some discussions (issues 832, 7106, ...), but the core team never gave it a chance (again).

As @Skivvies already mentioned, the placement option mouse was kicked because of a little problem (issue 832). On the other hand I found some twbs users, really missing it

In the case of #832, that user was able to resolve his issue by using a different placement option anyway, so it seems like my use case was broken to fix a problem that didn't exist. Am I missing something?

Unfortunately I will not find the time to get deep into it and extend this feature.

@ats17
Copy link

ats17 commented Jan 8, 2016

I just started using uib-tooltip today, but can't continue because the placement options aren't appropriate on many of my larger objects. I need initial-mouse as proposed by kwehrle. Frankly, I can't understand how this wouldn't be a problem for a wide swath of users.

@icfantv
Copy link
Contributor

icfantv commented Jan 8, 2016

@ats17, maintaining a large and popular OSS library requires a lot of work by many people who do it all in their spare time. We have to balance the direction of the library and the needs of its users with ensuring the API doesn't get too large or too complicated. People think they want flexibility until they're given 4,000 options and then it's just overwhelming.

Again, we welcome quality PRs and now that we've just officially released 1.0 - you, @kwehrle, or anyone else who desires this feature can look at the new positioning code to see how one might implement positioning based on the mouse cursor. Even Bootstrap's API doesn't support placement based on mouse cursor out of the box - rather, you have to pass a function to the placement property and do all the work yourself. And this gets really tricky when you're close to the edge of a viewport.

@icfantv
Copy link
Contributor

icfantv commented Jan 8, 2016

I should also point out that with the 1.0 release, we support more out-of-the-box positional placements (i.e., corners) than Bootstrap does.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants