Responsive selectManyCheckbox is disrupting my TabView

Locked
Aklimar
Posts: 10
Joined: 09 Dec 2015, 22:21

09 Dec 2015, 22:59

I have a TabView consisting of 4 tabs. In the first tab, I have 3 panels, each in their own 'ContainerXX'. The first panel has a couple of inputText controls, the second panel has a selectManyCheckbox control, and the third panel has another selectManyCheckbox control. After getting sentinel 2.0 / primefaces 5.3, I changed the second panel's selectManyCheckbox control's layout from grid -> responsive. After that, 2 things went wrong:

1) The third panel's selectManyCheckbox control is moved into the second panel's ContainerXX
2) The controls in the other 3 tabs are no longer present on those tabs. Inspect Element says all of the tab elements have all been moved into the first tab, but I don't see any of the controls there!

The interesting thing is that if I leave the selectManyCheckbox control in the second panel alone, and instead change the layout of the third panel's selectManyCheckbox to responsive, everything works as expected.

Here's some of my code:

Code: Select all

<h:body>
    <div class="ContainerIndent">
        <p:panel>
            <div class="ContainerIndent">
                <h:form id="deviceConfigForm">
                    <p:tabView id="deviceConfigTabView">
                        <p:tab title="Connectivity">
                            <div class="Container">
                                <div class="Container40 Responsive">
                                    <div class="ContainerIndent">
                                        <p:panel id="roamingConfigPanel" class="Wid70 MarAuto">
                                            // facet header
                                            <div class="Container">
                                                <p:panelGrid class="Container100 Responsive100">
                                                    // inputText fields
                                                </p:panelGrid>
                                            </div>
                                        </p:panel>
                                    </div>
                                </div>
                                <div class="Container20 Responsive100">
                                    <div class="ContainerIndent">
                                        <p:panel id="channelSelectPanel24Ghz" class="Wid90 MarAuto">
                                            // facet header            
                                            <div class="Container">
                                                <div class="Container100 Responsive100">
                                                    <p:selectManyCheckbox id="channelSelect24Ghz" 
                                                        value=""
                                                        converter="javax.faces.Integer
                                                        layout="responsive" 
                                                        columns="3"
                                                        class="MarAuto">
                                                            <f:selectItems value=""/>
                                                    </p:selectManyCheckbox>
                                                </div>
                                            <div>
                                        </p:panel>
                                    </div>
                                </div>
                                <div class="Container40 Responsive100">
                                    <div class="ContainerIndent">
                                        <p:panel id="channelSelectPanel5Ghz" class="Wid80 MarAuto">
                                            // facet header
                                           <div class="Container">
                                               <div class="Container100 Responsive100">
                                                   <p:selectManyCheckbox id="channelSelect5Ghz" 
                                                        value=""
                                                        converter="javax.faces.Integer"
                                                        layout="grid" 
                                                        columns="3"
                                                        class="MarAuto">
                                                               <f:selectItems value=""/>
                                                   </p:selectManyCheckbox>
                                               </div>
                                           </div>
                                       </p:panel>
                                   </div>
                               </div>
                           </div>
                           <div class="EmptyBox20"/>
                           <div class="Container">
                               <p:outputPanel id="connButtonPanel" class="TexAlRight">
                                   // other controls
                               </p:outputPanel>
                           </div>
                       </p:tab>
                       <p:tab title="Miscellaneous">
                           <div class="Container">
                               <div class="Container100 Responsive100">
                                   <p:panel id="miscTabPanel" class="Wid30 Responsive100 MarAuto">
                                       // other controls that are getting moved
                                   </p:panel>
                               </div>
                           </div>
                       </p:tab>
                   ...
                   ... more tabs
                   ...

mert.sincan
Posts: 5281
Joined: 29 Jun 2013, 12:38

15 Dec 2015, 22:26

I am working on this issue. Can you please attach a screenshot to replicate?

Aklimar
Posts: 10
Joined: 09 Dec 2015, 22:21

15 Dec 2015, 23:39

Sure thing

Before Screen Shots:

https://drive.google.com/open?id=0B6km8 ... 082Tm1Xb3M
https://drive.google.com/open?id=0B6km8 ... DU0d3JUU28

After Screen Shots (when changing the layout from grid -> responsive on the selectManyCheckbox channelSelect24Ghz):

https://drive.google.com/open?id=0B6km8 ... XpNZ2J0RnM
https://drive.google.com/open?id=0B6km8 ... ThQU3REaXc

mert.sincan
Posts: 5281
Joined: 29 Jun 2013, 12:38

21 Dec 2015, 01:31

I made some tests and replicated the issue. This issue is a PrimeFaces core issue. I tried your test code without Sentinel and saw this problem.
My test code without Sentinel;

Code: Select all

<h:form>
            <p:tabView id="deviceConfigTabView">
                <p:tab title="Connectivity">
                    
                    <p:panel id="channelSelectPanel24Ghz" >        

                        <p:selectManyCheckbox id="grid2" layout="responsive" columns="3">
                            <f:selectItem itemLabel="1" itemValue="1" />
                            <f:selectItem itemLabel="2" itemValue="2" />
                            <f:selectItem itemLabel="3" itemValue="3" />
                            <f:selectItem itemLabel="4" itemValue="4" />
                            <f:selectItem itemLabel="5" itemValue="5" />
                            <f:selectItem itemLabel="6" itemValue="6" />
                            <f:selectItem itemLabel="7" itemValue="7" />
                            <f:selectItem itemLabel="8" itemValue="8" />
                            <f:selectItem itemLabel="9" itemValue="9" />
                            <f:selectItem itemLabel="10" itemValue="10" />
                            <f:selectItem itemLabel="11" itemValue="11" />
                            <f:selectItem itemLabel="12" itemValue="12" />
                            <f:selectItem itemLabel="13" itemValue="13" />
                            <f:selectItem itemLabel="14" itemValue="14" />
                        </p:selectManyCheckbox>

                    </p:panel>
                </p:tab>
                <p:tab title="Miscellaneous">
                    <p:commandButton value="My Button" />
                </p:tab>
            </p:tabView>
</h:form>
(You can try this code without Sentinel.)

SelectManyCheckbox doesn't render correctly with layout:responsive. Please try with twelve items in 2.4GHz Channel List OR set column="2" (or "7" (7*2=14)). You will see that your problem is solved.

I will fix this issue on 5.3.x and 6.0.

mert.sincan
Posts: 5281
Joined: 29 Jun 2013, 12:38

21 Dec 2015, 14:50

Fixed for 5.3.4, 5.2.17 and 6.0. Github Issue; https://github.com/primefaces/primefaces/issues/972

Aklimar
Posts: 10
Joined: 09 Dec 2015, 22:21

21 Dec 2015, 18:34

Thank you for the workaround

mert.sincan
Posts: 5281
Joined: 29 Jun 2013, 12:38

22 Dec 2015, 09:36

You're welcome ;)

Locked

Return to “Sentinel”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 4 guests