UNPKG

react-sm-select

Version:
80 lines (66 loc) 2.25 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Value = undefined; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _consts = require('../../consts'); var _Counter = require('./Counter'); var _DefValue = require('./DefValue'); var _DefTag = require('./DefTag'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Value = exports.Value = function Value(_ref) { var mode = _ref.mode, options = _ref.options, value = _ref.value, _ref$Value = _ref.Value, Value = _ref$Value === undefined ? _DefValue.DefValue : _ref$Value, _ref$Tag = _ref.Tag, Tag = _ref$Tag === undefined ? _DefTag.DefTag : _ref$Tag, valuePlaceholder = _ref.valuePlaceholder, allSelectedLabel = _ref.allSelectedLabel, counterLabel = _ref.counterLabel, onRemove = _ref.onRemove, removableTag = _ref.removableTag; var isMode = function isMode(expected) { return mode === expected; }; if (Value === _DefValue.DefValue && !isMode(_consts.MODE.TAGS) && !isMode(_consts.MODE.COUNTER) && value.length === options.length) return _react2.default.createElement( 'span', null, allSelectedLabel ); if (!value.length) return _react2.default.createElement( 'span', { className: 'Header__valuePlaceholder' }, valuePlaceholder ); if (isMode(_consts.MODE.TAGS)) { var labels = value.map(function (val) { return options.find(function (opt) { return opt.value === val; }).label; }); return _react2.default.createElement( 'div', { className: 'Header__tags' }, labels.map(function (label, index) { return _react2.default.createElement(Tag, { key: index, label: label, index: index, onTagRemove: onRemove, removableTag: removableTag }); }) ); } if (isMode(_consts.MODE.COUNTER)) return _react2.default.createElement(_Counter.Counter, { value: value, options: options, counterLabel: counterLabel, valuePlaceholder: valuePlaceholder }); return _react2.default.createElement(Value, { options: options, value: value }); };