Last modified: 2014-09-10 13:47:12 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T64420, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 62420 - OOjs UI: In certain situations involving StackLayouts, removing items scrolls the focus up to the top
OOjs UI: In certain situations involving StackLayouts, removing items scrolls...
Status: ASSIGNED
Product: OOjs UI
Classification: Unclassified
General (Other open bugs)
unspecified
All All
: High minor
: ---
Assigned To: Trevor Parscal
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-03-08 00:58 UTC by Rummana Yasmeen
Modified: 2014-09-10 13:47 UTC (History)
6 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Rummana Yasmeen 2014-03-08 00:58:16 UTC
Steps to reproduce:

1.Open a page with VE
2.Go to Insert>Transclusion
3.Add a cite web template
4.Add some parameters to it
5.Add some more templates with parameters
6.Delete any of the parameter of any template or the template itself

Observed Result:

The focus of the dialog scrolls up to the top of the right panel.

Test Environment: http://en.wikipedia.beta.wmflabs.org/
Browser: Chrome Version 26.0.1410.65 & FF 25
OS: MAC OS X 10. 8. 5
Comment 1 Alex Monk 2014-08-11 22:30:12 UTC
So there's a couple of strange things going on here, which me and Trevor looked into during Wikimania. In OOjs UI:
* OO.ui.StackLayout.prototype.removeItems tries to scroll to the top item (if it exists) if we're removing the current item. Otherwise we just unset the current item.
* It seems that in OO.ui.OptionWidget.prototype.setSelected we should be checking that the element we're scrolling to is actually visible. (So it's not just an OO.ui.OutlineWidget thing.)
** Unfortunately this isn't as simple as this.$element.is( ':visible' ) because visibility:hidden; is not picked up by jQuery as being non-visible... So you have to hack OO.ui.GridLayout.prototype.update to use display:none; for this instead. Which probably breaks other things.

So shall we move this into the OOjs UI component and reassign it?

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links