ssc-refer
Version:
React refer component for SSC 3.0
90 lines (68 loc) • 2.3 kB
JavaScript
;
exports.__esModule = true;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _lodash = require('lodash');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Table = require('./Table.react');
var _Table2 = _interopRequireDefault(_Table);
var _TableRender = require('./TableRender.react');
var _TableRender2 = _interopRequireDefault(_TableRender);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var ReferTable = _react2['default'].createClass({
displayName: 'ReferTable',
/**
* In addition to the propTypes below, the following props are automatically
* passed down by `Typeahead`:
*
* - labelKey
* - onPaginate
* - options
* - paginate
* - text
*/
propTypes: {
/**
* Provides the ability to specify a prefix before the user-entered text to
* indicate that the selection will be new. No-op unless `allowNew={true}`.
*/
newSelectionPrefix: _react.PropTypes.string,
/**
* Provides a hook for customized rendering of menu item contents.
*/
onClickItem: _react.PropTypes.func
},
getDefaultProps: function getDefaultProps() {
return {
newSelectionPrefix: 'New selection: ',
onClickItem: _lodash.noop
};
},
render: function render() {
var menuProps = (0, _lodash.pick)(this.props, ['align', 'className', 'dropup', 'emptyLabel', 'maxHeight', 'onPaginate', 'paginate', 'paginationText', 'style']);
var options = this.props.options;
return _react2['default'].createElement(
_Table2['default'],
menuProps,
this._renderTable(options)
);
},
_renderTable: function _renderTable(options) {
var tableColumns = this.props.tableColumns;
var tableProps = {
tableColumns: tableColumns
};
return _react2['default'].createElement(
_TableRender2['default'],
(0, _extends3['default'])({ onClickItem: this._handleClickItem }, tableProps),
options
);
},
_handleClickItem: function _handleClickItem(record) {
var onClickItem = this.props.onClickItem;
onClickItem(record);
}
});
exports['default'] = ReferTable;
module.exports = exports['default'];