Support for device and fallback device specific layout
------------------------------------------------------
Key: WICKET-3813
URL: https://issues.apache.org/jira/browse/WICKET-3813
Project: Wicket
Issue Type: New Feature
Components: wicket-core
Reporter: Bruno Borges
Wicket does a great job at locating resources based on variation, style and
location. The current way of locating HTML resources is done by the following
schema:
Page[_variation][_style][_locale].extension
where:
* variation is per Component
* style and locale are per Session
* extension is usually ".html"
The feature proposed here is to add another section, separated by a single dot:
Page[_variation][_style][_locale][.device].extension
The use case that requires this is one where an user's device is identified as
an Android phone and so one could set Session.get().setDevice("android");
Inside ResourceStreamLocator, the current algorithm can just add that as an
array of extensions to iterate.
Consider the HomePage:
- HomePage.html
- HomePage.m.html
- HomePage.android.html
For the Android user, HomePage will render HomePage.android.html file.
A desktop user will render HomePage.html because
Session.get().isStandardDevice(); will return true
To support an iPhone user, one could set Session.get().setFallbackDevice("m");
and so, will render HomePage.m.html which could be a simplier version for other
phones but Android.
I've attached an example of DeviceStreamLocator
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira