ICEfaces
  1. ICEfaces
  2. ICE-10749

ice:selectInputDate and ice:selectInputText not firing popup when within ace:panelStack

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA_P04
    • Fix Version/s: EE-3.3.0.GA_P04
    • Labels:
      None
    • Environment:
      jsf2 compat panelStack

      Description

      see attached example iceMock3 and note that when selectInputDate and selectInputText from compat library are within a stackPane (like in medium), they do not fire correctly (js popup, etc).

        Activity

        Hide
        Judy Guglielmin added a comment -

        sample app iceMock3 located at:-
        iceads1.icesoft.domain/Public/Users/mircea/iceMock3.war

        Show
        Judy Guglielmin added a comment - sample app iceMock3 located at:- iceads1.icesoft.domain/Public/Users/mircea/iceMock3.war
        Hide
        Judy Guglielmin added a comment -

        Still a problem with ice:selectInputDate and ice:selectInputText. Please see new sample app (iceMock4) available at:-
        smb://iceads1.icesoft.domain/Public/Users/mircea/iceMock4.war

        landing page will show the components on the left side (by buttons). Note how the components work outside panelStack first. The ice:selectInputDate now has a time part of component (using the f:converter). This same ice:selectInputDate does not work within the panelStack. You do not need to change the page to medium or large to see these problems.

        for the ice:selectInputText, you can use it outside the panelStack (on left side) and it will work. Try it within the panelStack. COMBOBOX_AUTOCOMPLETE <p>subQuestion text2</p>.....
        and note that when you type anything in the combobox, it automatically gets submitted, rather than producing a list to select a value from.

        Outside the panelStack the response looks like this
        <partial-response><changes><update id="javax.faces.ViewState"><Unable to render embedded object: File (6462768739125065871]]></update><eval><) not found.[CDATA[Ice.Scriptaculous.Autocompleter.Finder.find('j_idt12:sitCBAC').updateNOW('<div><div>Val 2</div><div>Val 5</div><div>Val 7</div></div>');//-1506241518]]></eval><eval><![CDATA[var iceFormIdList=['j_idt7', 'j_idt12', 'pnlsFields:0:qstfrm', 'pnlsFields:1:qstfrm', 'pnlsFields:2:qstfrm', 'pnlsFields:3:qstfrm', 'pnlsFields:4:qstfrm', 'pnlsFields:5:qstfrm', 'pnlsFields:6:qstfrm', 'pnlsFields:7:qstfrm', 'pnlsFields:8:qstfrm', 'pnlsFields:9:qstfrm', 'v8lv3qo2-retrieve-update', 'v8lv3qo2-single-submit']; ice.fixViewStates(iceFormIdList,'2840535131029874048:6462768739125065871');]]></eval><extension aceCallbackParam="validationFailed">

        {"validationFailed":false}

        </extension></changes></partial-response>

        Inside the panel stack
        <partial-response><changes><update id="javax.faces.ViewState"><Unable to render embedded object: File (6462768739125065871]]></update><eval><) not found.[CDATA[var iceFormIdList=['j_idt7', 'j_idt12', 'pnlsFields:0:qstfrm', 'pnlsFields:1:qstfrm', 'pnlsFields:2:qstfrm', 'pnlsFields:3:qstfrm', 'pnlsFields:4:qstfrm', 'pnlsFields:5:qstfrm', 'pnlsFields:6:qstfrm', 'pnlsFields:7:qstfrm', 'pnlsFields:8:qstfrm', 'pnlsFields:9:qstfrm', 'v8lv3qo2-retrieve-update', 'v8lv3qo2-single-submit']; ice.fixViewStates(iceFormIdList,'2840535131029874048:6462768739125065871');]]></eval><extension aceCallbackParam="validationFailed">

        {"validationFailed":false}

        </extension></changes></partial-response>

        It is clearly missing the Ice.Scriptaculous.Autocompleter.Finder.find('j_idt12:sitCBAC').updateNOW script part which displays the select items.

        Show
        Judy Guglielmin added a comment - Still a problem with ice:selectInputDate and ice:selectInputText. Please see new sample app (iceMock4) available at:- smb://iceads1.icesoft.domain/Public/Users/mircea/iceMock4.war landing page will show the components on the left side (by buttons). Note how the components work outside panelStack first. The ice:selectInputDate now has a time part of component (using the f:converter). This same ice:selectInputDate does not work within the panelStack. You do not need to change the page to medium or large to see these problems. for the ice:selectInputText, you can use it outside the panelStack (on left side) and it will work. Try it within the panelStack. COMBOBOX_AUTOCOMPLETE <p>subQuestion text2</p>..... and note that when you type anything in the combobox, it automatically gets submitted, rather than producing a list to select a value from. Outside the panelStack the response looks like this <partial-response><changes><update id="javax.faces.ViewState">< Unable to render embedded object: File (6462768739125065871]]></update><eval><) not found. [CDATA [Ice.Scriptaculous.Autocompleter.Finder.find('j_idt12:sitCBAC').updateNOW('<div><div>Val 2</div><div>Val 5</div><div>Val 7</div></div>');//-1506241518] ]></eval><eval><![CDATA[var iceFormIdList= ['j_idt7', 'j_idt12', 'pnlsFields:0:qstfrm', 'pnlsFields:1:qstfrm', 'pnlsFields:2:qstfrm', 'pnlsFields:3:qstfrm', 'pnlsFields:4:qstfrm', 'pnlsFields:5:qstfrm', 'pnlsFields:6:qstfrm', 'pnlsFields:7:qstfrm', 'pnlsFields:8:qstfrm', 'pnlsFields:9:qstfrm', 'v8lv3qo2-retrieve-update', 'v8lv3qo2-single-submit'] ; ice.fixViewStates(iceFormIdList,'2840535131029874048:6462768739125065871');]]></eval><extension aceCallbackParam="validationFailed"> {"validationFailed":false} </extension></changes></partial-response> Inside the panel stack <partial-response><changes><update id="javax.faces.ViewState">< Unable to render embedded object: File (6462768739125065871]]></update><eval><) not found. [CDATA[var iceFormIdList= ['j_idt7', 'j_idt12', 'pnlsFields:0:qstfrm', 'pnlsFields:1:qstfrm', 'pnlsFields:2:qstfrm', 'pnlsFields:3:qstfrm', 'pnlsFields:4:qstfrm', 'pnlsFields:5:qstfrm', 'pnlsFields:6:qstfrm', 'pnlsFields:7:qstfrm', 'pnlsFields:8:qstfrm', 'pnlsFields:9:qstfrm', 'v8lv3qo2-retrieve-update', 'v8lv3qo2-single-submit'] ; ice.fixViewStates(iceFormIdList,'2840535131029874048:6462768739125065871');]]></eval><extension aceCallbackParam="validationFailed"> {"validationFailed":false} </extension></changes></partial-response> It is clearly missing the Ice.Scriptaculous.Autocompleter.Finder.find('j_idt12:sitCBAC').updateNOW script part which displays the select items.
        Hide
        Mircea Toma added a comment -

        Modified StackPane to reuse the child instances the entire JSF cycle instead of recreating them and then restoring their state. This was necessary since some components keep their state as instance fields without state saving them. Also the new approach improves performance by not re-creating instances and going through store/restore cycle multiple times during a JSF lifecycle.

        Show
        Mircea Toma added a comment - Modified StackPane to reuse the child instances the entire JSF cycle instead of recreating them and then restoring their state. This was necessary since some components keep their state as instance fields without state saving them. Also the new approach improves performance by not re-creating instances and going through store/restore cycle multiple times during a JSF lifecycle.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Judy Guglielmin
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: