From ce97f89de61073239349faf8d9a66758c6b48cc8 Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Wed, 18 Apr 2018 13:59:26 +0200 Subject: [PATCH] make add panel panel scrollbar adjust when panel/dashboard grid are resized --- .../core/components/ScrollBar/ScrollBar.tsx | 4 ++++ .../dashboard/dashgrid/AddPanelPanel.tsx | 19 ++++++++++++++++++- .../dashboard/dashgrid/DashboardGrid.tsx | 3 --- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/public/app/core/components/ScrollBar/ScrollBar.tsx b/public/app/core/components/ScrollBar/ScrollBar.tsx index a358dc1926a..24d17f67367 100644 --- a/public/app/core/components/ScrollBar/ScrollBar.tsx +++ b/public/app/core/components/ScrollBar/ScrollBar.tsx @@ -54,6 +54,10 @@ export default class ScrollBar extends React.Component { return false; } + update() { + this.scrollbar.update(); + } + handleRef = ref => { this.container = ref; }; diff --git a/public/app/features/dashboard/dashgrid/AddPanelPanel.tsx b/public/app/features/dashboard/dashgrid/AddPanelPanel.tsx index 1e9ae20dca2..094bc49b708 100644 --- a/public/app/features/dashboard/dashgrid/AddPanelPanel.tsx +++ b/public/app/features/dashboard/dashgrid/AddPanelPanel.tsx @@ -22,10 +22,13 @@ export interface AddPanelPanelState { } export class AddPanelPanel extends React.Component { + private scrollbar: ScrollBar; + constructor(props) { super(props); this.handleCloseAddPanel = this.handleCloseAddPanel.bind(this); this.renderPanelItem = this.renderPanelItem.bind(this); + this.panelSizeChanged = this.panelSizeChanged.bind(this); this.state = { panelPlugins: this.getPanelPlugins(''), @@ -35,6 +38,20 @@ export class AddPanelPanel extends React.Component { + this.scrollbar.update(); + }); + } + getPanelPlugins(filter) { let panels = _.chain(config.panels) .filter({ hideFromList: false }) @@ -207,7 +224,7 @@ export class AddPanelPanel extends React.Component - + (this.scrollbar = element)} className="add-panel__items">