UNPKG

ssc-refer

Version:
90 lines (68 loc) 2.3 kB
'use strict'; 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'];