https://issues.apache.org/bugzilla/show_bug.cgi?id=54191
Bug ID: 54191
Summary: TomEE 1.5+ SNAPSHOT struggling with PrimeFaces
p:calendar readonlyInput="#{someEL ? 'true' :
'false'}"
Product: Tomcat 7
Version: 7.0.32
Hardware: PC
OS: Windows Vista
Status: NEW
Severity: normal
Priority: P2
Component: Catalina
Assignee: [email protected]
Reporter: [email protected]
Classification: Unclassified
Overview:
After discussing this with user community, it is believed that TomEE is
struggling with the following xhtml post/after AJAX submit (and during AJAX
render/update):
p:calendar readonlyInput="#{pf_usersController.loggedInViaIpad == 'Y' ? 'true'
: 'false'}"
1. readonlyInput="..." is a property of PrimeFaces' p:calendar component.
2. To meet a business requirement, I decided to populate this attribute via EL
3. After AJAX submit (and render), p:calendar loses its p:calendar client-side
attributes/behavior; an inputText is rendered only
4. This EL works as designed (and without issues) on Glassfish 3.1.2.2 and
MyFaces Core 2.1.9.
Steps to Reproduce:
1. Add EL (above) to the readonlyInput="..." attribute of PrimeFaces p:calendar
component
2. Select a date via the p:calendar component after xhtml page is rendered in
the browser; AJAX submit is triggered
3. Repeat step # 2 above until p:calendar is rendered WITHOUT (jQuery
datepicker) 'button' and calendar popup/dropdown
Actual Results:
Sporadically, p:calendar is rendered WITHOUT (jQuery datepicker) 'button' and
calendar popup/dropdown
Expected Results:
p:calendar ALWAYS rendered WITH (jQuery datepicker) 'button' and calendar
popup/dropdown
Build Date & Platform: Date and platform of the build in which you first
encountered the bug.
INFO: Starting Servlet Engine: Apache Tomcat (TomEE)/7.0.32
apache-tomee-1.5.1-20121117.041542-74-plus.zip
Additional Builds and Platforms:
PrimeFaces 3.5 SNAPSHOT, JUEL 2.2.5, OmniFaces 1.3 SNAPSHOT
Additional Information:
Screen captures:
1. BEFORE AJAX submit:
http://imageshack.us/photo/my-images/163/20121121ajaxcalendariss.jpg/
2. AFTER AJAX submit:
http://imageshack.us/photo/my-images/600/20121121ajaxcalendariss.jpg/
ORIGINAL xhtml below:
<p:calendar id="filterTripDateFrom"
value="#{pf_ordersController.filterTripDateFrom}"
mode="popup" showOn="button"
readonlyInput="#{pf_usersController.loggedInViaIpad == 'Y' ? 'true' : 'false'}"
navigator="true" effect="fadeIn"
pattern="MM/dd/yyyy" size="10">
<p:ajax partialSubmit="false"
event="dateSelect"
listener="#{pf_ordersController.filterTripDateFromSelected}"
update=":ordersBrowseForm:ordersDataTable
:ordersBrowseForm:formMessages :ordersBrowseForm:_ajax_status" />
</p:calendar>
<h:outputText value="To:" />
<p:calendar id="filterTripDateTo"
value="#{pf_ordersController.filterTripDateTo}"
mode="popup" showOn="button"
readonlyInput="#{pf_usersController.loggedInViaIpad == 'Y' ? 'true' : 'false'}"
navigator="true" effect="fadeIn" pattern="MM/dd/yyyy"
size="10">
<p:ajax partialSubmit="false"
event="dateSelect"
listener="#{pf_ordersController.filterTripDateToSelected}"
update=":ordersBrowseForm:ordersDataTable
:ordersBrowseForm:formMessages :ordersBrowseForm:_ajax_status" />
</p:calendar>
WORKAROUND: use rendered="#{...}" to render appropriate xhtml content (see
xhtml below)
<h:outputText value="From:" />
<p:calendar id="filterTripDateFrom"
value="#{pf_ordersController.filterTripDateFrom}"
mode="popup" showOn="button"
navigator="true" effect="fadeIn"
pattern="MM/dd/yyyy" size="10"
rendered="#{pf_usersController.loggedInViaIpad == 'N'}">
<p:ajax partialSubmit="false"
event="dateSelect"
listener="#{pf_ordersController.filterTripDateFromSelected}"
update=":ordersBrowseForm:ordersDataTable
:ordersBrowseForm:formMessages :ordersBrowseForm:_ajax_status" />
</p:calendar>
<p:calendar id="filterTripDateFromOnIpad"
value="#{pf_ordersController.filterTripDateFrom}"
mode="popup" showOn="button" readonlyInput="true"
navigator="true" effect="fadeIn"
pattern="MM/dd/yyyy" size="10"
rendered="#{pf_usersController.loggedInViaIpad == 'Y'}">
<p:ajax partialSubmit="false"
event="dateSelect"
listener="#{pf_ordersController.filterTripDateFromSelected}"
update=":ordersBrowseForm:ordersDataTable
:ordersBrowseForm:formMessages :ordersBrowseForm:_ajax_status" />
</p:calendar>
<h:outputText value="To:" />
<p:calendar id="filterTripDateTo"
value="#{pf_ordersController.filterTripDateTo}"
mode="popup" showOn="button"
navigator="true" effect="fadeIn" pattern="MM/dd/yyyy" size="10"
rendered="#{pf_usersController.loggedInViaIpad == 'N'}">
<p:ajax partialSubmit="false"
event="dateSelect"
listener="#{pf_ordersController.filterTripDateToSelected}"
update=":ordersBrowseForm:ordersDataTable
:ordersBrowseForm:formMessages :ordersBrowseForm:_ajax_status" />
</p:calendar>
<p:calendar id="filterTripDateToOnIpad"
value="#{pf_ordersController.filterTripDateTo}"
mode="popup" showOn="button" readonlyInput="true"
navigator="true" effect="fadeIn" pattern="MM/dd/yyyy" size="10"
rendered="#{pf_usersController.loggedInViaIpad == 'Y'}">
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]