1 | module.exports = function(proto, react) {
|
2 | var createElement = react.createElement;
|
3 |
|
4 | var _render = proto.render;
|
5 |
|
6 | var mixins = proto.mixins = proto.mixins || [];
|
7 | mixins.unshift(require('./mixins/stream'));
|
8 | mixins.unshift(require('./mixins/application')(react));
|
9 |
|
10 | return react.createClass(Object.assign({}, proto, {
|
11 | displayName: proto.displayName,
|
12 |
|
13 | bindTargetValue: function(name) {
|
14 | return function(evt) {
|
15 | this.setState({[name]: evt.target.value});
|
16 | }.bind(this);
|
17 | },
|
18 |
|
19 | render: function() {
|
20 | var self = this;
|
21 | var val = _render.call(self, createElement, null, self.props, self.state || {});
|
22 | return Array.isArray(val) ?
|
23 | createElement.apply(null, ['div', null].concat(val)) :
|
24 | val;
|
25 | }
|
26 | }));
|
27 | };
|