code: function repositionPanel(panel) {
        var scrollY = DomUtils.getViewPort().y;
  
        function toggleFixedChildPanels(fixed, deltaY) {
          var parent;
  
          for (var i = 0; i < visiblePanels.length; i++) {
            if (visiblePanels[i] != panel) {
              parent = visiblePanels[i].parent();
  
              while (parent && (parent = parent.parent())) {
                if (parent == panel) {
                  visiblePanels[i].fixed(fixed).moveBy(0, deltaY).repaint();
                }
              }
            }
          }
        }
  
        if (panel.settings.autofix) {
          if (!panel.state.get('fixed')) {
            panel._autoFixY = panel.layoutRect().y;
  
            if (panel._autoFixY < scrollY) {
              panel.fixed(true).layoutRect({ y: 0 }).repaint();
              toggleFixedChildPanels(true, scrollY - panel._autoFixY);
            }
          } else {
            if (panel._autoFixY > scrollY) {
              panel.fixed(false).layoutRect({ y: panel._autoFixY }).repaint();
              toggleFixedChildPanels(false, panel._autoFixY - scrollY);
            }
          }
        }
      }
docs: Repositions the panel to the top of page if the panel is outside of the visual viewport. It will
  also reposition all child panels of the current panel.