wip: fixed issues now things are starting to work as before for angular panels

pull/13578/head
Torkel Ödegaard 7 years ago
parent 2f84101fe7
commit d2bdf8cff1
  1. 3
      public/app/core/constants.ts
  2. 2
      public/app/features/panel/metrics_panel_ctrl.ts
  3. 4
      public/app/features/panel/panel_ctrl.ts
  4. 6
      public/app/features/panel/panel_directive.ts
  5. 12
      public/app/features/plugins/plugin_component.ts
  6. 2
      public/app/partials/dashboard.html
  7. 4
      public/sass/pages/_dashboard.scss

@ -8,3 +8,6 @@ export const DEFAULT_ROW_HEIGHT = 250;
export const MIN_PANEL_HEIGHT = GRID_CELL_HEIGHT * 3;
export const LS_PANEL_COPY_KEY = 'panel-copy';
export const DASHBOARD_TOOLBAR_HEIGHT = 55;
export const DASHBOARD_TOP_PADDING = 20;

@ -57,7 +57,7 @@ class MetricsPanelCtrl extends PanelCtrl {
}
private onInitMetricsPanelEditMode() {
this.addEditorTab('Queries', metricsTabDirective, 1, 'fa fa-database');
this.addEditorTab('Metrics', metricsTabDirective, 1, 'fa fa-database');
this.addEditorTab('Time range', 'public/app/features/panel/partials/panelTime.html');
}

@ -220,8 +220,8 @@ export class PanelCtrl {
calculatePanelHeight() {
if (this.panel.fullscreen) {
const docHeight = $(window).height();
const editHeight = Math.floor(docHeight * 0.4);
const docHeight = $('.react-grid-layout').height();
const editHeight = Math.floor(docHeight * 0.35);
const fullscreenHeight = Math.floor(docHeight * 0.8);
this.containerHeight = this.panel.isEditing ? editHeight : fullscreenHeight;
} else {

@ -90,10 +90,6 @@ module.directive('grafanaPanel', ($rootScope, $document, $timeout) => {
ctrl.dashboard.setPanelFocus(0);
}
function panelHeightUpdated() {
// panelContent.css({ height: ctrl.height + 'px' });
}
function resizeScrollableContent() {
if (panelScrollbar) {
panelScrollbar.update();
@ -138,7 +134,6 @@ module.directive('grafanaPanel', ($rootScope, $document, $timeout) => {
ctrl.events.on('panel-size-changed', () => {
ctrl.calculatePanelHeight();
panelHeightUpdated();
$timeout(() => {
console.log('panel directive panel size changed, render');
resizeScrollableContent();
@ -148,7 +143,6 @@ module.directive('grafanaPanel', ($rootScope, $document, $timeout) => {
// set initial height
ctrl.calculatePanelHeight();
panelHeightUpdated();
ctrl.events.on('render', () => {
console.log('panel_directive: render', ctrl.panel.id);

@ -8,7 +8,7 @@ import { importPluginModule } from './plugin_loader';
import { UnknownPanelCtrl } from 'app/plugins/panel/unknown/module';
/** @ngInject */
function pluginDirectiveLoader($compile, datasourceSrv, $rootScope, $q, $http, $templateCache) {
function pluginDirectiveLoader($compile, datasourceSrv, $rootScope, $q, $http, $templateCache, $timeout) {
function getTemplate(component) {
if (component.template) {
return $q.when(component.template);
@ -207,10 +207,14 @@ function pluginDirectiveLoader($compile, datasourceSrv, $rootScope, $q, $http, $
// let a binding digest cycle complete before adding to dom
setTimeout(() => {
elem.append(child);
scope.$applyAsync(() => {
console.log('post appendAndCompile, broadcast refresh', scope.panel);
scope.$broadcast('component-did-mount');
elem.append(child);
setTimeout(() => {
scope.$applyAsync(() => {
console.log('post appendAndCompile, broadcast refresh', scope.panel);
scope.$broadcast('component-did-mount');
});
});
});
});
}

@ -7,7 +7,7 @@
class="dashboard-settings">
</dashboard-settings>
<div class="dashboard-container">
<div class="dashboard-container" ng-class="{'dashboard-container--has-submenu': ctrl.dashboard.meta.submenuEnabled}">
<dashboard-submenu ng-if="ctrl.dashboard.meta.submenuEnabled" dashboard="ctrl.dashboard">
</dashboard-submenu>

@ -3,6 +3,10 @@
width: 100%;
height: 100%;
box-sizing: border-box;
&--has-submenu {
height: calc(100% - 50px);
}
}
.template-variable {

Loading…
Cancel
Save