Commit b59d06ca by Torkel Ödegaard

Merge branch 'develop' of github.com:grafana/grafana into develop

parents 9f87d8d3 e0c173c5
...@@ -11,37 +11,59 @@ import sizeMe from 'react-sizeme'; ...@@ -11,37 +11,59 @@ import sizeMe from 'react-sizeme';
let lastGridWidth = 1200; let lastGridWidth = 1200;
function GridWrapper({size, layout, onLayoutChange, children, onResize, onResizeStop, onWidthChange}) { export interface GridWrapperProps {
if (size.width === 0) { size: any;
console.log('size is zero!'); layout: any;
children: any;
onResize: any;
onResizeStop: any;
onWidthChange: any;
onLayoutChange: any;
}
class GridWrapper extends React.Component<GridWrapperProps, any> {
animated: boolean;
constructor(props) {
super(props);
if (this.props.size.width === 0) {
console.log('size is zero!');
}
const width = this.props.size.width > 0 ? this.props.size.width : lastGridWidth;
if (width !== lastGridWidth) {
this.props.onWidthChange();
lastGridWidth = width;
}
} }
const width = size.width > 0 ? size.width : lastGridWidth; componentDidMount() {
if (width !== lastGridWidth) { // Disable animation on initial rendering and enable it when component has been mounted.
onWidthChange(); this.animated = true;
lastGridWidth = width;
} }
return ( render() {
<ReactGridLayout return (
width={lastGridWidth} <ReactGridLayout
className="layout" width={lastGridWidth}
isDraggable={true} className={this.animated ? 'layout animated' : 'layout'}
isResizable={true} isDraggable={true}
measureBeforeMount={false} isResizable={true}
containerPadding={[0, 0]} measureBeforeMount={false}
useCSSTransforms={true} containerPadding={[0, 0]}
margin={[GRID_CELL_VMARGIN, GRID_CELL_VMARGIN]} useCSSTransforms={true}
cols={GRID_COLUMN_COUNT} margin={[GRID_CELL_VMARGIN, GRID_CELL_VMARGIN]}
rowHeight={GRID_CELL_HEIGHT} cols={GRID_COLUMN_COUNT}
draggableHandle=".grid-drag-handle" rowHeight={GRID_CELL_HEIGHT}
layout={layout} draggableHandle=".grid-drag-handle"
onResize={onResize} layout={this.props.layout}
onResizeStop={onResizeStop} onResize={this.props.onResize}
onLayoutChange={onLayoutChange}> onResizeStop={this.props.onResizeStop}
{children} onLayoutChange={this.props.onLayoutChange}>
</ReactGridLayout> {this.props.children}
); </ReactGridLayout>
);
}
} }
const SizedReactLayoutGrid = sizeMe({monitorWidth: true})(GridWrapper); const SizedReactLayoutGrid = sizeMe({monitorWidth: true})(GridWrapper);
......
...@@ -53,3 +53,12 @@ ...@@ -53,3 +53,12 @@
.react-grid-item.react-draggable-dragging.panel { .react-grid-item.react-draggable-dragging.panel {
z-index: $zindex-dropdown; z-index: $zindex-dropdown;
} }
// Disable animation on initial rendering and enable it when component has been mounted.
.react-grid-item.cssTransforms.panel {
transition-property: none;
}
.animated .react-grid-item.cssTransforms.panel {
transition-property: transform;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment