diff --git a/packages/react-split-grid/src/index.js b/packages/react-split-grid/src/index.js index 42cb4d4d..76954bef 100644 --- a/packages/react-split-grid/src/index.js +++ b/packages/react-split-grid/src/index.js @@ -82,6 +82,10 @@ class ReactSplitGrid extends React.Component { if (columnMinSizes !== prevColumnMinSizes) { needsRecreate = true } + // TODO use deep equals + if (columnMaxSizes !== prevColumnMaxSizes) { + needsRecreate = true + } if (rowMinSizes !== prevRowMinSizes) { needsRecreate = true @@ -94,8 +98,9 @@ class ReactSplitGrid extends React.Component { // Destroy and re-create split if options changed if (needsRecreate) { options.columnMinSizes = columnMinSizes + options.columnMaxSizes = columnMaxSizes options.rowMinSizes = rowMinSizes - + options.rowMaxSizes = rowMaxSizes this.split.destroy(false) this.split = Split(options) diff --git a/packages/split-grid/src/Gutter.js b/packages/split-grid/src/Gutter.js index ceccc60d..eb692b80 100644 --- a/packages/split-grid/src/Gutter.js +++ b/packages/split-grid/src/Gutter.js @@ -358,6 +358,14 @@ class Gutter { bTrackSize = this.minSizeEnd } + if (aTrackSize > this.maxSizeStart) { + aTrackSize = this.maxSizeStart; + } + + if (bTrackSize > this.maxSizeEnd) { + bTrackSize = this.maxSizeEnd; + } + if (this.trackValues[this.aTrack].type === 'px') { this.tracks[this.aTrack] = `${aTrackSize}px` } else if (this.trackValues[this.aTrack].type === 'fr') {