diff --git a/dist/node.js b/dist/node.js index 8a435855..539769bb 100644 --- a/dist/node.js +++ b/dist/node.js @@ -9,16 +9,21 @@ var Node = React.createClass({ renderCollapse: function renderCollapse() { var index = this.props.index; + var renderCollapse = this.props.renderCollapse; if (index.children && index.children.length) { var collapsed = index.node.collapsed; - return React.createElement('span', { - className: cx('collapse', collapsed ? 'caret-right' : 'caret-down'), - onMouseDown: function onMouseDown(e) { - e.stopPropagation(); + return React.createElement( + 'span', + { + onMouseDown: function onMouseDown(e) { + e.stopPropagation(); + }, + onClick: this.handleCollapse }, - onClick: this.handleCollapse }); + renderCollapse(collapsed) + ); } return null; @@ -47,7 +52,8 @@ var Node = React.createClass({ dragging: dragging, paddingLeft: _this.props.paddingLeft, onCollapse: _this.props.onCollapse, - onDragStart: _this.props.onDragStart + onDragStart: _this.props.onDragStart, + renderCollapse: _this.props.renderCollapse }); }) ); @@ -71,7 +77,7 @@ var Node = React.createClass({ 'div', { className: 'inner', ref: 'inner', onMouseDown: this.handleMouseDown }, this.renderCollapse(), - tree.renderNode(node) + tree.renderNode(node, index.id) ), this.renderChildren() ); diff --git a/dist/react-ui-tree.js b/dist/react-ui-tree.js index 9b1accec..5824f0de 100644 --- a/dist/react-ui-tree.js +++ b/dist/react-ui-tree.js @@ -60,7 +60,8 @@ module.exports = React.createClass({ React.createElement(Node, { tree: tree, index: draggingIndex, - paddingLeft: this.props.paddingLeft + paddingLeft: this.props.paddingLeft, + renderCollapse: this.props.renderCollapse }) ); } @@ -83,7 +84,8 @@ module.exports = React.createClass({ paddingLeft: this.props.paddingLeft, onDragStart: this.dragStart, onCollapse: this.toggleCollapse, - dragging: dragging && dragging.id + dragging: dragging && dragging.id, + renderCollapse: this.props.renderCollapse }) ); }, diff --git a/example/app.js b/example/app.js index 993f833e..e7b0016e 100644 --- a/example/app.js +++ b/example/app.js @@ -32,6 +32,16 @@ var App = React.createClass({ }); }, + renderCollapse(collapsed) { + return ( + + + ) + }, + render() { return (