ICEfaces
  1. ICEfaces
  2. ICE-5894

Cannot nest panelGroup within commandSortHeader

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.2-EE-GA_P01
    • Fix Version/s: 1.8.3, 1.8.2-EE-GA_P02
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      -

      Description

      <ice:commandSortHeader columnName="#{listBean.currentColumnName}" arrow="true">
               <ice:panelGroup>
                      <ice:outputText value="#{myColumn}"/>
        </ice:panelGroup>
      </ice:commandSortHeader>

      produces the content shown in the two attached screen shots.
      1. 9298_firebug.jpg
        55 kB
      2. 9298_screen.jpg
        24 kB
      3. screenshot-03.png
        244 kB
      4. screenshot-04.png
        244 kB
      5. screenshot-05.png
        248 kB
      6. screenshot-06.png
        205 kB
      7. screenshot-07.png
        77 kB

        Activity

        Hide
        Mark Collette added a comment - - edited

        You can have a dataTable with commandSortHeader, and that works find, but as soon as you put a panelGroup inside the commandSortHeader, it stops working. My theory is that the commandSortHeader's renderer is not doing the d2d stepIn/stepOut/stepOver code right. It works ok when it has a leaf node component inside it, but not another container. It might be something else altogether, but that's where I'd start.

        Show
        Mark Collette added a comment - - edited You can have a dataTable with commandSortHeader, and that works find, but as soon as you put a panelGroup inside the commandSortHeader, it stops working. My theory is that the commandSortHeader's renderer is not doing the d2d stepIn/stepOut/stepOver code right. It works ok when it has a leaf node component inside it, but not another container. It might be something else altogether, but that's where I'd start.
        Hide
        yip.ng added a comment - - edited

        By looking at the html ouput, problem shouldn't be caused by "the fact that the dataTable header is actually an html table header". There is a nested table inside the header cell just to render the column header text and the arrow. (I suspect a table was used because alignment and spacing would be easier.)

        See screenshot 3 for rendering without panelGroup nesting; see screenshot 4 for rendering with panelGroup nesting. With panelGroup nesting the text is rendered in a different place (although it still appears the same in the web page) and an extra "null" is rendered. The quick fix is to add a null checking (see screenshot 5 for the result), but this doesn't seem to be a robust fix.

        Show
        yip.ng added a comment - - edited By looking at the html ouput, problem shouldn't be caused by "the fact that the dataTable header is actually an html table header". There is a nested table inside the header cell just to render the column header text and the arrow. (I suspect a table was used because alignment and spacing would be easier.) See screenshot 3 for rendering without panelGroup nesting; see screenshot 4 for rendering with panelGroup nesting. With panelGroup nesting the text is rendered in a different place (although it still appears the same in the web page) and an extra "null" is rendered. The quick fix is to add a null checking (see screenshot 5 for the result), but this doesn't seem to be a robust fix.
        Hide
        yip.ng added a comment -

        See screenshot 6. By the time it gets to the sort header rendering, the parent nodes (<a>, <div>, <span>) are already rendered? The sort header just appends the text and the arrow? So, the error in step in/out/over, if any, is not in the sort header rendering itself?

        Show
        yip.ng added a comment - See screenshot 6. By the time it gets to the sort header rendering, the parent nodes (<a>, <div>, <span>) are already rendered? The sort header just appends the text and the arrow? So, the error in step in/out/over, if any, is not in the sort header rendering itself?
        Hide
        yip.ng added a comment - - edited

        Quick fix (screenshot 6, lines 85, 87) works for user test app. See screenshot 7. The xp.css (css/xp/xp.css) used by the app. is not exactly the same as ours. You need to add the following:

        .iceCmdSrtHdr table

        { display: inline; }
        Show
        yip.ng added a comment - - edited Quick fix (screenshot 6, lines 85, 87) works for user test app. See screenshot 7. The xp.css (css/xp/xp.css) used by the app. is not exactly the same as ours. You need to add the following: .iceCmdSrtHdr table { display: inline; }
        Hide
        Mark Collette added a comment -

        Is it possible to verify that the server dom structure is correct, with all the elements that we expect, in the correct places? Then, once we're sure if this is just a styling issue, can we add this style to each of the themes?

        Show
        Mark Collette added a comment - Is it possible to verify that the server dom structure is correct, with all the elements that we expect, in the correct places? Then, once we're sure if this is just a styling issue, can we add this style to each of the themes?
        Hide
        yip.ng added a comment -

        Dom tree looks correct. Here is the log output:

        root = [a: null]
        child = [div: null]
        child.getNodeType() = 1
        child = [span: null]

        The required CSS entry is already in our theme stylesheets. The user seems to be using an outdated copy of the theme stylesheet in the web application itself, not from icefaces.jar.

        Show
        yip.ng added a comment - Dom tree looks correct. Here is the log output: root = [a: null] child = [div: null] child.getNodeType() = 1 child = [span: null] The required CSS entry is already in our theme stylesheets. The user seems to be using an outdated copy of the theme stylesheet in the web application itself, not from icefaces.jar.

          People

          • Assignee:
            yip.ng
            Reporter:
            Tyler Johnson
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: