Closed ebruchez closed 5 years ago
The history API is supported since IE 10. See also #2651.
See also history.js and HTML5-History-API as polyfills.
No need for polyfills anymore.
Right now, things work like this:
App.main()
registers DOM ready handlerApp.loadAndInit()
runsInit.document()
, which is implemented in JavaScriptdocument()
.xforms-form
, find $...
form fields ($uuid
, $static-state
, $dynamic-state
, $server-events
, $client-state
, $repeat-tree
, $repeat-indexes
)ORBEON.xforms.Globals
$client-state
is handled speciallyWhat do do with all those:
$uuid
$static-state
, $dynamic-state
: not used for server state handling$server-events
: needed for 2-pass submission$client-state
: replace with history API$repeat-tree
, $repeat-indexes
: don't use hidden fields, see also #2892$client-state
is type="text"
and hidden via CSS. All other $...
fields are type="hidden"
.
Liferay:
StateHandling
objectreplaceState
to keep current stateinitializeFormWithInitData
)?Status of the above noted regression:
This seems to happen only if we POST from the new
or edit
page to the review
page and then back/forward. The issue happens only on forward.
Right now we use hidden fields, which are error prone, see #1789.
Use polyfill or current method for old browsers, and history API.