diff --git a/examples/grid_example/public/app.tsx b/examples/grid_example/public/app.tsx index 5ee3f69adcd81..02ecad3470b6c 100644 --- a/examples/grid_example/public/app.tsx +++ b/examples/grid_example/public/app.tsx @@ -210,6 +210,10 @@ export const GridExample = ({ collapsed: false, }, ]); + // scroll to bottom after row is added + new Promise((resolve) => setTimeout(resolve, 60)).then(() => { + window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' }); + }); }} disabled={viewMode !== 'edit'} > diff --git a/src/platform/packages/private/kbn-grid-layout/grid/grid_layout.tsx b/src/platform/packages/private/kbn-grid-layout/grid/grid_layout.tsx index c12ca843ba42d..4f31e7153c3b1 100644 --- a/src/platform/packages/private/kbn-grid-layout/grid/grid_layout.tsx +++ b/src/platform/packages/private/kbn-grid-layout/grid/grid_layout.tsx @@ -32,7 +32,6 @@ export interface GridLayoutProps { setDragHandles?: (refs: Array) => void ) => React.ReactNode; onLayoutChange: (newLayout: GridLayoutData) => void; - onRowAdded?: (rowId: string, rowRef: HTMLDivElement | null) => void; className?: string; // this makes it so that custom CSS can be passed via Emotion } @@ -45,7 +44,6 @@ export const GridLayout = ({ renderPanelContents, onLayoutChange, - onRowAdded, className, }: GridLayoutProps) => { @@ -106,13 +104,6 @@ export const GridLayout = ({ .subscribe(([layoutBefore, layoutAfter]) => { if (!isLayoutEqual(layoutBefore, layoutAfter)) { onLayoutChange(layoutAfter); - if (onRowAdded && layoutBefore.length < layoutAfter.length) { - console.log(gridLayoutStateManager.rowRefs.current.length); - onRowAdded( - `kbnGridLayoutRow--${layoutAfter.length}`, - gridLayoutStateManager.rowRefs.current[layoutAfter.length] - ); - } } }); diff --git a/src/platform/packages/private/kbn-grid-layout/grid/types.ts b/src/platform/packages/private/kbn-grid-layout/grid/types.ts index dc68877ec3a5b..dd9c1942a1e91 100644 --- a/src/platform/packages/private/kbn-grid-layout/grid/types.ts +++ b/src/platform/packages/private/kbn-grid-layout/grid/types.ts @@ -107,18 +107,4 @@ export interface PanelInteractionEvent { }; } -// TODO: Remove from Dashboard plugin as part of https://github.com/elastic/kibana/issues/190446 -export enum PanelPlacementStrategy { - /** Place on the very top of the grid layout, add the height of this panel to all other panels. */ - placeAtTop = 'placeAtTop', - /** Look for the smallest y and x value where the default panel will fit. */ - findTopLeftMostOpenSpace = 'findTopLeftMostOpenSpace', -} - -export interface PanelPlacementSettings { - strategy?: PanelPlacementStrategy; - height: number; - width: number; -} - export type GridAccessMode = 'VIEW' | 'EDIT';