{"version":3,"sources":["common/Tag/index.js","components/search/index.js","../node_modules/antd-mobile/lib/_util/getDataAttr.js","../node_modules/antd-mobile/lib/_util/getLocale.js","../node_modules/antd-mobile/lib/search-bar/style/css.js","../node_modules/antd-mobile/lib/search-bar/index.js","../node_modules/antd-mobile/lib/search-bar/PropsType.js","../node_modules/antd-mobile/lib/search-bar/locale/zh_CN.js","components/search/searchHead.js","components/search/image/hot.png"],"names":["Tag","className","this","props","name","children","PureComponent","Search","state","searchHistory","JSON","parse","localStorage","getItem","hot_words","defaultWord","searchList","value","isLoading","clearHistory","setItem","setState","handleChange","handleSearch","val","history","push","encodeURIComponent","storeHistory","keyword","data","some","item","concat","stringify","http","get","API","res","errno","info","recommend_word","Loading","length","onClick","map","v","i","key","to","src","require","alt","bind","style","textAlign","padding","Object","defineProperty","exports","keys","reduce","prev","substr","module","obj","_extends2","_extends3","__esModule","getComponentLocale","context","componentName","getDefaultLocale","locale","antLocale","defaultLocale","result","lang","getLocaleCode","localeCode","exist","_interopRequireDefault","_defineProperty3","_classCallCheck3","_createClass3","_possibleConstructorReturn3","_inherits3","_classnames5","React","_interopRequireWildcard","PropTypes","_rmcFeedback2","_getDataAttr2","_getLocale","_PropsType","newObj","prototype","hasOwnProperty","call","SearchBar","_React$Component","_this","__proto__","getPrototypeOf","onSubmit","e","preventDefault","inputRef","blur","onChange","focus","target","onFocus","firstFocus","onBlur","cb","onBlurTimeout","blurFromOnClear","document","activeElement","window","requestAnimationFrame","setTimeout","body","scrollTop","onClear","doClear","arguments","undefined","onCancel","defaultValue","rightBtnRef","initBtn","getComputedStyle","rightBtnInitMarginleft","marginLeft","componentDidUpdate","syntheticPhRef","inputContainerRef","indexOf","prefixCls","syntheticPhContainerRef","realWidth","getBoundingClientRect","width","Math","ceil","showCancelButton","marginRight","offsetWidth","parseInt","nextProps","nextFrameId","cancelAnimationFrame","clearTimeout","_classnames3","_this2","_props","disabled","placeholder","maxLength","cancelText","_state","wrapCls","clearCls","cancelCls","createElement","ref","el","action","visibility","type","activeClassName","Component","defaultProps","contextTypes","object","noop","SearchHead","isFocus","returnPage","go","search","storeKeyword","changeFontColor","refs","cls","classnames","forwardedRef","withRouter"],"mappings":"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","file":"mrstaticjs/search.be53689e.chunk.js","sourcesContent":["import React, { PureComponent } from \"react\"\nimport \"./tag.scss\"\nexport default class Tag extends PureComponent {\n render() {\n return (\n <span className={this.props.name} {...this.props}>\n {this.props.children}\n </span>\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport SearchHead from \"./searchHead\"\nimport Tag from \"src/common/Tag/index.js\"\nimport { http } from \"src/utils\"\nimport \"./index.scss\"\nimport { Link } from \"react-router-dom\"\nimport Loading from \"src/common/Loading\"\n\nclass Search extends PureComponent {\n state = {\n searchHistory: JSON.parse(localStorage.getItem(\"searchHistory\")) || [],\n hot_words: [],\n defaultWord: \"\",\n searchList: [],\n value: \"\",\n isLoading: true,\n }\n\n async componentDidMount() {\n const res = await http.get(`${API[\"search-api\"]}/search_hot_word`)\n const { errno, data } = res.data\n if (errno === 0) {\n this.setState({\n hot_words: data.info.hot_words,\n value: data.info.recommend_word,\n isLoading: false,\n })\n }\n }\n\n clearHistory = () => {\n localStorage.setItem(\"searchHistory\", null)\n this.setState({\n searchHistory: [],\n })\n }\n\n handleChange = (value) => {\n this.setState({ value })\n }\n\n handleSearch = () => {\n const { defaultWord, value } = this.state\n const val = value || defaultWord\n val &&\n this.props.history.push(`/search-result?word=${encodeURIComponent(val)}`)\n }\n\n storeHistory = (keyword) => {\n const { searchHistory } = this.state\n const data = searchHistory.some((item) => item === keyword)\n ? searchHistory\n : searchHistory.concat([keyword])\n localStorage.setItem(\"searchHistory\", JSON.stringify(data))\n }\n\n render() {\n const { searchHistory } = this.state\n return (\n <div className=\"search-page\">\n <SearchHead\n searchHistory={this.state.searchHistory}\n value={this.state.value}\n handleChange={this.handleChange}\n handleSearch={this.handleSearch}\n />\n <Loading isLoading={this.state.isLoading}>\n <div className=\"search-main\">\n {searchHistory.length > 0 && (\n <div className=\"search-land\">\n <div className=\"search-history\">\n <span>最近搜索</span>\n <i\n className=\"iconfont iconiconfront-56\"\n onClick={this.clearHistory}\n />\n </div>\n <div className=\"search-tag\">\n {searchHistory.map((v, i) => {\n return (\n <Link\n key={i}\n to={`/search-result?word=${encodeURIComponent(v)}`}\n >\n <Tag name={\"tagLately\"}>{v}</Tag>\n </Link>\n )\n })}\n </div>\n </div>\n )}\n <div className=\"search-land search-hot\">\n <label className={\"search-history\"}>\n <span>\n 热门搜索\n <img src={require(\"./image/hot.png\")} alt=\"\" />\n </span>\n </label>\n <div className=\"search-tag\">\n {this.state[\"hot_words\"].length > 0 ? (\n this.state[\"hot_words\"].map((v, i) => {\n return (\n <Link\n key={i}\n to={`/search-result?word=${encodeURIComponent(v)}`}\n onClick={this.storeHistory.bind(this, v)}\n >\n <Tag name={\"tagHot\"}>{v}</Tag>\n </Link>\n )\n })\n ) : (\n <div style={{ textAlign: \"center\", padding: \"20px\" }}>\n 暂无热门\n </div>\n )}\n </div>\n </div>\n </div>\n </Loading>\n </div>\n )\n }\n}\n\nexport default Search\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports['default'] = function (props) {\n return Object.keys(props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.getComponentLocale = getComponentLocale;\nexports.getLocaleCode = getLocaleCode;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getComponentLocale(props, context, componentName, getDefaultLocale) {\n var locale = {};\n if (context && context.antLocale && context.antLocale[componentName]) {\n locale = context.antLocale[componentName];\n } else {\n var defaultLocale = getDefaultLocale();\n // TODO: make default lang of antd be English\n // https://github.com/ant-design/ant-design/issues/6334\n locale = defaultLocale['default'] || defaultLocale;\n }\n var result = (0, _extends3['default'])({}, locale);\n if (props.locale) {\n result = (0, _extends3['default'])({}, result, props.locale);\n if (props.locale.lang) {\n result.lang = (0, _extends3['default'])({}, locale.lang, props.locale.lang);\n }\n }\n return result;\n}\nfunction getLocaleCode(context) {\n var localeCode = context.antLocale && context.antLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if (context.antLocale && context.antLocale.exist && !localeCode) {\n return 'zh-cn';\n }\n return localeCode;\n}","'use strict';\n\nrequire('../../style/css');\n\nrequire('./index.css');","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _defineProperty2 = require('babel-runtime/helpers/defineProperty');\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _classnames4 = require('classnames');\n\nvar _classnames5 = _interopRequireDefault(_classnames4);\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nvar _propTypes = require('prop-types');\n\nvar PropTypes = _interopRequireWildcard(_propTypes);\n\nvar _rmcFeedback = require('rmc-feedback');\n\nvar _rmcFeedback2 = _interopRequireDefault(_rmcFeedback);\n\nvar _getDataAttr = require('../_util/getDataAttr');\n\nvar _getDataAttr2 = _interopRequireDefault(_getDataAttr);\n\nvar _getLocale = require('../_util/getLocale');\n\nvar _PropsType = require('./PropsType');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction onNextFrame(cb) {\n if (window.requestAnimationFrame) {\n return window.requestAnimationFrame(cb);\n }\n return window.setTimeout(cb, 1);\n}\nfunction clearNextFrameAction(nextFrameId) {\n if (window.cancelAnimationFrame) {\n window.cancelAnimationFrame(nextFrameId);\n } else {\n window.clearTimeout(nextFrameId);\n }\n}\n\nvar SearchBar = function (_React$Component) {\n (0, _inherits3['default'])(SearchBar, _React$Component);\n\n function SearchBar(props) {\n (0, _classCallCheck3['default'])(this, SearchBar);\n\n var _this = (0, _possibleConstructorReturn3['default'])(this, (SearchBar.__proto__ || Object.getPrototypeOf(SearchBar)).call(this, props));\n\n _this.onSubmit = function (e) {\n e.preventDefault();\n if (_this.props.onSubmit) {\n _this.props.onSubmit(_this.state.value || '');\n }\n if (_this.inputRef) {\n _this.inputRef.blur();\n }\n };\n _this.onChange = function (e) {\n if (!_this.state.focus) {\n _this.setState({\n focus: true\n });\n }\n var value = e.target.value;\n if (!('value' in _this.props)) {\n _this.setState({ value: value });\n }\n if (_this.props.onChange) {\n _this.props.onChange(value);\n }\n };\n _this.onFocus = function () {\n _this.setState({\n focus: true\n });\n _this.firstFocus = true;\n if (_this.props.onFocus) {\n _this.props.onFocus();\n }\n };\n _this.onBlur = function () {\n _this.onBlurTimeout = onNextFrame(function () {\n if (!_this.blurFromOnClear) {\n if (document.activeElement !== _this.inputRef) {\n _this.setState({\n focus: false\n });\n }\n }\n _this.blurFromOnClear = false;\n });\n if (_this.props.onBlur) {\n // fix autoFocus item blur with flash\n setTimeout(function () {\n // fix ios12 wechat browser click failure after input\n if (document.body) {\n document.body.scrollTop = document.body.scrollTop;\n }\n }, 100);\n _this.props.onBlur();\n }\n };\n _this.onClear = function () {\n _this.doClear();\n };\n _this.doClear = function () {\n var blurFromOnClear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _this.blurFromOnClear = blurFromOnClear;\n if (!('value' in _this.props)) {\n _this.setState({ value: '' });\n }\n if (_this.props.onClear) {\n _this.props.onClear('');\n }\n if (_this.props.onChange) {\n _this.props.onChange('');\n }\n if (blurFromOnClear) {\n _this.focus();\n }\n };\n _this.onCancel = function () {\n if (_this.props.onCancel) {\n _this.props.onCancel(_this.state.value || '');\n } else {\n _this.doClear(false);\n }\n };\n _this.focus = function () {\n if (_this.inputRef) {\n _this.inputRef.focus();\n }\n };\n var value = void 0;\n if ('value' in props) {\n value = props.value || '';\n } else if ('defaultValue' in props) {\n value = props.defaultValue;\n } else {\n value = '';\n }\n _this.state = {\n value: value,\n focus: false\n };\n return _this;\n }\n\n (0, _createClass3['default'])(SearchBar, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.rightBtnRef) {\n var initBtn = window.getComputedStyle(this.rightBtnRef);\n this.rightBtnInitMarginleft = initBtn.marginLeft;\n }\n this.componentDidUpdate();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.syntheticPhRef) {\n if (this.inputContainerRef && this.inputContainerRef.className.indexOf(this.props.prefixCls + '-start') > -1) {\n // 检测是否包含名为 ${this.props.prefixCls}-start 样式,生成动画\n // offsetWidth 某些时候是向上取整,某些时候是向下取整,不能用\n if (this.syntheticPhContainerRef) {\n var realWidth = this.syntheticPhContainerRef.getBoundingClientRect().width; // 包含小数\n this.syntheticPhRef.style.width = Math.ceil(realWidth) + 'px';\n }\n if (!this.props.showCancelButton && this.rightBtnRef) {\n this.rightBtnRef.style.marginRight = '0';\n }\n } else {\n this.syntheticPhRef.style.width = '100%';\n if (!this.props.showCancelButton && this.rightBtnRef) {\n this.rightBtnRef.style.marginRight = '-' + (this.rightBtnRef.offsetWidth + (this.rightBtnInitMarginleft != null ? parseInt(this.rightBtnInitMarginleft, 10) : 0)) + 'px';\n }\n }\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if ('value' in nextProps && nextProps.value !== this.state.value) {\n this.setState({\n value: nextProps.value\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.onBlurTimeout) {\n clearNextFrameAction(this.onBlurTimeout);\n this.onBlurTimeout = null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _classnames3,\n _this2 = this;\n\n var _props = this.props,\n prefixCls = _props.prefixCls,\n showCancelButton = _props.showCancelButton,\n disabled = _props.disabled,\n placeholder = _props.placeholder,\n className = _props.className,\n style = _props.style,\n maxLength = _props.maxLength;\n // tslint:disable-next-line:variable-name\n\n var _locale = (0, _getLocale.getComponentLocale)(this.props, this.context, 'SearchBar', function () {\n return require('./locale/zh_CN');\n });\n var cancelText = _locale.cancelText;\n var _state = this.state,\n value = _state.value,\n focus = _state.focus;\n\n var wrapCls = (0, _classnames5['default'])(prefixCls, className, (0, _defineProperty3['default'])({}, prefixCls + '-start', !!(focus || value && value.length > 0)));\n var clearCls = (0, _classnames5['default'])(prefixCls + '-clear', (0, _defineProperty3['default'])({}, prefixCls + '-clear-show', !!(focus && value && value.length > 0)));\n var cancelCls = (0, _classnames5['default'])(prefixCls + '-cancel', (_classnames3 = {}, (0, _defineProperty3['default'])(_classnames3, prefixCls + '-cancel-show', !!(showCancelButton || focus || value && value.length > 0)), (0, _defineProperty3['default'])(_classnames3, prefixCls + '-cancel-anim', this.firstFocus), _classnames3));\n return React.createElement(\n 'form',\n { onSubmit: this.onSubmit, className: wrapCls, style: style, ref: function ref(el) {\n return _this2.inputContainerRef = el;\n }, action: '#' },\n React.createElement(\n 'div',\n { className: prefixCls + '-input' },\n React.createElement(\n 'div',\n { className: prefixCls + '-synthetic-ph', ref: function ref(el) {\n return _this2.syntheticPhRef = el;\n } },\n React.createElement(\n 'span',\n { className: prefixCls + '-synthetic-ph-container', ref: function ref(el) {\n return _this2.syntheticPhContainerRef = el;\n } },\n React.createElement('i', { className: prefixCls + '-synthetic-ph-icon' }),\n React.createElement(\n 'span',\n { className: prefixCls + '-synthetic-ph-placeholder'\n // tslint:disable-next-line:jsx-no-multiline-js\n , style: {\n visibility: placeholder && !value ? 'visible' : 'hidden'\n } },\n placeholder\n )\n )\n ),\n React.createElement('input', (0, _extends3['default'])({ type: 'search', className: prefixCls + '-value', value: value, disabled: disabled, placeholder: placeholder, onChange: this.onChange, onFocus: this.onFocus, onBlur: this.onBlur, ref: function ref(el) {\n return _this2.inputRef = el;\n }, maxLength: maxLength }, (0, _getDataAttr2['default'])(this.props))),\n React.createElement(\n _rmcFeedback2['default'],\n { activeClassName: prefixCls + '-clear-active' },\n React.createElement('a', { onClick: this.onClear, className: clearCls })\n )\n ),\n React.createElement(\n 'div',\n { className: cancelCls, onClick: this.onCancel, ref: function ref(el) {\n return _this2.rightBtnRef = el;\n } },\n this.props.cancelText || cancelText\n )\n );\n }\n }]);\n return SearchBar;\n}(React.Component);\n\nexports['default'] = SearchBar;\n\nSearchBar.defaultProps = _PropsType.defaultProps;\nSearchBar.contextTypes = {\n antLocale: PropTypes.object\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction noop() {}\nvar defaultProps = exports.defaultProps = {\n prefixCls: 'am-search',\n placeholder: '',\n onSubmit: noop,\n onChange: noop,\n onFocus: noop,\n onBlur: noop,\n onClear: noop,\n showCancelButton: false,\n disabled: false\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = {\n cancelText: '取消'\n};\nmodule.exports = exports['default'];","import React, { PureComponent } from \"react\"\nimport { SearchBar } from \"antd-mobile\"\nimport { withRouter } from \"react-router-dom\"\nimport classnames from \"classnames\"\n\nimport \"./search_header.scss\"\n\nclass SearchHead extends PureComponent {\n state = {\n isFocus: false,\n }\n\n returnPage = () => {\n this.props.history.go(-1)\n }\n\n componentDidMount() {\n this.refs.search.focus()\n }\n\n search = () => {\n this.storeKeyword()\n this.props.handleSearch()\n }\n\n storeKeyword = () => {\n const { searchHistory = [], value } = this.props\n const data = searchHistory.some((item) => item === value)\n ? searchHistory\n : searchHistory.concat([value])\n // value && localStorage.setItem('searchHistory', JSON.stringify([...searchHistory, value]))\n localStorage.setItem(\"searchHistory\", JSON.stringify(data))\n }\n\n changeFontColor = (isFocus) => {\n this.setState({\n isFocus,\n })\n }\n\n render() {\n const { isFocus } = this.state\n const cls = classnames(\"submit-btn\", { \"submit-btn--active\": isFocus })\n return (\n <div\n className=\"search-head\"\n style={this.props.style}\n ref={this.props.forwardedRef}\n >\n <div className=\"left\" onClick={this.returnPage}>\n <i className=\"iconfont iconiconfront-68\" />\n </div>\n\n <div className=\"center\">\n <SearchBar\n value={this.props.value}\n showCancelButton\n cancelText={\" \"}\n ref=\"search\"\n focus={true}\n onChange={this.props.handleChange}\n placeholder=\"搜索课程\"\n onFocus={() => this.changeFontColor(true)}\n onBlur={() => this.changeFontColor(false)}\n onSubmit={this.search}\n />\n </div>\n <div className=\"right right-btn\" onClick={this.search}>\n <div className={cls}>搜索</div>\n </div>\n </div>\n )\n }\n}\n\nexport default withRouter(SearchHead)\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAQCAMAAAA7+k+nAAAAmVBMVEX/MjL/MTH/MTH/MTEAAAD/MDD/Li7/Li7/Li7/MDD/MTH/MDD/Jyf/MDD/MDD/MTH/MTH/MDD/MDD/LS3/Ly//LS3/MDD/MTH/Ly//MDD/Li7/MTH/MDD/MTH/MTH/MTH/Ly//Ly//MTH/MTH/Ly//MDD/Ly//MDD/Ly//AAD/MDD/MDD/MjL/MDD/Ly//MDD/MTH/MTH/MzMQsBWRAAAAMXRSTlPy5PTpAGINNyUX+tcG79OrpZlbShwT3MuSi4F2WOzPv7mjlntlVDs0LQLDnnFrXE9Dyam0LgAAAM5JREFUGNNtzueqwkAQQOHJZl0TU0yv9u7tZ9//4a4hCAE9MDDM92dE97HzUnzU0vO2ThTIApQCGwNVXQW1gxqO3hJmfwSl8SLO5h6aIyIC4SfkN2vywFxZO96vI7gD+AmsVpG27PQCLt8wQrmFU7YroAoDmM+eUJzS9NonHqzNxxRupijCdv+AqNxOwV9CNls+wDX1C/xsfGwQuiNMvsqtjm2nLU9YgD7AxeesM90CZQ5EA3Qb2DfwNT8ANAmgpOVtqejGUSKi1Djj6qb3fyk6K0TRQ1SWAAAAAElFTkSuQmCC\""],"sourceRoot":""}