Clicking on DateField pop-up should select Month/Year (#11531)
* Clicking on DateField pop-up should select Month/Year
In Year/Month Resolution DateField should select the value, when user clicks on pop-up
Fixes #8447
* #11614: Added test which demonstrates that the fix is incomplete
* #11614: UI.doRefresh() only calls navigator when the navigation state actually changes
* Added javadoc to Navigator.getCurrentNavigationState()
* Minor: Removed accidental star imports
1) recalculate the offset, as ChromeDriver starts to follow the standard;
2) update screenshots;
3) correct the `click()` call with using coordinates, related to 1)
4) `sendkey()` with using key.modifier adjustment
5) add sleep
6) workaround for mastery failures
Grid Editor: make Tab key skip read-only/disabled fields (#11586)
* Grid Editor: make Tab key skip read-only/disabled fields
Closes #11584
* Extracted DefaultEditorEventHandler.getDeltaFromKeyDownEvent() which allows for easy further Grid Editor customization
* Make DefaultEditorEventHandler.Delta public so that getDeltaFromKeyDownEvent() can be overridden
* Fixed exception in isEditable() if the widget was not a Field
* Refactored DefaultEditorEventHandler.Delta to CursorMoveDelta which expresses the intent more clearly
* Merge branch 'master' into master
Grid editor: TAB now skips non-editable columns (#11573)
* Grid editor: TAB now skips non-editable columns
Pressing TAB would shift the focus to non-editable cells when the Grid was in edit mode.
This patch makes DefaultEditorEventHandler to skip such columns.
Closes #10970
* Add tests
Replace the screenshot usage in framework test (#11547)
- Replace the GridDisabledTest screenshot usage
- Replace the screenshot tests in BasicCrudGridEditorRowTest
- Replace the screenshot tests in ComboboxVaadinIcons
- Replace the screenshot tests in ValoThemeUITest::accordions
- Added screenshotcomparetolerance to some screenshot test to make tests stable
issue in #11343 and #11385 is not reproducible on top this patch
Three different bugs are involved in this fix:
we bring the old fix(#11094) back and fixed the other related issues:
1) allow adding the same new item after dataProvider got reset, This is cause by the client side parameter `LastNewItemString`, it saves the value added before resetting.
2) clear the pending newItem eagerly, so that the same value will not be added again.
* Clicking on slider makes handler move
Fixes #1496
* Introducing control over clicking behaviour
- User will have to enable process of the click event on handle calling `slider.setEnableClickHandler(true);`
- Clean-up the handler logic in VSlider.java
- Renaming the property to `updateValueOnClick`
- Added JavaDocs
- Fixing tests
Use Enter and Space keys to fire Window header buttons (#11517) (#11534)
* Fixes 11517. Use ENTER and SPACE keys as shortcuts for header buttons
* Merge branch 'master' into fix-11517
* Increase sleep time for test failing in validation
* Merge branch 'master' into fix-11517
Reset selection on DataProvider change in RadioButtonGroup (#11526)
* Reset selection on DataProvider change in RadioButtonGroup
Fixes #11454
Other components needing the same fix are ListSelect,NativeSelect,Combobox (The ones implementing HasDataProvider and extending AbstractSingleSelect. Grid is not affected as it extends AbstractListing and hadles selection differently)
* Added test case
Verify that ValueChangeListener is actually fired after value is reset setting new DataProvider
Making V8 ReadOnly TextField select row in table upon clicking (#11480)
Add check for the V8 TextField used in Table in compatibility mode. This makes clicking cell with the TextField select the row, preserving behaviour from V7.
Through, as it's noted also before, this is an improved workaround, not a proper solution to address the issue.
Fixes #11474
* Add Test file
* Remove redundant check for for Firefox
It seems that in older versions of Firefox (at least, older than 45) the KeyPress event should be used instead of KeyDownHandler. At some point (works already on 58 version, the current one is 65) the issue was resolved and starting from Firefox 65 this hook prevents from navigating in the pop-up via keyboard.
Simply removing additional logic makes navigating in both DateField and InlineDateField possible
Fixes #11465
* add accessor methods for CUSTOM_SERIALIZERS in JsonCodec
* javadoc
* removed removeCustomSerializer method, renamed putCustomSerializer to addCustomSerializer, added sanity checks and JavaDocs
* refactored addCustomJsonSerializer to set, added test UI
* move enums to be parsed after custom serializers
* move adding custom serializer to static block
* throw an exception if multiple serializers are registered for class
* updated javadocs
* changed CustomJSONSerializerTest to a SingleBrowserTest
* moved CustomJSONSerializerTest to server/ and it's now not a browser test
* removed CustomJSONSerializerTest
Fix an NPE caused by the previous fix to Grid's frozen columns (#11444)
* Fix an NPE caused by the previous fix to Grid's frozen columns (#10653)
If the user managed to get two frozen column count changes into a single server round-trip before the component had been attached, the previous fix #11346 lead to a null pointer exception since there was no diff state available.
This fix adds a null check before removing the frozen column count value from the diff state so that this will not happen.
Closes #10653
* add possibility to configure nested null behavior to Grid.Column
* added addColumn method that allows configuring the nested null handling behavior of the column
* added uitest for nested null value handling, implements #11137
Checkbox allow customizing of input and label classNames. (#11372)
* add client side integration for custom styles for checkbox.label and checkbox.input
* add server side integration for checkbox element styling
* add server side tests
* add client side test
* Improve VMenuBar click handling logic
During `updateFromUIDL` inside MenuBarConnector we empty and re-instantiate the components of MenuBar. When we are modifying the Menubar from the BlurEventListener of another component, we ,by this, remove widgets, therefore clickEvent is not fired and the action of the MenuItem is not proceed as a result. (The BlurEvent is fired before the click event in the chain of events. )
To improve the situation, we catch onMouseDown event , which is fired before BlurEvent,by assigning mouseDown flag to true. Then if no click event has yet happened, we delay the execution of update inside `updateFromUIDL` by default 500 ms. Then if click event occurs, it proceeds normally. The time can be increased/decreased using setter.
There is no delay, if we are clicking on the MenuBar as usual or no Blur listener is set.
This change allows setting descriptions
* Remove accidentally committed comment
* Don't update the state on the getDelayMs call