Add additional class names and style to components and error indicators to distinguish different error levels.
Vaadin 8 implementation of #9816. Cherry picked changes and added compatibility package component changes and tests.
Resolves #3139
Fixing TabSheet scrolling within SplitPanel (#20052)
This patch fixes an issue with disappearing tabs in a TabSheet placed in a
SplitPanel.
Scrolling a tab into view needs to be done after layout has happened. Otherwise
the available width for TabSheet is unknown and causes unexpected behaviour.
Change-Id: Ibcea04ddadfafc5028efe44a6817517b16e21bde
Reset tabsheet scroller when unhiding leftmost tab (#14644)
Checking whether invisible tab are present before the scroll index and
if so resetting the scroll index when tab goes back to visible.
Change-Id: I156dbe93963b0d9f46e21a593ffc3c4c77ebd1c6
After removing a tab, the TabSheet now scrolls when it is necessary to
show the remaining tabs. A test (TabSheetScrollOnTabCloseTest) ensures
that no scrolling occurs when the removed tab is not in the visible
area.
Change-Id: I81e4e504167ec4d0a527e6bfe94dba8b29fb26bc
Fix TabSheet becomes unresponsive after setSelectedTab (#14710)
Fixed unresponsiveness issue without removing the waitingForResponse
flag from VTabsheet. The flag is now set in revertToSharedStateSelection
Change-Id: I62cabc44d4ac4c284b0b35921d8624483b0150be
Simplify the new inner API in the VTabSheet which solves the
focus/blur issue.
The blur and focus events should be linked with the TabSheet
component as a whole. Any click inside the TabSheet should
trigger one single focus and any leave the blur.
Change-Id: I90dd05f056441920a286b6debdc288fb1a9a7e10
The blur and focus events should be linked with the TabSheet
component as a whole. Any click inside the TabSheet should
trigger one single focus and any leave the blur.
Change-Id: Id24a2fab12aafe6f7aa3a44635e5b9e935a1cfe1
Prevent browser to scroll when space it pressed on a TabSheet (#14320)
Browser page scroll by default when space key is pressed.
The TabSheet uses the space key (32) to select the tab
when navigating using left/right keys. So when the space
is pressed the default browser page scroll behavior is
now prevented.
Change-Id: I8c3c7c4904109018d2f91447235e30dbd29eec5d
Replace use of deprecated DOM.setStyleAttribute method (#13781)
This change is only a brain dead replacement of one specific method. In
some cases, there were some oddities in the surrounding code as well,
but these were left unresolved on purpose.
It should also be noted that DOM.setStyleAttribute just delegates to
element.getStyle().setProperty(), so any null references would have
caused problems already in the existing code.
Change-Id: I340122ac0767af9928076376f76e5bd2c5e19f9f
Changed implementations and APIs to use the non-deprecated Element class
wherever possible without breaking backwards compatibility.
* Methods defined in interfaces have not been touched.
* Return types have only been changed methods that should have no
existing third party callers (i.e. private, internal or @since 7.2)
* For methods that third party code might have overridden, the method
has been deprecated in favor of a new method that just delegates to the
old method.
* For methods that can't reasonably be overridden by third party code
(i.e. private, final, static, internal or @since 7.2), the parameter
type has been changed without retaining the old method.
Change-Id: I7da943a77b8d0d0b9185d8c70f87d676a275d24b
Use FQN instead of import for the bad Element class (#13287)
This is the first step towards eliminating usage of the class. Reasoning
about upcoming steps will be easier when it's clear which class
"Element" refers to.
Change-Id: Iea5547f789edc77c3b4ac95a5e2eb34d2717999e
Width of v-tabsheet-tabcontainer was set by copying the width
from the ComponentConnector. This produced an incorrect result
when a relative width (other than 100%) was used. Fixed by
assigning the width to 100% when the TabSheet has a defined
width.
Change-Id: I7f128f87406e6e00ceda9ee6e75dcc5539e283b6