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. <
smithh032...@gmail.com> 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. <
> smithh032...@gmail.com> 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
>>
>>
>

Reply via email to