UNPKG

ssc-refer

Version:
1,658 lines (1,364 loc) 1.79 MB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react"), require("react-dom")); else if(typeof define === 'function' && define.amd) define(["react", "react-dom"], factory); else if(typeof exports === 'object') exports["SSCComp"] = factory(require("react"), require("react-dom")); else root["SSCComp"] = factory(root["React"], root["ReactDOM"]); })(this, function(__WEBPACK_EXTERNAL_MODULE_47__, __WEBPACK_EXTERNAL_MODULE_48__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; exports.Refers = undefined; var _Refers2 = __webpack_require__(1); var _Refers3 = _interopRequireDefault(_Refers2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports.Refers = _Refers3['default']; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; var _extends2 = __webpack_require__(2); var _extends3 = _interopRequireDefault(_extends2); var _stringify = __webpack_require__(41); var _stringify2 = _interopRequireDefault(_stringify); var _classnames = __webpack_require__(43); var _classnames2 = _interopRequireDefault(_classnames); var _lodash = __webpack_require__(44); var _reactOnclickoutside = __webpack_require__(46); var _reactOnclickoutside2 = _interopRequireDefault(_reactOnclickoutside); var _react = __webpack_require__(47); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(56); var _propTypes2 = _interopRequireDefault(_propTypes); var _ClearButton = __webpack_require__(62); var _ClearButton2 = _interopRequireDefault(_ClearButton); var _Loader = __webpack_require__(63); var _Loader2 = _interopRequireDefault(_Loader); var _Overlay = __webpack_require__(64); var _Overlay2 = _interopRequireDefault(_Overlay); var _TokenizerInput = __webpack_require__(119); var _TokenizerInput2 = _interopRequireDefault(_TokenizerInput); var _TypeaheadInput = __webpack_require__(128); var _TypeaheadInput2 = _interopRequireDefault(_TypeaheadInput); var _TypeaheadMenu = __webpack_require__(130); var _TypeaheadMenu2 = _interopRequireDefault(_TypeaheadMenu); var _ReferList = __webpack_require__(139); var _ReferList2 = _interopRequireDefault(_ReferList); var _ReferTable = __webpack_require__(308); var _ReferTable2 = _interopRequireDefault(_ReferTable); var _ReferTreeTable = __webpack_require__(332); var _ReferTreeTable2 = _interopRequireDefault(_ReferTreeTable); var _addCustomOption = __webpack_require__(377); var _addCustomOption2 = _interopRequireDefault(_addCustomOption); var _defaultFilterBy = __webpack_require__(378); var _defaultFilterBy2 = _interopRequireDefault(_defaultFilterBy); var _getHintText = __webpack_require__(381); var _getHintText2 = _interopRequireDefault(_getHintText); var _getInputText = __webpack_require__(382); var _getInputText2 = _interopRequireDefault(_getInputText); var _getOptionLabel = __webpack_require__(126); var _getOptionLabel2 = _interopRequireDefault(_getOptionLabel); var _getTruncatedOptions = __webpack_require__(383); var _getTruncatedOptions2 = _interopRequireDefault(_getTruncatedOptions); var _warn = __webpack_require__(380); var _warn2 = _interopRequireDefault(_warn); var _superagent = __webpack_require__(384); var _superagent2 = _interopRequireDefault(_superagent); var _keyCode = __webpack_require__(125); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } /** * Refer */ var Refers = _react2['default'].createClass({ displayName: 'Refers', propTypes: { /** * Allows the creation of new selections on the fly. Note that any new items * will be added to the list of selections, but not the list of original * options unless handled as such by `Typeahead`'s parent. */ allowNew: _propTypes2['default'].bool, /** * Autofocus the input when the component initially mounts. */ autoFocus: _propTypes2['default'].bool, /** * Whether to render the menu inline or attach to `document.body`. */ bodyContainer: _propTypes2['default'].bool, /** * Whether or not filtering should be case-sensitive. */ caseSensitive: _propTypes2['default'].bool, /** * Displays a button to clear the input when there are selections. */ clearButton: _propTypes2['default'].bool, /** * Specify any pre-selected options. Use only if you want the component to * be uncontrolled. */ defaultSelected: _propTypes2['default'].array, /** * Specify whether the menu should appear above the input. */ dropup: _propTypes2['default'].bool, /** * Either an array of fields in `option` to search, or a custom filtering * callback. */ filterBy: _propTypes2['default'].oneOfType([_propTypes2['default'].arrayOf(_propTypes2['default'].string.isRequired), _propTypes2['default'].func]), /** * Whether the filter should ignore accents and other diacritical marks. */ ignoreDiacritics: _propTypes2['default'].bool, /** * Indicate whether an asynchromous data fetch is happening. */ /** * Indicate whether an asynchromous data fetch is happening. */ isLoading: _propTypes2['default'].bool, /** * Specify the option key to use for display or a function returning the * display string. By default, the selector will use the `label` key. */ labelKey: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func]), /** * Maximum number of results to display by default. Mostly done for * performance reasons so as not to render too many DOM nodes in the case of * large data sets. */ maxResults: _propTypes2['default'].number, /** * Number of input characters that must be entered before showing results. */ minLength: _propTypes2['default'].number, /** * Whether or not multiple selections are allowed. */ multiple: _propTypes2['default'].bool, /** * Callback fired when the input is blurred. Receives an event. */ onBlur: _propTypes2['default'].func, /** * Callback fired whenever items are added or removed. Receives an array of * the selected options. */ onChange: _propTypes2['default'].func, /** * Callback fired when the input is focused. Receives an event. */ onFocus: _propTypes2['default'].func, /** * Callback for handling changes to the user-input text. */ onInputChange: _propTypes2['default'].func, /** * Give user the ability to display additional results if the number of * results exceeds `maxResults`. */ paginate: _propTypes2['default'].bool, /** * Callback for custom menu rendering. */ renderMenu: _propTypes2['default'].func, /** * The selected option(s) displayed in the input. Use this prop if you want * to control the component via its parent. */ selected: _propTypes2['default'].array, /** * set refer data url ,for example `http://YOURHOST/queryRefJSON` */ referDataUrl: _propTypes2['default'].string.isRequired, /** * set refOptions ,for example `{"refCode":"dept","refType":"tree","rootName":"部门"}` */ referConditions: _propTypes2['default'].object.isRequired, /** * Is debug mode. */ requestHeader: _propTypes2['default'].object, /** * set refer type, for example: list, cascader, table, treetable, default type is list. */ referType: _propTypes2['default'].string.isRequired, /** * set custom columns for table display, for example `[{"field":"name", "label":"名称"},{"field":"code","label":"编码"},{"field":"addr","label":"地址"}]` */ tableColumns: _propTypes2['default'].array, /** * set refer whether to display the Disabled button */ showDisabledBtn: _propTypes2['default'].bool, /** * 显示停用按钮名称,默认值:'显示停用' */ showDisabledBtnText: _propTypes2['default'].string, /** * 隐藏停用按钮名称,默认值:'隐藏停用' */ showDisabledBtnText_Not: _propTypes2['default'].string, /** * set refer whether to display Disabled data */ showDisabled: _propTypes2['default'].bool, /** * Is debug mode. */ debugMode: _propTypes2['default'].bool, /** * search icon style */ searchIcon: _propTypes2['default'].string }, getDefaultProps: function getDefaultProps() { return { allowNew: false, autoFocus: false, bodyContainer: false, caseSensitive: false, clearButton: false, defaultSelected: [], dropup: false, filterBy: [], ignoreDiacritics: true, isLoading: false, labelKey: 'label', maxResults: 100, minLength: 0, multiple: false, onBlur: _lodash.noop, onChange: _lodash.noop, onFocus: _lodash.noop, onInputChange: _lodash.noop, paginate: true, selected: [], referDataUrl: 'http://172.20.4.220/ficloud/refbase_ctr/queryRefJSON', referConditions: {}, requestHeader: {}, referType: 'list', debugMode: false, showDisabledBtn: false, showDisabledBtnText: '显示停用', showDisabledBtnText_Not: '隐藏停用', showDisabled: false, searchIcon: 'glyphicon glyphicon-search refer-search-icon' }; }, childContextTypes: { activeIndex: _propTypes2['default'].number.isRequired, onActiveItemChange: _propTypes2['default'].func.isRequired, onInitialItemChange: _propTypes2['default'].func.isRequired, onMenuItemClick: _propTypes2['default'].func.isRequired }, getChildContext: function getChildContext() { return { activeIndex: this.state.activeIndex, onActiveItemChange: this._handleActiveItemChange, onInitialItemChange: this._handleInitialItemChange, onMenuItemClick: this._handleAddOption }; }, getInitialState: function getInitialState() { var _props = this.props, defaultSelected = _props.defaultSelected, maxResults = _props.maxResults, showDisabled = _props.showDisabled; var selected = this.props.selected.slice(); if (defaultSelected && defaultSelected.length) { selected = defaultSelected; } return { activeIndex: -1, activeItem: null, initialItem: null, selected: selected, showMenu: false, shownResults: maxResults, text: '', isAbove: true, responseData: [], styleStatus: { position: 'relative' }, showDisabled: showDisabled === undefined ? false : showDisabled }; }, componentWillMount: function componentWillMount() { var _props2 = this.props, allowNew = _props2.allowNew, labelKey = _props2.labelKey; (0, _warn2['default'])(!(typeof labelKey === 'function' && allowNew), '`labelKey` must be a string if creating new options is allowed.'); }, componentDidMount: function componentDidMount() { this.props.autoFocus && this.focus(); }, componentWillReceiveProps: function componentWillReceiveProps(nextProps) { var multiple = nextProps.multiple, selected = nextProps.selected; if (!(0, _lodash.isEqual)(selected, this.props.selected)) { // If new selections are passed in via props, treat the component as a // controlled input. this.setState({ selected: selected }); } if (multiple !== this.props.multiple) { this.setState({ text: '' }); } }, render: function render() { var _props3 = this.props, allowNew = _props3.allowNew, className = _props3.className, dropup = _props3.dropup, labelKey = _props3.labelKey, paginate = _props3.paginate, searchIcon = _props3.searchIcon; var _state = this.state, shownResults = _state.shownResults, text = _state.text; // First filter the results by the input string. var results = this._getFilteredResults(); // This must come before we truncate. var shouldPaginate = paginate && results.length > shownResults; // Truncate if necessary. if (shouldPaginate) { results = (0, _getTruncatedOptions2['default'])(results, shownResults); } // Add the custom option. if (allowNew) { results = (0, _addCustomOption2['default'])(results, text, labelKey); } return _react2['default'].createElement( 'div', { className: (0, _classnames2['default'])('bootstrap-typeahead', 'open', { 'dropup': dropup }, className), style: this.state.styleStatus }, this._renderInput(results), this._renderAux(), this._renderMenu(results, shouldPaginate) ); }, _getFilteredResults: function _getFilteredResults() { var _props4 = this.props, caseSensitive = _props4.caseSensitive, filterBy = _props4.filterBy, ignoreDiacritics = _props4.ignoreDiacritics, labelKey = _props4.labelKey, minLength = _props4.minLength, multiple = _props4.multiple; var _state2 = this.state, selected = _state2.selected, text = _state2.text; if (text.length < minLength) { return []; } var callback = Array.isArray(filterBy) ? function (option) { return (0, _defaultFilterBy2['default'])(option, text, labelKey, multiple && !!(0, _lodash.find)(selected, function (o) { return (0, _lodash.isEqual)(o, option); }), { caseSensitive: caseSensitive, ignoreDiacritics: ignoreDiacritics, fields: filterBy }); } : function (option) { return filterBy(option, text); }; return this.state.responseData.filter(callback); }, getFilteredSelected: function getFilteredSelected(responseData, selectedData) { var result = void 0; result = responseData.filter(function (item) { var flag = false; selectedData.map(function (obj) { if ((0, _stringify2['default'])(obj) === (0, _stringify2['default'])(item)) flag = true; }); return !flag; }); return result; }, _loadData: function _loadData() { var _props5 = this.props, referDataUrl = _props5.referDataUrl, referConditions = _props5.referConditions, requestHeader = _props5.requestHeader, debugMode = _props5.debugMode, selected = _props5.selected; var _this = this; referConditions['disableshow'] = _this.state.showDisabled; _superagent2['default'].post(referDataUrl).set(requestHeader).set('Content-Type', 'application/json').send((0, _stringify2['default'])(referConditions)).end(function (err, res) { if (err || !res.ok) { if (debugMode) console.log('network error!' + err); } else { var data = JSON.parse(res.text); if (data['success'] === undefined) { if (debugMode) console.log('response data format is error,for example: no success key'); return false; } if (!data['success']) { if (debugMode) console.log('response data success is false' + data['message']); } else { if ((0, _lodash.isArray)(data.data) && data.data.length >= 0) { _this.setState({ responseData: _this.getFilteredSelected(data.data, selected) }); } else { if (debugMode) console.log('Message:' + 'Data format error, maybe no data !'); } } } }); }, blur: function blur() { this.refs.input.blur(); this._hideDropdown(); }, /** * Public method to allow external clearing of the input. Clears both text * and selection(s). */ clear: function clear() { var _getInitialState = this.getInitialState(), activeIndex = _getInitialState.activeIndex, activeItem = _getInitialState.activeItem, showMenu = _getInitialState.showMenu; var selected = []; var text = ''; this.setState({ activeIndex: activeIndex, activeItem: activeItem, selected: selected, showMenu: showMenu, text: text }); this.props.onChange(selected); this.props.onInputChange(text); }, focus: function focus() { this.refs.input.focus(); }, getData: function getData() { return this.state.selected; }, getInputTextValue: function getInputTextValue() { var _props6 = this.props, bsSize = _props6.bsSize, disabled = _props6.disabled, labelKey = _props6.labelKey, minLength = _props6.minLength, multiple = _props6.multiple, name = _props6.name, placeholder = _props6.placeholder, renderToken = _props6.renderToken; var _state3 = this.state, activeIndex = _state3.activeIndex, activeItem = _state3.activeItem, initialItem = _state3.initialItem, selected = _state3.selected, text = _state3.text; return (0, _getInputText2['default'])({ activeItem: activeItem, labelKey: labelKey, multiple: multiple, selected: selected, text: text }); }, hideRefers: function hideRefers() { this.setState({ styleStatus: { display: 'none' } }); }, showRefers: function showRefers() { this.setState({ styleStatus: { position: 'relative' } }); }, _renderInput: function _renderInput(results) { var _this2 = this; var _props7 = this.props, bsSize = _props7.bsSize, disabled = _props7.disabled, labelKey = _props7.labelKey, minLength = _props7.minLength, multiple = _props7.multiple, name = _props7.name, placeholder = _props7.placeholder, renderToken = _props7.renderToken, searchIcon = _props7.searchIcon, showDisabledBtn = _props7.showDisabledBtn, showDisabledBtnText = _props7.showDisabledBtnText, showDisabledBtnText_Not = _props7.showDisabledBtnText_Not; var _state4 = this.state, activeIndex = _state4.activeIndex, activeItem = _state4.activeItem, initialItem = _state4.initialItem, selected = _state4.selected, text = _state4.text; var Input = multiple ? _TokenizerInput2['default'] : _TypeaheadInput2['default']; var inputProps = { bsSize: bsSize, disabled: disabled, name: name, placeholder: placeholder, renderToken: renderToken }; return _react2['default'].createElement( 'div', { className: 'input-group' }, _react2['default'].createElement(Input, (0, _extends3['default'])({}, inputProps, { activeIndex: activeIndex, activeItem: activeItem, hasAux: !!this._renderAux(), hintText: (0, _getHintText2['default'])({ activeItem: activeItem, initialItem: initialItem, labelKey: labelKey, minLength: minLength, selected: selected, text: text }), initialItem: initialItem, labelKey: labelKey, onAdd: this._handleAddOption, onBlur: this._handleBlur, onChange: this._handleTextChange, onFocus: this._handleFocus.bind(this, disabled), onKeyDown: function onKeyDown(e) { return _this2._handleKeydown(results, e); }, onRemove: this._handleRemoveOption, options: results, ref: 'input', selected: selected.slice(), value: (0, _getInputText2['default'])({ activeItem: activeItem, labelKey: labelKey, multiple: multiple, selected: selected, text: text }) })), _react2['default'].createElement( 'span', { className: "input-group-addon cursor-style", onClick: this._handleFocus.bind(this, disabled), style: disabled ? { 'cursor': 'no-drop' } : {} }, _react2['default'].createElement('span', { className: (0, _classnames2['default'])(searchIcon) }) ), showDisabledBtn === false ? null : _react2['default'].createElement( 'span', { className: 'input-group-addon cursor-style', style: disabled ? { 'cursor': 'no-drop' } : {}, title: this.state.showDisabled ? showDisabledBtnText_Not || '隐藏停用' : showDisabledBtnText || '显示停用', onClick: this._handleEnable.bind(this, disabled) }, _react2['default'].createElement('span', { className: this.state.showDisabled ? 'icon-show-disabled red' : 'icon-show-disabled' }) ) ); }, _renderMenu: function _renderMenu(results, shouldPaginate) { var _this3 = this; var _props8 = this.props, align = _props8.align, bodyContainer = _props8.bodyContainer, dropup = _props8.dropup, emptyLabel = _props8.emptyLabel, labelKey = _props8.labelKey, maxHeight = _props8.maxHeight, minLength = _props8.minLength, newSelectionPrefix = _props8.newSelectionPrefix, paginationText = _props8.paginationText, renderMenu = _props8.renderMenu, renderMenuItemChildren = _props8.renderMenuItemChildren, referType = _props8.referType, tableColumns = _props8.tableColumns; var _state5 = this.state, showMenu = _state5.showMenu, text = _state5.text; var menuProps = { align: align, dropup: dropup, emptyLabel: emptyLabel, labelKey: labelKey, maxHeight: maxHeight, newSelectionPrefix: newSelectionPrefix, paginationText: paginationText, onPaginate: this._handlePagination, paginate: shouldPaginate, text: text, tableColumns: tableColumns }; var list = renderMenu ? renderMenu(results, menuProps) : _react2['default'].createElement(_TypeaheadMenu2['default'], (0, _extends3['default'])({}, menuProps, { options: results, renderMenuItemChildren: renderMenuItemChildren })); var typeObj = _lodash.noop; switch (referType) { case 'list': typeObj = list; break; case 'cascader': var cascader = renderMenu ? renderMenu(results, menuProps) : _react2['default'].createElement(_ReferList2['default'], (0, _extends3['default'])({}, menuProps, { options: results, renderMenuItemChildren: renderMenuItemChildren })); typeObj = cascader; break; case 'table': var table = renderMenu ? renderMenu(results, menuProps) : _react2['default'].createElement(_ReferTable2['default'], (0, _extends3['default'])({}, menuProps, { options: results, onClickItem: this._handleAddOption })); typeObj = table; break; case 'treetable': var treetable = renderMenu ? renderMenu(results, menuProps) : _react2['default'].createElement(_ReferTreeTable2['default'], (0, _extends3['default'])({}, menuProps, { options: results, onClickItem: this._handleAddOption })); typeObj = treetable; break; default: typeObj = list; } return _react2['default'].createElement( _Overlay2['default'], { container: bodyContainer ? document.body : this, show: showMenu && text.length >= minLength, target: function target() { return _this3.refs.input; } }, typeObj ); }, _renderAux: function _renderAux() { var _props9 = this.props, bsSize = _props9.bsSize, clearButton = _props9.clearButton, disabled = _props9.disabled, isLoading = _props9.isLoading; if (isLoading) { return _react2['default'].createElement(_Loader2['default'], { bsSize: bsSize }); } if (clearButton && !disabled && this.state.selected.length) { return _react2['default'].createElement(_ClearButton2['default'], { bsSize: bsSize, className: 'bootstrap-typeahead-clear-button', onClick: this.clear }); } }, _handleActiveItemChange: function _handleActiveItemChange(activeItem) { this.setState({ activeItem: activeItem }); }, _handleBlur: function _handleBlur(e) { // Note: Don't hide the menu here, since that interferes with other actions // like making a selection by clicking on a menu item. if (this.props.onBlur) { this.props.onBlur(e); } }, _handleFocus: function _handleFocus(disabled, e) { if (disabled) { return; } this.props.onFocus(e); var multiple = this.props.multiple; if (!multiple) { // this.clear(); } this._loadData(); this.setState({ showMenu: true }); }, _handleEnable: function _handleEnable(disabled, e) { if (disabled) { return; } this._handleBlur(e); var showDisabled = this.state.showDisabled === undefined ? this.getInitialState() : this.state.showDisabled; this.setState({ showDisabled: !showDisabled, showMenu: false }); }, _handleInitialItemChange: function _handleInitialItemChange(initialItem) { var currentItem = this.state.initialItem; if (!currentItem) { this.setState({ initialItem: initialItem }); return; } var labelKey = this.props.labelKey; // Don't update the initial item if it hasn't changed. For custom items, // compare the `labelKey` values since a unique id is generated each time, // causing the comparison to always return false otherwise. if ((0, _lodash.isEqual)(initialItem, currentItem) || initialItem.customOption && initialItem[labelKey] === currentItem[labelKey]) { return; } this.setState({ initialItem: initialItem }); }, _handleTextChange: function _handleTextChange(text) { var _getInitialState2 = this.getInitialState(), activeIndex = _getInitialState2.activeIndex, activeItem = _getInitialState2.activeItem; this.setState({ activeIndex: activeIndex, activeItem: activeItem, showMenu: true, text: text }); this.props.onInputChange(text); }, _handleChange: function _handleChange(text, e) { this._handleTextChange(text); this.props.onChange(e); }, _handleKeydown: function _handleKeydown(options, e) { var _state6 = this.state, activeItem = _state6.activeItem, showMenu = _state6.showMenu; switch (e.keyCode) { case _keyCode.UP: case _keyCode.DOWN: // Don't cycle through the options if the menu is hidden. if (!showMenu) { return; } var activeIndex = this.state.activeIndex; // Prevents input cursor from going to the beginning when pressing up. e.preventDefault(); // Increment or decrement index based on user keystroke. activeIndex += e.keyCode === _keyCode.UP ? -1 : 1; // If we've reached the end, go back to the beginning or vice-versa. if (activeIndex === options.length) { activeIndex = -1; } else if (activeIndex === -2) { activeIndex = options.length - 1; } var newState = { activeIndex: activeIndex }; if (activeIndex === -1) { // Reset the active item if there is no active index. newState.activeItem = null; } this.setState(newState); break; case _keyCode.ESC: case _keyCode.TAB: // Prevent closing dialogs. e.keyCode === _keyCode.ESC && e.preventDefault(); this._hideDropdown(); break; case _keyCode.RETURN: // Prevent submitting forms. e.preventDefault(); if (showMenu) { activeItem && this._handleAddOption(activeItem); } break; } }, _handleAddOption: function _handleAddOption(selectedOption) { var _props10 = this.props, multiple = _props10.multiple, labelKey = _props10.labelKey, onChange = _props10.onChange, onInputChange = _props10.onInputChange; var selected = void 0; var text = void 0; if (multiple) { // If multiple selections are allowed, add the new selection to the // existing selections. selected = this.state.selected.concat(selectedOption); text = ''; } else { // If only a single selection is allowed, replace the existing selection // with the new one. selected = [selectedOption]; text = (0, _getOptionLabel2['default'])(selectedOption, labelKey); } this.setState({ initialItem: selectedOption, selected: selected, text: text }); this._hideDropdown(); onChange(selected); onInputChange(text); }, _handlePagination: function _handlePagination(e) { var shownResults = this.state.shownResults + this.props.maxResults; // Keep the input focused when paginating. this.focus(); this.setState({ shownResults: shownResults }); }, _handleRemoveOption: function _handleRemoveOption(removedOption) { var selected = this.state.selected.slice(); selected = selected.filter(function (option) { return !(0, _lodash.isEqual)(option, removedOption); }); // Make sure the input stays focused after the item is removed. this.focus(); this.setState({ selected: selected }); this._hideDropdown(); this.props.onChange(selected); }, /** * From `onClickOutside` HOC. */ handleClickOutside: function handleClickOutside(e) { this.state.showMenu && this._hideDropdown(); }, _hideDropdown: function _hideDropdown() { var _getInitialState3 = this.getInitialState(), activeIndex = _getInitialState3.activeIndex, activeItem = _getInitialState3.activeItem, showMenu = _getInitialState3.showMenu, shownResults = _getInitialState3.shownResults; this.setState({ activeIndex: activeIndex, activeItem: activeItem, showMenu: showMenu, shownResults: shownResults }); } }); exports['default'] = (0, _reactOnclickoutside2['default'])(Refers); module.exports = exports['default']; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; var _assign = __webpack_require__(3); var _assign2 = _interopRequireDefault(_assign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _assign2.default || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(4), __esModule: true }; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(5); module.exports = __webpack_require__(8).Object.assign; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.3.1 Object.assign(target, source) var $export = __webpack_require__(6); $export($export.S + $export.F, 'Object', { assign: __webpack_require__(22) }); /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(7); var core = __webpack_require__(8); var ctx = __webpack_require__(9); var hide = __webpack_require__(11); var has = __webpack_require__(21); var PROTOTYPE = 'prototype'; var $export = function (type, name, source) { var IS_FORCED = type & $export.F; var IS_GLOBAL = type & $export.G; var IS_STATIC = type & $export.S; var IS_PROTO = type & $export.P; var IS_BIND = type & $export.B; var IS_WRAP = type & $export.W; var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); var expProto = exports[PROTOTYPE]; var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; var key, own, out; if (IS_GLOBAL) source = name; for (key in source) { // contains in native own = !IS_FORCED && target && target[key] !== undefined; if (own && has(exports, key)) continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] // bind timers to global for call from export context : IS_BIND && own ? ctx(out, global) // wrap global constructors for prevent change them in library : IS_WRAP && target[key] == out ? (function (C) { var F = function (a, b, c) { if (this instanceof C) { switch (arguments.length) { case 0: return new C(); case 1: return new C(a); case 2: return new C(a, b); } return new C(a, b, c); } return C.apply(this, arguments); }; F[PROTOTYPE] = C[PROTOTYPE]; return F; // make static versions for prototype methods })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% if (IS_PROTO) { (exports.virtual || (exports.virtual = {}))[key] = out; // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); } } }; // type bitmap $export.F = 1; // forced $export.G = 2; // global $export.S = 4; // static $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; /***/ }), /* 7 */ /***/ (function(module, exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self // eslint-disable-next-line no-new-func : Function('return this')(); if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef /***/ }), /* 8 */ /***/ (function(module, exports) { var core = module.exports = { version: '2.6.9' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { // optional / simple context binding var aFunction = __webpack_require__(10); module.exports = function (fn, that, length) { aFunction(fn); if (that === undefined) return fn; switch (length) { case 1: return function (a) { return fn.call(that, a); }; case 2: return function (a, b) { return fn.call(that, a, b); }; case 3: return function (a, b, c) { return fn.call(that, a, b, c); }; } return function (/* ...args */) { return fn.apply(that, arguments); }; }; /***/ }), /* 10 */ /***/ (function(module, exports) { module.exports = function (it) { if (typeof it != 'function') throw TypeError(it + ' is not a function!'); return it; }; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { var dP = __webpack_require__(12); var createDesc = __webpack_require__(20); module.exports = __webpack_require__(16) ? function (object, key, value) { return dP.f(object, key, createDesc(1, value)); } : function (object, key, value) { object[key] = value; return object; }; /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { var anObject = __webpack_require__(13); var IE8_DOM_DEFINE = __webpack_require__(15); var toPrimitive = __webpack_require__(19); var dP = Object.defineProperty; exports.f = __webpack_require__(16) ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (IE8_DOM_DEFINE) try { return dP(O, P, Attributes); } catch (e) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(14); module.exports = function (it) { if (!isObject(it)) throw TypeError(it + ' is not an object!'); return it; }; /***/ }), /* 14 */ /***/ (function(module, exports) { module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; }; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { module.exports = !__webpack_require__(16) && !__webpack_require__(17)(function () { return Object.defineProperty(__webpack_require__(18)('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { // Thank's IE8 for his funny defineProperty module.exports = !__webpack_require__(17)(function () { return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /* 17 */ /***/ (function(module, exports) { module.exports = function (exec) { try { return !!exec(); } catch (e) { return true; } }; /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(14); var document = __webpack_require__(7).document; // typeof document.createElement is 'object' in old IE var is = isObject(document) && isObject(document.createElement); module.exports = function (it) { return is ? document.createElement(it) : {}; }; /***/ }), /* 19 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) var isObject = __webpack_require__(14); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string module.exports = function (it, S) { if (!isObject(it)) return it; var fn, val; if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; throw TypeError("Can't convert object to primitive value"); }; /***/ }), /* 20 */ /***/ (function(module, exports) { module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /* 21 */ /***/ (function(module, exports) { var hasOwnProperty = {}.hasOwnProperty; module.exports = function (it, key) { return hasOwnProperty.call(it, key); }; /***/ }), /* 22 */ /***/ (function(module, exports, __webpack_require__) { 'use strict'; // 19.1.2.1 Object.assign(target, source, ...) var DESCRIPTORS = __webpack_require__(16); var getKeys = __webpack_require__(23); var gOPS = __webpack_require__(38); var pIE = __webpack_require__(39); var toObject = __webpack_require__(40); var IObject = __webpack_require__(26); var $assign = Object.assign; // should work with symbols and should have deterministic property order (V8 bug) module.exports = !$assign || __webpack_require__(17)(function () { var A = {}; var B = {}; // eslint-disable-next-line no-undef var S = Symbol(); var K = 'abcdefghijklmnopqrst'; A[S] = 7; K.split('').forEach(function (k) { B[k] = k; }); return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars var T = toObject(target); var aLen = arguments.length; var index = 1; var getSymbols = gOPS.f; var isEnum = pIE.f; while (aLen > index) { var S = IObject(arguments[index++]); var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); var length = keys.length; var j = 0; var key; while (length > j) { key = keys[j++]; if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; } } return T; } : $assign; /***/ }), /* 23 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = __webpack_require__(24); var enumBugKeys = __webpack_require__(37); module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); }; /***/ }), /* 24 */ /***/ (function(module, exports, __webpack_require__) { var has = __webpack_require__(21); var toIObject = __webpack_require__(25); var arrayIndexOf = __webpack_require__(29)(false); var IE_PROTO = __webpack_require__(33)('IE_PROTO'); module.exports = function (object, names) { var O = toIObject(object); var i = 0; var result = []; var key; for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); // Don't enum bug & hidden keys while (names.length > i) if (has(O, key = names[i++])) { ~arrayIndexOf(result, key) || result.push(key); } return result; }; /***/ }), /* 25 */ /***/ (function(module, exports, __webpack_require__) { // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = __webpack_require__(26); var defined = __webpack_require__(28); module.exports = function (it) { return IObject(defined(it)); }; /***/ }), /* 26 */ /***/ (function(module, exports, __webpack_require__) { // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = __webpack_require__(27); // eslint-disable-next-line no-prototype-builtins module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }), /* 27 */ /***/ (function(module, exports) { var toString = {}.toString; module.exports = function (it) { return toString.call(it).slice(8, -1); }; /***/ }), /* 28 */ /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; /***/ }), /* 29 */ /***/ (function(module, exports, __webpack_require__) { // false -> Array#indexOf // true -> Array#includes var toIObject = __webpack_require__(25); var toLength = __webpack_require__(30); var toAbsoluteIndex = __webpack_require__(32); module.exports = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIObject($this); var length = toLength(O.length); var index = toAbsoluteIndex(fromIndex, length); var value; // Array#includes uses SameValueZero equality algorithm // eslint-disable-next-line no-self-compare if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; // eslint-disable-next-line no-self-compare if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not } else for (;length > index; index++) if (IS_INCLUDES || index in O) { if (O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; /***/ }), /* 30 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.15 ToLength var toInteger = __webpack_require__(31); var min = Math.min; module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; /***/ }), /* 31 */ /***/ (function(module, exports) { // 7.1.4 ToInteger var ceil = Math.ceil; var floor = Math.floor; module.exports = function (it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; /***/ }), /* 32 */ /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__(31); var max = Math.max; var min = Math.min; module.exports = function (index, length) { index = toInteger(index); return index < 0 ? max(index + length, 0) : min(index, length); }; /***/ }), /* 33 */ /***/ (function(module, exports, __webpack_require__) { var shared = __webpack_require__(34)('keys'); var uid = __webpack_require__(36); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); }; /***/ }), /* 34 */ /***/ (function(module, exports, __webpack_require__) { var core = __webpack_require__(8); var global = __webpack_require__(7); var SHARED = '__core-js_shared__'; var store = global[SHARED] || (global[SHARED] = {}); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ version: core.version, mode: __webpack_require__(35) ? 'pure' : 'global', copyright: '© 2019 Denis Pushkarev (zloirock.ru)' }); /***/ }), /* 35 */ /***/ (function(module, exports) { module.exports = true; /***/ }), /* 36 */ /***/ (function(module, exports) { var id = 0; var px = Math.random(); module.exports = function (key) { return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; /***/ }), /* 37 */ /***/ (function(module, exports) { // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); /***/ }), /* 38 */ /***/ (function(module, exports) { exports.f = Object.getOwnPropertySymbols; /***/ }), /* 39 */ /***/ (function(module, exports) { exports.f = {}.propertyIsEnumerable; /***/ }), /* 40 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) var defined = __webpack_require__(28); module.exports = function (it) { return Object(defined(it)); }; /***/ }), /* 41 */ /***/ (function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(42), __esModule: true }; /***/ }), /* 42 */ /***/ (function(module, exports, __webpack_require__) { var core = __webpack_require__(8); var $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify }); module.exports = function stringify(it) { // eslint-disable-line no-unused-vars return $JSON.stringify.apply($JSON, arguments); }; /***/ }), /* 43 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! Copyright (c) 2017 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ /* global define */ (function () { 'use strict'; var hasOwn = {}.hasOwnProperty; function classNames () { var classes = []; for (var i = 0; i < arguments.length; i++) { var arg = arguments[i]; if (!arg) continue; var argType = typeof arg; if (argType === 'string' || argType === 'number') { classes.push(arg); } else if (Array.isArray(arg) && arg.length) { var inner = classNames.apply(null, arg); if (inner) { classes.push(inner); } } else if (argType === 'object') { for (var key in arg) { if (hasOwn.call(arg, key) && arg[key]) { classes.push(key); } } } } return classes.join(' '); } if (typeof module !== 'undefined' && module.exports) { classNames.default = classNames; module.exports = classNames; } else if (true) { // register as 'classnames', consistent with npm package name !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () { return classNames; }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else { window.classNames = classNames; } }()); /***/ }), /* 44 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {/** * @license * L