ICEfaces
  1. ICEfaces
  2. ICE-2967

Incorrect positioning of dynamically positioned components in Liferay portal.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.7
    • Fix Version/s: None
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      liferay portal portlet
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      The following script can be used to work-around the Liferay "style='position: relative;'" issue.
      This script is safe to call many times so it can be added to each ICEfaces portlet as required:


      if (Liferay.Columns && !Liferay.Columns._ICE_positionSet) {
       Liferay.Util.actsAsAspect(Liferay.Columns);
       Liferay.Columns.after(
       'add',
       function(portlet) {
       jQuery(portlet).css('position', 'static');
       }
       );
      Liferay.Columns._ICE_positionSet = true;
      }
      Show
      The following script can be used to work-around the Liferay "style='position: relative;'" issue. This script is safe to call many times so it can be added to each ICEfaces portlet as required: if (Liferay.Columns && !Liferay.Columns._ICE_positionSet) {  Liferay.Util.actsAsAspect(Liferay.Columns);  Liferay.Columns.after(  'add',  function(portlet) {  jQuery(portlet).css('position', 'static');  }  ); Liferay.Columns._ICE_positionSet = true; }

      Description

      Certain component elements are positioned incorrectly when running as portlets in Liferay. The behavior is only manifested when signed in - not when using Liferay as a guest. The problem is that the dynamically positioned components - like submenus, draggable ghosts, tooltips, popupPanel etc. - are much farther down the page than the mouse. The offset calculation is off by a wide margin.

      The cause of this problem is a behavior in Liferay that injects relative positioning into a style attribute on the page container when you login, apparently to support LIferay's own drag and drop mechanism.

      Liferay is going to be changing this behavior in their upcoming 5.1 release, but you can use the workaround noted here in the meantime.

        Issue Links

          Activity

          Deryk Sinotte created issue -
          Deryk Sinotte made changes -
          Field Original Value New Value
          Link This issue is duplicated by ICE-2887 [ ICE-2887 ]
          Deryk Sinotte made changes -
          Link This issue is duplicated by ICE-2890 [ ICE-2890 ]
          Ken Fyten made changes -
          Summary Positioning of certain component popup elements in Liferay is incorrect when signed in. Incorrect positioning of dynamically positioned components in Liferay portal.
          Workaround Description The following script can be used to work-around the Liferay "style='position: relative;'" issue.
          This script is safe to call many times so it can be added to each ICEfaces portlet as required:


          if (Liferay.Columns && !Liferay.Columns._ICE_positionSet) {
           Liferay.Util.actsAsAspect(Liferay.Columns);
           Liferay.Columns.after(
           'add',
           function(portlet) {
           jQuery(portlet).css('position', 'static');
           }
           );
          Liferay.Columns._ICE_positionSet = true;
          }
          Workaround Exists [Yes]
          Component/s Components [ 10012 ]
          Affects Version/s 1.7 [ 10080 ]
          Affects Version/s 1.7RC1 [ 10123 ]
          Description Certain component elements are positioned incorrectly when running as portlets in Liferay. The behaviour is only manifested when signed in - not when using Liferay as a guest. The problem is that the popup up components - like submenus, draggable ghosts, tooltips, etc. - are much farther down the page than the mouse. The offset calculation is off by a wide margin. But those only happens when signed in. Certain component elements are positioned incorrectly when running as portlets in Liferay. The behavior is only manifested when signed in - not when using Liferay as a guest. The problem is that the dynamically positioned components - like submenus, draggable ghosts, tooltips, popupPanel etc. - are much farther down the page than the mouse. The offset calculation is off by a wide margin.

          The cause of this problem is a behavior in Liferay that injects relative positioning into a style attribute on the page container when you login, apparently to support LIferay's own drag and drop mechanism.

          Liferay is going to be changing this behavior in their upcoming 5.1 release, but you can use the workaround noted here in the meantime.
          Ken Fyten made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Won't Fix [ 2 ]
          Ken Fyten made changes -
          Link This issue blocks ICE-2644 [ ICE-2644 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Deryk Sinotte
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: