I think I just solved this issue as follows:
*CAUSED BY:* p:calendar *readonlyInput="#{pf_usersController.loggedInViaIpad
== 'Y' ? 'true' : 'false'}"*
1. Glassfish 3.1.2.2 and MyFaces Core 2.1.9 handles that perfectly
2. OpenWebBeans and MyFaces Core 2.1.9 seem to struggle with that EL for
whatever reason
3. So, I made it easy on OpenWebBeans and moved that EL to
rendered="...", and conditionally render separate components with a
readonlyInput="true" only for iPad device/endusers
*CODE CHANGES* 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'}">
<p:ajax partialSubmit="false"
event="dateSelect"
listener="#{pf_ordersController.filterTripDateToSelected}"
update=":ordersBrowseForm:ordersDataTable
:ordersBrowseForm:formMessages :ordersBrowseForm:_ajax_status" />
</p:calendar>
On Wed, Nov 21, 2012 at 3:19 PM, Howard W. Smith, Jr. <
[email protected]> wrote:
> The following is the XHTML for the *FROM* and *TO* p:calendar components
> in PrimeFaces p:dataTable component. Please note that the *mode="popup"
> showOn="button"* is hardcoded in the xhtml below, and is not
> conditionally dependent on EL.
>
> As the screen captures will show, I am testing this via my
> test/development server, so please do not think I'm testing from iPad
> (since there is EL for iPad devices below).
>
> This issue is not happening in the Production environment (Glassfish
> 3.1.2.2 and MyFaces Core 2.1.9).
>
> <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>
>
>
>
> On Wed, Nov 21, 2012 at 3:06 PM, Howard W. Smith, Jr. <
> [email protected]> wrote:
>
>> You all know by now that I recently migrated
>>
>> *FROM*: Glassfish 3.1.2.2, MyFaces 2.1.9, and JSF Managed beans
>>
>> *TO*: TomEE 1.5 SNAPSHOT, Apache MyFaces CDI Extensions 1.0.6 (CODI),
>> and CDI managed beans
>>
>> So, I am regression testing, and I am experiencing a very very strange
>> issue with *TomEE/CODI* (development/test environment) that I have never
>> seen with *Glassfish 3.1.2.2 *and* MyFaces 2.1.9* (currently in
>> production).
>>
>> Attached you will find screen captures:
>>
>> 1. Page that shows *FROM* and *TO* (PrimeFaces) p:calendar components
>> (jQuery DatePicker) that has *button* beside the textInput
>> 2. Page that shows FROM and TO p:calendar components *without the
>> button* beside textInput; this is an issue and *not* working as
>> designed; this happens *sporadically after AJAX update* on the page,
>> after I click the p:calendar button to update the data on the page via
>> AJAX
>>
>> Someone please open an issue for this, and let me know if this is a
>> TomEE/OpenEJB issue *or* MyFaces Core 2.1.9 and CODI issue. This is the
>> reason why I am sending this email to both user mail lists.
>>
>> Thanks,
>> Howard
>>
>>
>