react-split-pane 0.1.69 → 0.1.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/workspace.xml +592 -195
- package/README.md +3 -1
- package/lib/SplitPane.js +23 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -175,7 +175,9 @@ You can also pass inline styles to the components via props. These are:
|
|
|
175
175
|
|
|
176
176
|
I'm always happy to receive Pull Requests for contributions of any kind.
|
|
177
177
|
|
|
178
|
-
|
|
178
|
+
Please include tests and/or update the examples if possible.
|
|
179
|
+
|
|
180
|
+
I've been working on an updated version of this library - if you'd like to get involved in any way please ping me a message.
|
|
179
181
|
|
|
180
182
|
Thanks, Tom
|
|
181
183
|
|
package/lib/SplitPane.js
CHANGED
|
@@ -154,8 +154,10 @@ var SplitPane = function (_React$Component) {
|
|
|
154
154
|
unFocus(document, window);
|
|
155
155
|
var isPrimaryFirst = this.props.primary === 'first';
|
|
156
156
|
var ref = isPrimaryFirst ? this.pane1 : this.pane2;
|
|
157
|
+
var ref2 = isPrimaryFirst ? this.pane2 : this.pane1;
|
|
157
158
|
if (ref) {
|
|
158
159
|
var node = _reactDom2.default.findDOMNode(ref);
|
|
160
|
+
var node2 = _reactDom2.default.findDOMNode(ref2);
|
|
159
161
|
|
|
160
162
|
if (node.getBoundingClientRect) {
|
|
161
163
|
var width = node.getBoundingClientRect().width;
|
|
@@ -173,6 +175,12 @@ var SplitPane = function (_React$Component) {
|
|
|
173
175
|
}
|
|
174
176
|
var sizeDelta = isPrimaryFirst ? positionDelta : -positionDelta;
|
|
175
177
|
|
|
178
|
+
var pane1Order = parseInt(window.getComputedStyle(node).order);
|
|
179
|
+
var pane2Order = parseInt(window.getComputedStyle(node2).order);
|
|
180
|
+
if (pane1Order > pane2Order) {
|
|
181
|
+
sizeDelta = -sizeDelta;
|
|
182
|
+
}
|
|
183
|
+
|
|
176
184
|
var newMaxSize = maxSize;
|
|
177
185
|
if (maxSize !== undefined && maxSize <= 0) {
|
|
178
186
|
var splPane = this.splitPane;
|
|
@@ -253,6 +261,9 @@ var SplitPane = function (_React$Component) {
|
|
|
253
261
|
minSize = _props4.minSize,
|
|
254
262
|
onResizerClick = _props4.onResizerClick,
|
|
255
263
|
onResizerDoubleClick = _props4.onResizerDoubleClick,
|
|
264
|
+
paneClassName = _props4.paneClassName,
|
|
265
|
+
pane1ClassName = _props4.pane1ClassName,
|
|
266
|
+
pane2ClassName = _props4.pane2ClassName,
|
|
256
267
|
paneStyle = _props4.paneStyle,
|
|
257
268
|
pane1StyleProps = _props4.pane1Style,
|
|
258
269
|
pane2StyleProps = _props4.pane2Style,
|
|
@@ -300,6 +311,9 @@ var SplitPane = function (_React$Component) {
|
|
|
300
311
|
var pane1Style = prefixer.prefix(_extends({}, paneStyle || {}, pane1StyleProps || {}));
|
|
301
312
|
var pane2Style = prefixer.prefix(_extends({}, paneStyle || {}, pane2StyleProps || {}));
|
|
302
313
|
|
|
314
|
+
var pane1Classes = ['Pane1', paneClassName, pane1ClassName].join(' ');
|
|
315
|
+
var pane2Classes = ['Pane2', paneClassName, pane2ClassName].join(' ');
|
|
316
|
+
|
|
303
317
|
return _react2.default.createElement(
|
|
304
318
|
'div',
|
|
305
319
|
{
|
|
@@ -312,7 +326,7 @@ var SplitPane = function (_React$Component) {
|
|
|
312
326
|
_react2.default.createElement(
|
|
313
327
|
_Pane2.default,
|
|
314
328
|
{
|
|
315
|
-
className:
|
|
329
|
+
className: pane1Classes,
|
|
316
330
|
key: 'pane1',
|
|
317
331
|
ref: function ref(node) {
|
|
318
332
|
_this2.pane1 = node;
|
|
@@ -341,7 +355,7 @@ var SplitPane = function (_React$Component) {
|
|
|
341
355
|
_react2.default.createElement(
|
|
342
356
|
_Pane2.default,
|
|
343
357
|
{
|
|
344
|
-
className:
|
|
358
|
+
className: pane2Classes,
|
|
345
359
|
key: 'pane2',
|
|
346
360
|
ref: function ref(node) {
|
|
347
361
|
_this2.pane2 = node;
|
|
@@ -378,6 +392,9 @@ SplitPane.propTypes = {
|
|
|
378
392
|
prefixer: _propTypes2.default.instanceOf(_inlineStylePrefixer2.default).isRequired,
|
|
379
393
|
style: _reactStyleProptype2.default,
|
|
380
394
|
resizerStyle: _reactStyleProptype2.default,
|
|
395
|
+
paneClassName: _propTypes2.default.string,
|
|
396
|
+
pane1ClassName: _propTypes2.default.string,
|
|
397
|
+
pane2ClassName: _propTypes2.default.string,
|
|
381
398
|
paneStyle: _reactStyleProptype2.default,
|
|
382
399
|
pane1Style: _reactStyleProptype2.default,
|
|
383
400
|
pane2Style: _reactStyleProptype2.default,
|
|
@@ -390,7 +407,10 @@ SplitPane.defaultProps = {
|
|
|
390
407
|
minSize: 50,
|
|
391
408
|
prefixer: new _inlineStylePrefixer2.default({ userAgent: USER_AGENT }),
|
|
392
409
|
primary: 'first',
|
|
393
|
-
split: 'vertical'
|
|
410
|
+
split: 'vertical',
|
|
411
|
+
paneClassName: '',
|
|
412
|
+
pane1ClassName: '',
|
|
413
|
+
pane2ClassName: ''
|
|
394
414
|
};
|
|
395
415
|
|
|
396
416
|
exports.default = SplitPane;
|