UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

127 lines (94 loc) 3.72 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _bind = require('classnames/bind'); var _bind2 = _interopRequireDefault(_bind); var _md = require('react-icons/lib/md'); var _constants = require('../common/constants'); var _utilities = require('../common/utilities'); var _auto_bind = require('../common/auto_bind'); var _auto_bind2 = _interopRequireDefault(_auto_bind); var _store = require('../common/store'); var _store2 = _interopRequireDefault(_store); var _display = require('../actions/display'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var cx = _bind2.default.bind(require('../styles/filter.scss')); var Filter = function (_Component) { (0, _inherits3.default)(Filter, _Component); function Filter(props) { (0, _classCallCheck3.default)(this, Filter); var _this = (0, _possibleConstructorReturn3.default)(this, (Filter.__proto__ || (0, _getPrototypeOf2.default)(Filter)).call(this, props)); _this.state = { editing: false }; (0, _auto_bind2.default)(_this); return _this; } (0, _createClass3.default)(Filter, [{ key: 'start_editing', value: function start_editing() { this.setState({ editing: true }); } }, { key: 'stop_editing', value: function stop_editing() { this.setState({ editing: false }); } }, { key: 'render', value: function render() { var _props = this.props, onClick = _props.onClick, active = _props.active, label = _props.label, children = _props.children, className = _props.className; var has_dropdown = !Array.isArray(children) || children.length > 0; return _react2.default.createElement( 'div', { className: cx('filter', { 'filter_sortable': onClick, 'filter_filterable': has_dropdown, 'filter_editing': this.state.editing }, className) }, _react2.default.createElement( 'div', { className: cx('filter__display', { 'filter__display_active': active }), onClick: onClick }, _react2.default.createElement( 'div', { className: cx('filter__label') }, label ), has_dropdown ? _react2.default.createElement( 'div', { className: cx('filter__caret') }, _react2.default.createElement(_md.MdArrowDropDown, null) ) : null ), has_dropdown ? _react2.default.createElement( 'div', { className: cx('filter__dropdown') }, typeof children === "function" ? children({ start_editing: this.start_editing, stop_editing: this.stop_editing }) : children ) : null ); } }]); return Filter; }(_react.Component); Filter.defaultProps = { onClick: null, active: false, className: "", label: "", children: [] }; exports.default = Filter;