tinymce.full.js
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);
          }
        }
      }
    }
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);
          }
        }
      }
    }
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 ) ; } } } }
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.
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 .