ICEfaces
  1. ICEfaces
  2. ICE-8013

Keyboard navigation can clear datatable view in IE8 document typoe IE7 mode

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.2a
    • Fix Version/s: EE-1.8.2.GA_P04
    • Component/s: Bridge
    • Labels:
      None
    • Environment:
      Icefaces 1.8 rev. 27745
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      Patch extras.js file with this code
      (...)
      Ice.tblRowFocus = function(anc, singleSelection) {
        (...)
      line 526
                              //lookup the scrollable container
                              var scrollableContainer = parent.parentNode.parentNode.parentNode;
                              //var rowTop = Element.measure(tr, 'top');
                              var rowTop = Element.cumulativeOffset(tr).top ;
                              //var scrollableAreaTop = Element.measure(scrollableContainer, 'top');
                              var scrollableAreaTop = Element.cumulativeOffset(scrollableContainer).top ;
                              var scrolled = scrollableContainer.scrollTop;
      (...)
      line 554
                             //lookup the scrollable container
                              var scrollableContainer = parent.parentNode.parentNode.parentNode;
                              //var rowTop = Element.measure(tr, 'top');
                              var rowTop = Element.cumulativeOffset(tr).top ;
                              var rowHeight = Element.measure(tr, 'height');
                              //var scrollableAreaTop = Element.measure(scrollableContainer, 'top');
                              var scrollableAreaTop = Element.cumulativeOffset(scrollableContainer).top ;
          
      Show
      Patch extras.js file with this code (...) Ice.tblRowFocus = function(anc, singleSelection) {   (...) line 526                         //lookup the scrollable container                         var scrollableContainer = parent.parentNode.parentNode.parentNode;                         //var rowTop = Element.measure(tr, 'top');                         var rowTop = Element.cumulativeOffset(tr).top ;                         //var scrollableAreaTop = Element.measure(scrollableContainer, 'top');                         var scrollableAreaTop = Element.cumulativeOffset(scrollableContainer).top ;                         var scrolled = scrollableContainer.scrollTop; (...) line 554                        //lookup the scrollable container                         var scrollableContainer = parent.parentNode.parentNode.parentNode;                         //var rowTop = Element.measure(tr, 'top');                         var rowTop = Element.cumulativeOffset(tr).top ;                         var rowHeight = Element.measure(tr, 'height');                         //var scrollableAreaTop = Element.measure(scrollableContainer, 'top');                         var scrollableAreaTop = Element.cumulativeOffset(scrollableContainer).top ;     

      Description

      Keyboard can navigation clear datatable view in IE8 .Problem started with revision 25996 and script update from Mircea Toma. Patch and screen attached

      Steps to recreate bug:

      - open component-showcase / table /row selector view in IE8, press F12 set IE8 mode and document type IE7 (or use in template entry <meta http-equiv="X-UA-Compatible" content="IE=7" /> )

      - navigate on table up and down, row content dissapears



      1. dataTable-rowSelection.jspx
        11 kB
        Krashan Brahmanjara
      1. IE_ROWSELECTOR_BUG.PNG
        70 kB

        Activity

        Hide
        Krashan Brahmanjara added a comment -

        Row selector bug

        Show
        Krashan Brahmanjara added a comment - Row selector bug
        Hide
        Krashan Brahmanjara added a comment -

        This patch also invalidate ICE-7985

        Show
        Krashan Brahmanjara added a comment - This patch also invalidate ICE-7985
        Hide
        Krashan Brahmanjara added a comment -

        Unfortunately this patch can't help IE9 users - keyboard navigation clear rows if IE9 is in IE8 or IE7 mode.

        Show
        Krashan Brahmanjara added a comment - Unfortunately this patch can't help IE9 users - keyboard navigation clear rows if IE9 is in IE8 or IE7 mode.
        Hide
        Mircea Toma added a comment -

        The fix applied uses browser's DOM API to acquire the element coordinates instead of using Prototype's Element.measure function.
        The fix was successfully tested with IE8 (with IE7 mode) and IE9 (with IE8 and IE7 modes).

        Show
        Mircea Toma added a comment - The fix applied uses browser's DOM API to acquire the element coordinates instead of using Prototype's Element.measure function. The fix was successfully tested with IE8 (with IE7 mode) and IE9 (with IE8 and IE7 modes).
        Hide
        Krashan Brahmanjara added a comment - - edited

        Hi

        Last patch from Mircea Toma is invalid!
        Rows are not cleared but keyboard navigation for scrollable tables is broken

        • on key down, beyond bottom border, current row will be invisble
        • on key up table, view return to the first row

        It is broken for all browsers.

        Try test it with attached dataTable-rowSelection.jspx from component-showcase (it adds scrollable="true" scrollHeight="150px" to datatatable)

        Show
        Krashan Brahmanjara added a comment - - edited Hi Last patch from Mircea Toma is invalid! Rows are not cleared but keyboard navigation for scrollable tables is broken on key down, beyond bottom border, current row will be invisble on key up table, view return to the first row It is broken for all browsers. Try test it with attached dataTable-rowSelection.jspx from component-showcase (it adds scrollable="true" scrollHeight="150px" to datatatable)
        Hide
        Krashan Brahmanjara added a comment -

        Rowselector example with scrollable table

        Show
        Krashan Brahmanjara added a comment - Rowselector example with scrollable table
        Hide
        Ken Fyten added a comment -

        New JIRA ICE-8022 created for the regressive behaviour.

        Show
        Ken Fyten added a comment - New JIRA ICE-8022 created for the regressive behaviour.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Krashan Brahmanjara
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: