mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
fixes to view mode for panels, can now go back as before
This commit is contained in:
parent
5402a0e00d
commit
5ea34844ba
@ -176,10 +176,9 @@ export class DashboardGrid extends React.Component<DashboardGridProps, any> {
|
||||
|
||||
renderPanels() {
|
||||
const panelElements = [];
|
||||
console.log('render panels');
|
||||
|
||||
for (const panel of this.props.dashboard.panels) {
|
||||
const panelClasses = classNames({ panel: true, 'panel--fullscreen': panel.fullscreen });
|
||||
const panelClasses = classNames({ 'react-grid-item--fullscreen': panel.fullscreen });
|
||||
panelElements.push(
|
||||
<div key={panel.id.toString()} className={panelClasses} id={`panel-${panel.id}`}>
|
||||
<DashboardPanel
|
||||
|
@ -1,5 +1,6 @@
|
||||
import React, { PureComponent } from 'react';
|
||||
import config from 'app/core/config';
|
||||
import classNames from 'classnames';
|
||||
|
||||
import { getAngularLoader, AngularComponent } from 'app/core/services/AngularLoader';
|
||||
import { importPluginModule } from 'app/features/plugins/plugin_loader';
|
||||
@ -136,7 +137,7 @@ export class DashboardPanel extends PureComponent<Props, State> {
|
||||
}
|
||||
|
||||
render() {
|
||||
const { panel, dashboard } = this.props;
|
||||
const { panel, dashboard, isFullscreen, isEditing } = this.props;
|
||||
const { plugin, angularPanel } = this.state;
|
||||
|
||||
if (this.isSpecial()) {
|
||||
@ -148,8 +149,12 @@ export class DashboardPanel extends PureComponent<Props, State> {
|
||||
return null;
|
||||
}
|
||||
|
||||
const containerClass = this.props.isEditing ? 'panel-editor-container' : 'panel-height-helper';
|
||||
const panelWrapperClass = this.props.isEditing ? 'panel-editor-container__panel' : 'panel-height-helper';
|
||||
const containerClass = classNames({ 'panel-editor-container': isEditing, 'panel-height-helper': !isEditing });
|
||||
const panelWrapperClass = classNames({
|
||||
'panel-wrapper': true,
|
||||
'panel-wrapper--edit': isEditing,
|
||||
'panel-wrapper--view': isFullscreen && !isEditing,
|
||||
});
|
||||
|
||||
return (
|
||||
<div className={containerClass}>
|
||||
|
@ -50,15 +50,6 @@ export class PanelEditor extends PureComponent<PanelEditorProps> {
|
||||
this.forceUpdate();
|
||||
};
|
||||
|
||||
onClose = () => {
|
||||
store.dispatch(
|
||||
updateLocation({
|
||||
query: { tab: null, fullscreen: null, edit: null },
|
||||
partial: true,
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
render() {
|
||||
const { panel, dashboard, onTypeChanged, plugin, angularPanel } = this.props;
|
||||
const { location } = store.getState();
|
||||
@ -78,10 +69,6 @@ export class PanelEditor extends PureComponent<PanelEditorProps> {
|
||||
return <TabItem tab={tab} activeTab={activeTab} onClick={this.onChangeTab} key={tab.id} />;
|
||||
})}
|
||||
</ul>
|
||||
|
||||
<button className="panel-editor-tabs__close" onClick={this.onClose}>
|
||||
<i className="fa fa-reply" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{activeTab === 'general' && <GeneralTab panel={panel} />}
|
||||
|
@ -9,18 +9,14 @@
|
||||
.react-grid-item {
|
||||
display: none !important;
|
||||
transition-property: none !important;
|
||||
}
|
||||
|
||||
.panel--fullscreen {
|
||||
display: block !important;
|
||||
position: unset !important;
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
transform: translate(0px, 0px) !important;
|
||||
}
|
||||
|
||||
.panel {
|
||||
margin: 0 !important;
|
||||
&--fullscreen {
|
||||
display: block !important;
|
||||
position: unset !important;
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
transform: translate(0px, 0px) !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Disable grid interaction indicators in fullscreen panels
|
||||
@ -83,10 +79,10 @@
|
||||
}
|
||||
|
||||
// Disable animation on initial rendering and enable it when component has been mounted.
|
||||
.react-grid-item.cssTransforms.panel {
|
||||
.react-grid-item.cssTransforms {
|
||||
transition-property: none;
|
||||
}
|
||||
|
||||
.animated .react-grid-item.cssTransforms.panel {
|
||||
.animated .react-grid-item.cssTransforms {
|
||||
transition-property: transform;
|
||||
}
|
||||
|
@ -50,6 +50,10 @@
|
||||
.navbar-page-btn .fa-caret-down {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar-buttons--close {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-page-btn {
|
||||
|
@ -4,8 +4,19 @@
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.panel-editor-container__panel {
|
||||
flex: 1 1 0;
|
||||
.panel-wrapper {
|
||||
height: 100%;
|
||||
|
||||
&--edit {
|
||||
flex: 1 1 0;
|
||||
height: unset;
|
||||
}
|
||||
|
||||
&--view {
|
||||
flex: 1 1 0;
|
||||
height: 80%;
|
||||
padding: $dashboard-padding;
|
||||
}
|
||||
}
|
||||
|
||||
.panel-editor-container__editor {
|
||||
|
Loading…
Reference in New Issue
Block a user