Add option to use PushState instead of URI fragments in Navigator (#10042)
* Navigator now by default uses pushState and normal URLs
* added documentation for pushState and updated Navigator documentation
* improving docs etc, adding one TODO to be solved before merging
* pushState/replaceState no work better with changing titles
* Making uri fragment navigator work when not using specially mapped UI
* Revert to older default, add annotation for selecting
* Fix tests, add null checks
* Reorder if-clause, fix tests
* Revert unnecessary test change
* Use correct variable in UI, fix test clean up
* Updates to JavaDocs, fix some methods and tests
* Add comments, fix test ui, TODO for fallbacks
* Navigation documentation, JavaDocs, removed TODOs
* Documentation fixes
* Improve JavaDocs
* Fix link name in documentation
* Improve throws declaration in getLocation
* Change documentation about the PushState based navigation
* Add since tags
* Add since tags for UI
Add mobile html5 dnd support using polyfill (#9282)
First step of mobile DND support.
- Add mobile html5 dnd support using polyfill
- Adds a switch for enabling mobile html5 dnd support
- Adds polyfill only when needed
- Ignore native Android Chrome drag start because doesn't work properly
(no dragend event fired)
- Add documentation on enabling mobile HTML5 DnD support
- Add mention of drag-drop-polyfill license
- Fixed issue in polyfill when not using "snapback"
- Add mention of forked polyfill
Fixes #9174
Support for HTML5 push/replaceState for proper deep linking features (#8116)
* Added support for HTML5 push/replaceState for proper deep linkin features
* Automated test script now works at least on chrome
* Uses html5 push/popstate to implement uri fragment feature
* fire legacy fragment change events also via popstate events rpc calls
* send new fragments via pushstate mechanism
* formatting
* Formatting and adding test and workaround for IE bug
* Formatting and depracated UriFragmentListener
* Aligned naming in the new API
* Ignored IE due to web driver bug
Tested a workaround with javascript based window.location.href fetch,
but that don’t seem to work stable enough.
This patch updates server side add*Listener methods to return
a registration object and deprecates their corresponding
remove*Listener methods.
Additionally this patch removes add/removeListener methods which were
deprecated in 7.0.
Change-Id: I26ac5f11882512288fbbf601c7cb2aaff653ec76
There are too many dependencies between Legacy* and the core framework
to be able to easily separate them.
Change-Id: I6888e7a370b5d8da587e421abe3cb4686855c72f
Move and rename server classes which go into the compatibility package
* Use com.vaadin.v7
* Use the same class name as in Vaadin 7
* Use a "vaadin7-" declarative prefix for Vaadin 7 components
Change-Id: I19a27f3835b18980b91a4f8f9464b2adde1a5fd5
Disable automatic removal of trailing whitespace and reformatted using Luna
Automatic removal of trailing whitespaces in Eclipse does not work even
in a nearly consistent way across platforms, versions or even on the same
maching within the same workspaces. Saving the same file multiple times
even alternates between adding and removing a whitespace on empty block
comment lines when saving.
Change-Id: I0efd307fd48869ea688eb79aa77c9ba38de5a4a6
Add reinit method for preserve-on-refresh UIs (#12191)
UI.reinit() is now called when an existing, preserved UI is shown after a
browser reload of the current page. The default implementation is empty.
The browser window size and location are up to date in UI.reinit();
window resize and URI fragment listeners, if any, will be called after
returning from UI.reinit().
Change-Id: Ie7aa670aaecf8e0e1510c91325b2a137b41263af
Use window name "_self" with Page.setLocation (#12925)
This signals the client side to stop running so it will not eg.
flash a "session expired" dialog sent via push just before the
browser navigates away (see #12298). setLocation should thus
not be used to start downloads anymore.
Change-Id: Id11e4b4fe6ee93e3ac267879f8faa52c43b9c301
* If title is null, leave it as-is (assume somebody else is setting it)
* If title is non-null, set it as before
Change-Id: I72699efa089df64b58448ceef59ba31995f330bf