Skip to content

Commit f3090d8

Browse files
committed
fix(dashboard): fixed issue with resizing panel, grafana#6442
1 parent 18056e5 commit f3090d8

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

public/app/features/panel/panel_directive.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ var panelTemplate = `
5656
</div>
5757
`;
5858

59-
module.directive('grafanaPanel', function() {
59+
module.directive('grafanaPanel', function($rootScope) {
6060
return {
6161
restrict: 'E',
6262
template: panelTemplate,
@@ -72,8 +72,14 @@ module.directive('grafanaPanel', function() {
7272
var lastHasAlertRule;
7373
var lastAlertState;
7474
var hasAlertRule;
75+
var lastHeight = 0;
7576

7677
ctrl.events.on('render', () => {
78+
if (lastHeight !== ctrl.containerHeight) {
79+
panelContainer.css({minHeight: ctrl.containerHeight});
80+
lastHeight = ctrl.containerHeight;
81+
}
82+
7783
if (transparentLastState !== ctrl.panel.transparent) {
7884
panelContainer.toggleClass('panel-transparent', ctrl.panel.transparent === true);
7985
transparentLastState = ctrl.panel.transparent;
@@ -102,10 +108,13 @@ module.directive('grafanaPanel', function() {
102108
}
103109
});
104110

105-
scope.$watchGroup(['ctrl.fullscreen', 'ctrl.containerHeight'], function() {
106-
panelContainer.css({minHeight: ctrl.containerHeight});
107-
elem.toggleClass('panel-fullscreen', ctrl.fullscreen ? true : false);
108-
});
111+
var lastFullscreen;
112+
$rootScope.onAppEvent('panel-change-view', function(evt, payload) {
113+
if (lastFullscreen !== ctrl.fullscreen) {
114+
elem.toggleClass('panel-fullscreen', ctrl.fullscreen ? true : false);
115+
lastFullscreen = ctrl.fullscreen;
116+
}
117+
}, scope);
109118
}
110119
};
111120
});
@@ -171,11 +180,10 @@ module.directive('panelResizer', function($rootScope) {
171180
lastPanel.span = Math.round(lastPanel.span);
172181
}
173182

174-
ctrl.row.panelSpanChanged();
175-
176183
// first digest to propagate panel width change
177184
// then render
178185
$rootScope.$apply(function() {
186+
ctrl.row.panelSpanChanged();
179187
setTimeout(function() {
180188
$rootScope.$broadcast('render');
181189
});

0 commit comments

Comments
 (0)