mirror of
https://github.com/grafana/grafana.git
synced 2025-02-11 16:15:42 -06:00
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import _ from 'lodash';
|
|
import coreModule from '../core_module';
|
|
|
|
/** @ngInject */
|
|
function dashClass($timeout) {
|
|
return {
|
|
link: ($scope, elem) => {
|
|
$scope.ctrl.dashboard.events.on('view-mode-changed', panel => {
|
|
console.log('view-mode-changed', panel.fullscreen);
|
|
if (panel.fullscreen) {
|
|
elem.addClass('panel-in-fullscreen');
|
|
} else {
|
|
$timeout(() => {
|
|
elem.removeClass('panel-in-fullscreen');
|
|
});
|
|
}
|
|
});
|
|
|
|
elem.toggleClass('panel-in-fullscreen', $scope.ctrl.dashboard.meta.fullscreen === true);
|
|
|
|
$scope.$watch('ctrl.dashboardViewState.state.editview', newValue => {
|
|
if (newValue) {
|
|
elem.toggleClass('dashboard-page--settings-opening', _.isString(newValue));
|
|
setTimeout(() => {
|
|
elem.toggleClass('dashboard-page--settings-open', _.isString(newValue));
|
|
}, 10);
|
|
} else {
|
|
elem.removeClass('dashboard-page--settings-opening');
|
|
elem.removeClass('dashboard-page--settings-open');
|
|
}
|
|
});
|
|
},
|
|
};
|
|
}
|
|
|
|
coreModule.directive('dashClass', dashClass);
|