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
Adds a v7 AbstractFieldConnector for the compatibility package
Remove dependency from core to old AbstractField
Change-Id: I5da665de69cf469adfa946cf18aae1a3e56c3486
Force FormLayout children to shrink with the layout (#11154)
The <table> used by the FormLayout doesn't reduce its size if any child
component has locked its own size (which is the case with e.g. Table and
some other components doing explicit pixel calculations). To work around
this, we need to detect the situation, force the <table> to reduce its
width by temporarily assigning explicit widths to the cells and then
remove the forced size after all children have adjusted.
Change-Id: Iacef62979acf24c869a5cbeb82efb0c1e537ec95
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
Renamed Icon to ImageIcon
Change-Id: I608815f17a3651b205fed81b5294385df0d68802
Extracted the abstract client-side Icon class
Change-Id: Ic32e270595a5796d0bbd1dd31f34282b56672aa9
Created the FontIcon class
Change-Id: Iad13871e7bf1807dee2c538c76306d4620191f5e
Renamed AbstractComponentConnector.getIcon to getIconUri
Change-Id: I6953ab79661993b561655d483c1bd013b66407f3
Added the AbstractComponentConnector.getIcon method
Change-Id: I6fb91dc643fb09da3ba53666b1a8a289901702e3
Refactored getIcon
Change-Id: Ibae39e66d0fb8449e20ac5209eb8c18b6ada4387
Made all existing uses of Icon compatible with FontIcons
Change-Id: I8f28ec5254f2e5282a887519d3f44bc1e27aba72
Initial server-side support for font icons - does not include an actual icon set yet (#13152)
Change-Id: Ie6c09b17dd577c726e0efc13567749f6f4d56d8d
Changed server side FontIcon URI generation to match the correct scheme
Change-Id: I3628b930b310b3f285bc58a3f471e31e641d307e
Initial server-side icon font (FontAwesome) with scss - to be considered placeholder for testing (#13152)
Change-Id: I361e62aba0d943a736471824e149d65c7eea9c76
Changed the FontIcon URI scheme
Change-Id: I15c92f6bb3d0aa0a800f3f0bfa80419979453e17
Added FontIcon support to AbstractOrderedLayoutConnector
Change-Id: I3b2b45b22d29622fd888dbe922aa0cc8a718104d
Added FontIcon support to table items
Change-Id: Id22ce94c96a892420aab1e39663688fc9f3bc282
Added FontIcon support to OptionGroup items
Change-Id: Ie08bef688f6802182ef5f8b2bf82cf8b1f9096bb
Switched to openly use FontAwesome (#13152)
Change-Id: I18c3325ce93915b7fd6e338c8c293a89711277bc
VaadinIcons are now FontAwesome (#13152)
Change-Id: I0ab2a80735cbf08b6e33d358e3e8c6a205626fc4
VCaption does not longer set icon to 0x0px if it's a FontIcon (#13152)
Change-Id: Ibcd96e0f79f0adf2e217a8580d17f1cc93705710
Fixed typo in @font-face, removed .otf (#13152)
Change-Id: I698ca32c560e5f198c32a6c44f7884d3030ee610
Make font icons behave more like img (display:inline-block) (#13152)
Change-Id: Ic79186c90f1fc566deae1f4d8d4ba2c21d89a42e
Only layouts actually supporting margins now implement MarginHandler
CssLayout should be simplified before 7.0.0 so margin support was removed. GridLayout, VerticalLayout and HorizontalLayout were the only other layouts which actually supported margin.
MarginInfo is now passed directly in the state.
Moved each component to its own package on client side
Class loaders have problems with referring to static inner classes (e.g.
state classes) when they cannot load the declaring class. To deal with
this the components have been moved to their own packages and state/rpc
classes will be defined in their own Java files.
Remove UIDL parameter from many caption related methods (#8435).
Visibility change related code for captions removed from VCaption,
VCaptionWrapper and VFormLayout.Caption, should be handled by
removing/adding caption based on hierarchy change events.
Transfer required attribute in shared state (#8436).
The flag should be used directly from shared state, but that requires
error message etc. related updates to be done in a listener before
sending states.