search.be53689e.chunk.js.map 33.4 KB
Newer Older
dazhou committed
1
{"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":""}